ipc.h
上传用户:sdtbys
上传日期:2009-12-06
资源大小:13k
文件大小:1k
源码类别:

并口编程

开发平台:

C/C++

  1. #ifndef MY_IPC_H 
  2. #define MY_IPC_H
  3. #define MsgCreateFail  -1301
  4. #define MsgOpenFail  -1302
  5. #define MsgStateFail  -1303
  6. #define MsgMesgLenBad  -1304
  7. #define MsgSendFail   -1305
  8. #define MsgRecvFail   -1306
  9. #define MsgRemoveFail  -1307
  10. #define MsgTimeOut    -1308
  11. #define MsgOK    0
  12. #define SemCreateFail  -1321
  13. #define SemOpenFail  -1322
  14. #define SemSetValFail  -1323
  15. #define SemLockFail  -1324
  16. #define SemUnlockFail  -1325
  17. #define SemRemoveFail  -1326
  18. #define ShmCreateFail  -1331
  19. #define ShmOpenFail  -1332
  20. #define ShmRemoveFail  -1333
  21. #define ShmConnectFail  -1334
  22. #define ShmDisConnectF  -1335
  23. #define MaxMesgLen 1024
  24. #define QPERM 0666
  25. typedef struct {
  26.   long MesgId;
  27.   char MesgText[MaxMesgLen+1];
  28. } Mesg;
  29. int msgCreate(key_t key);
  30. int msgOpen(key_t key); 
  31. int msgSend(int Msgfd,long  MsgId,char *MsgText,int MsgTextLen);
  32. int msgRecv(int Msgfd,long *MsgId,char *MsgText,int MsgTextLen);
  33. int msgRemove(int Msgfd);
  34. int msgStatus(int Msgfd);
  35. int semCreate(key_t key);
  36. int semOpen(key_t key);
  37. int semLock(int iSemId);
  38. int semUnlock(int iSemId);
  39. int semRemove(int iSemId);
  40. int semGetVal(int iSemId);
  41. int semSetVal(int iSemId,int val);
  42. int shmCreate(key_t key,int size);
  43. int shmOpen(key_t key,int size); 
  44. int shmRemove(int iShmId);
  45. char *shmConnect(int iShmId);
  46. int shmDisConnect(char *addr);
  47. #endif