summaryrefslogtreecommitdiff
path: root/dialects/uw/dlsof.h
diff options
context:
space:
mode:
Diffstat (limited to 'dialects/uw/dlsof.h')
-rw-r--r--dialects/uw/dlsof.h358
1 files changed, 358 insertions, 0 deletions
diff --git a/dialects/uw/dlsof.h b/dialects/uw/dlsof.h
new file mode 100644
index 0000000..72cfff2
--- /dev/null
+++ b/dialects/uw/dlsof.h
@@ -0,0 +1,358 @@
+/*
+ * dlsof.h - SCO UnixWare header file for lsof
+ */
+
+
+/*
+ * Copyright 1996 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.
+ */
+
+
+#if !defined(UW_LSOF_H)
+#define UW_LSOF_H 1
+
+#include <dirent.h>
+#include <fcntl.h>
+#include <malloc.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/conf.h>
+#include <sys/exec.h>
+#include <sys/mkdev.h>
+#include <sys/mnttab.h>
+#include <sys/mntent.h>
+#include <netdb.h>
+#include <string.h>
+#include <nlist.h>
+#include <sys/file.h>
+#include <sys/flock.h>
+#include <sys/immu.h>
+#include <sys/fstyp.h>
+#include <sys/fsid.h>
+
+# if UNIXWAREV>=70103
+#include <sys/poll.h>
+#include <sys/fs/prdata.h>
+#define PR_PIDDIR PR_PIDCAT_DIR
+#define PR_AS PR_PIDCAT_AS
+#define PR_CTL PR_PIDCAT_CTL
+#define PR_STATUS PR_PIDCAT_STATUS
+#define PR_MAP PR_PIDCAT_MAP
+#define PR_CRED PR_PIDCAT_CRED
+#define PR_SIGACT PR_PIDCAT_SIGACT
+#define PR_OBJECTDIR PR_PIDCAT_OBJECTDIR
+#define PR_LWPDIR PR_PIDCAT_LWP_DIR
+#define PR_LWPIDDIR PR_PIDCAT_LWP_IDDIR
+#define PR_LWPCTL PR_PIDCAT_LWP_CTL
+#define PR_LWPSTATUS PR_PIDCAT_LWP_STATUS
+#define PR_LWPSINFO PR_PIDCAT_LWP_SINFO
+# endif /* UNIXWAREV>=70103 */
+
+#include <sys/vfs.h>
+#include <sys/vnode.h>
+#include <sys/fs/memfs_mnode.h>
+#include <sys/fs/namenode.h>
+
+# if UNIXWAREV>=70000
+#undef IREAD
+#undef IWRITE
+#undef IEXEC
+# endif /* UNIXWAREV>=70000 */
+
+#include <sys/fs/snode.h>
+
+# if UNIXWAREV<20102
+#include <fs/proc/prdata.h>
+# else /* UNIXWAREV>=20102 */
+# if UNIXWAREV<70103
+#include <fs/procfs/prdata.h>
+# endif /* UNIXWAREV<70103 */
+# endif /* UNIXWAREV<20102 */
+
+#include <sys/mount.h>
+#include <sys/stream.h>
+#include <sys/strsubr.h>
+#include <sys/sysmacros.h>
+#undef major
+#undef minor
+#define major(d) (((d) >> L_BITSMINOR) & L_MAXMAJ)
+#define minor(d) ((d) & L_MAXMIN)
+#include <sys/time.h>
+#include <sys/fs/s5dir.h>
+#include <signal.h>
+#include <sys/proc.h>
+#include <sys/user.h>
+#include <sys/var.h>
+#include <sys/procfs.h>
+#include <sys/priocntl.h>
+#include <sys/tihdr.h>
+#include <sys/tiuser.h>
+#include <sys/un.h>
+#include <rpc/types.h>
+#include <nfs/nfs.h>
+
+#define _KERNEL
+#include <sys/fs/fifonode.h>
+
+# if UNIXWAREV>=70000
+#include <rpc/xdr.h>
+# endif /* UNIXWAREV>=70000 */
+
+#include <nfs/rnode.h>
+#undef _KERNEL
+
+#include <netinet/in.h>
+
+# if defined(HASIPv6)
+#include <netinet/in6.h>
+# if !defined(IN6_ARE_ADDR_EQUAL)
+#define IN6_ARE_ADDR_EQUAL IN6_ADDR_EQUAL /* required by RFC2292 */
+# endif /* !defined(IN6_ARE_ADDR_EQUAL) */
+# endif /* defined(HASIPv6) */
+
+#include <rpc/rpc.h>
+#include <rpc/clnt_soc.h>
+#include <rpc/pmap_prot.h>
+#include <rpc/rpcent.h>
+#include <sys/socket.h>
+#include <net/route.h>
+
+# if defined(HAS_INKERNEL)
+#define INKERNEL
+# endif /* defined(HAS_INKERNEL) */
+
+#include <netinet/in_pcb.h>
+
+# if defined(HAS_INKERNEL)
+#undef INKERNEL
+# endif /* defined(HAS_INKERNEL) */
+
+# if UNIXWAREV>=70000
+#undef TCP_MAXSEG
+#undef TCP_NODELAY
+# endif /* UNIXWAREV>=70000 */
+
+#include <netinet/tcp.h>
+#include <netinet/tcp_fsm.h>
+
+# if UNIXWAREV<70000
+#include <netinet/tcp_kern.h>
+# else /* UNIXWAREV>=70000 */
+#include <netinet/tcp_timer.h>
+
+# if defined(HAS_INKERNEL)
+#define INKERNEL
+# endif /* defined(HAS_INKERNEL) */
+
+#include <netinet/tcp_var.h>
+
+# if defined(HAS_INKERNEL)
+#undef INKERNEL
+# endif /* defined(HAS_INKERNEL) */
+# endif /* UNIXWAREV<70000 */
+
+#include <sys/protosw.h>
+#include <sys/socketvar.h>
+#include <sys/sockmod.h>
+
+# if UNIXWAREV>=70101
+#undef SS_ISBOUND
+#undef SS_ISCONNECTED
+#undef SS_ISCONNECTING
+#undef SS_CANTRCVMORE
+#undef SS_CANTSENDMORE
+#include <sys/socksys.h>
+# endif /* UNIXWAREV>=70101 */
+
+#include <sys/tiuser.h>
+#include <vm/hat.h>
+#include <vm/as.h>
+#include <vm/seg.h>
+
+# if UNIXWAREV>=70000 && UNIXWAREV<70103
+typedef ulong_t channel_t; /* also in types.h #if _KERNEL */
+# endif /* UNIXWAREV>=70000 && UNIXWAREV<70103 */
+
+#include <vm/seg_dev.h>
+#include <vm/seg_map.h>
+#include <vm/seg_vn.h>
+
+#define COMP_P const void
+#define DEVINCR 1024 /* device table malloc() increment */
+#define DIRTYPE dirent
+#define FSNAMEL 4
+typedef off_t KA_T;
+#define KMEM "/dev/kmem"
+
+# if defined(HAS_UW_NSC)
+#define N_UNIX "/unix"
+# else /* !defined(HAS_UW_NSC) */
+#define N_UNIX "/stand/unix"
+# endif /* defined(HAS_UW_NSC) */
+
+# if UNIXWAREV<70103
+#define MALLOC_P char
+#define MALLOC_S unsigned
+# else /* UNIXWAREV>=70103 */
+#define MALLOC_P void
+#define MALLOC_S size_t
+# endif /* UNIXWAREV<70103 */
+
+#define FREE_P MALLOC_P
+#define MAXSEGS 100 /* maximum text segments */
+#define MAXSYSCMDL (PSCOMSIZ - 1) /* max system command name length */
+#define PROCFS "/proc"
+#define PROCINCR 32 /* local proc table malloc increment */
+#define PROCMIN 3 /* processes that make a "good" scan */
+#define PROCSIZE sizeof(struct proc)
+#define PROCTRYLM 5 /* times to try to read proc table */
+#define QSORT_P char
+
+# if UNIXWAREV<7000
+#define READLEN_T unsigned
+# else /* UNIXWAREV>=7000 */
+#define READLEN_T size_t
+# endif /* UNIXWAREV<7000 */
+
+# if defined(HASPROCFS)
+#define PNSIZ 5 /* size of /HASPROCFS names */
+#define PR_INOBIAS 64L /* /HASPROCFS PID to i_number bias */
+#define PR_ROOTINO 2 /* /HASPROCFS root inode number */
+# endif
+
+#define STRNCPY_L size_t
+#define STRNML 32
+
+# if UNIXWAREV>=70000
+#define SZOFFTYPE unsigned long long
+ /* type for size and offset */
+#define SZOFFPSPEC "ll" /* SZOFFTYPE printf specification
+ * modifier */
+/*
+ * Use the 64 bit stat() functions, so that lsof can get parameters on
+ * large and small files.
+ */
+#define fstat fstat64
+#define lstat lstat64
+#define stat stat64
+# else /* UNIXWAREV<70000 */
+#define SZOFFTYPE unsigned long /* type for size and offset */
+#define SZOFFPSPEC "l" /* SZOFFTYPE printf specification modifier */
+# endif /* UNIXWAREV>=7000 */
+
+#define U_SIZE sizeof(struct user)
+
+
+/*
+ * Global storage definitions (including their structure definitions)
+ */
+
+extern int CloneMaj;
+extern char **Fsinfo;
+extern int Fsinfomax;
+extern int HaveCloneMaj;
+extern int Kd;
+
+struct l_ino {
+ dev_t dev; /* device */
+ long nlink; /* link count */
+ char *nm; /* name */
+ INODETYPE number; /* inode number */
+ dev_t rdev; /* raw device */
+ SZOFFTYPE size; /* file size */
+ unsigned char dev_def; /* dev is defined */
+ unsigned char nlink_def; /* link count is defined */
+ unsigned char number_def; /* number is defined */
+ unsigned char rdev_def; /* rdev is defined */
+ unsigned char size_def; /* size is defined */
+};
+
+struct mounts {
+ char *dir; /* directory (mounted on) */
+ char *fsname; /* file system
+ * (symbolic links unresolved) */
+ char *fsnmres; /* file system
+ * (symbolic links resolved) */
+ dev_t dev; /* directory st_dev */
+ dev_t rdev; /* directory st_rdev */
+ INODETYPE inode; /* directory st_ino */
+ mode_t mode; /* directory st_mode */
+ mode_t fs_mode; /* file system st_mode */
+ struct mounts *next; /* forward link */
+
+# if defined(HASFSTYPE)
+ char *fstype; /* st_fstype */
+# endif
+
+};
+
+extern short Nfstyp;
+
+#define X_NCACHE "ncache"
+#define X_NCSIZE "ncsize"
+#define NL_NAME n_name
+
+struct sfile {
+ char *aname; /* argument file name */
+ char *name; /* file name (after readlink()) */
+ char *devnm; /* device name (optional) */
+ dev_t dev; /* device */
+ dev_t rdev; /* raw device */
+ u_short mode; /* S_IFMT mode bits from stat() */
+ int type; /* file type: 0 = file system
+ * 1 = regular file */
+ INODETYPE i; /* inode number */
+ int f; /* file found flag */
+ struct sfile *next; /* forward link */
+};
+
+#include <setjmp.h>
+
+
+/*
+ * Definition for ckfa.c
+ */
+
+#define CKFA_XDEVTST strcmp(sb.st_fstype,"cdfs")==0
+
+
+/*
+ * Definition for dvch.c, isfn.c, and rdev.c
+ */
+
+#define CLONEMAJ CloneMaj /* clone major variable name */
+#define HAS_STD_CLONE 1 /* has standard clone handling */
+#define HAVECLONEMAJ HaveCloneMaj /* clone major status variable name */
+
+
+/*
+ * Definitions for rnch.c
+ */
+
+#if defined(HASNCACHE)
+#include <sys/dnlc.h>
+#endif /* defined(HASNCACHE) */
+
+#endif /* UW_LSOF_H */