Linux man-pages:   主页   ||   git | readme | 贡献 | 约定   |   邮件列表 | 存档   |   发布 | 书籍 | 在线页面

Linux man-pages 中缺失的手册页

以下是可能应该添加到 man-pages 集合中的页面列表。如果您正在考虑编写其中一个或多个页面,那么

系统调用

系统调用
内核
注释
endian_switch(2) 2.6.26 POWER 6 特定
sys_debug_setcontext(2) 2.6.11 如果启用了 CONFIG_POWERPC 内核配置选项,则为 PowerPC

/sys 文件系统

没有针对 /sys 文件系统的手册页:可能应该有一个类似于 proc(5)sys(5) 页面。内核源文件 Documentation/filesystems/sysfs.txt 为此页面提供了一个起点;另请参阅 Documentation/ 目录下的许多其他 *sysfs*.txt 文件。

GNU C 库命令

GNU C 库提供了一些命令(可执行文件、脚本),例如 ldd(1)time(1)。这些命令在 man-pages 的第 1 节和第 8 节中进行了记录。至少缺少以下页面

命令 自 glibc
版本
注释
gencat(1)    
getconf(1)    
makedb(1)    
rpcgen(1)    
utmpdump(1)    

库函数

下面列出了未记录的 (GNU) C 库函数。像以下这样的搜索可能会建议其他需要记录的函数



MPDIR=~/man-pages       # Directory containing uncompressed man-pages
GLIBCDIR=/SOME_DIR      # Directory containing glibc tree

for f in  $(cat $(find $GLIBCDIR -name Versions |
                egrep -v '/(hurd|mach)/') |
        egrep -v '({|}|^%)' |
        sed -e 's/#.*//' |
        tr ';' '\012' |
        sed 's/^  *//' |
        grep -v '^[_.]' |
        sort -u); do
    if ! test -f "$MPDIR/man3/$f.3" > /dev/null 2>&1 &&
                ! test -f "$MPDIR/man2/$f.2" > /dev/null 2>&1 ; then
        echo $f;
    fi
done

或者,可以查看特定库导出的文本符号(除非库符号已被剥离),以查看是否有相应的手册页。这里,使用 libm 的示例


nm -D /lib/libm.so.6 | sed -re '/^[0-9a-f]* T /!d; s///; /^_/d' |
	xargs whatis | sed -ne 's/: nothing appropriate\.$//p' | sort -u

在许多情况下,下面列出的接口是使用此类脚本找到的,并且尚未检查这些接口是否是可能最好不记录的过时接口。

函数 自 glibc
版本
注释
mallwatch(3)
tr_break(3) (?)
  想法是在调试器中,我们将 'mallwatch' 设置为 malloc 函数返回的地址,在 tr_break() (在 glibc 中定义)上设置断点,然后继续执行。当 malloc 操作触及 'mallwatch' 引用的地址时,将执行断点。必须使用 mtrace() 来安装必要的 malloc 挂钩。
quick_exit(3) at_quick_exit(3) 2.10 请参阅 https://udrepper.livejournal.com/20948.html 和 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2440.htm。在 C11 中标准化。
res_ninit(3)
res_nmkquery(3)
res_nquery(3)
res_nquerydomain(3)
res_nsearch(3)
res_nsend(3)
res_nclose(3) res_gethostbyaddr(3)
res_gethostbyname(3)
res_gethostbyname2(3)
res_send_setqhook(3)
res_send_setrhook(3)
2.8 也许应该在 resolver(3) 页面上记录。
iswalnum_l(3)
iswalpha_l(3)
iswblank_l(3)
iswcntrl_l(3)
iswctype_l(3)
iswdigit_l(3)
iswgraph_l(3)
iswlower_l(3)
iswprint_l(3)
iswpunct_l(3)
iswspace_l(3)
iswupper_l(3)
iswxdigit_l(3)
isxdigit_l(3)
strcasecmp_l(3)
strcoll_l(3)
strfmon_l(3)
strftime_l(3)
strncasecmp_l(3)
strptime_l(3)
strtod_l(3)
strtof_l(3)
strtol_l(3)
strtold_l(3)
strtoll_l(3)
strtoul_l(3)
strtoull_l(3)
strxfrm_l(3)
toascii_l(3)
towctrans_l(3)
wcscasecmp_l(3)
wcscoll_l(3)
wcsftime_l(3)
wcsncasecmp_l(3)
wcstod_l(3)
wcstof_l(3)
wcstol_l(3)
wcstold_l(3)
wcstoll_l(3)
wcstoul_l(3)
wcstoull_l(3)
wcsxfrm_l(3)
wctrans_l(3)
wctype_l(3)
  区域设置函数 -- 请参阅 POSIX.1-2008 规范

