[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: