/
githubmirror
/
lsof
Обзор
Документация
Войти
/
githubmirror
/
lsof
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
lib/dialects/hpux/pstat/dlsof.h
205 строк
6 KB
Chen
Library part5 (#290)
24 май 2023, 13:55
Не верифицирован
24 май 2023, 13:55
cab786c
Код
Авторство
О чём код?
/* * dlsof.h - pstat-based HP-UX header file for lsof */ /* * Copyright 1999 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: dlsof.h,v 1.8 2008/10/21 16:17:50 abe Exp $ */ #if !defined(HPUX_LSOF_H) # define HPUX_LSOF_H 1 # include <stddef.h> # include <stdlib.h> # include <dirent.h> # include <mntent.h> # include <setjmp.h> # include <string.h> # include <unistd.h> # include <arpa/inet.h> # include <netinet/in.h> # if defined(HASIPv6) # include <netinet/in6.h> # endif /* defined(HASIPv6) */ # include <rpc/types.h> # include <rpc/rpc.h> # include <rpc/pmap_prot.h> # include <sys/fstyp.h> # include <sys/mount.h> # include <sys/param.h> # include <sys/pstat.h> # if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64 && \ defined(_APP32_64BIT_OFF_T) # define TMP_APP32_64BIT_OFF_T _APP32_64BIT_OFF_T # undef _APP32_64BIT_OFF_T # endif # if !defined(__LP64__) && defined(_LARGEFILE64_SOURCE) && HPUXV >= 1123 /* * Make sure a 32 bit lsof for HPUX>=1123 uses [l]stat64 when * _LARGEFILE64_SOURCE is defined. */ # define stat stat64 # define lstat lstat64 # endif /* !defined(__LP64__) && defined(_LARGEFILE64_SOURCE) && \ * HPUXV>=1123 \ */ # include <sys/socket.h> # if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64 && \ defined(_APP32_64BIT_OFF_T) # define _APP32_64BIT_OFF_T TMP_APP32_64BIT_OFF_T # undef TMP_APP32_64BIT_OFF_T # endif # include <sys/tihdr.h> # include <sys/un.h> /* * This definition is needed for the common function prototype definitions * in "proto.h". The /proc-based lsof also uses it to make sure its * manufactured node ID number has 64 bits. */ typedef unsigned long long KA_T; # define KA_T_FMT_X "%#llx" /* * Local definitions */ # if defined(HAS_CONST) # define COMP_P const void # else /* !defined(HAS_CONST) */ # define COMP_P void # endif /* defined(HAS_CONST) */ # define DEVINCR 1024 /* device table malloc() increment */ # define MALLOC_P void # define FREE_P void # define MALLOC_S unsigned # define MOUNTED MNT_MNTTAB # define QSORT_P void # define READLEN_T int # define STRNCPY_L size_t # define SZOFFTYPE unsigned long long # define SZOFFPSPEC "ll" /* SZOFFTYPE printf specification modifier */ # define XDR_PMAPLIST (xdrproc_t) xdr_pmaplist # define XDR_VOID (xdrproc_t) xdr_void /* * Local macros */ # define IS_PSFILEID(p) ((p)->psf_fsid.psfs_id || (p)->psf_fsid.psfs_type) /* is psfiled active? */ /* * Global storage definitions (including their structure definitions) */ extern _T_LONG_T CloneMaj; /* clone major device number */ extern int HaveCloneMaj; /* clone major status */ struct mounts { char *dir; /* directory (mounted on) */ char *fsname; /* file system * (symbolic links unresolved) */ char *fsnmres; /* file system * (symbolic links resolved) */ char *mnt_fstype; /* file system type -- e.g., * MNTTYPE_NFS */ int stat_fstype; /* st_fstype */ 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 */ u_char is_nfs; /* file system type is MNTTYPE_NFS or * MNTTYPE_NFS3 */ struct mounts *next; /* forward link */ }; 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 */ }; extern char **Fsinfo; extern int Fsinfomax; extern int HasNFS; /* * Definitions for dvch.c, isfn.c, and rdev.c */ # define CLONEMAJ CloneMaj /* clone major variable name */ # define DIRTYPE dirent # define HASDNAMLEN 1 /* DIRTYPE has d_namlen element */ # define HAS_STD_CLONE 1 /* uses standard clone structure */ # define HAVECLONEMAJ HaveCloneMaj /* clone major status variable name */ # define MAXSYSCMDL (PST_UCOMMLEN - 1) /* max system command name length */ /* * Definition for rmnt.c */ # define MNTSKIP \ { \ if (strcmp(mp->mnt_type, MNTTYPE_IGNORE) == 0) \ continue; \ } # define RMNT_FSTYPE mnt_type # define MOUNTS_FSTYPE mnt_fstype # if defined(HASFSTYPE) && HASFSTYPE == 2 # define RMNT_STAT_FSTYPE st_fstype # define MOUNTS_STAT_FSTYPE stat_fstype # endif /* defined(HASFSTYPE) && HASFSTYPE==2 */ struct lsof_context_dialect {}; #endif /* HPUX_LSOF_H */