+/* Gapil.h
+ *
+ * Copyright (C) 2002 Simone Piccardi
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
/*****************************************************************************
*
* File Gapil.h:
*
* Author: S. Piccardi
*
- * $Id: Gapil.h,v 1.1 2002/12/03 11:06:05 piccardi Exp $
+ * $Id: Gapil.h,v 1.5 2003/01/07 23:00:34 piccardi Exp $
*
*****************************************************************************/
#include <sys/sem.h> /* IPC semaphore declarations */
#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
inline int MutexLock(int sem_id);
/* Function MutexUnlock: to unlock a mutex/semaphore. See Mutex.c */
inline int MutexUnlock(int sem_id);
-
-/* Function LockFile: create a lock file. See FileLock.c*/
+/* 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 LockMutex(int fd);
+/* Function UnlockMutex: release a mutex (using file locking). See Mutex.c */
+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*/
+/* Function UnlockFile: remove a lock file. See FileLock.c */
inline int UnlockFile(const char* path_name);
/*
* Signal Handling Functions
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);
+/*
+ * File miscellaneous
+ */
+/* Function DirScan: simple scan for a directory */
+int DirScan(char * dirname, int(*compute)(struct dirent *));