diff srf2fastq/io_lib-1.12.2/io_lib/misc.h @ 0:d901c9f41a6a default tip

Migrated tool version 1.0.1 from old tool shed archive to new tool shed repository
author dawe
date Tue, 07 Jun 2011 17:48:05 -0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/srf2fastq/io_lib-1.12.2/io_lib/misc.h	Tue Jun 07 17:48:05 2011 -0400
@@ -0,0 +1,114 @@
+#ifndef _misc_h
+#define _misc_h
+
+#include <stdio.h>
+#include <stdarg.h>  /* varargs needed for v*printf() prototypes */
+#include <sys/types.h>
+
+#include "io_lib/os.h"
+#include "io_lib/xalloc.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern int is_directory(char * fn);
+extern int is_file(char * fn);
+extern int file_exists(char * fn);
+extern int compressed_file_exists(char *fname);
+extern int file_size(char * fn);
+extern FILE *open_fofn(char *files);
+extern char *read_fofn(FILE *fp);
+extern void close_fofn(FILE *fp);
+extern int fstrlen(char *f, int max_f);
+extern void f2cstr(char *f, int max_f, char *c, int max_c);
+extern void c2fstr(char *c, int max_c, char *f, int max_f);
+extern char *mystrtok(char *s, char *ct);
+extern char *myfind(char *file, char* searchpath, int (*found) (char *) );
+extern void crash (char* format,...);
+extern void str_tolower (char *s);
+extern void str_toupper (char *s);
+extern char *fn_tail (char *s);
+extern void fn_tolower (char *s);
+extern void fn_toupper (char *s);
+extern void shell_call(char *command, char *output, int len);
+extern char *date_str(void);
+#ifdef NOSTRDUP
+extern char *strdup(const char *s);
+#endif
+#ifdef NOSTRSTR
+extern char *strstr(char *cs, char *ct);
+#endif
+
+#ifdef NOMEMMOVE
+#define memmove(d,s,l) bcopy(s,d,l)
+#endif
+extern int myusleep(unsigned int useconds);
+
+extern void errout(char *fmt, ...);
+extern void messout(char *fmt, ...);
+
+/*
+ * Useful macros
+ */
+#define findfile(F,S) myfind((F),(S),file_exists)
+/*is_file fails for symbolic links*/
+/*#define findfile(F,S) myfind((F),(S),is_file)*/
+
+#if defined(min)
+#undef min
+#undef max
+#endif
+
+#define min(A,B) ( ( (A) < (B) ) ? (A) : (B) )
+#define max(A,B) ( ( (A) > (B) ) ? (A) : (B) )
+#define sgn(A) ( (A) ? ( ( (A) < 0 ) ? -1 : 1 ) : 0 )
+
+#ifdef MIN
+#undef MIN
+#endif
+#define MIN(A,B) ( ( (A) < (B) ) ? (A) : (B) )
+#ifdef MAX
+#undef MAX
+#endif
+#define MAX(A,B) ( ( (A) > (B) ) ? (A) : (B) )
+#define SGN(A) ( (A) ? ( ( (A) < 0 ) ? -1 : 1 ) : 0 )
+#define ABS(A) ( (A) < 0 ? -(A) : (A) )
+
+/* Number of elements in array */
+#define Number(A) ( sizeof(A) / sizeof((A)[0]) )
+
+/*
+ * Things taken from the new gap text_output.h. They'll be used globally
+ * across all the programs in the end.
+ */
+
+/*
+ * Usage: verror(priority, format, args...);
+ * NB: don't pass more than 8K per call
+ */
+#define ERR_WARN 0
+#define ERR_FATAL 1
+void verror(int priority, char *name, char *fmt, ...);
+
+/*
+ * Usage: vmessage(format, args...);
+ * NB: don't pass more than 8K per call
+ */
+void vmessage(char *fmt, ...);
+
+/*
+ * Adds a new header to the text output window.
+ */
+void vfuncheader(char *fmt, ...);
+
+/*
+ * As vfuncheader, but only outputting when necessary.
+ */
+void vfuncgroup(int group, char *fmt, ...);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /*_misc_h*/