Inizio della shared memory
[gapil.git] / sources / Gapil.h
index 67dabab0f434f6e601cc51b99c3abc7f0dc50ed5..17f07fa56f3a553dc7d3080f199cca0efad07d45 100644 (file)
@@ -23,7 +23,7 @@
  *
  * Author: S. Piccardi
  *
- * $Id: Gapil.h,v 1.3 2002/12/05 23:38:22 piccardi Exp $
+ * $Id: Gapil.h,v 1.7 2003/02/03 14:27:58 piccardi Exp $
  *
  *****************************************************************************/
 #include <sys/sem.h>                           /* IPC semaphore declarations */
@@ -33,6 +33,7 @@
 #include <unistd.h>                               /* unix standard functions */
 #include <fcntl.h>                          /* file control (lock) functions */
 #include <signal.h>                          /* signal handling declarations */
+#include <dirent.h>                              /* directory scan functions */
 /*
  * Definition of semun struct; used to implement a MutexXXXX API To
  * create a Mutex use an underlaying semaphore and init it; we put
@@ -63,12 +64,23 @@ inline int MutexRead(int sem_id);
 inline int MutexLock(int sem_id);
 /* Function MutexUnlock: to unlock a mutex/semaphore. See Mutex.c */
 inline int MutexUnlock(int sem_id);
+/* Function MutexRemove: remove the mutex/semphore. See Mutex.c */
+inline int MutexRemove(int sem_id);
+/* Function CreateMutex: create a mutex (using file locking). See Mutex.c */
+inline int CreateMutex(const char *path_name);
+/* Function UnlockMutex: find a mutex (using file locking). See Mutex.c */
+inline int FindMutex(const char *path_name);
 /* Function LockMutex: acquire a mutex (using file locking). See Mutex.c */
-inline int LockFile(const char* path_name);
+inline int LockMutex(int fd);
 /* Function UnlockMutex: release a mutex (using file locking). See Mutex.c */
-inline int UnlockFile(const char* path_name);
-
-
+inline int UnlockMutex(int fd);
+/* Function ReadMutex: read a mutex (using file locking). See Mutex.c */
+inline int ReadMutex(int fd);
+/* Function RemoveMutex: remove a mutex (using file locking). See Mutex.c */
+inline int RemoveMutex(const char *path_name);
+/* 
+ * Lock files function: to create and destroy lock files
+ */
 /* Function LockFile: create a lock file. See FileLock.c */
 inline int LockFile(const char* path_name);
 /* Function UnlockFile: remove a lock file. See FileLock.c */
@@ -84,7 +96,27 @@ void HandSigCHLD(int sig);
 /* 
  * Socket service functions
  */
-/* Function SockRead: to read from a socket. See SockRead.c */
-ssize_t SockRead(int fd, void *buf, size_t count);
-/* Function SockWrite: to read from a socket. See SockWrite.c */
-ssize_t SockWrite(int fd, const void *buf, size_t count);
+/* Function FullRead: to read from a socket. See FullRead.c */
+ssize_t FullRead(int fd, void *buf, size_t count);
+/* Function FullWrite: to read from a socket. See FullWrite.c */
+ssize_t FullWrite(int fd, const void *buf, size_t count);
+/*
+ * File miscellaneous
+ */
+/* Function DirScan: simple scan for a directory. See DirScan.c */
+int DirScan(char * dirname, int(*compute)(struct dirent *));
+/*
+ * Shared memory handling functions. See SharedMem.c
+ */
+/* Function ShmCreate: create a SysV shared memory */
+void * ShmCreate(key_t ipc_key, int shm_size, int perm, char fill);
+/* Function ShmFind: find an existing SysV shared memory */
+void * ShmFind(key_t ipc_key, int shm_size);
+/* Function ShmRemove: remove a SysV shared memory */
+int ShmRemove(key_t ipc_key, void * shm_ptr);
+/* Function CreateShm: create a POSIX shared memory */
+void * CreateShm(char * shm_name, off_t shm_size, int perm, char fill);
+/* Function FindShm: find an existing POSIX shared memory */
+void * FindShm(char * shm_name, off_t shm_size);
+/* Function RemoveShm: remove a POSIX shared memory */
+int RemoveShm(char * shm_name);