getobjformat(3)
NAME
getobjformat - get preferred object file format
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <objformat.h> int getobjformat(char *buf, size_t bufsize, int *argcp, char **argv);
DESCRIPTION
- The getobjformat() function queries several sources to de
- termine the preferred object file format, and copies its name into a buffer
- provided by
the caller. - The object file format is determined as follows. If argv is
- non-NULL and
an explicit command line argument such as -aout or -elf is - present, then
that determines the object file format. - Otherwise, if the variable OBJFORMAT is set in the environ
- ment, the
object file format is taken from its value. - Otherwise, if the file /etc/objformat is readable and con
- tains a line of
the form `OBJFORMAT=xxx', the object file format is taken - from there.
- Otherwise, a built-in system default object file format is
- returned.
- buf points to a user-supplied buffer into which the name of
- the object
file format is copied. bufsize gives the size of the buffer - in bytes.
The string placed in buf is always null-terminated. It is - an error if
the buffer is too small to hold the null-terminated name. - argv points to a NULL-terminated argument vector to be
- scanned for object
format options. argv may be NULL, in which case the argu - ment vector is
not scanned. - If argcp is non-NULL, any object format options are deleted
- from the
argument vector, and the updated argument count is stored - into the integer referenced by argcp. If argcp is NULL, the argument
- vector is left
unchanged.
RETURN VALUES
- On success, getobjformat() returns the length of the object
- file format
name, not counting the null terminator. If the supplied - buffer is too
small to hold the object file format and its null termina - tor,
getobjformat() returns -1. In that case, the contents of - the buffer and
argument vector supplied by the caller are indeterminate.
ENVIRONMENT
- OBJFORMAT If the environment variable OBJFORMAT is set, it
- overrides the
- default object file format. OBJFORMAT takes
- precedence over
/etc/objformat.
FILES
- /etc/objformat If present, specifies the object file format
- to use.
- Syntax is `OBJFORMAT=xxx'.
SEE ALSO
HISTORY
- The getobjformat() function first appeared in FreeBSD 3.0.
- BSD September 7, 1998