1 /** 2 * ============================================================================ 3 * = COPYRIGHT main()4 * 5 * @par 6 * IXP400 SW Release version 2.0 7 * 8 * -- Copyright Notice -- 9 * 10 * @par 11 * Copyright 2001-2005, Intel Corporation. 12 * All rights reserved. 13 * 14 * @par 15 * Redistribution and use in source and binary forms, with or without 16 * modification, are permitted provided that the following conditions 17 * are met: 18 * 1. Redistributions of source code must retain the above copyright 19 * notice, this list of conditions and the following disclaimer. 20 * 2. Redistributions in binary form must reproduce the above copyright 21 * notice, this list of conditions and the following disclaimer in the 22 * documentation and/or other materials provided with the distribution. 23 * 3. Neither the name of the Intel Corporation nor the names of its contributors 24 * may be used to endorse or promote products derived from this software 25 * without specific prior written permission. 26 * 27 * @par 28 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' 29 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 30 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 31 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE 32 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 33 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 34 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 35 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 36 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 37 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 38 * SUCH DAMAGE. 39 * 40 * @par 41 * -- End of Copyright Notice -- 42 * = PRODUCT 43 * Intel(r) IXP425 Software Release 44 * 45 * = LIBRARY 46 * OSSL - Operating System Services Library 47 * 48 * = MODULE 49 * OSSL Abstraction layer header file 50 * 51 * = FILENAME 52 * ix_ossl.h (Replaced by OSAL) 53 * 54 * = DESCRIPTION 55 * This file contains the prototypes of OS-independent wrapper 56 * functions which allow the programmer not to be tied to a specific 57 * operating system. The OSSL functions can be divided into three classes: 58 * 59 * 1) synchronization-related wrapper functions around thread system calls 60 * 2) thread-related wrapper functions around thread calls 61 * 3) transactor/workbench osapi calls -- defined in osApi.h 62 * 63 * Both 1 and 2 classes of functions provide Thread Management, Thread 64 * Synchronization, Mutual Exclusion and Timer primitives. Namely, 65 * creation and deletion functions as well as the standard "wait" and 66 * "exit". Additionally, a couple of utility functions which enable to 67 * pause the execution of a thread are also provided. 68 * 69 * The 3rd class provides a slew of other OSAPI functions to handle 70 * Transactor/WorkBench OS calls. 71 * 72 * 73 * OSSL Thread APIs: 74 * The OSSL thread functions that allow for thread creation, 75 * get thread id, thread deletion and set thread priroity. 76 * 77 * ix_ossl_thread_create 78 * ix_ossl_thread_get_id 79 * ix_ossl_thread_exit 80 * ix_ossl_thread_kill 81 * ix_ossl_thread_set_priority 82 * ix_ossl_thread__delay 83 * 84 * OSSL Semaphore APIs: 85 * The OSSL semaphore functions that allow for initialization, 86 * posting, waiting and deletion of semaphores. 87 * 88 * ix_ossl_sem_init 89 * ix_ossl_sem_fini 90 * ix_ossl_sem_take 91 * ix_ossl_sem_give 92 * ix_ossl_sem_flush 93 * 94 * OSSL Mutex APIs: 95 * The OSSL wrapper functions that allow for initialization, 96 * posting, waiting and deletion of mutexes. 97 * 98 * ix_ossl_mutex_init 99 * ix_ossl_mutex_fini 100 * ix_ossl_mutex_lock 101 * ix_ossl_mutex_unlock 102 * 103 * OSSL Timer APIs: 104 * The timer APIs provide sleep and get time functions. 105 * 106 * ix_ossl_sleep 107 * ix_ossl_sleep_tick 108 * ix_ossl_time_get 109 * 110 * OSAPIs for Transactor/WorkBench: 111 * These OSAPI functions are used for transator OS calls. 112 * They are defined in osApi.h. 113 * 114 * Sem_Init 115 * Sem_Destroy 116 * Sem_Wait 117 * Sem_Wait 118 * Thread_Create 119 * Thread_Cancel 120 * Thread_SetPriority 121 * delayMs 122 * delayTick 123 * 124 * 125 * 126 ********************************************************************** 127 * 128 * 129 * = AUTHOR 130 * Intel Corporation 131 * 132 * = ACKNOWLEDGEMENTS 133 * 134 * 135 * = CREATION TIME 136 * 1/8/2002 1:53:42 PM 137 * 138 * = CHANGE HISTORY 139 * 02/22/2002 : Renamed osapi.h os_api.h 140 * Moved OS header file includes from OSSL.h to os_api.h 141 * Moved OS specific datatypes to os_api.h 142 * Modified data types, macros and functions as per 143 * 'C' coding guidelines. 144 * 145 * 146 * ============================================================================ 147 */ 148 149 #ifndef _IX_OSSL_H 150 #ifndef __doxygen_hide 151 #define _IX_OSSL_H 152 #endif /* __doxygen_hide */ 153 154 #include "IxOsalBackward.h" 155 156 #endif /* _IX_OSSL_H */ 157 158 /** 159 * @} defgroup IxOSSL 160 */ 161