Rev 313 | Blame | Compare with Previous | Last modification | View Log | RSS feed
/* -*- mode: c; tabs: 4; -*- ************************************************* Module name : cmdfile.h* Module type : CMDFILE source file* Environment(s): n/a** Version Who Date DescriptionAPY 12/99 Created** $Source: /cvsroot/device/DEVL/UTILS/CMDFILE/cmdfile.h,v $* $Revision: 1.9 $ $Date: 2004/11/05 07:51:39 $ $State: Exp $* $Author: ayoung $ $Locker: $*.........................................................................*/#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <limits.h> /* PATH_MAX */#include <errno.h>#if defined(linux)#include <sys/io.h>#elif defined(MSDOS) || defined(WIN32)#include <io.h>#endif#ifndef TRUE#define FALSE 0#define TRUE 1 /*!FALSE*/#endif#define MACRO_MAX 4096#define TMPNAME "cmdfile.XXX" /*see mktemp*/#if !defined(PATH_MAX)#if defined(linux)#define PATH_MAX 1024#else#error Unknown target OS ...#endif#endif#define WS_UNKNOWN 0 /*embedded space handling*/#define WS_IGNORE 1#define WS_ESCAPE 2#define WS_QUOTE 3#define WS_JUNK 4#define WS_URL 5typedef struct {char * s_data;char * s_ptr;unsigned s_left;unsigned s_len;} String_t;extern const char * version_string;extern char * program_name;extern FILE * output;extern int cflg;extern char mflg;extern char dflg[2];#define MACROCHAR mflg#define LDELIMITOR dflg[0]#define RDELIMITOR dflg[1]extern int eflg;extern int kflg;extern int k2flg;extern int Mflg;extern int nflg;extern int nlflg;extern const char * oflg;extern int rflg;extern char rtags[10];extern int tflg;extern int vflg;extern int wflg;extern int whitespace;extern void fatalerr(const char *msg, ...);extern void warning(const char *msg, ...);extern void verbose(const char *msg, ...);extern void message(const char *msg, ...);extern int mkstemp(char *path);extern int StringInit(String_t *, char *, unsigned);extern int StringZero(String_t *);extern int StringCat(String_t *, const char *);extern int StringPath(String_t *, const char *);extern int StringCatn(String_t *, const char *, unsigned);extern int StringPut(String_t *, char);extern char * StringData(String_t *pStr);extern int expected(const char *s, char c);extern int token(const char *s, char *buffer, int len);extern int argument(const char *s, char *buffer, int len);extern int pathargument(const char *s, char *buffer, int len);#define VFLAG_PATH 0x00#define VFLAG_LIBRARY 0x01#define VFLAG_GLOB 0x02#define VFLAG_LINT 0x04#define VFLAG_MUSTRESOLVE 0x10#define VFLAG_OPTIONAL 0x20extern int vpath(String_t *str, const char *s, int flags);extern int do_vhost(const char *s);extern int do_vsep(const char *s);extern int macro(String_t *str, const char *s);extern int dosify(String_t *str, const char *s);extern int do_realpath(String_t *str, const char *s);extern int do_shortpath(String_t *str, const char *s);extern int do_url2path(String_t *str, const char *s);extern int do_path2url(String_t *str, const char *s);extern const char * Realpath(const char *name, char *buf);extern int do_vlibgcc( String_t *str, const char *s );extern int from_env(String_t *str, const char *s);extern int do_clean_sep ( String_t *str, const char *s );extern void process_string (register char *s );