internal glibc interfaces (AI from NY meeting)
My action item from the LSB meeting was to identify and document
internal glibc symbols.
I found the following symbols:
10.2.3 fcntl.h:
__fcntl, __open: both should be removed, they should not be used by
any external program at all, they will only be used by libpthread and
we do not need to document the interaction (glibc 2.2.2 will not have
those anymore in <fcntl.h>).
10.2.12 sched.h:
__sched_get_priority_max
__sched_get_priority_min
__sched_getparam
__sched_getscheduler
__sched_setscheduler
__sched_yield
__sched_setparam
__sched_rr_get_interval
These functions are not anymore declared with glibc 2.2 in <sched.h>,
the interfaces are not for external use at all.
10.2.14 setjmp.h:
__sigsetjmp: Internal function, documented below
10.2.15 signal.h:
__libc_current_sigrtmax: documented below
__libc_current_sigrtmin: documented below
__sigaction: Should be removed (will be removed for glibc 2.2.2 from header)
__sigpause: documented below
__sysv_signal: documented below
10.2.16 stdio.h:
__vsnprintf: Should be removed (will be removed for glibc 2.2.2 from header)
10.2.17 stdlib.h:
__on_exit: Should be removed (will be removed for glibc 2.2.2 from header)
__secure_getenv: documented below
__strtold_internal: should be documented the same way as __strtof_internal
__strtoll_internal: should be documented the same way as __strtof_internal
__strtoull_internal: should be documented the same way as __strtof_internal
__ctype_get_mb_cur_max: documented below
10.2.18 string.h:
__bzero: documented below
__ffs: Should be removed (will be removed for glibc 2.2.2 from header)
__strcasecmp: Should be removed (already removed in glibc 2.2.1 from header)
__strdup: documented below
__strerror_r: Should be removed (will be removed for glibc 2.2.2 from header)
__strtok_r: documented below
There's a line "char -1;" - this should be removed
10.2.24 sys/socket.h:
__connect: Should be removed (already removed in glibc 2.2.1 from header)
__send: Should be removed (already removed in glibc 2.2.1 from header)
10.2.25 sys/stat.h:
__xmknod: documented below
10.2.26 sys/times.h:
Please add: clock_t times (struct tms *__buffer);
10.2.28 sys/wait.h:
__wait: Should be removed (will be removed for glibc 2.2.2 from header)
10.2.30 time.h:
__gmtime_r: Should be removed (already removed in glibc 2.2.1 from header)
10.2.32 unistd.h:
__getpagesize: Should be removed (already removed in glibc 2.2.1 from header)
__getpgid: documented below
__getpid: Should be removed (already removed in glibc 2.2.1 from header)
__setpgid: Should be removed (already removed in glibc 2.2.1 from header)
__sbrk: Should be removed (already removed in glibc 2.2.1 from header)
__setpgid: Should be removed (already removed in glibc 2.2.1 from header)
__close: Should be removed (already removed in glibc 2.2.1 from header)
__fork: Should be removed (already removed in glibc 2.2.1 from header)
__lseek: Should be removed (already removed in glibc 2.2.1 from header)
__read: Should be removed (already removed in glibc 2.2.1 from header)
__write: Should be removed (already removed in glibc 2.2.1 from header)
__ftruncate: Should be removed (already removed in glibc 2.2.1 from header)
10.2.34 wchar.h:
__mbrlen: documented below
__wcstod_internal:
__wcstof_internal:
__wcstol_internal:
__wcstoll_internal:
__wcstold_internal:
__wcstoll_internal:
__wcstoul_internal:
__wcstoull_internal: These functions should be documented the same way
as __strtof_internal etc.
__wcslen: Should be removed (will be removed for glibc 2.2.2 from header)
10.2.35 wctype.h:
__iswctype: Should be removed (will be removed for glibc 2.2.2 from header)
__towctrans: Should be removed (will be removed for glibc 2.2.2 from header)
__wctype: Should be removed (will be removed for glibc 2.2.2 from header)
10.5.2 stdlib.h:
This is a copy of 10.2.17, the whole section should be removed.
10.7.1 pthread.h:
__pthread_atfork:
__pthread_getspecific:
__pthread_initialize:
__pthread_key_create:
__pthread_mutex_destroy:
__pthread_mutex_init:
__pthread_mutex_lock:
__pthread_mutex_trylock:
__pthread_mutex_unlock:
__pthread_mutexattr_destroy:
__pthread_mutexattr_init:
__pthread_once:
__pthread_setspecific:
__pthread_cleanup_pop:
__pthread_cleanup_push: All these are internal interfaces of glibc and
should therefore removed completly, they're not in any glibc 2.2.1
header.
The description for these are:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__sigsetjmp
Name
__sigsetjmp - save stack context for non-local goto
Synopsis
int __sigsetjmp (jmp_buf env, int savemask);
Description
__sigsetjmp has the same behaviour as sigsetjmp (env, savemask) as
specified by POSIX.
Usage
__sigsetjmp is not in the source standard, it is only in the binary
standard.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__libc_current_sigrtmax
__libc_current_sigrtmin
Name
__libc_current_sigrtmax, __libc_current_sigrtmin - Return number of
available real-time signal with lowest/highest priority
Synopsis
int __libc_current_sigrtmin (void);
int __libc_current_sigrtmax (void);
Description
__libc_current_sigrtmin returns the number of an available real-time
signal with the highest priority, __libc_current_sigrtmax returns the
number of an available real-time signal with the lowest priority.
Usage
__libc_current_sigrtmax and __libc_current_sigrtmin are not in the
source standard, they are only in the binary standard.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__sigpause
Name
__sigpause - atomically release blocked signals and wait for interrupt
Synopsis
int __sigpause (int sig_or_mask, int is_sig);
Description
__sigpause (sig_or_mask, is_sig) has the same behaviour as sigpause
(sig_or_mask, is_sig) as specified by X/Open.
Usage
__sigpause is not in the source standard, it is only in
the binary standard.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__sysv_signal
Name
__sysv_signal - signal handling
Synopsis
__sighandler_t __sysv_signal (int sig, __sighandler_t handler);
Description
__sysv_signal (sig, handler) has the same behaviour as signal (sig,
handler) as specified by X/Open.
Usage
__sysv_signal is not in the source standard, it is only in the binary
standard.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__secure_getenv
Name
__secure_getenv - get an environment variable
Synopsis
char *__secure_getenv (__const char *name);
Description
__secure_getenv has the same specification as getenv (name) with the
exception that if the program is running SUID or SGID enabled, the
result is always NULL.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__ctype_get_mb_cur_max
Name
__ctype_get_mb_cur_max - Maximum length of a multibyte character in
the current locale
Synopsis
size_t __ctype_get_mb_cur_max (void);
Description
__ctype_get_mb_cur_max returns the maximum length of a multibyte
character in the current locale.
Usage
__ctype_get_mb_cur_max is not in the source standard, it is only in
the binary standard.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__bzero
Name
__bzero - mangle of bzero
Synopsis
void __bzero (void *s, size_t n);
Description
__bzero has the same specification as bzero (s, n)
Usage
__bzero is not in the source standard, it is only in
the binary standard.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__strdup
Name
__strdup - mangle of strdup
Synopsis
char *__strdup (__const char *string);
Description
__strdup has the same specification as strdup (string).
Usage
__strdup is not in the source standard, it is only in
the binary standard.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__strtok_r
Name
__strtok_r - mangle of strtok_r
Synopsis
char *__strtok_r (char *__restrict s,
__const char *__restrict delim,
char **__restrict save_ptr);
Description
__strtok_r has the same specification as strtok_r (s, delim,
save_ptr).
Usage
__strtok_r is not in the source standard, it is only in
the binary standard.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__xmknod
Name
__xmknod -
Synopsis
int __xmknod (int ver, __const char *path, __mode_t mode,
__dev_t *dev);
Description
ver must be 1 or the behaviour is undefined. __xmknod (1, path, mode,
dev) has the same specification as xmknod (path, mode, dev).
Usage
__xmknod is not in the source standard, it is only in
the binary standard.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__getpgid
Name
__getpgid - Get the process group id
Synopsis
pid_t __getpgid (pid_t pid);
Description
__getpgid has the same specification as getpgid (pid).
Usage
__getpgid is not in the source standard, it is only in
the binary standard.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__mbrlen
Name
__mbrlen - mangle of mbrlen
Synopsis
size_t __mbrlen (const char *__restrict s, size_t n,
mbstate_t *__restrict ps);
Description
__mbrlen has the same specification as mbrlen (s, n, ps).
Usage
__mbrlen is not in the source standard, it is only in
the binary standard.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--
Andreas Jaeger
SuSE Labs aj@suse.de
private aj@arthur.inka.de
http://www.suse.de/~aj
Reply to: