gfaipc.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. // gfaipc.h :
  2. //
  3. #if !defined(AGD_GFAIPC_H__6126047E_C1B1_4ACE_BD49_8780C7E5E068__INCLUDED_)
  4. #define AGD_GFAIPC_H__6126047E_C1B1_4ACE_BD49_8780C7E5E068__INCLUDED_
  5. #include <stdlib.h>
  6. #ifdef __cplusplus
  7. extern "C" {
  8. #endif // __cplusplus
  9. /////////////////////////////////////////////////////////////////////////////
  10. // gfaipc.h - Declarations:
  11. typedef void *HSHM;
  12. HSHM GfaIpcAcquireSHM (const char *pszUuid, size_t nSizeElement, size_t nCntElements, const char *pszDescName);
  13. void GfaIpcReleaseSHM (HSHM hShm);
  14. void* GfaIpcAcquirePointer(HSHM hShm);
  15. void GfaIpcReleasePointer(HSHM hShm, const void *p);
  16. void GfaIpcLockSHM (HSHM hShm);
  17. void GfaIpcUnlockSHM (HSHM hShm);
  18. void GfaIpcDumpSHMROT (void);
  19. long GfaIpcInterlockedIncrement(HSHM hShm, volatile long *pl);
  20. long GfaIpcInterlockedDecrement(HSHM hShm, volatile long *pl);
  21. long GfaIpcInterlockedCompare(HSHM hShm, volatile long *pl, long comparand);
  22. long GfaIpcInterlockedSet(HSHM hShm, volatile long *pl, long val);
  23. long GfaIpcInterlockedClear(HSHM hShm, volatile long *pl);
  24. /////////////////////////////////////////////////////////////////////////////
  25. #ifdef __cplusplus
  26. }
  27. #endif // __cplusplus
  28. #endif // !defined(AGD_GFAIPC_H__6126047E_C1B1_4ACE_BD49_8780C7E5E068__INCLUDED_)