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

VxWorks

开发平台:

C/C++

  1. /* iosLib.h - I/O system header file */
  2. /* Copyright 1984-2001 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01u,03oct01,dcb  Fix SPR 20033.  iosFdSet uses malloc without checking return
  7.                  code.
  8. 01t,15jan93,wmd  added S_iosLib_INVALID_ETHERNET_ADDRESS
  9. 01s,22sep92,rrr  added support for c++
  10. 01r,23aug92,jcf  added iosShowInit() prototype.
  11.  changed to use dllLib.
  12. 01q,04jul92,jcf  cleaned up.
  13. 01p,26may92,rrr  the tree shuffle
  14. 01o,04oct91,rrr  passed through the ansification filter
  15.   -changed VOID to void
  16.   -changed copyright notice
  17. 01n,05oct90,dnw  deleted private routines.
  18. 01m,05oct90,shl  added ANSI function prototypes.
  19.                  made #endif ANSI style.
  20.                  added copyright notice.
  21. 01l,10aug90,dnw  added declaration of iosFdFree().
  22. 01k,07may90,hjb  added IMPORT declaration of iosFdDevFind().
  23. 01j,30jun88,llk  added definition of iosNextDevGet().
  24. 01i,04jun88,llk  removed S_iosLib_INVALID_DEVICE_NAME.
  25. 01h,12apr88,gae  moved defn's of FD_ENTRY & DRV_ENTRY to iosLib.c.
  26. 01g,16dec87,jlf  changed de_dummy field in DRV_ENTRY to de_inuse.
  27. 01f,30sep87,gae  added name field to FD_ENTRY.
  28. 01e,29apr87,dnw  added S_iosLib_CONTROLLER_NOT_PRESENT.
  29. 01d,24dec86,gae  changed stsLib.h to vwModNum.h.
  30. 01c,01dec86,dnw  changed DEV_HDR.name to be ptr to name instead array of name.
  31. 01b,07aug84,ecs  added status codes and include of stsLib.h
  32. 01a,08jun84,dnw  written
  33. */
  34. #ifndef __INCiosLibh
  35. #define __INCiosLibh
  36. #ifdef __cplusplus
  37. extern "C" {
  38. #endif
  39. #include "vxWorks.h"
  40. #include "ioLib.h"
  41. #include "dllLib.h"
  42. #include "vwModNum.h"
  43. /* status codes */
  44. #define S_iosLib_DEVICE_NOT_FOUND (M_iosLib | 1)
  45. #define S_iosLib_DRIVER_GLUT (M_iosLib | 2)
  46. #define S_iosLib_INVALID_FILE_DESCRIPTOR (M_iosLib | 3)
  47. #define S_iosLib_TOO_MANY_OPEN_FILES (M_iosLib | 4)
  48. #define S_iosLib_CONTROLLER_NOT_PRESENT (M_iosLib | 5)
  49. #define S_iosLib_DUPLICATE_DEVICE_NAME (M_iosLib | 6)
  50. #define S_iosLib_INVALID_ETHERNET_ADDRESS (M_iosLib | 7)
  51. typedef struct  /* DEV_HDR - device header for all device structures */
  52.     {
  53.     DL_NODE node; /* device linked list node */
  54.     short drvNum; /* driver number for this device */
  55.     char * name; /* device name */
  56.     } DEV_HDR;
  57. /* function declarations */
  58. #if defined(__STDC__) || defined(__cplusplus)
  59. extern STATUS  iosInit (int max_drivers, int max_files, char *nullDevName);
  60. extern void  iosShowInit (void);
  61. extern DEV_HDR *iosDevFind (char *name, char ** pNameTail);
  62. extern DEV_HDR *iosFdDevFind (int fd);
  63. extern DEV_HDR *iosNextDevGet (DEV_HDR *pDev);
  64. extern STATUS  iosClose (int fd);
  65. extern STATUS  iosDevAdd (DEV_HDR *pDevHdr, char *name, int drvnum);
  66. extern STATUS  iosDrvRemove (int drvnum, BOOL forceClose);
  67. extern int  iosCreate (DEV_HDR *pDevHdr, char *fileName, int mode);
  68. extern int  iosDelete (DEV_HDR *pDevHdr, char *fileName);
  69. extern int  iosDrvInstall (FUNCPTR pCreate, FUNCPTR pDelete, FUNCPTR pOpen,
  70.        FUNCPTR pClose, FUNCPTR pRead, FUNCPTR pWrite,
  71.        FUNCPTR pIoctl);
  72. extern int  iosFdNew (DEV_HDR *pDevHdr, char *name, int value);
  73. extern int  iosFdValue (int fd);
  74. extern int  iosIoctl (int fd, int function, int arg);
  75. extern int  iosOpen (DEV_HDR *pDevHdr, char *fileName, int flags, int mode);
  76. extern int  iosRead (int fd, char *buffer, int maxbytes);
  77. extern int  iosWrite (int fd, char *buffer, int nbytes);
  78. extern void  iosDevDelete (DEV_HDR *pDevHdr);
  79. extern void  iosDevShow (void);
  80. extern void  iosDrvShow (void);
  81. extern void  iosFdFree (int fd);
  82. extern STATUS  iosFdSet (int fd, DEV_HDR *pDevHdr, char *name, int value);
  83. extern void  iosFdShow (void);
  84. #else /* __STDC__ */
  85. extern STATUS  iosInit ();
  86. extern void  iosShowInit ();
  87. extern DEV_HDR *iosDevFind ();
  88. extern DEV_HDR *iosFdDevFind ();
  89. extern DEV_HDR *iosNextDevGet ();
  90. extern STATUS  iosClose ();
  91. extern STATUS  iosDevAdd ();
  92. extern STATUS  iosDrvRemove ();
  93. extern int  iosCreate ();
  94. extern int  iosDelete ();
  95. extern int  iosDrvInstall ();
  96. extern int  iosFdNew ();
  97. extern int  iosFdValue ();
  98. extern int  iosIoctl ();
  99. extern int  iosOpen ();
  100. extern int  iosRead ();
  101. extern int  iosWrite ();
  102. extern void  iosDevDelete ();
  103. extern void  iosDevShow ();
  104. extern void  iosDrvShow ();
  105. extern void  iosFdFree ();
  106. extern STATUS  iosFdSet ();
  107. extern void  iosFdShow ();
  108. #endif /* __STDC__ */
  109. #ifdef __cplusplus
  110. }
  111. #endif
  112. #endif /* __INCiosLibh */