在大多数情况下,这些函数可以集成到相应传统函数的现有手册页中。有关需要完成的操作示例,请参阅 isalpha(3)toupper(3)towlower(3)towupper(3) 手册页(特别是,请参阅 man-pages-3.63 中所做的更改)。

toascii_l(3) 是非标准的,并且具有不同的 FTM 要求。其他一些函数可能也是如此。
endsgent(3)
fgetsgent(3)
fgetsgent_r(3)
getsgent(3)
getsgent_r(3)
getsgnam(3)
getsgnam_r(3)
putsgent(3)
setsgent(3)
sgetsgent(3)
sgetsgent_r(3)
2.10 影子组文件函数,类似于影子密码文件函数
advance(3)
step(3)
loc1(3)loc2(3)locs(3)
re_compile_fastmap(3)
re_compile_pattern(3)
re_match(3)
re_match_2(3)
re_max_failures(3)
re_search(3)
re_search_2(3)
re_set_registers(3)
re_set_syntax(3)
re_syntax_options(3)
   
gamma_r(3)
gammaf_r(3)
gammal_r(3)
   
inet_neta(3)
inet_nsap_addr(3)
inet_nsap_ntoa(3)
   
parse_printf_format(3)
register_printf_function(3)
register_printf_modifier(3)
register_printf_specifier(3)
register_printf_type(3)
2.0 有 info 页面,并且 <printf.h> 包含有用的信息。
printf_size() printf_size_info() 2.1 有 info 页面,并且 <printf.h> 包含有用的信息。
clntunix_create(3)
getnetname(3)
netname(3)
getpublickey(3)
getsecretkey(3)
key_decryptsession_pk(3)
key_encryptsession_pk(3)
key_get_conv(3)
key_setnet(3)
rpc_createerr(3)
rpc_createerr(3)
svc_exit(3)
svc_fdset(3)
svc_getreq_common(3)
svc_getreq_poll(3)
svc_max_pollfd(3)
svc_pollfd(3)
svcauthdes_stats(3)
svcudp_enablecache(3)
svcunix_create(3)
svcunixfd_create(3)
   
authdes_create(3)
authdes_getucred(3)
authdes_pk_create(3)
   
getipv4sourcefilter(3)
getsourcefilter(3)
setipv4sourcefilter(3)
setsourcefilter(3)
   
idna_to_ascii_lz(3)
idna_to_unicode_lzlz(3)
  在版本文件中是否未列出其他各种“idna”函数?
moncontrol(3)
monstartup(3)
profil_counter(3)
sprofil(3)
   
glob_pattern_p(3)   需要 _GNU_SOURCE
rexecoptions(3)
ruserpass(3)
  不在 glibc 2.12 标头中?
h_errlist(3)
h_nerr(3)
  不在 glibc 2.12 标头中?可能已弃用。
host2netname(3)
netname2host(3)
netname2user(3)
user2netname(3)
   
isctype(3)   需要 _GNU_SOURCE
ns_datetosecs(3)
ns_format_ttl(3)
ns_get16(3)
ns_get32(3)
ns_initparse(3)
ns_makecanon(3)
ns_msg_getflag(3)
ns_name_compress(3)
ns_name_ntol(3)
ns_name_ntop(3)
ns_name_pack(3)
ns_name_pton(3)
ns_name_rollback(3)
ns_name_skip(3)
ns_name_uncompress(3)
ns_name_unpack(3)
ns_parse_ttl(3)
ns_parserr(3)
ns_put16(3)
ns_put32(3)
ns_samedomain(3)
ns_samename(3)
ns_skiprr(3)
ns_sprintrr(3)
ns_sprintrrf(3)
ns_subdomain(3)
   
c16rtomb(3)
c32rtomb(3)
mbrtoc16(3)
mbrtoc32(3)
2.16  
timespec_get(3) 2.16 新的 C11 函数,需要 _ISOC11_SOURCE
timespec_getres(3) 2.34 新的 C2X 函数,需要 _ISOC2X_SOURCE
obstack_alloc_failed_handler(3)
obstack_exit_failure(3)
obstack_free(3)
obstack_printf(3)
obstack_vprintf(3)
open_obstack_stream(3)
   
inet6_opt_append(3)
inet6_opt_find(3)
inet6_opt_finish(3)
inet6_opt_get_val(3)
inet6_opt_init(3)
inet6_opt_next(3)
inet6_opt_set_val(3)
inet6_option_alloc(3)
inet6_option_append(3)
inet6_option_find(3)
inet6_option_init(3)
inet6_option_next(3)
inet6_option_space(3)
inet6_rth_add(3)
inet6_rth_getaddr(3)
inet6_rth_init(3)
inet6_rth_reverse(3)
inet6_rth_segments(3)
inet6_rth_space(3)
   
