URL
https://opencores.org/ocsvn/sockit_owm/sockit_owm/trunk
Subversion Repositories sockit_owm
[/] [sockit_owm/] [trunk/] [HAL/] [src/] [owses.c] - Rev 3
Go to most recent revision | Compare with Previous | Blame | View Log
//--------------------------------------------------------------------------- // Copyright (C) 1999 Dallas Semiconductor Corporation, All Rights Reserved. // // Permission is hereby granted, free of charge, to any person obtaining a // copy of this software and associated documentation files (the "Software"), // to deal in the Software without restriction, including without limitation // the rights to use, copy, modify, merge, publish, distribute, sublicense, // and/or sell copies of the Software, and to permit persons to whom the // Software is furnished to do so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included // in all copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. // IN NO EVENT SHALL DALLAS SEMICONDUCTOR BE LIABLE FOR ANY CLAIM, DAMAGES // OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // // Except as contained in this notice, the name of Dallas Semiconductor // shall not be used except as stated in the Dallas Semiconductor // Branding Policy. //--------------------------------------------------------------------------- // // todoses.C - Acquire and release a Session Todo for general 1-Wire Net // library // // Version: 2.00 // 1.03 -> 2.00 Changed 'MLan' to 'ow'. Added support for // multiple ports. // #include "ownet.h" #include "sockit_owm.h" extern sockit_owm_state sockit_owm; // local function prototypes SMALLINT owAcquire(int,char *); void owRelease(int); //--------------------------------------------------------------------------- // Attempt to acquire a 1-Wire net // // 'portnum' - number 0 to MAX_PORTNUM-1. This number is provided to // indicate the symbolic port number. // 'port_zstr' - zero terminated port name. // // Returns: TRUE - success, port opened // // The current implementation does not wait for a port to be freed, // it returns FALSE. // SMALLINT owAcquire(int portnum, char *port_zstr) { // check if there are enough ports available if (sockit_owm.own <= portnum) { // TODO some error message might be added return FALSE; } // check if port is already in use if ((sockit_owm.use >> portnum) & 0x1) { return FALSE; } // if it is unused take it else { sockit_owm.use |= (0x1 << portnum); return TRUE; } } //--------------------------------------------------------------------------- // Release the previously acquired a 1-Wire net. // // 'portnum' - number 0 to MAX_PORTNUM-1. This number is provided to // indicate the symbolic port number. // void owRelease(int portnum) { // check if port is already in use and release it if ((sockit_owm.use >> portnum) & 0x1) { sockit_owm.use &= ~(0x1 << portnum); } // releasing an unused port is not supported else { // TODO some error message might be added } }
Go to most recent revision | Compare with Previous | Blame | View Log