📄 sysctl.h
字号:
dev_t e_tdev; /* controlling tty dev */ pid_t e_tpgid; /* tty process group id */ struct session *e_tsess; /* tty session pointer */#define WMESGLEN 7 char e_wmesg[WMESGLEN+1]; /* wchan message */ segsz_t e_xsize; /* text size */ short e_xrssize; /* text rss */ short e_xccount; /* text references */ short e_xswrss; long e_flag;#define EPROC_CTTY 0x01 /* controlling tty vnode active */#define EPROC_SLEADER 0x02 /* session leader */ char e_login[MAXLOGNAME]; /* setlogin() name */#define EMULNAMELEN 7 char e_emul[EMULNAMELEN+1]; /* syscall emulation name */ rlim_t e_maxrss; } kp_eproc;};#endif/* * CTL_FS identifiers */#define FS_POSIX 1 /* POSIX flags */#define FS_MAXID 2#define CTL_FS_NAMES { \ { 0, 0 }, \ { "posix", CTLTYPE_NODE }, \}/* * CTL_FS identifiers */#define FS_POSIX_SETUID 1 /* int: always clear SGID/SUID bit when owner change */#define FS_POSIX_MAXID 2#define CTL_FS_POSIX_NAMES { \ { 0, 0 }, \ { "setuid", CTLTYPE_INT }, \}/* * CTL_HW identifiers */#define HW_MACHINE 1 /* string: machine class */#define HW_MODEL 2 /* string: specific machine model */#define HW_NCPU 3 /* int: number of cpus */#define HW_BYTEORDER 4 /* int: machine byte order */#define HW_PHYSMEM 5 /* int: total memory */#define HW_USERMEM 6 /* int: non-kernel memory */#define HW_PAGESIZE 7 /* int: software page size */#define HW_DISKNAMES 8 /* strings: disk drive names */#define HW_DISKSTATS 9 /* struct: diskstats[] */#define HW_MAXID 10 /* number of valid hw ids */#define CTL_HW_NAMES { \ { 0, 0 }, \ { "machine", CTLTYPE_STRING }, \ { "model", CTLTYPE_STRING }, \ { "ncpu", CTLTYPE_INT }, \ { "byteorder", CTLTYPE_INT }, \ { "physmem", CTLTYPE_INT }, \ { "usermem", CTLTYPE_INT }, \ { "pagesize", CTLTYPE_INT }, \ { "disknames", CTLTYPE_STRUCT }, \ { "diskstats", CTLTYPE_STRUCT }, \}/* * CTL_USER definitions */#define USER_CS_PATH 1 /* string: _CS_PATH */#define USER_BC_BASE_MAX 2 /* int: BC_BASE_MAX */#define USER_BC_DIM_MAX 3 /* int: BC_DIM_MAX */#define USER_BC_SCALE_MAX 4 /* int: BC_SCALE_MAX */#define USER_BC_STRING_MAX 5 /* int: BC_STRING_MAX */#define USER_COLL_WEIGHTS_MAX 6 /* int: COLL_WEIGHTS_MAX */#define USER_EXPR_NEST_MAX 7 /* int: EXPR_NEST_MAX */#define USER_LINE_MAX 8 /* int: LINE_MAX */#define USER_RE_DUP_MAX 9 /* int: RE_DUP_MAX */#define USER_POSIX2_VERSION 10 /* int: POSIX2_VERSION */#define USER_POSIX2_C_BIND 11 /* int: POSIX2_C_BIND */#define USER_POSIX2_C_DEV 12 /* int: POSIX2_C_DEV */#define USER_POSIX2_CHAR_TERM 13 /* int: POSIX2_CHAR_TERM */#define USER_POSIX2_FORT_DEV 14 /* int: POSIX2_FORT_DEV */#define USER_POSIX2_FORT_RUN 15 /* int: POSIX2_FORT_RUN */#define USER_POSIX2_LOCALEDEF 16 /* int: POSIX2_LOCALEDEF */#define USER_POSIX2_SW_DEV 17 /* int: POSIX2_SW_DEV */#define USER_POSIX2_UPE 18 /* int: POSIX2_UPE */#define USER_STREAM_MAX 19 /* int: POSIX2_STREAM_MAX */#define USER_TZNAME_MAX 20 /* int: POSIX2_TZNAME_MAX */#define USER_MAXID 21 /* number of valid user ids */#define CTL_USER_NAMES { \ { 0, 0 }, \ { "cs_path", CTLTYPE_STRING }, \ { "bc_base_max", CTLTYPE_INT }, \ { "bc_dim_max", CTLTYPE_INT }, \ { "bc_scale_max", CTLTYPE_INT }, \ { "bc_string_max", CTLTYPE_INT }, \ { "coll_weights_max", CTLTYPE_INT }, \ { "expr_nest_max", CTLTYPE_INT }, \ { "line_max", CTLTYPE_INT }, \ { "re_dup_max", CTLTYPE_INT }, \ { "posix2_version", CTLTYPE_INT }, \ { "posix2_c_bind", CTLTYPE_INT }, \ { "posix2_c_dev", CTLTYPE_INT }, \ { "posix2_char_term", CTLTYPE_INT }, \ { "posix2_fort_dev", CTLTYPE_INT }, \ { "posix2_fort_run", CTLTYPE_INT }, \ { "posix2_localedef", CTLTYPE_INT }, \ { "posix2_sw_dev", CTLTYPE_INT }, \ { "posix2_upe", CTLTYPE_INT }, \ { "stream_max", CTLTYPE_INT }, \ { "tzname_max", CTLTYPE_INT }, \}/* * CTL_DEBUG definitions * * Second level identifier specifies which debug variable. * Third level identifier specifies which stucture component. */#define CTL_DEBUG_NAME 0 /* string: variable name */#define CTL_DEBUG_VALUE 1 /* int: variable value */#define CTL_DEBUG_MAXID 20#ifdef _KERNEL#ifdef DEBUG/* * CTL_DEBUG variables. * * These are declared as separate variables so that they can be * individually initialized at the location of their associated * variable. The loader prevents multiple use by issuing errors * if a variable is initialized in more than one place. They are * aggregated into an array in debug_sysctl(), so that it can * conveniently locate them when querried. If more debugging * variables are added, they must also be declared here and also * entered into the array. */struct ctldebug { char *debugname; /* name of debugging variable */ int *debugvar; /* pointer to debugging variable */};extern struct ctldebug debug0, debug1, debug2, debug3, debug4;extern struct ctldebug debug5, debug6, debug7, debug8, debug9;extern struct ctldebug debug10, debug11, debug12, debug13, debug14;extern struct ctldebug debug15, debug16, debug17, debug18, debug19;#endif /* DEBUG *//* * Internal sysctl function calling convention: * * (*sysctlfn)(name, namelen, oldval, oldlenp, newval, newlen); * * The name parameter points at the next component of the name to be * interpreted. The namelen parameter is the number of integers in * the name. */typedef int (sysctlfn) __P((int *, u_int, void *, size_t *, void *, size_t, struct proc *));int sysctl_int __P((void *, size_t *, void *, size_t, int *));int sysctl_rdint __P((void *, size_t *, void *, int));int sysctl_string __P((void *, size_t *, void *, size_t, char *, int));int sysctl_tstring __P((void *, size_t *, void *, size_t, char *, int));int sysctl__string __P((void *, size_t *, void *, size_t, char *, int, int));int sysctl_rdstring __P((void *, size_t *, void *, char *));int sysctl_rdstruct __P((void *, size_t *, void *, void *, int));int sysctl_struct __P((void *, size_t *, void *, size_t, void *, int));int sysctl_file __P((char *, size_t *));int sysctl_doproc __P((int *, u_int, char *, size_t *));struct radix_node;struct walkarg;int sysctl_dumpentry __P((struct radix_node *, void *));int sysctl_iflist __P((int, struct walkarg *));int sysctl_rtable __P((int *, u_int, void *, size_t *, void *, size_t));int sysctl_clockrate __P((char *, size_t *));int sysctl_rdstring __P((void *, size_t *, void *, char *));int sysctl_rdstruct __P((void *, size_t *, void *, void *, int));int sysctl_vnode __P((char *, size_t *, struct proc *));int sysctl_ntptime __P((char *, size_t *));#ifdef GPROFint sysctl_doprof __P((int *, u_int, void *, size_t *, void *, size_t));#endif#ifdef NOTUSED_BY_PMONvoid fill_eproc __P((struct proc *, struct eproc *));#endifint kern_sysctl __P((int *, u_int, void *, size_t *, void *, size_t, struct proc *));int hw_sysctl __P((int *, u_int, void *, size_t *, void *, size_t, struct proc *));#ifdef DEBUGint debug_sysctl __P((int *, u_int, void *, size_t *, void *, size_t, struct proc *));#endifint vm_sysctl __P((int *, u_int, void *, size_t *, void *, size_t, struct proc *));int fs_sysctl __P((int *, u_int, void *, size_t *, void *, size_t, struct proc *));int fs_posix_sysctl __P((int *, u_int, void *, size_t *, void *, size_t, struct proc *));int net_sysctl __P((int *, u_int, void *, size_t *, void *, size_t, struct proc *));int cpu_sysctl __P((int *, u_int, void *, size_t *, void *, size_t, struct proc *));int vfs_sysctl __P((int *, u_int, void *, size_t *, void *, size_t, struct proc *));#else /* !_KERNEL */#include <sys/cdefs.h>__BEGIN_DECLSint sysctl __P((int *, u_int, void *, size_t *, void *, size_t));__END_DECLS#endif /* _KERNEL */#endif /* !_SYS_SYSCTL_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -