summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorCraig Small <csmall@dropbear.xyz>2022-08-29 18:07:43 +1000
committerCraig Small <csmall@dropbear.xyz>2022-08-29 18:07:43 +1000
commit8e889ae68214241232ad522c359236ee68417733 (patch)
tree39943fd2fbfbe8d6805184cb159d80c6e18d9408 /doc
parent5fcf104cba0eada8aca1f871195675f1287b5a80 (diff)
downloadprocps-ng-8e889ae68214241232ad522c359236ee68417733.tar.gz
build-sys: Rearrange the manual pages
All man pages are found in ./man man-po -> po-man References: https://www.freelists.org/post/procps/Next-for-newlib,3 Signed-off-by: Craig Small <csmall@dropbear.xyz>
Diffstat (limited to 'doc')
-rw-r--r--doc/procps.3193
-rw-r--r--doc/procps_misc.3165
-rw-r--r--doc/procps_pids.3218
3 files changed, 0 insertions, 576 deletions
diff --git a/doc/procps.3 b/doc/procps.3
deleted file mode 100644
index 5be1517..0000000
--- a/doc/procps.3
+++ /dev/null
@@ -1,193 +0,0 @@
-.\" (C) Copyright 2020-2022 Jim Warner <james.warner@comcast.net>
-.\"
-.\" %%%LICENSE_START(LGPL_2.1+)
-.\" This manual is free software; you can redistribute it and/or
-.\" modify it under the terms of the GNU Lesser General Public
-.\" License as published by the Free Software Foundation; either
-.\" version 2.1 of the License, or (at your option) any later version.
-.\"
-.\" This manual is distributed in the hope that it will be useful,
-.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
-.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-.\" Lesser General Public License for more details.
-.\"
-.\" You should have received a copy of the GNU Lesser General Public
-.\" License along with this library; if not, write to the Free Software
-.\" Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-.\" %%%LICENSE_END
-.\"
-.TH PROCPS 3 "July 2022" "libproc-2"
-.\" Please adjust this date whenever revising the manpage.
-.\"
-.nh
-.SH NAME
-procps \- API to access system level information in the /proc filesystem
-
-.SH SYNOPSIS
-Five distinct interfaces are represented in this synopsis and named after
-the files they access in the /proc pseudo filesystem:
-.BR diskstats ", " meminfo ", " slabinfo ", " stat " and " vmstat .
-
-.nf
-.RS +4
-#include <procps/\fBnamed_interface\fR.h>
-
-.RI "int\fB procps_new \fR (struct info **" info );
-.RI "int\fB procps_ref \fR (struct info *" info );
-.RI "int\fB procps_unref\fR (struct info **" info );
-
-.RB "struct result *" procps_get " ("
-.RI " struct info *" info ,
-.RI "[ const char *" name ", ] \fBdiskstats\fR api only"
-.RI " enum item " item );
-
-.RB "struct stack *" procps_select " ("
-.RI " struct info *" info ,
-.RI "[ const char *" name ", ] \fBdiskstats\fR api only"
-.RI " enum item *" items ,
-.RI " int " numitems );
-
-.RB "struct reaped *" procps_reap " ("
-.RI " struct info *" info ,
-.RI "[ enum reap_type " what ", ] \fBstat\fR api only"
-.RI " enum item *" items ,
-.RI " int " numitems );
-
-.RB "struct stack **" procps_sort " ("
-.RI " struct info *" info ,
-.RI " struct stack *" stacks [],
-.RI " int " numstacked ,
-.RI " enum item " sortitem ,
-.RI " enum sort_order " order );
-
-.fi
-
-The above functions and structures are generic but the specific
-\fBnamed_interface\fR would also be part of any identifiers.
-For example, `procps_new' would actually be `procps_\fBmeminfo\fR_new'
-and `info' would really be `\fBdiskstats\fR_info', etc.
-
-The same \fBnamed_interface\fR is used in each header file name with
-an appended `.h' suffix.
-
-Link with \fI\-lproc-2\fP.
-
-.SH DESCRIPTION
-.SS Overview
-Central to these interfaces is a simple `result'
-structure reflecting an `item' plus its value (in a union
-with standard C language types as members).
-All `result' structures are automatically allocated and
-provided by the library.
-
-By specifying an array of `items', these structures can be
-organized as a `stack', potentially yielding many results
-with a single function call.
-Thus, a `stack' can be viewed as a variable length record
-whose content and order is determined solely by the user.
-
-As part of each interface there are two unique enumerators.
-The `noop' and `extra' items exist to hold user values.
-They are never set by the library, but the `extra'
-result will be zeroed with each library interaction.
-
-The \fBnamed_interface\fR header file will be an essential
-document during user program development.
-There you will find available items, their return type
-(the `result' struct member name) and the source for such values.
-Additional enumerators and structures are also documented there.
-
-.SS Usage
-The following would be a typical sequence of calls to
-these interfaces.
-
-.nf
-.RB "1. " procps_new()
-.RB "2. " procps_get() ", " procps_select() " or " procps_reap()
-.RB "3. " procps_unref()
-.fi
-
-The \fBget\fR function is used to retrieve a `result' structure for
-a single `item'.
-Alternatively, a \fBGET\fR macro is available when only the return
-value is of interest.
-
-The \fBselect\fR function can retrieve multiple `result' structures
-in a single `stack'.
-
-For unpredictable variable outcomes, the \fBdiskstats\fR, \fBslabinfo\fR
-and \fBstat\fR interfaces export a \fBreap\fR function.
-It is used to retrieve multiple `stacks' each containing multiple
-`result' structures.
-Optionally, a user may choose to \fBsort\fR those results.
-
-To exploit any `stack', and access individual `result' structures,
-a \fIrelative_enum\fR is required as shown in the \fBVAL\fR macro
-defined in the header file.
-Such values could be hard coded as: 0 through numitems-1.
-However, this need is typically satisfied by creating your own
-enumerators corresponding to the order of the `items' array.
-
-.SS Caveats
-The \fBnew\fR, \fBref\fR, \fBunref\fR, \fBget\fR and \fBselect\fR
-functions are available in all five interfaces.
-
-For the \fBnew\fR and \fBunref\fR functions, the address of an \fIinfo\fR
-struct pointer must be supplied.
-With \fBnew\fR it must have been initialized to NULL.
-With \fBunref\fR it will be reset to NULL if the reference count reaches zero.
-
-In the case of the \fBdiskstats\fR interface, a \fIname\fR parameter
-on the \fBget\fR and \fBselect\fR functions identifies a disk or
-partition name
-
-For the \fBstat\fR interface, a \fIwhat\fR parameter on the \fBreap\fR
-function identifies whether data for just CPUs or both CPUs and NUMA
-nodes is to be gathered.
-
-When using the \fBsort\fR function, the parameters \fIstacks\fR and
-\fInumstacked\fR would normally be those returned in the `reaped'
-structure.
-
-.SH RETURN VALUE
-.SS Functions Returning an `int'
-An error will be indicated by a negative number that
-is always the inverse of some well known errno.h value.
-
-Success is indicated by a zero return value.
-However, the \fBref\fR and \fBunref\fR functions return
-the current \fIinfo\fR structure reference count.
-
-.SS Functions Returning an `address'
-An error will be indicated by a NULL return pointer
-with the reason found in the formal errno value.
-
-Success is indicated by a pointer to the named structure.
-
-.SH DEBUGGING
-To aid in program development, there is a provision that can
-help ensure `result' member references agree with library
-expectations.
-It assumes that a supplied macro in the header file is
-used to access the `result' value.
-
-This feature can be activated through either of the following
-methods and any discrepancies will be written to \fBstderr\fR.
-
-.IP 1) 3
-Add CFLAGS='-DXTRA_PROCPS_DEBUG' to any other ./configure
-options employed.
-
-.IP 2) 3
-Add #include <procps/xtra-procps-debug.h> to any program
-\fIafter\fR the named interface includes.
-
-.PP
-This verification feature incurs substantial overhead.
-Therefore, it is important that it \fInot\fR be activated
-for a production/release build.
-
-.SH SEE ALSO
-.BR procps_misc (3),
-.BR procps_pids (3),
-.BR proc (5).
diff --git a/doc/procps_misc.3 b/doc/procps_misc.3
deleted file mode 100644
index ae270d7..0000000
--- a/doc/procps_misc.3
+++ /dev/null
@@ -1,165 +0,0 @@
-.\" (C) Copyright 2020 Craig Small <csmall@dropbear.xyz>
-.\" (C) Copyright 2021-2022 Jim Warner <james.warner@comcast.net>
-.\"
-.\" %%%LICENSE_START(LGPL_2.1+)
-.\" This manual is free software; you can redistribute it and/or
-.\" modify it under the terms of the GNU Lesser General Public
-.\" License as published by the Free Software Foundation; either
-.\" version 2.1 of the License, or (at your option) any later version.
-.\"
-.\" This manual is distributed in the hope that it will be useful,
-.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
-.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-.\" Lesser General Public License for more details.
-.\"
-.\" You should have received a copy of the GNU Lesser General Public
-.\" License along with this library; if not, write to the Free Software
-.\" Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-.\" %%%LICENSE_END
-.\"
-.TH PROCPS_MISC 3 "July 2022" "libproc-2"
-.\" Please adjust this date whenever revising the manpage.
-.\"
-.nh
-.SH NAME
-procps_misc \- API for miscellaneous information in the /proc filesystem
-.SH SYNOPSIS
-.nf
-.B #include <procps/misc.h>
-.PP
-Platform Particulars
-.RS 4
-.PP
-.RB "long " procps_cpu_count " (void);
-.RB "long " procps_hertz_get " (void);
-.RB "unsigned int " procps_pid_length " (void);
-.RB "int " procps_linux_version " (void);
-.RE
-.PP
-Runtime Particulars
-.PP
-.RS 4
-.RI "int \fB procps_loadavg\fR (double *" av1 ", double *" av5 ", double *" av15 ");"
-.RI "int \fB procps_uptime\fR (double *" uptime_secs ", double *" idle_secs ");"
-.RB "char *" procps_uptime_sprint " (void);"
-.RB "char *" procps_uptime_sprint_short " (void);"
-.RE
-.PP
-Namespace Particulars
-.PP
-.RS 4
-.RI "int \fB procps_ns_get_id\fR (const char *" name ");"
-.RI "const char\fB *procps_ns_get_name\fR (int " id ");"
-.RI "int \fB procps_ns_read_pid\fR (int " pid ", struct procps_ns *" nsp ");"
-.RE
-
-Link with \fI\-lproc-2\fP.
-
-.SH DESCRIPTION
-.BR procps_cpu_count ()
-returns the number of CPUs that are currently online as
-.BI sysconf( _SC_NPROCESSORS_ONLY )
-or an assumed \fI1\fR.
-
-.BR procps_hertz_get ()
-returns the number of clock ticks per second as
-.BI sysconf( _SC_CLK_TCK )
-or an assumed \fI100\fR.
-Dividing tics by this value yields seconds.
-
-.BR procps_pid_length ()
-returns the maximum string length for a PID on the system. For example, if the largest
-possible PID value on was 123, then the length would be 3. If the file
-\fI/proc/sys/kernel/pid_max\fR is unreadable, the value is assumed to be \fI5\fR.
-
-.BR procps_linux_version ()
-returns the current Linux version as an encoded integer. On non-Linux systems that
-have an emulated proc filesystem this function returns the version of the
-Linux emulation instead.
-The version consists of three positive integers representing the major,
-minor and patch levels.
-The following macros are provided for encoding a given Linux version or
-separating out the components of the current version.
-.RS 4
-.PP
-LINUX_VERSION(\ major\ ,\ minor\ ,\ patch\ )
-.PP
-LINUX_VERSION_MAJOR(\ ver\ )
-.PP
-LINUX_VERSION_MINOR(\ ver\ )
-.PP
-LINUX_VERSION_PATCH(\ ver\ )
-.RE
-
-.BR procps_loadavg ()
-fetches the system load average and puts the 1, 5 and 15 minute averages into
-location(s) specified by any pointer which is not \fINULL\fR.
-
-.BR procps_uptime ()
-returns uptime and/or idle seconds into location(s) specified by any pointer
-which is not \fINULL\fR.
-The \fBsprint\fR varieties return a human-readable string in one of two forms.
-.RS 4
-.PP
-HH:MM:SS up HH:MM, # users, load average: 1, 5, 15 MM averages
-.PP
-up HH, MM
-.RE
-
-.BR procps_ns_get_id ()
-returns the integer id (enum namespace_type) of the namespace for the given namespace \fIname\fR.
-
-.BR procps_ns_get_name ()
-returns the name of the namespace for the given \fIid\fR (enum namespace_type).
-
-.BR procps_ns_read_pid ()
-returns the inodes for the namespaces of the given process in the
-procps_ns structure pointed to by \fInsp\fR.
-Those inodes will appear in the order proscribed by enum namespace_type.
-.PP
-.RS 4
-.nf
-enum namespace_type {
- PROCPS_NS_CGROUP,
- PROCPS_NS_IPC,
- PROCPS_NS_MNT,
- PROCPS_NS_NET,
- PROCPS_NS_PID,
- PROCPS_NS_TIME,
- PROCPS_NS_USER,
- PROCPS_NS_UTS
-};
-.fi
-.RE
-
-
-.SH RETURN VALUE
-.SS Functions Returning an `int' or `long'
-An error will be indicated by a negative number that
-is always the inverse of some well known errno.h value.
-
-.SS Functions Returning an `address'
-An error will be indicated by a NULL return pointer
-with the reason found in the formal errno value.
-
-.SH FILES
-.TP
-.I /proc/loadavg
-The raw values for load average.
-.TP
-.I /proc/sys/kernel/osrelease
-Contains the release version of the Linux kernel or proc filesystem.
-.TP
-.I /proc/sys/kernel/pid_max
-Contains the value at which PIDs wrap around, one greater than the maximum PID value.
-.TP
-.I /proc/uptime
-The raw values for uptime and idle time.
-.TP
-.IB /proc/<PID>/ns
-contains the set of namespaces for a particular \fBPID\fR.
-
-.SH SEE ALSO
-.BR procps (3),
-.BR procps_pids (3),
-.BR proc (5).
diff --git a/doc/procps_pids.3 b/doc/procps_pids.3
deleted file mode 100644
index c7b874d..0000000
--- a/doc/procps_pids.3
+++ /dev/null
@@ -1,218 +0,0 @@
-.\" (C) Copyright 2020-2022 Jim Warner <james.warner@comcast.net>
-.\"
-.\" %%%LICENSE_START(LGPL_2.1+)
-.\" This manual is free software; you can redistribute it and/or
-.\" modify it under the terms of the GNU Lesser General Public
-.\" License as published by the Free Software Foundation; either
-.\" version 2.1 of the License, or (at your option) any later version.
-.\"
-.\" This manual is distributed in the hope that it will be useful,
-.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
-.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-.\" Lesser General Public License for more details.
-.\"
-.\" You should have received a copy of the GNU Lesser General Public
-.\" License along with this library; if not, write to the Free Software
-.\" Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-.\" %%%LICENSE_END
-.\"
-.TH PROCPS_PIDS 3 "July 2022" "libproc-2"
-.\" Please adjust this date whenever revising the manpage.
-.\"
-.nh
-.SH NAME
-procps_pids \- API to access process information in the /proc filesystem
-
-.SH SYNOPSIS
-.nf
-#include <procps/pids.h>
-
-.RI "int\fB procps_pids_new \fR (struct pids_info **" info ", enum pids_item *" items ", int " numitems );
-.RI "int\fB procps_pids_ref \fR (struct pids_info *" info );
-.RI "int\fB procps_pids_unref\fR (struct pids_info **" info );
-
-
-.RB "struct pids_stack *" procps_pids_get " ("
-.RI " struct pids_info *" info ,
-.RI " enum pids_fetch_type " which );
-
-.RB "struct pids_fetch *" procps_pids_reap " ("
-.RI " struct pids_info *" info ,
-.RI " enum pids_fetch_type " which );
-
-.RB "struct pids_fetch *" procps_pids_select " ("
-.RI " struct pids_info *" info ,
-.RI " unsigned *" these ,
-.RI " int " numthese ,
-.RI " enum pids_select_type " which );
-
-.RB "struct pids_stack **" procps_pids_sort " ("
-.RI " struct pids_info *" info ,
-.RI " struct pids_stack *" stacks [],
-.RI " int " numstacked ,
-.RI " enum pids_item " sortitem ,
-.RI " enum pids_sort_order " order );
-
-.RB "int " procps_pids_reset " ("
-.RI " struct pids_info *" info ,
-.RI " enum pids_item *" newitems ,
-.RI " int " newnumitems );
-
-.RB "struct pids_stack *" fatal_proc_unmounted " ("
-.RI " struct pids_info *" info ,
-.RI " int " return_self );
-
-.fi
-
-Link with \fI\-lproc-2\fP.
-
-.SH DESCRIPTION
-.SS Overview
-Central to this interface is a simple `result'
-structure reflecting an `item' plus its value (in a union
-with standard C language types as members).
-All `result' structures are automatically allocated and
-provided by the library.
-
-By specifying an array of `items', these structures can be
-organized as a `stack', potentially yielding many results
-with a single function call.
-Thus, a `stack' can be viewed as a variable length record
-whose content and order is determined solely by the user.
-
-As part of this interface there are two unique enumerators.
-The `noop' and `extra' items exist to hold user values.
-They are never set by the library, but the `extra'
-result will be zeroed with each library interaction.
-
-The pids.h file will be an essential document during
-user program development.
-There you will find available items, their return type
-(the `result' struct member name) and the source for such values.
-Additional enumerators and structures are also documented there.
-
-.SS Usage
-The following would be a typical sequence of calls to
-this interface.
-
-.nf
-.RB "1. " fatal_proc_unmounted()
-.RB "2. " procps_pids_new()
-.RB "3. " procps_pids_get() ", " procps_pids_reap() " or " procps_pids_select()
-.RB "4. " procps_pids_unref()
-.fi
-
-The \fBget\fR function is an iterator for successive PIDs/TIDs,
-returning those `items' previously identified via \fBnew\fR
-or \fBreset\fR.
-
-Two functions support unpredictable variable outcomes.
-The \fBreap\fR function gathers data for all processes while
-the \fBselect\fR function deals with specific PIDs or UIDs.
-Both can return multiple `stacks' each containing multiple `result'
-structures.
-Optionally, a user may choose to \fBsort\fR such results
-
-To exploit any `stack', and access individual `result' structures,
-a \fIrelative_enum\fR is required as shown in the \fBVAL\fR macro
-defined in the header file.
-Such values could be hard coded as: 0 through numitems-1.
-However, this need is typically satisfied by creating your own
-enumerators corresponding to the order of the `items' array.
-
-.SS Caveats
-The <pids> API differs from others in that those items
-of interest must be provided at \fBnew\fR or \fBreset\fR time,
-the latter being unique to this API.
-If either the \fIitems\fR or \fInumitems\fR parameter is zero at
-\fBnew\fR time, then \fBreset\fR becomes mandatory before
-issuing any other call.
-
-For the \fBnew\fR and \fBunref\fR functions, the address of an \fIinfo\fR
-struct pointer must be supplied.
-With \fBnew\fR it must have been initialized to NULL.
-With \fBunref\fR it will be reset to NULL if the reference count reaches zero.
-
-The \fBget\fR and \fBreap\fR functions use the \fIwhich\fR parameter
-to specify whether just tasks or both tasks and threads are to be fetched.
-
-The \fBselect\fR function requires an array of PIDs or UIDs as
-\fIthese\fR along with \fInumthese\fR to identify which processes
-are to be fetched.
-This function then operates as a subset of \fBreap\fR.
-
-When using the \fBsort\fR function, the parameters \fIstacks\fR and
-\fInumstacked\fR would normally be those returned in the `pids_fetch'
-structure.
-
-Lastly, a \fBfatal_proc_unmounted\fR function may be called before
-any other function to ensure that the /proc/ directory is mounted.
-As such, the \fIinfo\fR parameter would be NULL and the
-\fIreturn_self\fR parameter zero.
-If, however, some items are desired for the issuing program (a
-\fIreturn_self\fR other than zero) then the \fBnew\fR call must precede
-it to identify the \fIitems\fR and obtain the required \fIinfo\fR pointer.
-
-.SH RETURN VALUE
-.SS Functions Returning an `int'
-An error will be indicated by a negative number that
-is always the inverse of some well known errno.h value.
-
-Success is indicated by a zero return value.
-However, the \fBref\fR and \fBunref\fR functions return
-the current \fIinfo\fR structure reference count.
-
-.SS Functions Returning an `address'
-An error will be indicated by a NULL return pointer
-with the reason found in the formal errno value.
-
-Success is indicated by a pointer to the named structure.
-However, if one survives the \fBfatal_proc_unmounted\fR call,
-NULL is always returned when \fIreturn_self\fR is zero.
-
-.SH DEBUGGING
-To aid in program development, there are two procps-ng provisions
-that can be exploited.
-
-The first is a supplied file named `libproc.supp' which may be
-useful when developing a \fImulti-threaded\fR application.
-When used with the valgrind `--suppressions=' option, warnings
-associated with the procps library itself are avoided.
-
-Such warnings arise because the library handles heap based
-allocations in a thread-safe manner.
-A \fIsingle-threaded\fR application will not receive those warnings.
-
-The second provision can help ensure `result' member references
-agree with library expectations.
-It assumes that a supplied macro in the header file is
-used to access the `result' value.
-
-This feature can be activated through either of the following
-methods and any discrepancies will be written to \fBstderr\fR.
-
-.IP 1) 3
-Add CFLAGS='-DXTRA_PROCPS_DEBUG' to any other ./configure
-options your project may employ.
-
-.IP 2) 3
-Add #include <procps/xtra-procps-debug.h> to any program
-\fIafter\fR the #include <procps/pids.h>.
-
-.PP
-This verification feature incurs substantial overhead.
-Therefore, it is important that it \fInot\fR be activated
-for a production/release build.
-
-.SH ENVIRONMENT VARIABLE(S)
-The value set for the following is unimportant, just its presence.
-
-.IP LIBPROC_HIDE_KERNEL
-This will hide kernel threads which would otherwise be returned with a
-.BR procps_pids_get ", " procps_pids_select " or " procps_pids_reap
-call.
-
-.SH SEE ALSO
-.BR procps (3),
-.BR procps_misc (3),
-.BR proc (5).