⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 routines.h

📁 ctags-5.5.4.tar.gz,一个很好的代码开发以及编辑源码
💻 H
字号:
/**   $Id: routines.h,v 1.10 2003/10/13 02:35:45 darren Exp $**   Copyright (c) 2002, Darren Hiebert**   This source code is released for free distribution under the terms of the*   GNU General Public License.**   External interface to routines.c*/#ifndef _ROUTINES_H#define _ROUTINES_H/**   INCLUDE FILES*/#include "general.h"	/* must always come first *//**   MACROS*/#define xMalloc(n,Type)    (Type *)eMalloc((size_t)(n) * sizeof (Type))#define xCalloc(n,Type)    (Type *)eCalloc((size_t)(n), sizeof (Type))#define xRealloc(p,n,Type) (Type *)eRealloc((p), (n) * sizeof (Type))/* *  Portability macros */#ifndef PATH_SEPARATOR# if defined (MSDOS_STYLE_PATH)#  define PATH_SEPARATOR '\\'# elif defined (QDOS)#  define PATH_SEPARATOR '_'# else#  define PATH_SEPARATOR '/'# endif#endif#if defined (MSDOS_STYLE_PATH) && defined (UNIX_PATH_SEPARATOR)# define OUTPUT_PATH_SEPARATOR	'/'#else# define OUTPUT_PATH_SEPARATOR	PATH_SEPARATOR#endif/**   DATA DECLARATIONS*/#if defined (MSDOS_STYLE_PATH) || defined (VMS)extern const char *const PathDelimiters;#endifextern char *CurrentDirectory;typedef int errorSelection;enum eErrorTypes { FATAL = 1, WARNING = 2, PERROR = 4 };typedef struct {	/* Name of file for which status is valid */    char* name;	/* Does file exist? If not, members below do not contain valid data. */    boolean exists;	/* is file path a symbolic link to another file? */    boolean isSymbolicLink;	/* Is file (pointed to) a directory? */    boolean isDirectory;	/* Is file (pointed to) a normal file? */    boolean isNormalFile;	/* Is file (pointed to) executable? */    boolean isExecutable;	/* Is file (pointed to) setuid? */    boolean isSetuid;	/* Size of file (pointed to) */    unsigned long size;} fileStatus; /**   FUNCTION PROTOTYPES*/extern void freeRoutineResources (void);extern void setExecutableName (const char *const path);extern const char *getExecutableName (void);extern void error (const errorSelection selection, const char *const format, ...) __printf__ (2, 3);/* Memory allocation functions */#ifdef NEED_PROTO_MALLOCextern void *malloc (size_t);extern void *realloc (void *ptr, size_t);#endifextern void *eMalloc (const size_t size);extern void *eCalloc (const size_t count, const size_t size);extern void *eRealloc (void *const ptr, const size_t size);extern void eFree (void *const ptr);/* String manipulation functions */extern int struppercmp (const char *s1, const char *s2);extern int strnuppercmp (const char *s1, const char *s2, size_t n);#ifndef HAVE_STRSTRextern char* strstr (const char *str, const char *substr);#endifextern char* eStrdup (const char* str);extern void toLowerString (char* str);extern void toUpperString (char* str);extern char* newLowerString (const char* str);extern char* newUpperString (const char* str);/* File system functions */extern void setCurrentDirectory (void);extern fileStatus *eStat (const char *const fileName);extern boolean doesFileExist (const char *const fileName);extern boolean isRecursiveLink (const char* const dirName);extern boolean isSameFile (const char *const name1, const char *const name2);#if defined(NEED_PROTO_FGETPOS)extern int fgetpos  (FILE *stream, fpos_t *pos);extern int fsetpos  (FILE *stream, fpos_t *pos);#endifextern const char *baseFilename (const char *const filePath);extern const char *fileExtension (const char *const fileName);extern boolean isAbsolutePath (const char *const path);extern vString *combinePathAndFile (const char *const path, const char *const file);extern char* absoluteFilename (const char *file);extern char* absoluteDirname (char *file);extern char* relativeFilename (const char *file, const char *dir);extern FILE *tempFile (const char *const mode, char **const pName);#endif	/* _ROUTINES_H *//* vi:set tabstop=8 shiftwidth=4: */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -