2N/A * The contents of this file are subject to the terms of the 2N/A * Common Development and Distribution License (the "License"). 2N/A * You may not use this file except in compliance with the License. 2N/A * See the License for the specific language governing permissions 2N/A * and limitations under the License. 2N/A * When distributing Covered Code, include this CDDL HEADER in each 2N/A * If applicable, add the following below this CDDL HEADER, with the 2N/A * fields enclosed by brackets "[]" replaced with your own identifying 2N/A * information: Portions Copyright [yyyy] [name of copyright owner] 2N/A * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved. 2N/A * MKS header file. Defines that make programming easier for us. 2N/A * Includes MKS-specific things and posix routines. 2N/A * Copyright 1985, 1993 by Mortice Kern Systems Inc. All rights reserved. 2N/A * $Header: /rd/h/rcs/mks.h 1.233 1995/09/28 19:45:19 mark Exp $ 2N/A * This should be a feature test macro defined in the Makefile or 2N/A * Write function declarations as follows: 2N/A * extern char *function ANSI((char *cp, int flags, NODE *np)); 2N/A * Expansion of this happens only when __STDC__ is set. 2N/A#
define _VOID void /* Used in VOID *malloc() */ 2N/A#
define _VOID char /* Used in _VOID *malloc() */ 2N/A#
define STATIC static /* Used for function definition */ 2N/A#
define STATREF /* Used in local function forward declaration */ 2N/A#
define LEXTERN extern /* Library external reference */ 2N/A#
define LDEFN /* Define Loadable library entry */ 2N/A#
include <
sys/
stat.h>
/* required for m_samefile() prototype. */ 2N/A#
endif /* P_tmpdir */ 2N/A#
endif /* L_cuserid */ 2N/A #
error "With M_AUDIT set, you must define M_AUDITW1 and M_AUDITW2" 2N/A * default number of user file descriptors to be used in the shell 2N/A * Must be >= 10, should be <= OPEN_MAX/2. 2N/A#
endif /*M_SH_USER_FDS*/ 2N/A/* set up alert and verticalTab characters - This assumes an ANSI-C compiler */ 2N/A#
define M_ESCAPE '\033' /* default to ASCII code for <ESC> */ 2N/A/* if SETVBUF not previously defined, then use default ANSI-C definition */ 2N/A/* if M_NULL defined in <mkslocal.h> then want to redefine NULL */ 2N/A#
define M_FLDSEP ':' /* UNIX field separator for passwd, PATH */ 2N/A * define the expected max length of a printed number. (used in awk) 2N/A * This should be the longest expected size for any type of number 2N/A * ie. float, long etc. 2N/A * This number is used to calculate the approximate 2N/A * number of bytes needed to hold the number. 2N/A#
endif /* M_NUMSIZE */ 2N/A * VARARG[12345]: declare variadic functions. 2N/A * Expands to either a standard C prototype or a K&R declaration. 2N/A * fprintf VARARG2(FILE*, fp, char*, fmt) 2N/A * va_start(ap, fmt); 2N/A * cp = va_arg(ap, char*); 2N/A#
define VARARG4(
t1,
n1,
t2,
n2,
t3,
n3,
t4,
n4) (
n1,
n2,
n3,
n4,
va_alist) \
2N/A * MKS-specific library entry points. 2N/A/* __m_system() : alternate interface into system() */ 2N/A/* conversion routines - between single byte and UNICODE (wide) strings. 2N/A * These return a pointer to malloc'd memory. 2N/A * It is the caller's responsiblity to free() it, if necessary 2N/A * These are for use primarily on NT 2N/A/* m_unlink() : alternate unlink() for use with vendor-provided 2N/A * libraries that do not have a satisfactory unlink() */ 2N/A/* __m_popen() : alternate interface into popen() */ 2N/A const char *,
const char *);
2N/A/* m_fsopen() - special routine for curses */ 2N/A/* m_fgets return values */ 2N/A * Regular EOF (same as NULL from fgets). 2N/A * Buffer is *untouched*. 2N/A * Short input (buf[strlen(buf)-1] != '\n') 2N/A * This is a trailing line, without a newline at the 2N/A * end of the file. The buffer is valid, ending in 2N/A * a \0, with no newline. The case of terminal input 2N/A * ending with an EOF in the middle of the line will 2N/A * restart -- typing two EOF's will result in this 2N/A * Line too long: newline not found within len bytes 2N/A * (buf[len-1] != '\n'). 2N/A * At this point, while((c=getc(fp)) != '\n') ... 2N/A * is a valid method to get the rest of the line. 2N/A * Input contained an invalid character (e.g. \0) 2N/A * Buffer contents *undefined*. 2N/A * A system call returned an error, errno is set. 2N/A * Buffer contents *undefined*. 2N/A/* m_ctype: generic character classification */ 2N/A#
endif /* PATH_MAX */ 2N/A#
endif /*m_setbinary*/ 2N/A/* m_wallow type values */ 2N/A/* Interface for compression (m_cm_*) and decompression (m_dc_*) */ 2N/A * Some UNIX routines that aren't in SVID 2N/A/* Some dos routines we sometimes want from posix utilities */ 2N/A * Default case: assume only POSIX.2 mailx is available. 2N/A * Must be careful when cron sends output to mailx. 2N/A * We must ensure that lines with leading '~' are escaped 2N/A * so mailx doesn't interpret these lines 2N/A * This string MUST include a trailing space character. 2N/A * m_cp() - copy a file in an O/S specific way. See m_cp.3 2N/A/* processing flags */ 2N/A * MKS MEMORY MANIPULATIONS: 2N/A * Specific to MKS and non-portable. 2N/A/* for machines with small data models (e.g PC's - DOS, OS2) */ 2N/A/* mks error handling routines */ 2N/A * The filesystem type and attribute routine 2N/A/* File system types */ 2N/A/* File system attributes */ 2N/A/* This one should be ifdef'ed on something else */ 2N/A * m_tempname() generates a filename for a temp file using "code" 2N/A * __m_getopt() alternate "stateless" entry into getopt(). 2N/A/* Any overrides etcetera for a particular system can go in here */ 2N/A#
endif /* M_MKSEXTRA_H */ 2N/A#
endif /* __M_MKS_H__ */