RTEMS CPU Kit with SuperCore  4.11.3
Data Structures | Macros | Functions
sysctl.h File Reference
#include <stdint.h>
#include <sys/queue.h>
#include <sys/cdefs.h>
Include dependency graph for sysctl.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ctlname
 

Macros

#define CTL_MAXNAME   24 /* largest number of components supported */
 
#define CTLTYPE   0xf /* Mask for the type */
 
#define CTLTYPE_NODE   1 /* name is a node */
 
#define CTLTYPE_INT   2 /* name describes an integer */
 
#define CTLTYPE_STRING   3 /* name describes a string */
 
#define CTLTYPE_QUAD   4 /* name describes a 64-bit number */
 
#define CTLTYPE_OPAQUE   5 /* name describes a structure */
 
#define CTLTYPE_STRUCT   CTLTYPE_OPAQUE /* name describes a structure */
 
#define CTLTYPE_UINT   6 /* name describes an unsigned integer */
 
#define CTLTYPE_LONG   7 /* name describes a long */
 
#define CTLTYPE_ULONG   8 /* name describes an unsigned long */
 
#define CTLFLAG_RD   0x80000000 /* Allow reads of variable */
 
#define CTLFLAG_WR   0x40000000 /* Allow writes to the variable */
 
#define CTLFLAG_RW   (CTLFLAG_RD|CTLFLAG_WR)
 
#define CTLFLAG_NOLOCK   0x20000000 /* XXX Don't Lock */
 
#define CTLFLAG_ANYBODY   0x10000000 /* All users can set this var */
 
#define CTLFLAG_SECURE   0x08000000 /* Permit set only if securelevel<=0 */
 
#define CTLFLAG_PRISON   0x04000000 /* Prisoned roots can fiddle */
 
#define CTLFLAG_DYN   0x02000000 /* Dynamic oid - can be freed */
 
#define CTLFLAG_SKIP   0x01000000 /* Skip this sysctl when listing */
 
#define CTLMASK_SECURE   0x00F00000 /* Secure level */
 
#define CTLFLAG_TUN   0x00080000 /* Tunable variable */
 
#define CTLFLAG_RDTUN   (CTLFLAG_RD|CTLFLAG_TUN)
 
#define CTLSHIFT_SECURE   20
 
#define CTLFLAG_SECURE1   (CTLFLAG_SECURE | (0 << CTLSHIFT_SECURE))
 
#define CTLFLAG_SECURE2   (CTLFLAG_SECURE | (1 << CTLSHIFT_SECURE))
 
#define CTLFLAG_SECURE3   (CTLFLAG_SECURE | (2 << CTLSHIFT_SECURE))
 
#define OID_AUTO   (-1)
 
#define CTL_AUTO_START   0x100
 
#define CTL_UNSPEC   0 /* unused */
 
#define CTL_KERN   1 /* "high kernel": proc, limits */
 
#define CTL_VM   2 /* virtual memory */
 
#define CTL_VFS   3 /* filesystem, mount type is next */
 
#define CTL_NET   4 /* network, see socket.h */
 
#define CTL_DEBUG   5 /* debugging parameters */
 
#define CTL_HW   6 /* generic cpu/io */
 
#define CTL_MACHDEP   7 /* machine dependent */
 
#define CTL_USER   8 /* user-level */
 
#define CTL_P1003_1B   9 /* POSIX 1003.1B */
 
#define CTL_MAXID   10 /* number of valid top-level ids */
 
#define CTL_NAMES
 
#define KERN_OSTYPE   1 /* string: system version */
 
#define KERN_OSRELEASE   2 /* string: system release */
 
#define KERN_OSREV   3 /* int: system revision */
 
#define KERN_VERSION   4 /* string: compile time info */
 
#define KERN_MAXVNODES   5 /* int: max vnodes */
 
#define KERN_MAXPROC   6 /* int: max processes */
 
#define KERN_MAXFILES   7 /* int: max open files */
 
#define KERN_ARGMAX   8 /* int: max arguments to exec */
 
#define KERN_SECURELVL   9 /* int: system security level */
 
#define KERN_HOSTNAME   10 /* string: hostname */
 
#define KERN_HOSTID   11 /* int: host identifier */
 
#define KERN_CLOCKRATE   12 /* struct: struct clockrate */
 
#define KERN_VNODE   13 /* struct: vnode structures */
 
#define KERN_PROC   14 /* struct: process entries */
 
#define KERN_FILE   15 /* struct: file entries */
 
#define KERN_PROF   16 /* node: kernel profiling info */
 
#define KERN_POSIX1   17 /* int: POSIX.1 version */
 
