| \ ***************************************************************************** |
| \ * Copyright (c) 2011 IBM Corporation |
| \ * All rights reserved. |
| \ * This program and the accompanying materials |
| \ * are made available under the terms of the BSD License |
| \ * which accompanies this distribution, and is available at |
| \ * http://www.opensource.org/licenses/bsd-license.php |
| \ * |
| \ * Contributors: |
| \ * IBM Corporation - initial implementation |
| \ ****************************************************************************/ |
| |
| ." Populating " pwd cr |
| |
| " network" device-type |
| |
| INSTANCE VARIABLE obp-tftp-package |
| 0 VALUE veth-priv |
| 0 VALUE open-count |
| |
| : open ( -- okay? ) |
| open-count 0= IF |
| my-unit 1 rtas-set-tce-bypass |
| s" local-mac-address" get-node get-property not |
| s" reg" get-node get-property not 3 pick and IF |
| >r nip r> |
| libveth-open dup not IF ." libveth-open failed" EXIT THEN |
| drop TO veth-priv |
| THEN |
| THEN |
| my-args s" obp-tftp" $open-package obp-tftp-package ! |
| open-count 1 + to open-count |
| true |
| ; |
| |
| : close ( -- ) |
| open-count 0> IF |
| open-count 1 - dup to open-count |
| 0= IF |
| veth-priv libveth-close |
| my-unit 0 rtas-set-tce-bypass |
| THEN |
| THEN |
| s" close" obp-tftp-package @ $call-method |
| ; |
| |
| : read ( buf len -- actual ) |
| dup IF |
| veth-priv libveth-read |
| ELSE |
| nip |
| THEN |
| ; |
| |
| : write ( buf len -- actual ) |
| dup IF |
| veth-priv libveth-write |
| ELSE |
| nip |
| THEN |
| ; |
| |
| : load ( addr -- len ) |
| s" load" obp-tftp-package @ $call-method |
| ; |
| |
| : ping ( -- ) |
| s" ping" obp-tftp-package @ $call-method |
| ; |
| |
| : setup-alias |
| " net" get-next-alias ?dup IF |
| get-node node>path set-alias |
| THEN |
| ; |
| setup-alias |