Signed-off-by: Aaron Merey <ame...@redhat.com>
---

v2 changes:
Mention new program header table is zero'ed out and that
NULL is returned if elf is NULL.

 doc/elf32_newphdr.3 | 72 +++++++++++++++++++++++++++++++++++++++++++++
 doc/elf64_newphdr.3 |  1 +
 2 files changed, 73 insertions(+)
 create mode 100644 doc/elf32_newphdr.3
 create mode 100644 doc/elf64_newphdr.3

diff --git a/doc/elf32_newphdr.3 b/doc/elf32_newphdr.3
new file mode 100644
index 00000000..9b3ddc91
--- /dev/null
+++ b/doc/elf32_newphdr.3
@@ -0,0 +1,72 @@
+.TH ELF32_NEWPHDR 3 2024-08-14 "Libelf" "Libelf Programmer's Manual"
+
+.SH NAME
+elf32_newphdr, elf64_newphdr \- create a new program header table for a
+32-bit or 64-bit ELF object file
+
+.SH SYNOPSIS
+.nf
+.B #include <libelf.h>
+
+.BI "Elf32_Phdr *elf32_newphdr(Elf *" elf ", size_t " count ");"
+.BI "Elf64_Phdr *elf64_newphdr(Elf *" elf ", size_t " count ");"
+
+.SH DESCRIPTION
+Create a new program header table for the ELF object file referred to by
+.IR elf .
+The number of entries in the new program header table is specified by
+.IR count .
+A
+.I count
+of zero removes the existing program header table.
+
+The function allocates a new array of
+.B Elf32_Phdr
+and makes it the program header table for
+.IR elf .
+The new program header contents are set to zero and any previous program
+header table is discarded.  An ELF header must exist before creating a
+program header table.
+
+.SH PARAMETERS
+.TP
+.I elf
+Pointer to the ELF object for which a new program header table is to be 
created.
+
+.TP
+.I count
+The number of entries in the new program header table. A count of zero removes
+the existing program header table.
+
+.SH RETURN VALUE
+On success, return a pointer to the first
+.B Elf32_Phdr
+in the newly created program header table.  If
+.I elf
+is NULL then return NULL.  If an error occurs, return NULL and set a libelf
+error code.
+
+.SH SEE ALSO
+.BR elf32_newehdr (3),
+.BR elf_errno (3),
+.BR libelf (3),
+.BR elf (5)
+
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbx lb lb
+l l l.
+Interface      Attribute       Value
+T{
+.na
+.nh
+.BR elf32_newphdr (),
+.BR elf64_newphdr ()
+T}     Thread safety   MT-Safe
+.TE
+
+.SH REPORTING BUGS
+Report bugs to <elfutils-devel@sourceware.org> or 
https://sourceware.org/bugzilla/.
diff --git a/doc/elf64_newphdr.3 b/doc/elf64_newphdr.3
new file mode 100644
index 00000000..86e8ed3c
--- /dev/null
+++ b/doc/elf64_newphdr.3
@@ -0,0 +1 @@
+.so man3/elf32_newphdr.3
-- 
2.46.2

Reply via email to