[BACK]Return to stdfn.h CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / gnuplot

Annotation of OpenXM_contrib/gnuplot/stdfn.h, Revision 1.1

1.1     ! maekawa     1: /*
        !             2:  * $Id: stdfn.h,v 1.23 1998/06/18 14:55:18 ddenholm Exp $
        !             3:  *
        !             4:  */
        !             5:
        !             6: /* GNUPLOT - stdfn.h */
        !             7:
        !             8: /*[
        !             9:  * Copyright 1986 - 1993, 1998   Thomas Williams, Colin Kelley
        !            10:  *
        !            11:  * Permission to use, copy, and distribute this software and its
        !            12:  * documentation for any purpose with or without fee is hereby granted,
        !            13:  * provided that the above copyright notice appear in all copies and
        !            14:  * that both that copyright notice and this permission notice appear
        !            15:  * in supporting documentation.
        !            16:  *
        !            17:  * Permission to modify the software is granted, but not the right to
        !            18:  * distribute the complete modified source code.  Modifications are to
        !            19:  * be distributed as patches to the released version.  Permission to
        !            20:  * distribute binaries produced by compiling modified sources is granted,
        !            21:  * provided you
        !            22:  *   1. distribute the corresponding source modifications from the
        !            23:  *    released version in the form of a patch file along with the binaries,
        !            24:  *   2. add special version identification to distinguish your version
        !            25:  *    in addition to the base release version number,
        !            26:  *   3. provide your name and address as the primary contact for the
        !            27:  *    support of your modified version, and
        !            28:  *   4. retain our contact information in regard to use of the base
        !            29:  *    software.
        !            30:  * Permission to distribute the released version of the source code along
        !            31:  * with corresponding source modifications in the form of a patch file is
        !            32:  * granted with same provisions 2 through 4 for binary distributions.
        !            33:  *
        !            34:  * This software is provided "as is" without express or implied warranty
        !            35:  * to the extent permitted by applicable law.
        !            36: ]*/
        !            37:
        !            38: /* get prototypes or declarations for string and stdlib functions and deal
        !            39:    with missing functions like strchr. */
        !            40:
        !            41: /* we will assume the ANSI/Posix/whatever situation as default.
        !            42:    the header file is called string.h and the index functions are called
        !            43:    strchr, strrchr. Exceptions have to be listed explicitly */
        !            44:
        !            45: #ifndef STDFN_H
        !            46: #define STDFN_H
        !            47:
        !            48: #include <ctype.h>
        !            49: #include <stdio.h>
        !            50:
        !            51: #include "syscfg.h"
        !            52:
        !            53: #ifndef NO_STRING_H
        !            54: # include <string.h>
        !            55: #else
        !            56: # include <strings.h>
        !            57: #endif
        !            58:
        !            59: #ifdef HAVE_BCOPY
        !            60: # ifdef NO_MEMCPY
        !            61: #  define memcpy(d,s,n) bcopy((s),(d),(n))
        !            62: # endif
        !            63: # ifdef NO_MEMMOVE
        !            64: #  define memmove(d,s,n) bcopy((s),(d),(n))
        !            65: # endif
        !            66: #endif /* HAVE_BCOPY */
        !            67:
        !            68: #ifdef NO_STRCHR
        !            69: # ifdef strchr
        !            70: #  undef strchr
        !            71: # endif
        !            72: #ifdef HAVE_INDEX
        !            73: # define strchr index
        !            74: #endif
        !            75: # ifdef strrchr
        !            76: #  undef strrchr
        !            77: # endif
        !            78: # ifdef HAVE_RINDEX
        !            79: #  define strrchr rindex
        !            80: # endif
        !            81: #endif
        !            82:
        !            83: #ifdef NO_STDLIB_H
        !            84: # ifdef HAVE_MALLOC_H
        !            85: #  include <malloc.h>
        !            86: # else
        !            87: void free();
        !            88: char *malloc();
        !            89: char *realloc();
        !            90: # endif /* HAVE_MALLOC_H */
        !            91: char *getenv();
        !            92: int system();
        !            93: double atof();
        !            94: int atoi();
        !            95: long atol();
        !            96: double strtod();
        !            97: #else /* !NO_STDLIB_H */
        !            98: # include <stdlib.h>
        !            99: # ifndef VMS
        !           100: #  ifndef EXIT_FAILURE
        !           101: #   define EXIT_FAILURE (1)
        !           102: #  endif
        !           103: #  ifndef EXIT_SUCCESS
        !           104: #   define EXIT_SUCCESS (0)
        !           105: #  endif
        !           106: # else /* VMS */
        !           107: #  ifdef VAXC            /* replacement values suppress some messages */
        !           108: #   ifdef  EXIT_FAILURE
        !           109: #    undef EXIT_FAILURE
        !           110: #   endif
        !           111: #   ifdef  EXIT_SUCCESS
        !           112: #    undef EXIT_SUCCESS
        !           113: #   endif
        !           114: #  endif /* VAXC */
        !           115: #  ifndef  EXIT_FAILURE
        !           116: #   define EXIT_FAILURE  0x10000002
        !           117: #  endif
        !           118: #  ifndef  EXIT_SUCCESS
        !           119: #   define EXIT_SUCCESS  1
        !           120: #  endif
        !           121: # endif /* VMS */
        !           122: #endif /* !NO_STDLIB_H */
        !           123:
        !           124: #ifdef HAVE_UNISTD_H
        !           125: # include <unistd.h>
        !           126: #else
        !           127: # ifdef HAVE_LIBC_H /* NeXT uses libc instead of unistd */
        !           128: #  include <libc.h>
        !           129: # endif
        !           130: #endif /* HAVE_UNISTD_H */
        !           131:
        !           132: #ifndef NO_ERRNO_H
        !           133: # include <errno.h>
        !           134: #endif
        !           135: # ifdef EXTERN_ERRNO
        !           136: extern int errno;
        !           137: #endif
        !           138:
        !           139: #ifndef NO_SYS_TYPES_H
        !           140: # include <sys/types.h>
        !           141: #endif
        !           142:
        !           143: #ifdef HAVE_SYS_STAT_H
        !           144: # include <sys/stat.h>
        !           145:
        !           146: /* This is all taken from GNU fileutils lib/filemode.h */
        !           147:
        !           148: #if !S_IRUSR
        !           149: # if S_IREAD
        !           150: #  define S_IRUSR S_IREAD
        !           151: # else
        !           152: #  define S_IRUSR 00400
        !           153: # endif
        !           154: #endif
        !           155:
        !           156: #if !S_IWUSR
        !           157: # if S_IWRITE
        !           158: #  define S_IWUSR S_IWRITE
        !           159: # else
        !           160: #  define S_IWUSR 00200
        !           161: # endif
        !           162: #endif
        !           163:
        !           164: #if !S_IXUSR
        !           165: # if S_IEXEC
        !           166: #  define S_IXUSR S_IEXEC
        !           167: # else
        !           168: #  define S_IXUSR 00100
        !           169: # endif
        !           170: #endif
        !           171:
        !           172: #ifdef STAT_MACROS_BROKEN
        !           173: # undef S_ISBLK
        !           174: # undef S_ISCHR
        !           175: # undef S_ISDIR
        !           176: # undef S_ISFIFO
        !           177: # undef S_ISLNK
        !           178: # undef S_ISMPB
        !           179: # undef S_ISMPC
        !           180: # undef S_ISNWK
        !           181: # undef S_ISREG
        !           182: # undef S_ISSOCK
        !           183: #endif /* STAT_MACROS_BROKEN.  */
        !           184:
        !           185: #if !defined(S_ISBLK) && defined(S_IFBLK)
        !           186: # define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK)
        !           187: #endif
        !           188: #if !defined(S_ISCHR) && defined(S_IFCHR)
        !           189: # define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR)
        !           190: #endif
        !           191: #if !defined(S_ISDIR) && defined(S_IFDIR)
        !           192: # define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
        !           193: #endif
        !           194: #if !defined(S_ISREG) && defined(S_IFREG)
        !           195: # define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
        !           196: #endif
        !           197: #if !defined(S_ISFIFO) && defined(S_IFIFO)
        !           198: # define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO)
        !           199: #endif
        !           200: #if !defined(S_ISLNK) && defined(S_IFLNK)
        !           201: # define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK)
        !           202: #endif
        !           203: #if !defined(S_ISSOCK) && defined(S_IFSOCK)
        !           204: # define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK)
        !           205: #endif
        !           206: #if !defined(S_ISMPB) && defined(S_IFMPB) /* V7 */
        !           207: # define S_ISMPB(m) (((m) & S_IFMT) == S_IFMPB)
        !           208: # define S_ISMPC(m) (((m) & S_IFMT) == S_IFMPC)
        !           209: #endif
        !           210: #if !defined(S_ISNWK) && defined(S_IFNWK) /* HP/UX */
        !           211: # define S_ISNWK(m) (((m) & S_IFMT) == S_IFNWK)
        !           212: #endif
        !           213:
        !           214: #endif /* HAVE_SYS_STAT_H */
        !           215:
        !           216: #ifndef NO_LIMITS_H
        !           217: # include <limits.h>
        !           218: #else
        !           219: # ifdef HAVE_VALUES_H
        !           220: #  include <values.h>
        !           221: # endif /* HAVE_VALUES_H */
        !           222: #endif /* !NO_LIMITS_H */
        !           223:
        !           224: #ifdef NO_TIME_H
        !           225: # ifndef time_t /* should be #defined by config.h, then... */
        !           226: #  define time_t long
        !           227: # endif
        !           228: #else
        !           229: # include <time.h> /* ctime etc, should also define time_t and struct tm */
        !           230: #endif
        !           231:
        !           232: #if defined(PIPES) && (defined(VMS) || (defined(OSK) && defined(_ANSI_EXT))) || defined(PIPES) && defined(AMIGA_SC_6_1)
        !           233: FILE *popen __PROTO((char *, char *));
        !           234: int pclose __PROTO((FILE *));
        !           235: #endif
        !           236:
        !           237: #ifndef NO_FLOAT_H
        !           238: # include <float.h>
        !           239: #endif
        !           240:
        !           241: #ifndef NO_LOCALE_H
        !           242: # include <locale.h>
        !           243: #endif
        !           244:
        !           245: #ifndef NO_MATH_H
        !           246: # include <math.h>
        !           247: #endif
        !           248:
        !           249: #ifndef HAVE_STRNICMP
        !           250: # ifdef HAVE_STRNCASECMP
        !           251: #  define strnicmp strncasecmp
        !           252: # else
        !           253: int strnicmp __PROTO((char *, char *, int));
        !           254: # endif
        !           255: #endif
        !           256:
        !           257: /* Argument types for select() */
        !           258: #ifdef SELECT_TYPE_ARG1
        !           259: # define gp_nfds_t SELECT_TYPE_ARG1
        !           260: #else
        !           261: # define gp_nfds_t int
        !           262: #endif /* 1 */
        !           263: #ifdef SELECT_TYPE_ARG234
        !           264: # define gp_fd_set_p SELECT_TYPE_ARG234
        !           265: #else
        !           266: # ifndef __EMX__
        !           267: #  define gp_fd_set_p (int *)
        !           268: # else
        !           269: #  define gp_fd_set_p (fd_set *)
        !           270: # endif
        !           271: #endif /* 234 */
        !           272: #ifdef SELECT_TYPE_ARG5
        !           273: # define gp_timeval_p SELECT_TYPE_ARG5
        !           274: #else
        !           275: # define gp_timeval_p (struct timeval *)
        !           276: #endif /* 5 */
        !           277:
        !           278: #ifndef GP_GETCWD
        !           279: # if defined(HAVE_GETCWD)
        !           280: #  define GP_GETCWD(path,len) getcwd (path, len)
        !           281: # else
        !           282: #  define GP_GETCWD(path,len) getwd (path)
        !           283: # endif
        !           284: #endif
        !           285:
        !           286: #ifndef GP_SLEEP
        !           287: # ifdef __ZTC__
        !           288: #  define GP_SLEEP(delay) usleep ((unsigned long) (delay))
        !           289: # else
        !           290: #  define GP_SLEEP(delay) sleep ((unsigned int) (delay))
        !           291: # endif
        !           292: #endif
        !           293:
        !           294: /* Misc. defines */
        !           295:
        !           296: /* Null character */
        !           297: #define NUL ('\0')
        !           298:
        !           299: /* Definitions for debugging */
        !           300: /* #define NDEBUG */
        !           301: #include <assert.h>
        !           302:
        !           303: #ifdef DEBUG
        !           304: # define DEBUG_WHERE do { fprintf(stderr,"%s:%d ",__FILE__,__LINE__); } while (0)
        !           305: # define FPRINTF(a) do { DEBUG_WHERE; fprintf a; } while (0)
        !           306: #else
        !           307: # define DEBUG_WHERE     /* nought */
        !           308: # define FPRINTF(a)      /* nought */
        !           309: #endif /* DEBUG */
        !           310:
        !           311: #endif /* STDFN_H */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>