nis_add(3)
nis_add_entry(3)
nis_addmember(3)
nis_checkpoint(3)
nis_clone_directory(3)
nis_clone_object(3)
nis_clone_result(3)
nis_creategroup(3)
nis_destroy_object(3)
nis_destroygroup(3)
nis_dir_cmp(3)
nis_domain_of(3)
nis_domain_of_r(3)
nis_first_entry(3)
nis_free_directory(3)
nis_free_object(3)
nis_free_request(3)
nis_freenames(3)
nis_freeresult(3)
nis_freeservlist(3)
nis_freetags(3)
nis_getnames(3)
nis_getservlist(3)
nis_ismember(3)
nis_leaf_of(3)
nis_leaf_of_r(3)
nis_lerror(3)
nis_list(3)
nis_local_directory(3)
nis_local_group(3)
nis_local_host(3)
nis_local_principal(3)
nis_lookup(3)
nis_mkdir(3)
nis_modify(3)
nis_modify_entry(3)
nis_name_of(3)
nis_name_of_r(3)
nis_next_entry(3)
nis_perror(3)
nis_ping(3)
nis_print_directory(3)
nis_print_entry(3)
nis_print_group(3)
nis_print_group_entry(3)
nis_print_link(3)
nis_print_object(3)
nis_print_result(3)
nis_print_rights(3)
nis_print_table(3)
nis_read_obj(3)
nis_remove(3)
nis_remove_entry(3)
nis_removemember(3)
nis_rmdir(3)
nis_servstate(3)
nis_sperrno(3)
nis_sperror(3)
nis_sperror_r(3)
nis_stats(3)
nis_verifygroup(3)
nis_write_obj(3)
   
yp_all(3)
yp_bind(3)
yp_first(3)
yp_get_default_domain(3)
yp_maplist(3)
yp_master(3)
yp_match(3)
yp_next(3)
yp_order(3)
yp_unbind(3)
yp_update(3)
ypbinderr_string(3)
yperr_string(3)
ypprot_err(3)
   
xdr_authdes_cred(3)
xdr_authdes_verf(3)
xdr_cback_data(3)
xdr_cryptkeyarg(3)
xdr_cryptkeyarg2(3)
xdr_cryptkeyres(3)
xdr_des_block(3)
xdr_domainname(3)
xdr_getcredres(3)
xdr_hyper(3)
xdr_int16_t(3)
xdr_int32_t(3)
xdr_int64_t(3)
xdr_int8_t(3)
xdr_key_netstarg(3)
xdr_key_netstres(3)
xdr_keybuf(3)
xdr_keydat(3)
xdr_keystatus(3)
xdr_longlong_t(3)
xdr_mapname(3)
xdr_netnamestr(3)
xdr_netobj(3)
xdr_obj_p(3)
xdr_peername(3)
xdr_quad_t(3)
xdr_rmtcall_args(3)
xdr_rmtcallres(3)
xdr_sizeof(3)
xdr_u_hyper(3)
xdr_u_longlong_t(3)
xdr_u_quad_t(3)
xdr_uint16_t(3)
xdr_uint32_t(3)
xdr_uint64_t(3)
xdr_uint8_t(3)
xdr_unixcred(3)
xdr_valdat(3)
xdr_yp_buf(3)
xdr_ypall(3)
xdr_ypbind_binding(3)
xdr_ypbind_resp(3)
xdr_ypbind_resptype(3)
xdr_ypbind_setdom(3)
xdr_ypdelete_args(3)
xdr_ypmap_parms(3)
xdr_ypmaplist(3)
xdr_yppush_status(3)
xdr_yppushresp_xfr(3)
xdr_ypreq_key(3)
xdr_ypreq_nokey(3)
xdr_ypreq_xfr(3)
xdr_ypresp_all(3)
xdr_ypresp_key_val(3)
xdr_ypresp_maplist(3)
xdr_ypresp_master(3)
xdr_ypresp_order(3)
xdr_ypresp_val(3)
xdr_ypresp_xfr(3)
xdr_ypstat(3)
xdr_ypupdate_args(3)
xdr_ypxfrstat(3)
   
