/
githubmirror
/
lsof
Обзор
Документация
Войти
/
githubmirror
/
lsof
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
lib/dialects/uw/dlsof.h
355 строк
10 KB
Chen
Library part5 (#290)
24 май 2023, 13:55
Не верифицирован
24 май 2023, 13:55
cab786c
Код
Авторство
О чём код?
/* * 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) */ struct lsof_context_dialect {}; #endif /* UW_LSOF_H */