/
githubmirror
/
lsof
Обзор
Документация
Войти
/
githubmirror
/
lsof
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
4.93.2
dialects/uw/dlsof.h
358 строк
9 KB
Masatake YAMATO
Import the final source tree published by Vic, the original lsof maintainer.
23 июл 2018, 06:45
23 июл 2018, 06:45
8662085
Код
Авторство
О чём код?
/* * 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 */