td_init(3)
td_log(3)
td_symbol_list(3)
td_ta_clear_event(3)
td_ta_delete(3)
td_ta_enable_stats(3)
td_ta_event_addr(3)
td_ta_event_getmsg(3)
td_ta_get_nthreads(3)
td_ta_get_ph(3)
td_ta_get_stats(3)
td_ta_map_id2thr(3)
td_ta_map_lwp2thr(3)
td_ta_new(3)
td_ta_reset_stats(3)
td_ta_set_event(3)
td_ta_setconcurrency(3)
td_ta_thr_iter(3)
td_ta_tsd_iter(3)
td_thr_clear_event(3)
td_thr_dbresume(3)
td_thr_dbsuspend(3)
td_thr_event_enable(3)
td_thr_event_getmsg(3)
td_thr_get_info(3)
td_thr_getfpregs(3)
td_thr_getgregs(3)
td_thr_getxregs(3)
td_thr_getxregsize(3)
td_thr_set_event(3)
td_thr_setfpregs(3)
td_thr_setgregs(3)
td_thr_setprio(3)
td_thr_setsigpending(3)
td_thr_setxregs(3)
td_thr_sigsetmask(3)
td_thr_tls_get_addr(3)
td_thr_tlsbase(3)
td_thr_tsd(3)
td_thr_validate(3)
  libthread
ntp_gettimex(3) 2.12  
argp_error(3)
argp_err_exit_status(3) (变量)
argp_failure(3)
argp_help(3)
argp_parse(3)
argp_program_bug_address(3)
argp_program_version(3)
argp_program_version_hook(3)
argp_state_help(3)
argp_usage(3)
  这里有一些信息页面。
posix_spawnattr_destroy(3)
posix_spawnattr_getflags(3)
posix_spawnattr_getpgroup(3)
posix_spawnattr_getschedparam(3)
posix_spawnattr_getschedpolicy(3)
posix_spawnattr_getsigdefault(3)
posix_spawnattr_getsigmask(3)
posix_spawnattr_init(3)
posix_spawnattr_setflags(3)
posix_spawnattr_setpgroup(3)
posix_spawnattr_setschedparam(3)
posix_spawnattr_setschedpolicy(3)
posix_spawnattr_setsigdefault(3)
posix_spawnattr_setsigmask(3)
posix_spawn_file_actions_addclose(3)
posix_spawn_file_actions_adddup2(3)
posix_spawn_file_actions_addopen(3)
posix_spawn_file_actions_destroy(3)
posix_spawn_file_actions_init(3)
   
posix_spawn_file_actions_addchdir_np(3)
posix_spawn_file_actions_addfchdir_np(3)
  glibc 2.29 中的新增功能。
C11 线程函数
thrd_detach()
thrd_exit()
thrd_join()
mtx_init()
mtx_lock()
mtx_timedlock()
mtx_trylock()
mtx_unlock()
mtx_destroy()
call_once()
cnd_broadcast()
cnd_destroy()
cnd_init()
cnd_signal()
cnd_timedwait()
cnd_wait()
tss_create()
tss_delete()
tss_get()
tss_set()
  glibc 2.28 中的新增功能。
各种宽字符函数
(括号中提及它们的传统等效项)
wscanf(3) (scanf(3))
fwscanf(3) (fscanf(3))
swscanf(3) (sscanf(3))
vfwscanf(3) (vfscanf(3))
vswscanf(3) (vsscanf(3))
wcschrnul(3) (strchrnul(3))
wcscoll(3) (strcoll(3))
wcsftime(3) (strftime(3))
wcstod(3) (strtod(3))
wcstof(3) (strtof(3))
wcstold(3) (strtold(3))
wcstol(3) (atol(3))
wcstol(3) (strtol(3))
wcstoul(3) (strtoul(3))
wcstoll(3) (strtoll(3))
wcstoull(3) (strtoull(3))
wcstoq(3) (atoq(3))
wcstoq(3) (strtoq(3))
wcstouq(3) (strtouq(3))
wcswcs(3) (strstr(3))
wcsxfrm(3) (strxfrm(3))
  在这些手册页编写完成后,将传统函数的手册页中的“另请参阅”条目添加到描述其宽字符等效项的手册页中。
wmemrtombs(3)    
swscanf(3)
vfwscanf(3)
vswscanf(3)
vwscanf(3)
wscanf(3)
   
