From 9bb81f8a90ecc8b70c955bff72ec59dd3d9e5ae7 Mon Sep 17 00:00:00 2001 From: Patrick McCarty Date: Fri, 8 Feb 2013 13:26:27 -0800 Subject: Imported Upstream version 4.87 --- tests/LsofTest.h | 360 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 360 insertions(+) create mode 100644 tests/LsofTest.h (limited to 'tests/LsofTest.h') diff --git a/tests/LsofTest.h b/tests/LsofTest.h new file mode 100644 index 0000000..e1d149c --- /dev/null +++ b/tests/LsofTest.h @@ -0,0 +1,360 @@ +/* + * LsofTest.h -- header file for lsof tests + */ + + +/* + * Copyright 2002 Purdue Research Foundation, West Lafayette, Indiana + * 47907. All rights reserved. + * + * Written by Victor A. Abell + * + * This software is not subject to any license of the American Telephone + * and Telegraph Company or the Regents of the University of California. + * + * Permission is granted to anyone to use this software for any purpose on + * any computer system, and to alter it and redistribute it freely, subject + * to the following restrictions: + * + * 1. Neither the authors nor Purdue University are responsible for any + * consequences of the use of this software. + * + * 2. The origin of this software must not be misrepresented, either by + * explicit claim or by omission. Credit to the authors and Purdue + * University must appear in documentation and sources. + * + * 3. Altered versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * + * 4. This notice may not be removed or altered. + */ + + +/* + * $Id: LsofTest.h,v 1.12 2008/07/05 16:21:07 abe Exp $ + */ + + +#if !defined(LSOF_TEST_H) +#define LSOF_TEST_H 1 + + +/* + * The _PROTOTYPE macro provides strict ANSI C prototypes if __STDC__ + * is defined, and old-style K&R prototypes otherwise. + * + * (With thanks to Andy Tanenbaum) + */ + +# if defined(__STDC__) +#define _PROTOTYPE(function, params) function params +# else /* !defined(__STDC__) */ +#define _PROTOTYPE(function, params) function() +# endif /* defined(__STDC__) */ + + +/* + * The following define keeps gcc>=2.7 from complaining about the failure + * of the Exit() function to return. + * + * Paul Eggert supplied it. + */ + +# if defined(__GNUC__) && !(__GNUC__<2 || (__GNUC__==2 && __GNUC_MINOR__<7)) +#define exiting __attribute__((__noreturn__)) +# else /* !gcc || gcc<2.7 */ +#define exiting +# endif /* gcc && gcc>=2.7 */ + + +/* + * Necessary header files. + */ + +#include +#include +#include +#include + +#include +#include +#include + + +/* + * Definitions that may be revoked by a particular dialect. + */ + +#define USE_GETCWD /* use the POSIX getcwd() function in + * place of getwd() */ +#define USE_LSOF_C_OPT /* use lsof's -C option */ +#undef USE_LSOF_X_OPT /* don't use lsof's -X option */ + + +# if defined(LT_DIAL_aix) +/* + * AIX-specific items + */ + +#include +#include +#include +#include +#include +#undef USE_LSOF_C_OPT +#define USE_LSOF_X_OPT +# endif /* defined(LT_DIAL_aix) */ + + +# if defined(LT_DIAL_bsdi) +/* + * OpenBSD-specific items + */ + +#include +#include +#include +#include +#include +# endif /* defined(LT_DIAL_bsdi) */ + + +# if defined(LT_DIAL_darwin) +/* + * Darwin-specific items + */ + +#include +#include +#include +#include +#include +#undef USE_LSOF_C_OPT +# endif /* defined(LT_DIAL_darwin) */ + + +# if defined(LT_DIAL_du) +/* + * DEC_OSF/1|Digital_UNIX|Tru64_UNIX-specific items + */ + +#include +#include +#include +#include + +# if LT_VERS<50000 +#define snprintf snpf /* use lsof's snpf() */ +# endif /* LT_VERS<50000 */ +# endif /* defined(LT_DIAL_du) */ + + +# if defined(LT_DIAL_freebsd) +/* + * FreeBSD-specific items + */ + +#include +#include +#include +#include +#include +# endif /* defined(LT_DIAL_freebsd) */ + + +# if defined(LT_DIAL_linux) +/* + * Linux-specific items + */ + +#include +#include +#include +#include +#include +#undef USE_LSOF_C_OPT +# endif /* defined(LT_DIAL_linux) */ + + +# if defined(LT_DIAL_hpux) +/* + * HP-UX-specific items + */ + +#include +#include +#include +#include +#include +# endif /* defined(LT_DIAL_hpux) */ + + +# if defined(LT_DIAL_netbsd) +/* + * NetBSD-specific items + */ + +#include +#include +#include +#include +#include +# endif /* defined(LT_DIAL_netbsd) */ + + +# if defined(LT_DIAL_openbsd) +/* + * OpenBSD-specific items + */ + +#include +#include +#include +#include +#include +# endif /* defined(LT_DIAL_openbsd) */ + + +# if defined(LT_DIAL_ou) +/* + * OpenUNIX-specific items + */ + +#include +#include +#include +#include +# endif /* defined(LT_DIAL_ou) */ + + +# if defined(LT_DIAL_osr) +/* + * OSR-specific items + */ + +#include +#include +#include +#include +# endif /* defined(LT_DIAL_osr) */ + + +# if defined(LT_DIAL_ns) +/* + * NEXTSTEP-specific items + */ + +#include +#include +#include +#include + +typedef int pid_t; +#define snprintf snpf + +#undef USE_GETCWD +# endif /* defined(LT_DIAL_ns) */ + + +# if defined(LT_DIAL_solaris) +/* + * Solaris-specific items + */ + +#include +#include +#include +#include +#include + +# if defined(LT_VPATH) +#undef USE_LSOF_C_OPT +#endif /* defined(LT_VPATH) */ +# endif /* defined(LT_DIAL_solaris) */ + + +# if defined(LT_DIAL_uw) +/* + * UnixWare-specific items + */ + +#include +#include +#include +#include +# endif /* defined(LT_DIAL_uw) */ + + +/* + * Local definitions, including ones may have been left undefined by + * dialect-specific header files + */ + +#define LT_DONT_DO_TEST "this test does not run on this dialect." +#define LT_DEF_LSOF_PATH "../lsof" + +# if !defined(MAXPATHLEN) +#define MAXPATHLEN 1024 +# endif /* !defined(MAXPATHLEN) */ + + +/* + * Local structure definitions + */ + +typedef struct LTdev { /* local device parameters */ + unsigned int maj; /* major device number */ + unsigned int min; /* minor device number */ + unsigned int unit; /* unit number (where applicable) */ +} LTdev_t; + +typedef struct LTfldo { /* lsof field output information */ + char ft; /* field identifier (see the LSOF_FID_* + * definitions in ../lsof_fields.h) */ + char *v; /* field value character string */ +} LTfldo_t; +#define LT_FLDO_ALLOC 16 /* LTfldo_t allocation increment */ + + +/* + * Lsof test library global variable external declarations: + * + * these global variables may be found in LTlib.c. + */ + +extern int LsofFd; /* lsof pipe FD */ +extern FILE *LsofFs; /* stream for lsof pipe FD */ +extern char *LsofPath; /* path to lsof executable */ +extern pid_t LsofPid; /* PID of lsof child process */ +extern int LTopt_h; /* "-h" option's switch value */ +extern char *LTopt_p; /* "-p path" option's path value */ +extern int MsgStat; /* message status */ + + +/* + * External declarations + */ + +extern int errno; /* error number */ + + +/* + * Lsof test library function prototypes: + * + * these functions may be found in LTlib.c. + */ + +_PROTOTYPE(extern char *CanRdKmem,(void)); +_PROTOTYPE(extern char *ConvStatDev,(dev_t *dev, LTdev_t *ldev)); +_PROTOTYPE(extern char *ConvLsofDev,(char *dev, LTdev_t *ldev)); +_PROTOTYPE(extern char *ExecLsof,(char **opt)); +_PROTOTYPE(extern char *IsLsofExec,(void)); +_PROTOTYPE(extern void LTlibClean,(void)); +_PROTOTYPE(extern char *MkStrCpy,(char *src, int *len)); +_PROTOTYPE(extern LTfldo_t *RdFrLsof,(int *nf, char **em)); +_PROTOTYPE(extern void PrtMsg,(char *mp, char *pn)); +_PROTOTYPE(extern void PrtMsgX,(char *mp, char *pn, void (*f)(), int xv)); +_PROTOTYPE(extern int ScanArg,(int ac, char *av[], char *opt, char *pn)); +_PROTOTYPE(extern void StopLsof,(void)); + +#endif /* LSOF_TEST_H */ -- cgit v1.2.3