about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--manual/examples/longopt.c20
-rw-r--r--manual/sysinfo.texi21
3 files changed, 42 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 7e6c96a5af..da44365ab8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2001-01-07  Ben Collins  <bcollins@debian.org>
+
+	* manual/examples/longopt.c: Make the "struct option" a little
+	more like it should be, adding usage of required_argument,
+	noargument and such, and also setting the options string right.
+
+	* manual/sysinfo.texi (Load Average): New section, documents
+	getloadavg().
+
 2001-01-06  Ulrich Drepper  <drepper@redhat.com>
 
 	* version.h (VERSION): Bump to 2.2.1.
diff --git a/manual/examples/longopt.c b/manual/examples/longopt.c
index 9d6bd53c0f..e6567c7caf 100644
--- a/manual/examples/longopt.c
+++ b/manual/examples/longopt.c
@@ -17,21 +17,21 @@ main (argc, argv)
       static struct option long_options[] =
 	{
 	  /* These options set a flag.  */
-	  {"verbose", 0, &verbose_flag, 1},
-	  {"brief", 0, &verbose_flag, 0},
+	  {"verbose", no_argument,       &verbose_flag, 1},
+	  {"brief",   no_argument,       &verbose_flag, 0},
 	  /* These options don't set a flag.
 	     We distinguish them by their indices.  */
-	  {"add", 1, 0, 0},
-	  {"append", 0, 0, 0},
-	  {"delete", 1, 0, 0},
-	  {"create", 0, 0, 0},
-	  {"file", 1, 0, 0},
+	  {"add",     required_argument, 0, 'a'},
+	  {"append",  no_argument,       0, 'b'},
+	  {"delete",  required_argument, 0, 'd'},
+	  {"create",  no_argument,       0, 'c'},
+	  {"file",    required_argument, 0, 'f'},
 	  {0, 0, 0, 0}
 	};
       /* @code{getopt_long} stores the option index here.  */
       int option_index = 0;
 
-      c = getopt_long (argc, argv, "abc:d:",
+      c = getopt_long (argc, argv, "abc:d:f:",
 		       long_options, &option_index);
 
       /* Detect the end of the options.  */
@@ -66,6 +66,10 @@ main (argc, argv)
 	  printf ("option -d with value `%s'\n", optarg);
 	  break;
 
+	case 'f':
+	  printf ("option -f with value `%s'\n", optarg);
+	  break;
+
 	case '?':
 	  /* @code{getopt_long} already printed an error message.  */
 	  break;
diff --git a/manual/sysinfo.texi b/manual/sysinfo.texi
index ee5009b2ac..1768d01273 100644
--- a/manual/sysinfo.texi
+++ b/manual/sysinfo.texi
@@ -15,6 +15,7 @@ can make changes.
                                   machine type
 * Filesystem Handling::         Controlling/querying mounts
 * System Parameters::           Getting and setting various system parameters
+* Load Average::                Getting the system load average
 @end menu
 
 To get information on parameters of the system that are built into the
@@ -1190,3 +1191,23 @@ parameters are:
 @item
 @code{bdflush}
 @end itemize
+
+@node Load Average
+@section Getting the system load average
+
+This section describes the @code{getloadavg} function, which gets the 1, 5
+and 15 minute load averages of the system. The load average is the number of
+processes in the system run queue, averaged over various periods of time
+(1, 5 and 15 minutes in this case).
+
+The symbols used in this section are declared in the file @file{stdlib.h}.
+
+@comment stdlib.h
+@comment BSD
+@deftypefun int getloadavg (double @var{loadavg}[], int @var{nelem})
+This function gets the 1, 5 and 15 minute load averages of the system. The
+values are placed in @var{loadavg}. The function will place at most
+@var{nelem} elements into the array, @var{loadavg}. Never are there more
+than three elements returned and possibly less than @var{nelem}. The return
+value is the number of elements written to @var{loadavg}, or -1 on error.
+@end deftypefun