smNameLib.h
上传用户:luoyougen
上传日期:2008-05-12
资源大小:23136k
文件大小:2k
源码类别:

VxWorks

开发平台:

C/C++

  1. /* smNameLib.h - shared memory name database library header file */
  2. /* Copyright 1984-1992 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01c,29sep92,pme  changed function names and changed smObjId parameter to value.
  7.                  changed S_smNameLib_ID_NOT_FOUND to S_smNameLib_VALUE_NOT_FOUND
  8. 01b,22sep92,rrr  added support for c++
  9. 01a,19jul92,pme  cleaned up according to code review.
  10.                  written.
  11. */
  12. #ifndef __INCsmNameLibh
  13. #define __INCsmNameLibh
  14. #ifdef __cplusplus
  15. extern "C" {
  16. #endif
  17. #include "vwModNum.h"
  18. #include "smDllLib.h"
  19. /* generic status codes */
  20. #define S_smNameLib_NOT_INITIALIZED           (M_smNameLib | 1)
  21. #define S_smNameLib_NAME_TOO_LONG             (M_smNameLib | 2)
  22. #define S_smNameLib_NAME_NOT_FOUND            (M_smNameLib | 3)
  23. #define S_smNameLib_VALUE_NOT_FOUND           (M_smNameLib | 4)
  24. #define S_smNameLib_NAME_ALREADY_EXIST        (M_smNameLib | 5)
  25. #define S_smNameLib_DATABASE_FULL             (M_smNameLib | 6)
  26. #define S_smNameLib_INVALID_WAIT_TYPE         (M_smNameLib | 7)
  27. #define MAX_NAME_LENGTH 19 /* maximum lengh of a name in database */
  28. /* default object types */
  29. #define MAX_DEF_TYPE   5 /* number of predefined types */
  30. #define T_SM_SEM_B   0 /* shared binary semaphore type */
  31. #define T_SM_SEM_C   1 /* shared counting semaphore type */
  32. #define T_SM_MSG_Q   2 /* shared message queue type */
  33. #define T_SM_PART_ID 3 /* shared memory partition type */
  34. #define T_SM_BLOCK   4 /* shared memory allocated block type */
  35. /* function declarations */
  36. #if defined(__STDC__) || defined(__cplusplus)
  37. extern    STATUS       smNameAdd (char * name, void * value, int type);
  38. extern    STATUS       smNameFind (char * name, void ** pValue,
  39.                                    int * pType, int waitType);
  40. extern    STATUS       smNameFindByValue (void * value, char * name, 
  41.                                           int * pType, int waitType);
  42. extern    STATUS       smNameRemove (char * name);
  43. extern    void         smNameShowInit (void);
  44. extern    STATUS       smNameShow (int level);
  45. #else
  46. extern   STATUS       smNameAdd ();
  47. extern   STATUS       smNameFind ();
  48. extern   STATUS       smNameFindByValue ();
  49. extern   STATUS       smNameRemove ();
  50. extern   void         smNameShowInit ();
  51. extern   STATUS       smNameShow ();
  52. #endif /* __STDC__ */
  53. #ifdef __cplusplus
  54. }
  55. #endif
  56. #endif /* __INCsmNameLibh */