Merge branch 'master' of ssh://roach.truelite.it/srv/git/gapil
[gapil.git] / sources / Gapil.h
index 90ed7d867c7a51015af360caf0c03da08f4dde4d..70c796df0be46cd6e1ac99792bb0bd81e03dc5d9 100644 (file)
@@ -23,7 +23,7 @@
  *
  * Author: S. Piccardi
  *
- * $Id: Gapil.h,v 1.8 2003/02/26 21:37:36 piccardi Exp $
+ * $Id: Gapil.h,v 1.12 2003/08/16 18:30:21 piccardi Exp $
  *
  *****************************************************************************/
 #include <sys/sem.h>                           /* IPC semaphore declarations */
@@ -34,6 +34,7 @@
 #include <fcntl.h>                          /* file control (lock) functions */
 #include <signal.h>                          /* signal handling declarations */
 #include <dirent.h>                              /* directory scan functions */
+#include <stdio.h>                          /* include standard I/O library */
 /*
  * Definition of semun struct; used to implement a MutexXXXX API To
  * create a Mutex use an underlaying semaphore and init it; we put
@@ -55,56 +56,62 @@ union semun {
  * Mutex handling Functions
  */
 /* Function MutexCreate: create a mutex. See Mutex.c */
-inline int MutexCreate(key_t ipc_key);
+int MutexCreate(key_t ipc_key);
 /* Function MutexFind: get the mutex ID given fomr IPC key. See Mutex.c */
-inline int MutexFind(key_t ipc_key);
+int MutexFind(key_t ipc_key);
 /* Function MutexRead: read the current value of the mutex. See Mutex.c */
-inline int MutexRead(int sem_id);
+int MutexRead(int sem_id);
 /* Function MutexLock: to lock a mutex/semaphore. See Mutex.c */
-inline int MutexLock(int sem_id);
+int MutexLock(int sem_id);
 /* Function MutexUnlock: to unlock a mutex/semaphore. See Mutex.c */
-inline int MutexUnlock(int sem_id);
+int MutexUnlock(int sem_id);
 /* Function MutexRemove: remove the mutex/semphore. See Mutex.c */
-inline int MutexRemove(int sem_id);
+int MutexRemove(int sem_id);
 /* Function CreateMutex: create a mutex (using file locking). See Mutex.c */
-inline int CreateMutex(const char *path_name);
+int CreateMutex(const char *path_name);
 /* Function UnlockMutex: find a mutex (using file locking). See Mutex.c */
-inline int FindMutex(const char *path_name);
+int FindMutex(const char *path_name);
 /* Function LockMutex: acquire a mutex (using file locking). See Mutex.c */
-inline int LockMutex(int fd);
+int LockMutex(int fd);
 /* Function UnlockMutex: release a mutex (using file locking). See Mutex.c */
-inline int UnlockMutex(int fd);
+int UnlockMutex(int fd);
 /* Function ReadMutex: read a mutex (using file locking). See Mutex.c */
-inline int ReadMutex(int fd);
+int ReadMutex(int fd);
 /* Function RemoveMutex: remove a mutex (using file locking). See Mutex.c */
-inline int RemoveMutex(const char *path_name);
+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);
+int LockFile(const char* path_name);
 /* Function UnlockFile: remove a lock file. See FileLock.c */
-inline int UnlockFile(const char* path_name);
+int UnlockFile(const char* path_name);
 /*
  * Signal Handling Functions
  */
 typedef void SigFunc(int);
 /* Function Signal: Initialize a signal handler. See SigHand.c */
 SigFunc * Signal(int signo, SigFunc *func);
+/* Function SignalRestart: restart system calls. See SigHand.c */
+SigFunc * SignalRestart(int signo, SigFunc *func);
 /* Function HandSigCHLD: to handle SIGCHILD. See SigHand.c */
 void HandSigCHLD(int sig);
 /* 
- * Socket service functions
+ * Socket/Files service functions
  */
 /* 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);
+/* Function full_fread: to read from a standard file. See full_fread.c */
+size_t full_fread(FILE *file, void *buf, size_t count);
+/* Function full_fwrite: to write from a standard file. See full_fwrite.c */
+size_t full_fwrite(FILE *file, 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 *));
+/* Function dir_scan: simple scan for a directory. See dir_scan.c */
+int dir_scan(char * dirname, int(*compute)(struct dirent *));
 /*
  * Shared memory handling functions. See SharedMem.c
  */
@@ -120,3 +127,15 @@ void * CreateShm(char * shm_name, off_t shm_size, int perm, int fill);
 void * FindShm(char * shm_name, off_t shm_size);
 /* Function RemoveShm: remove a POSIX shared memory */
 int RemoveShm(char * shm_name);
+/*
+ * Socket creation functions. See corresponding .c
+ */
+int sockconn(char *host, char *serv, int prot, int type);
+int sockbind(char *host, char *serv, int prot, int type);
+int sockbindopt(char *host, char *serv, int prot, int type, int reuse);
+
+/*
+ * General purpose functions. See corresponding .c
+ */
+int endian(void);
+int is_closing(int sock);