#define KERN_NGROUPS   18 /* int: # of supplemental group ids */
 
#define KERN_JOB_CONTROL   19 /* int: is job control available */
 
#define KERN_SAVED_IDS   20 /* int: saved set-user/group-ID */
 
#define KERN_BOOTTIME   21 /* struct: time kernel was booted */
 
#define KERN_NISDOMAINNAME   22 /* string: YP domain name */
 
#define KERN_UPDATEINTERVAL   23 /* int: update process sleep time */
 
#define KERN_OSRELDATE   24 /* int: kernel release date */
 
#define KERN_NTP_PLL   25 /* node: NTP PLL control */
 
#define KERN_BOOTFILE   26 /* string: name of booted kernel */
 
#define KERN_MAXFILESPERPROC   27 /* int: max open files per proc */
 
#define KERN_MAXPROCPERUID   28 /* int: max processes per uid */
 
#define KERN_DUMPDEV   29 /* struct cdev *: device to dump on */
 
#define KERN_IPC   30 /* node: anything related to IPC */
 
#define KERN_DUMMY   31 /* unused */
 
#define KERN_PS_STRINGS   32 /* int: address of PS_STRINGS */
 
#define KERN_USRSTACK   33 /* int: address of USRSTACK */
 
#define KERN_LOGSIGEXIT   34 /* int: do we log sigexit procs? */
 
#define KERN_IOV_MAX   35 /* int: value of UIO_MAXIOV */
 
#define KERN_MAXID   36 /* number of valid kern ids */
 
#define CTL_KERN_NAMES
 
#define CTL_VFS_NAMES
 
#define KERN_PROC_ALL   0 /* everything */
 
#define KERN_PROC_PID   1 /* by process id */
 
#define KERN_PROC_PGRP   2 /* by process group id */
 
#define KERN_PROC_SESSION   3 /* by session of pid */
 
#define KERN_PROC_TTY   4 /* by controlling tty */
 
#define KERN_PROC_UID   5 /* by effective uid */
 
#define KERN_PROC_RUID   6 /* by real uid */
 
#define KERN_PROC_ARGS   7 /* get/set arguments/proctitle */
 
#define KERN_PROC_PROC   8 /* only return procs */
 
#define KERN_PROC_SV_NAME   9 /* get syscall vector name */
 
#define KERN_PROC_RGID   10 /* by real group id */
 
#define KERN_PROC_GID   11 /* by effective group id */
 
#define KERN_PROC_INC_THREAD
 
#define KIPC_MAXSOCKBUF   1 /* int: max size of a socket buffer */
 
#define KIPC_SOCKBUF_WASTE   2 /* int: wastage factor in sockbuf */
 
#define KIPC_SOMAXCONN   3 /* int: max length of connection q */
 
#define KIPC_MAX_LINKHDR   4 /* int: max length of link header */
 
#define KIPC_MAX_PROTOHDR   5 /* int: max length of network header */
 
#define KIPC_MAX_HDR   6 /* int: max total length of headers */
 
#define KIPC_MAX_DATALEN   7 /* int: max length of data? */
 
#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_FLOATINGPT   10 /* int: has HW floating point? */
 
#define HW_MACHINE_ARCH   11 /* string: machine architecture */
 
#define HW_MAXID   12 /* number of valid hw ids */
 
#define CTL_HW_NAMES
 
#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
 
#define CTL_P1003_1B_ASYNCHRONOUS_IO   1 /* boolean */
 
#define CTL_P1003_1B_MAPPED_FILES   2 /* boolean */
 
#define CTL_P1003_1B_MEMLOCK   3 /* boolean */
 
#define CTL_P1003_1B_MEMLOCK_RANGE   4 /* boolean */
 
#define CTL_P1003_1B_MEMORY_PROTECTION   5 /* boolean */
 
#define CTL_P1003_1B_MESSAGE_PASSING   6 /* boolean */
 
#define CTL_P1003_1B_PRIORITIZED_IO   7 /* boolean */
 
#define CTL_P1003_1B_PRIORITY_SCHEDULING   8 /* boolean */
 
#define CTL_P1003_1B_REALTIME_SIGNALS   9 /* boolean */
 
#define CTL_P1003_1B_SEMAPHORES   10 /* boolean */
 
#define CTL_P1003_1B_FSYNC   11 /* boolean */
 
#define CTL_P1003_1B_SHARED_MEMORY_OBJECTS   12 /* boolean */
 
#define CTL_P1003_1B_SYNCHRONIZED_IO   13 /* boolean */
 
#define CTL_P1003_1B_TIMERS   14 /* boolean */
 
#define CTL_P1003_1B_AIO_LISTIO_MAX   15 /* int */
 
