X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=sources%2FGapil.h;h=c6cbfea4d91b4294968e2f9a143cbc8caa816f05;hp=67dabab0f434f6e601cc51b99c3abc7f0dc50ed5;hb=684f52a149bb07baec157b7f203af37444a708a1;hpb=bff17765a4aa5e979e0a72b70917c70254e97c98 diff --git a/sources/Gapil.h b/sources/Gapil.h index 67dabab..c6cbfea 100644 --- a/sources/Gapil.h +++ b/sources/Gapil.h @@ -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.12 2003/08/16 18:30:21 piccardi Exp $ * *****************************************************************************/ #include /* IPC semaphore declarations */ @@ -33,6 +33,7 @@ #include /* unix standard functions */ #include /* file control (lock) functions */ #include /* signal handling declarations */ +#include /* 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 */ @@ -79,12 +91,38 @@ inline int UnlockFile(const char* path_name); 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 */ -/* 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, int 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, int 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); +/* + * General purpose functions. See corresponding .c + */ +int endian(void);