Main Page   Modules   Alphabetical List   Data Structures   File List   Data Fields   Globals  

IxOsServices.h

Go to the documentation of this file.
00001 
00047 #ifdef __vxworks
00048 
00049 #include <vxWorks.h>
00050 #include <semLib.h>
00051 
00052 #elif defined(__linux)
00053 #include <linux/types.h>
00054 #include <asm/semaphore.h>
00055 #else /* POSIX */
00056 
00057 #include <pthread.h>
00058 
00059 #endif /* __vxworks */
00060 
00061 #include "IxTypes.h"
00062 
00063 #ifndef IxOsServices_H
00064 
00065 #ifndef __doxygen_hide
00066 #define IxOsServices_H
00067 #endif /* __doxygen_hide */
00068 
00092 #if CPU!=SIMSPARCSOLARIS
00093 #define IXP425_USE_FAST_MUTEX
00094 #endif
00095 
00100 typedef int IX_IRQ_STATUS;
00101 
00105 #ifdef __vxworks
00106 
00107 typedef SEM_ID IxMutex;
00108 
00109 #elif defined(__linux)
00110 typedef struct semaphore *IxMutex;
00111 #else /* POSIX mutex */
00112 
00113 typedef pthread_mutex_t IxMutex;
00114 
00115 #endif /* __vxworks */
00116 
00120 #ifdef __vxworks
00121 
00122 #if CPU==SIMSPARCSOLARIS
00123 
00124 typedef SEM_ID IxFastMutex;
00125 
00126 #else
00127 
00128 typedef int IxFastMutex;
00129 
00130 #endif
00131 
00132 #elif defined(__linux)
00133 #ifdef IXP425_USE_FAST_MUTEX
00134 typedef int IxFastMutex;
00135 #else
00136 typedef struct semaphore *IxFastMutex;
00137 #endif
00138 #else /* POSIX mutex */
00139 
00140 typedef pthread_mutex_t IxFastMutex;
00141 
00142 #endif /* __vxworks */
00143 
00147 typedef enum
00148 {
00149     LOG_NONE    = 0, 
00151     LOG_USER    = 1, 
00152     LOG_FATAL   = 2, 
00153     LOG_ERROR   = 3, 
00154     LOG_WARNING = 4, 
00155     LOG_MESSAGE = 5, 
00156     LOG_DEBUG1  = 6, 
00157     LOG_DEBUG2  = 7, 
00158     LOG_DEBUG3  = 8, 
00160     LOG_ALL 
00161 } IxOsServTraceLevels;
00162   
00181 PUBLIC IX_STATUS
00182 ixOsServIntBind(int level, void (*routine)(void *), void *parameter);
00183 
00200 PUBLIC IX_STATUS
00201 ixOsServIntUnbind(int level);
00202 
00203 
00204 
00222 PUBLIC int
00223 ixOsServIntLock(void);
00224 
00238 PUBLIC void
00239 ixOsServIntUnlock(int lockKey);
00240 
00261 PUBLIC int
00262 ixOsServIntLevelSet(int level);
00263 
00279 PUBLIC IX_STATUS
00280 ixOsServMutexInit(IxMutex *mutex);
00281 
00304 PUBLIC IX_STATUS
00305 ixOsServMutexLock(IxMutex *mutex);
00306 
00323 PUBLIC IX_STATUS
00324 ixOsServMutexUnlock(IxMutex *mutex);
00325 
00339 PUBLIC IX_STATUS
00340 ixOsServMutexDestroy(IxMutex *mutex);
00341 
00357 PUBLIC IX_STATUS
00358 ixOsServFastMutexInit(IxFastMutex *mutex);
00359 
00378 PUBLIC IX_STATUS
00379 ixOsServFastMutexTryLock(IxFastMutex *mutex);
00380 
00397 PUBLIC IX_STATUS
00398 ixOsServFastMutexUnlock(IxFastMutex *mutex);
00399 
00425 PUBLIC int
00426 ixOsServLog(int level, char *format, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6);
00427 
00448 PUBLIC int
00449 ixOsServLogLevelSet(int level);
00450 
00464 PUBLIC void
00465 ixOsServSleep(int microseconds);
00466 
00481 PUBLIC void
00482 ixOsServTaskSleep(int milliseconds);
00483 
00495 PUBLIC unsigned int
00496 ixOsServTimestampGet(void);
00497 
00509 PUBLIC void
00510 ixOsServUnload(void);
00511 
00523 PUBLIC void
00524 ixOsServYield(void);
00525 
00530 #endif /* IxOsServices_H */
Automatically generated from sources. © Intel Corp. 2003