fesetexcept()
fetestexceptflag()
fegetmode()
fesetmode()
2.25 来自 ISO/IEC TS 18661-1:2014 的新 libm 函数
roundeven()
roundevenf()
roundevenl()
fromfp()
fromfpf()
fromfpl()
ufromfp()
ufromfpf()
ufromfpl()
fromfpx()
fromfpxf()
fromfpxl()
ufromfpx()
ufromfpxf()
ufromfpxl()
2.25 来自 ISO/IEC TS 18661-1:2014 的新 libm(最接近整数)函数
llogb()
llogbf()
llogbl()
2.25 来自 ISO/IEC TS 18661-1:2014 的新 libm 函数
fmaxmag()
fmaxmagf()
fmaxmagl()
fminmag()
fminmagf()
fminmagl()
2.25 来自 ISO/IEC TS 18661-1:2014 的新 libm(最大-最小幅度)函数
iseqsig() 2.25 来自 ISO/IEC TS 18661-1:2014 的新 libm 比较宏
iscanonical()
issubnormal()
iszero()
2.25 来自 ISO/IEC TS 18661-1:2014 的新 libm 分类宏
totalorder()
totalorderf()
totalorderl()
totalordermag()
totalordermagf()
totalordermagl()
2.25 来自 ISO/IEC TS 18661-1:2014 的新 libm(总顺序)函数
canonicalize()
canonicalizef()
canonicalizel()
2.25 来自 ISO/IEC TS 18661-1:2014 的新 libm (canonicalize) 函数
getpayload()
getpayloadf()
getpayloadl()
setpayload()
setpayloadf()
setpayloadl()
setpayloadsig()
setpayloadsigf()
setpayloadsigl()
2.25 来自 ISO/IEC TS 18661-1:2014 的新 libm (Nan) 函数

POSIX 线程 API

最后但同样重要的是 POSIX 线程 API。请注意,glibc 提供了一组现有的、过时的页面,这些页面记录了旧的 LinuxThreads 实现。(这些页面是在允许重用的许可下编写的,因此它们包含的一些材料可以在新页面中使用。)

需要的是一组文档完整 API 的页面,描述 LinuxThreads 和 NPTL 与标准不同的细节。现有的 pthreads(7) 手册页提供了 Linux 上 Pthreads 实现的概述,旨在作为这些手册页的背景文档。

所需的手册页列表很长(相关函数可以分组在单个页面上);标有更多星号的页面可能最希望首先完成。

函数 自 glibc
版本
注释
pthread_barrierattr_destroy(3)    
pthread_barrierattr_getpshared(3)    
pthread_barrierattr_init(3)    
pthread_barrierattr_setpshared(3)    
pthread_barrier_destroy(3)    
pthread_barrier_init(3)    
pthread_barrier_wait(3)    
pthread_clockjoin_np(3) 2.31  
pthread_condattr_destroy(3)    
pthread_condattr_getclock(3)    
pthread_condattr_getpshared(3)    
pthread_condattr_init(3)    
pthread_condattr_setclock(3)    
pthread_condattr_setpshared(3)    
pthread_cond_broadcast(3)   **
pthread_cond_clockwait(3) 2.30  
pthread_cond_destroy(3)   **
pthread_cond_init(3)   **
pthread_cond_signal(3)   **
pthread_cond_timedwait(3)   **
pthread_cond_wait(3)   **
pthread_getconcurrency(3)    
pthread_getspecific(3), pthread_setspecific(3)   **
pthread_key_create(3)   **
pthread_key_delete(3)   **
pthread_mutexattr_destroy(3)    
pthread_mutexattr_gettype(3)    
pthread_mutexattr_init(3)    
pthread_mutexattr_settype(3)    
pthread_mutexattr_getprotocol(3) 2.4  
pthread_mutexattr_setprotocol(3) 2.4  
pthread_mutexattr_getprioceiling(3) 2.4  
pthread_mutexattr_setprioceiling(3) 2.4  
pthread_mutex_getprioceiling(3) 2.4  
pthread_mutex_setprioceiling(3) 2.4  
pthread_mutex_clocklock(3) 2.30  
pthread_mutex_destroy(3)   **
pthread_mutex_init(3)   **
pthread_mutex_lock(3)   **
pthread_mutex_timedlock(3)   **
pthread_mutex_trylock(3)   **
pthread_mutex_unlock(3)   **
pthread_rwlockattr_destroy(3)    
pthread_rwlockattr_getpshared(3)    
pthread_rwlockattr_init(3)    
pthread_rwlockattr_setpshared(3)    
pthread_rwlock_destroy(3)    
pthread_rwlock_clockrdlock(3) 2.30  
pthread_rwlock_clockwrlock(3) 2.30  
pthread_rwlock_init(3)    
pthread_rwlock_rdlock(3)    
pthread_rwlock_timedrdlock(3)    
pthread_rwlock_timedwrlock(3)    
pthread_rwlock_tryrdlock(3)    
pthread_rwlock_trywrlock(3)    
pthread_rwlock_unlock(3)    
pthread_rwlock_wrlock(3)    
sem_clockwait(3) 2.30