get_phys_pages.3 review
Hello all,
I've drafted a man page for two glib functions that haven't been documented by the man-pages project yet: get_phys_pages(3) and get_avphys_pages(3).
This is my first whole file contribution, so I was hoping I could get some suggestions/pointers before submitting the actual patch :).
I based it largely on get_nprocs(3) manual page.
Copied below:
.\" Copyright (c) 2015 William Woodruff (william-d4iiUcZhRQBWk0Htik3J/[email protected]) .\"
.\" %%%LICENSE_START(VERBATIM)
.\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the
.\" entire resulting derived work is distributed under the terms of a
.\" permission notice identical to this one.
.\"
.\" Since the Linux kernel and libraries are constantly changing, this
.\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not
.\" have taken the same level of care in the production of this manual,
.\" which is licensed free of charge, as they might when working
.\" professionally.
.\"
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work. .\" %%%LICENSE_END
.\"
.TH GET_PHYS_PAGES 3 2015-03-02 "GNU" "Linux Programmer's Manual"
.SH NAMEget_phys_pages, get_avphys_pages \- get total and available physical
page counts
.SH SYNOPSIS
.nf
.B "#include <sys/sysinfo.h>"
.sp
.B long int get_phys_pages(void);
.B long int get_av_phys_pages(void);
.SH DESCRIPTION
The function
.BR get_phys_pages ()
returns the total number of physical pages of memory available on the system.
.sp
The function
.BR get_avphys_pages ()
returns the number of available physical pages of memory available on the system.
.SH RETURN VALUE
As given in DESCRIPTION.
.SH CONFORMING TO
These functions are GNU extensions.
.SH NOTES
The following
.BR sysconf (3)
calls make use of the functions documented on this page to return the same information.
.sp
.nf
total_pages = sysconf(_SC_PHYS_PAGES); /* total pages of memory */
avl_pages = sysconf(_SC_AVPHYS_PAGES); /* available pages of memory*/
.fi
.SH EXAMPLE
The following example shows how
.BR get_phys_pages ()
and
.BR get_avphys_pages ()
can be used.
.sp
.nf
#include <stdio.h>
#include <sys/sysinfo.h>
intmain(int argc, char *argv[])
{
printf("This system has %ld pages of physical memory and "
"%ld pages of physical memory available.\\n", get_phys_pages(), get_avphys_pages());
return 0;
}
.fi
---
William Woodruff
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
A message that is not in the archive (sent off-list or not yet received): 55468DF3.3070908-d4iiUcZhRQBWk0Htik3J/[email protected]
Hello William,
Quoted 10 lines · William Woodruff
Hello all,
I've drafted a man page for two glib functions that haven't been documented by the man-pages project yet:
get_phys_pages(3)andget_avphys_pages(3).This is my first whole file contribution, so I was hoping I could get some suggestions/pointers before submitting the actual patch :).
I based it largely on
get_nprocs(3)manual page.
Thanks for tackling this. Some comments below.
Quoted 34 lines
Copied below:
.\" Copyright (c) 2015 William Woodruff (william-d4iiUcZhRQBWk0Htik3J/[email protected]) .\"
.\" %%%LICENSE_START(VERBATIM)
.\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the
.\" entire resulting derived work is distributed under the terms of a
.\" permission notice identical to this one.
.\"
.\" Since the Linux kernel and libraries are constantly changing, this
.\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not
.\" have taken the same level of care in the production of this manual,
.\" which is licensed free of charge, as they might when working
.\" professionally.
.\"
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work. .\" %%%LICENSE_END
.\"
.THGET_PHYS_PAGES3 2015-03-02 "GNU" "Linux Programmer's Manual"
.SH NAMEget_phys_pages,get_avphys_pages\- get total and available physical
page counts
.SH SYNOPSIS
.nf
.B "#include <sys/sysinfo.h>"
.sp
Quoted 8 lines
.B long int
get_phys_pages(void);
.B long intget_av_phys_pages(void);
.SH DESCRIPTION
The function
.BRget_phys_pages()
returns the total number of physical pages of memory available on the system.
.sp
No need for .sp here. Just use a blank line for the para break.
Quoted 6 lines
The function
.BRget_avphys_pages()
returns the number of available physical pages of memory available on the system.
.SH RETURN VALUE
As given in DESCRIPTION.
Change this to:
[[
On success, these functions return a nonnegative value as given in DESCRIPTION.
On failure, they return \-1 and set
.I errno
to indicate the cause of the error.
]]
Taking a look at the glibc source reveals the following possible errno value:
[[
.SH ERRORS
.TP
.B ENOSYS
The system could not provide the required information (possibly because the
.I /proc
filesystem was not mounted).
]]
Quoted 3 lines
.SH CONFORMING TO
These functions are GNU extensions.
.SH NOTES
I think it might also be useful to note some details about the implementation here, since it relies on /proc, which may not be available in some unusual configurations. How about this paragraph, to give the reader a clue:
[[
These functions obtain the required information by scanning the .I MemTotal
and
.I MemFree
fields of the file
.IR /proc/meminfo .
]]
Quoted 4 lines
The following
.BR sysconf (3)
calls make use of the functions documented on this page to return the same information.
It's good that you add this piece, but I think the above text could be recast to give the reader an important hint:
[[
The following
.BR sysconf (3)
provide a portable means of obtaining the same information as the functions described on this page.
]]
Quoted 1 line
.sp
Use a blank line here, not ".sp"
Quoted 4 lines
.nf
total_pages=sysconf(_SC_PHYS_PAGES); /* total pages of memory */
avl_pages=sysconf(_SC_AVPHYS_PAGES); /* available pages of memory*/
.fi
The two code lines above render wider than 80 characters. Best to shorten the comments by removing the "of memory" in both lines.
Quoted 11 lines
.SH EXAMPLE
The following example shows how
.BRget_phys_pages()
and
.BRget_avphys_pages()
can be used.
.sp
.nf
#include <stdio.h>
#include <sys/sysinfo.h>
Quoted 7 lines
int
main(int argc, char *argv[])
{
printf("This system has %ld pages of physical memory and "
"%ld pages of physical memory available.\\n",get_phys_pages(),get_avphys_pages());
return 0;
I prefer
exit(EXIT_SUCCESS);
here, in which case you'll also need to include <stdlib.h>.
Quoted 2 lines
}
.fi
Add:
[[
.SH SEE ALSO
.BR sysconf (3)
]]
Cheers,
Michael
Signature · 7 lines
Michael Kerrisk Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/ Linux/UNIX System Programming Training: http://man7.org/training/ -- To unsubscribe from this list: send the line "unsubscribe linux-man" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
A message that is not in the archive (sent off-list or not yet received): [email protected]
Quoted 10 lines · Michael Kerrisk (man-pages)
Hello William,
Quoted 3 lines · William Woodruff
returns the total number of physical pages of memory available on the system.
.spNo need for .sp here. Just use a blank line for the para break.
This is Groff specific behavior. From roff(7):
· Never include empty or blank lines in a roff document.
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
A message that is not in the archive (sent off-list or not yet received): [email protected]
Hi William,
Quoted 6 lines · J William Piggott
Quoted 3 lines · Michael Kerrisk (man-pages)
Hello William,
On 05/03/2015 11:06 PM, William Woodruff wrote:
Quoted 8 lines
Quoted 5 lines
Quoted 3 lines
returns the total number of physical pages of memory available on the system.
.spNo need for .sp here. Just use a blank line for the para break.
This is Groff specific behavior. From roff(7):
· Never include empty or blank lines in a roff document.
I'm not sure whether that text applies or not. But in any case, we've got hundreds of pages that happily use blank lines. If you mist, you can instead use ".PP", but ".sp" seems wrong to me.
Thanks,
Michael
Signature · 7 lines
Michael Kerrisk Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/ Linux/UNIX System Programming Training: http://man7.org/training/ -- To unsubscribe from this list: send the line "unsubscribe linux-man" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
A message that is not in the archive (sent off-list or not yet received): [email protected]
Hi Michael, William,
Quoted 15 lines · Michael Kerrisk (man-pages)
Hi William,
Quoted 12 lines · J William Piggott
Quoted 10 lines · Michael Kerrisk (man-pages)
Hello William,
Quoted 3 lines · William Woodruff
returns the total number of physical pages of memory available on the system.
.spNo need for .sp here. Just use a blank line for the para break.
Quoted 7 lines
Quoted 2 lines
This is Groff specific behavior. From roff(7):
· Never include empty or blank lines in a roff document.I'm not sure whether that text applies or not. But in any case, we've got hundreds of pages that happily use blank lines. If you mist, you can instead use ".PP", but ".sp" seems wrong to me.
I'll follow your advice here. I've seen the rule about never using blank lines in groff, but if other pages do it, I'll assume the behavior is reasonable.
Best,
William Woodruff
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
A message that is not in the archive (sent off-list or not yet received): 55477B04.7030001-d4iiUcZhRQBWk0Htik3J/[email protected]
Just following up on my previous message, here's the updated page. If you think it's ready for addition, I'll submit the patch for it tonight.
.\" Copyright (c) 2015 William Woodruff (william-d4iiUcZhRQBWk0Htik3J/[email protected]) .\"
.\" %%%LICENSE_START(VERBATIM)
.\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the
.\" entire resulting derived work is distributed under the terms of a
.\" permission notice identical to this one.
.\"
.\" Since the Linux kernel and libraries are constantly changing, this
.\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not
.\" have taken the same level of care in the production of this manual,
.\" which is licensed free of charge, as they might when working
.\" professionally.
.\"
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work. .\" %%%LICENSE_END
.\"
.TH GET_PHYS_PAGES 3 2015-03-02 "GNU" "Linux Programmer's Manual"
.SH NAMEget_phys_pages, get_avphys_pages \- get total and available physical
page counts
.SH SYNOPSIS
.nf
.B "#include <sys/sysinfo.h>"
.sp
.B long int get_phys_pages(void);
.B long int get_av_phys_pages(void);
.SH DESCRIPTION
The function
.BR get_phys_pages ()
returns the total number of physical pages of memory available on the system.
The function
.BR get_avphys_pages ()
returns the number of available physical pages of memory available on the system.
.SH RETURN VALUE
On success, these functions return a nonnegative value as given in DESCRIPTION.
On failure, they return \-1 and set
.I errno
to indicate the cause of the error.
.SH ERRORS
.TP
.B ENOSYS
The system could not provide the required information (possibly because the
.I /proc
filesystem was not mounted).
.SH CONFORMING TO
These functions are GNU extensions.
.SH NOTES
These functions obtain the required information by scanning the .I MemTotal
and
.I MemFree
fields of
.IR /proc/meminfo .
The following
.BR sysconf (3)
calls provide a portable means of obtaining the same information as the functions described on this page.
.nf
total_pages = sysconf(_SC_PHYS_PAGES); /* total pages */
avl_pages = sysconf(_SC_AVPHYS_PAGES); /* available pages */
.fi
.SH EXAMPLE
The following example shows how
.BR get_phys_pages ()
and
.BR get_avphys_pages ()
can be used.
.nf
#include <stdio.h>
#include <stdlib.h>
#include <sys/sysinfo.h>
intmain(int argc, char *argv[])
{
printf("This system has %ld pages of physical memory and "
"%ld pages of physical memory available.\\n", get_phys_pages(), get_avphys_pages());
exit(EXIT_SUCCESS);
}
.fi
.SH SEE ALSO
.BR sysconf (3)
Best,
William
Quoted 26 lines · William Woodruff
Hi Michael, William,
Quoted 15 lines · Michael Kerrisk (man-pages)
Hi William,
Quoted 12 lines · J William Piggott
Quoted 10 lines · Michael Kerrisk (man-pages)
Hello William,
Quoted 3 lines · William Woodruff
returns the total number of physical pages of memory available on the system.
.spNo need for .sp here. Just use a blank line for the para break.
Quoted 7 lines
Quoted 2 lines
This is Groff specific behavior. From roff(7):
· Never include empty or blank lines in a roff document.I'm not sure whether that text applies or not. But in any case, we've got hundreds of pages that happily use blank lines. If you mist, you can instead use ".PP", but ".sp" seems wrong to me.
Quoted 7 lines
I'll follow your advice here. I've seen the rule about never using blank lines in groff, but if other pages do it, I'll assume the behavior is reasonable.
Best,
William Woodruff
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
A message that is not in the archive (sent off-list or not yet received): 5547A843.901-d4iiUcZhRQBWk0Htik3J/[email protected]
Hi William,
Quoted 3 lines · William Woodruff
Just following up on my previous message, here's the updated page. If you think it's ready for addition, I'll submit the patch for it tonight.
I think you can submit the page, but see one comment below.
Quoted 40 lines
.\" Copyright (c) 2015 William Woodruff (william-d4iiUcZhRQBWk0Htik3J/[email protected]) .\"
.\" %%%LICENSE_START(VERBATIM)
.\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the
.\" entire resulting derived work is distributed under the terms of a
.\" permission notice identical to this one.
.\"
.\" Since the Linux kernel and libraries are constantly changing, this
.\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not
.\" have taken the same level of care in the production of this manual,
.\" which is licensed free of charge, as they might when working
.\" professionally.
.\"
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work. .\" %%%LICENSE_END
.\"
.THGET_PHYS_PAGES3 2015-03-02 "GNU" "Linux Programmer's Manual"
.SH NAMEget_phys_pages,get_avphys_pages\- get total and available physical
page counts
.SH SYNOPSIS
.nf
.B "#include <sys/sysinfo.h>"
.sp
.B long intget_phys_pages(void);
.B long intget_av_phys_pages(void);
.SH DESCRIPTION
The function
.BRget_phys_pages()
returns the total number of physical pages of memory available on the system.
Quoted 4 lines
The function
.BRget_avphys_pages()
returns the number of available physical pages of memory available on the system.
One too many "available" in that last sentence.
Thanks,
Michael
Quoted 95 lines
.SH RETURN VALUE
On success, these functions return a nonnegative value as given in DESCRIPTION.
On failure, they return \-1 and set
.I errno
to indicate the cause of the error.
.SH ERRORS
.TP
.B ENOSYS
The system could not provide the required information (possibly because the
.I /proc
filesystem was not mounted).
.SH CONFORMING TO
These functions are GNU extensions.
.SH NOTES
These functions obtain the required information by scanning the .I MemTotal
and
.I MemFree
fields of
.IR/proc/meminfo.The following
.BR sysconf (3)
calls provide a portable means of obtaining the same information as the functions described on this page..nf
total_pages=sysconf(_SC_PHYS_PAGES); /* total pages */
avl_pages=sysconf(_SC_AVPHYS_PAGES); /* available pages */
.fi
.SH EXAMPLE
The following example shows how
.BRget_phys_pages()
and
.BRget_avphys_pages()
can be used..nf
#include <stdio.h>
#include <stdlib.h>
#include <sys/sysinfo.h>int
main(int argc, char *argv[])
{
printf("This system has %ld pages of physical memory and "
"%ld pages of physical memory available.\\n",get_phys_pages(),get_avphys_pages());
exit(EXIT_SUCCESS);
}
.fi
.SH SEE ALSO
.BR sysconf (3)Best,
WilliamQuoted 33 lines · William Woodruff
Hi Michael, William,
Quoted 15 lines · Michael Kerrisk (man-pages)
Hi William,
Quoted 12 lines · J William Piggott
Quoted 10 lines · Michael Kerrisk (man-pages)
Hello William,
Quoted 3 lines · William Woodruff
returns the total number of physical pages of memory available on the system.
.spNo need for .sp here. Just use a blank line for the para break.
Quoted 7 lines
Quoted 2 lines
This is Groff specific behavior. From roff(7):
· Never include empty or blank lines in a roff document.I'm not sure whether that text applies or not. But in any case, we've got hundreds of pages that happily use blank lines. If you mist, you can instead use ".PP", but ".sp" seems wrong to me.
I'll follow your advice here. I've seen the rule about never using blank lines in groff, but if other pages do it, I'll assume the behavior is reasonable.
Best,
William Woodruff
Signature · 7 lines
Michael Kerrisk Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/ Linux/UNIX System Programming Training: http://man7.org/training/ -- To unsubscribe from this list: send the line "unsubscribe linux-man" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html