MAJOR UPDATE:
- pan can now run complex command lines like "mkfifo gffifo17; growfiles..."
- I have rewritten zoolib. Functionally it is the same, but the
code is much cleaner and makes more sense.
- updated pan and bump with the new zoolib
diff --git a/pan/zoolib.h b/pan/zoolib.h
index 0022093..00fa4ca 100644
--- a/pan/zoolib.h
+++ b/pan/zoolib.h
@@ -30,7 +30,7 @@
* http://oss.sgi.com/projects/GenInfo/NoticeExplan/
*
*/
-/* $Id: zoolib.h,v 1.2 2000/09/21 20:42:31 nstraz Exp $ */
+/* $Id: zoolib.h,v 1.3 2001/03/08 19:13:21 nstraz Exp $ */
#ifndef ZOOLIB_H
#define ZOOLIB_H
@@ -41,19 +41,46 @@
#include <fcntl.h>
#include <sys/signal.h>
-int rec_signal; /* received signal */
+int rec_signal; /* received signal */
int send_signal; /* signal to send */
+typedef FILE *zoo_t;
+#define ZELEN 512
+char zoo_error[ZELEN];
+#define BUFLEN 81
+
int lock_file( FILE *fp, short ltype, char **errmsg );
-FILE *open_file( char *file, char *mode, char **errmsg );
+/* FILE *open_file( char *file, char *mode, char **errmsg ); */
void wait_handler();
-char *zoo_active( void );
-int write_active( FILE *fp, char *name, char **errmsg );
-int clear_active( FILE *fp, pid_t me, char **errmsg );
-int write_active_args( FILE *fp, pid_t pid, char *name, int argc, char **argv, char **errmsg );
-int seek_file( FILE *fp, long int offset, int whence, char **errmsg );
-char *cat_args(int argc, char **argv, char **errmsg);
+/* char *zoo_active( void ); */
+/* zoo_getname(): create a filename to use for the zoo
+ * returns NULL on error */
+char *zoo_getname(void);
+
+/* zoo_open(): open a zoo file for use
+ * returns NULL on error */
+zoo_t zoo_open(char *zooname);
+
+/* zoo_close(): close an open zoo file */
+int zoo_close(zoo_t z);
+
+/* zoo_mark_cmdline(): make an entry to the zoo
+ * returns 0 on success, -1 on error */
+int zoo_mark_cmdline(zoo_t z, pid_t p, char *tag, char *cmdline);
+
+/* zoo_mark_args(): make an entry to the zoo using argc argv
+ * returns 0 on success, -1 on error */
+int zoo_mark_args(zoo_t z, pid_t p, char *tag, int ac, char **av);
+
+/* zoo_clear(): mark a pid as completed
+ * returns 0 on success, -1 on error, 1 as warning */
+int zoo_clear(zoo_t z, pid_t p);
+
+/* zoo_getpid(): get the pid for a specified tag
+ * returns pid_t on success and 0 on error */
+pid_t zoo_getpid(zoo_t z, char *tag);
+
#endif /* ZOOLIB_H */