#define CTL_P1003_1B_AIO_MAX   16 /* int */
 
#define CTL_P1003_1B_AIO_PRIO_DELTA_MAX   17 /* int */
 
#define CTL_P1003_1B_DELAYTIMER_MAX   18 /* int */
 
#define CTL_P1003_1B_MQ_OPEN_MAX   19 /* int */
 
#define CTL_P1003_1B_PAGESIZE   20 /* int */
 
#define CTL_P1003_1B_RTSIG_MAX   21 /* int */
 
#define CTL_P1003_1B_SEM_NSEMS_MAX   22 /* int */
 
#define CTL_P1003_1B_SEM_VALUE_MAX   23 /* int */
 
#define CTL_P1003_1B_SIGQUEUE_MAX   24 /* int */
 
#define CTL_P1003_1B_TIMER_MAX   25 /* int */
 
#define CTL_P1003_1B_MAXID   26
 
#define CTL_P1003_1B_NAMES
 

Functions

__BEGIN_DECLS int sysctl (int *, u_int, void *, size_t *, void *, size_t)
 
int sysctlbyname (const char *, void *, size_t *, void *, size_t)
 
int sysctlnametomib (const char *, int *, size_t *)
 

Macro Definition Documentation

◆ CTL_HW_NAMES

#define CTL_HW_NAMES
Value:
{ \
{ 0, 0 }, \
{ "machine", CTLTYPE_STRING }, \
{ "model", CTLTYPE_STRING }, \
{ "ncpu", CTLTYPE_INT }, \
{ "byteorder", CTLTYPE_INT }, \
{ "physmem", CTLTYPE_ULONG }, \
{ "usermem", CTLTYPE_ULONG }, \
{ "pagesize", CTLTYPE_INT }, \
{ "disknames", CTLTYPE_STRUCT }, \
{ "diskstats", CTLTYPE_STRUCT }, \
{ "floatingpoint", CTLTYPE_INT }, \
}

◆ CTL_NAMES

#define CTL_NAMES
Value:
{ \
{ 0, 0 }, \
{ "kern", CTLTYPE_NODE }, \
{ "vm", CTLTYPE_NODE }, \
{ "vfs", CTLTYPE_NODE }, \
{ "net", CTLTYPE_NODE }, \
{ "debug", CTLTYPE_NODE }, \
{ "hw", CTLTYPE_NODE }, \
{ "machdep", CTLTYPE_NODE }, \
{ "user", CTLTYPE_NODE }, \
{ "p1003_1b", CTLTYPE_NODE }, \
}

◆ CTL_P1003_1B_NAMES

#define CTL_P1003_1B_NAMES
Value:
{ \
{ 0, 0 }, \
{ "asynchronous_io", CTLTYPE_INT }, \
{ "mapped_files", CTLTYPE_INT }, \
{ "memlock", CTLTYPE_INT }, \
{ "memlock_range", CTLTYPE_INT }, \
{ "memory_protection", CTLTYPE_INT }, \
{ "message_passing", CTLTYPE_INT }, \
{ "prioritized_io", CTLTYPE_INT }, \
{ "priority_scheduling", CTLTYPE_INT }, \
{ "realtime_signals", CTLTYPE_INT }, \
{ "semaphores", CTLTYPE_INT }, \
{ "fsync", CTLTYPE_INT }, \
{ "shared_memory_objects", CTLTYPE_INT }, \
{ "synchronized_io", CTLTYPE_INT }, \
{ "timers", CTLTYPE_INT }, \
{ "aio_listio_max", CTLTYPE_INT }, \
{ "aio_max", CTLTYPE_INT }, \
{ "aio_prio_delta_max", CTLTYPE_INT }, \
{ "delaytimer_max", CTLTYPE_INT }, \
{ "mq_open_max", CTLTYPE_INT }, \
{ "pagesize", CTLTYPE_INT }, \
{ "rtsig_max", CTLTYPE_INT }, \
{ "nsems_max", CTLTYPE_INT }, \
{ "sem_value_max", CTLTYPE_INT }, \
{ "sigqueue_max", CTLTYPE_INT }, \
{ "timer_max", CTLTYPE_INT }, \
}

◆ CTL_USER_NAMES

#define CTL_USER_NAMES
Value:
{ \
{ 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_VFS_NAMES

#define CTL_VFS_NAMES
Value:
{ \
{ "vfsconf", CTLTYPE_STRUCT }, \
}

◆ KERN_PROC_INC_THREAD

#define KERN_PROC_INC_THREAD
Value:
0x10 /*
* modifier for pid, pgrp, tty,
* uid, ruid, gid, rgid and proc
*/