X-Git-Url: https://gapil.gnulinux.it/gitweb/?a=blobdiff_plain;f=sources%2FGapil.h;h=b83fefd5a0a89c101ac906e20e5e1c6081743375;hb=5d621249af8897e27fc0a842a33e7a7ef3b9c2ca;hp=a8e786f49a37448cf9fa72fd79be8d41dad2dfbf;hpb=c3cf6cfaf8f9ce0722f6afe471a23d1b9ae920c3;p=gapil.git diff --git a/sources/Gapil.h b/sources/Gapil.h index a8e786f..b83fefd 100644 --- a/sources/Gapil.h +++ b/sources/Gapil.h @@ -23,7 +23,7 @@ * * Author: S. Piccardi * - * $Id: Gapil.h,v 1.5 2003/01/07 23:00:34 piccardi Exp $ + * $Id: Gapil.h,v 1.12 2003/08/16 18:30:21 piccardi Exp $ * *****************************************************************************/ #include /* IPC semaphore declarations */ @@ -34,6 +34,7 @@ #include /* file control (lock) functions */ #include /* signal handling declarations */ #include /* directory scan functions */ +#include /* 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 @@ -91,17 +92,50 @@ 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 + * Socket/Files 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); +/* 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 */ +/* 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); +/* + * 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);