/****************************************************************************** * Copyright (c) 2013 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 *****************************************************************************/ /* * libbcm Forth wrapper */ #include // : bcm57xx-open ( -- false | [ driver true ] ) PRIM(BCM57XX_X2d_OPEN) { net_driver_t *net_driver = bcm57xx_open(); if (net_driver) { PUSH; TOS.u = (unsigned long)net_driver; PUSH; TOS.n = -1; } else { PUSH; TOS.n = 0; } } MIRP // : bcm57xx-close ( driver -- ) PRIM(BCM57XX_X2d_CLOSE) { net_driver_t *driver = TOS.a; POP; bcm57xx_close(driver); } MIRP // : bcm57xx-read ( addr len -- actual ) PRIM(BCM57XX_X2d_READ) { int len = TOS.u; POP; TOS.n = bcm57xx_read(TOS.a, len); } MIRP // : bcm57xx-write ( addr len -- actual ) PRIM(BCM57XX_X2d_WRITE) { int len = TOS.u; POP; TOS.n = bcm57xx_write(TOS.a, len); } MIRP