GB T 25656-2010 信息技术中文Linux应用编程界面(API)规范.pdf

上传人:roleaisle130 文档编号:257271 上传时间:2019-07-13 格式:PDF 页数:100 大小:2.86MB
下载 相关 举报
GB T 25656-2010 信息技术中文Linux应用编程界面(API)规范.pdf_第1页
第1页 / 共100页
GB T 25656-2010 信息技术中文Linux应用编程界面(API)规范.pdf_第2页
第2页 / 共100页
GB T 25656-2010 信息技术中文Linux应用编程界面(API)规范.pdf_第3页
第3页 / 共100页
GB T 25656-2010 信息技术中文Linux应用编程界面(API)规范.pdf_第4页
第4页 / 共100页
GB T 25656-2010 信息技术中文Linux应用编程界面(API)规范.pdf_第5页
第5页 / 共100页
亲,该文档总共100页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、ICS 35.060 L 74 G国和国国家标准+1: -、中华人民GB/T 25656-2Q10 信息技术中文Linux应用编程界面(API)规范Information technology一Specification for Chinese Linux programming interface CAPD 2010-12-01发布2011-04-01实施飞数码防伪中华人民共和国国家质量监督检验检瘦总局中国国家标准化管理委员会发布GB/T 25656一2010自次前言.皿1 范围-2 规范性引用文件3 术语和定义4 Linux标准基础规范4.1 基本库4. 2 实用工具库164. 3 命令和

2、实用工具.4.4 执行环境204.5 系统初始化244.6 用户和组295 输入法接口.30 5.1 体系结构315.2 通用输入法编程界面规范31附录A(规范性附录)输入法协议中的键盘编码定义MA.1 键盘修饰键掩码定义52A.2 键盘编码定义52GB/T 25656-2010 目。昌本标准的附录A是规范性附录。本标准由中华人民共和国工业和信息化部提出。本标准由全国信息技术标准化技术委员会CSAC/TC28)归口。本标准主要起草单位:上海中标软件有限公司、中国电子技术标准化研究所、中国科学院软件研究所、北京中科红旗软件技术有限公司、新华科技(南京)系统有限公司、北京络威尔软件有限公司、太阳计

3、算机系统(中国)有限公司、北京即时俊业软件有限公司、红帽软件(北京)有限公司、信息产业部软件与集成电路促进中心、北京共创开源软件有限公司。本标准主要起草人:周明德、高林、张东、谢谦、李祥凯、苏哲、王自强、郑忠源、郭峰、苏建中、向剑岭、张海峰、董清富、黄建中、刘俊贤、霍东灵、邵宇、朱兴雄、杨少鹏。/ 而且信息技术中文Linux应用编程界面(API)规范GB/T 25656-2010 1 范围本标准规定了中文Linux操作系统为应用程序时提供的必要接口和运行环境,包括基本库、实用程序库、命令和实用程序、执行环境以及国际化和本地化函数等,以支持应用程序源码级的可移植性。本标准适用于应用程序开发者和L

4、inux操作系统的实现者。2 规范性引用文件下列文件中的条款通过本标准的引用而成为本标准的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本标准。ISO/IEC 23360-1: 2006 Linux标准基础(LSB)核心规范3.1版本第1部分:总规范ISO/IEC 9945-2: 2003 信息技术可移植的操作系统接口(POSIX)第2部分:系统接口Filesystem Hierarchy Standard (FHS) 2. 3 ISO/IE

5、C 9899: 1999 信息技术程序设计语言C3 术语和定义3.1 3.2 3.3 下列术语和定义适用于本标准。Shell脚本Shell script 由解释程序(例如,awk)读的文件。Shell脚本的第一行包括对它的二进制解辑程序的引用。字符character 一个或多个字节序列,代表单个图形符号或控制码。注:此术语对应于ISO/IEC9899: 1999标准术语multibytecharacter (多字节字符),单字节字符是多字节字符的特殊情况,此处字符(character)不必与存储空间相关,当讨论存储空间时用字节。字节byte 数据存储的一个独立能寻址的单元,它等于或大于一个八位

6、位组,用于存储一字符或字符的一部分。一个字节是由连续的位序列组成,它的位数是实现相关的。最小有效位称为低序位,最高有效位称为高序位。3.4 注:字节的定义是有意识区别于在某些国际标准中字节的定义,在那些标准中字节用作八位位组(始终为八位)的同义字。在基于ISO/IEC9945-2: 2003的系统中,一个字节可以大于八位,所以,它可以是大的数据对象的完整的一部分,甚至于不能被八位除(例如-36-位字,它包含4个9位字节)。字符集character set 不同字符的一个有限集,用于表示、组织或控制数据。GB/T 25656-2010 3.5 编码字符集coded character set 一

7、个有明确规则的集,它建立字符集和在集中的每个宇符与它的位表示有一对一的关系。3.6 语境locale 用户环境的子集定义,它依赖于语言和文化约定。3. 7 当地习惯local customs 地理区域或版图对于某些事项例如日期、时间和货币格式的约定。3.8 本地化localization 计算机系统中建立专用于具体的国家语言、当地习惯和编码字符集操作信息的过程。3. 9 输入方法引擎input method engine 输入方法构造块的部件戒模块,它从一个或多个事件4串序列构造串,实现语言或脚本特定的逻辑。它能独立于窗口系统、图形用户界面或可视化外观。4 Linux标准基础规范4. 1 基本

8、库4. 1. 1 libc接口在libc中提供了以下函数接口和数据撞口Q4. 1. 1. 1 RPC(见表1)表1RPC函数接口authnone create 1 clnt_ crea te clnt_pcreat凹rrorClnt_perror dnt_spcreateerror clnt_spcrrno Key _ decryptsession prn.a p getport pmap_set Svc_getreqset svc_regJstCr svc run svcerr auth svcertdecQde svcerr_noproc svcerr_progvers svcerr_sy

9、stemerr svcerr weakauth svcudp_create xdr_accepted_reply xdr_array Xdr_bytes xdr callhdr xdr_callmsg Xdr double xdr enum xdr float Xdr int xdr_long xdr_opaque Xdr_pointer xdr reference xdr_rejected_reply Xdr short xdr_string xdr u char Xdr_u_long xdr u short xdr union Xdr void xdr_ wrapstring xdrmem

10、 create xdrrec eof 2 clnt_perrno 巳lnt_sp,rrorpmap_unset svc_sendreply svcerr_noprog svctcp_create xdr bool xdr char xdr free xdr_opaque_auth xdr_replymsg xdr u int xdr vector xdrrec create GB/T 25656-2010 4. 1. 1. 2 系统调用(见表2)表2系统调用函数接口fxstat _ getpgid lxstat xmknod xstat access acct alarm Brk chdir

11、chmod chown Chroot clock close closedir Creat dup dup主execl Execle e吨eclp/ xlt execv execve Execvp fchdir fchmod Fchown fctl fdatasync flock Fork 气、f-卢上士15-J? getv川1川tgctcgid ftime Ftruncate geteuid Getgid 空些upsi gctitimcr getloadavg l g肝etpage岱S旧I g萨阴e创1印川1pgl阳附阳巨idl Get即咐t甲tpp凹pI g肝阴酌町e创即巾t印巾r口川川川

12、川l川川O川川川n川l口1厅y IG臼et由ttsidgctpgrp getpid geirlimit gelrusage IUn l Ioctl I kil1 I Link卢IlockfMkfifo k m mprotect msy口Cmtlnlork munlockall Munmap nanoslep nlce open 一一一一一一Opendir J川(、onfpausc 一一二一一一一一十一一一一I read 1 readdir plpe Poll readdir r Readlink Sbrk readv rename /Achd get prIorlty-max sched_ge

13、t_pority _min 、,sehed_rr _get_interval sched_5etparam s牛e二I一e一p一t一-setcontext setgid 、乌etlt1mersetpnonty setregid setrlimit64 setsid statvfs stl口lesysconf tlme ulimit umask . utlme utlmes wait4 waitpid rmdir sched_getparam sched_getscheduler sched setscheduler sched_yield setegid seteuid setpgid set

14、pgrp setreuid setrlimit setuid sleep symlink sync tt口lestruncate uname k n l l n u vfork walt wnte wntev 3 GB/T 25656-2010 4. 1. 1. 3 标准I/O(见表3和表们表3标准1/0函数接口10 feof IO_getc _IO_putc _IO_puts asprintf clearerr ctermid fclose fdopen feof ferror fflush fflush unlocked fgetc fgetpos fgets fgetwc_ unlock

15、ed fileno f1ockfi1 e fopen fprintf fputc fputs fread freopen fscanf fseek fseeko fsetpos ftell ftello fwrite getc getc_ unlocked getchar getchar_ unlocked getw pclose popen printf putc putc_unlocked putchar putchar_ unlocked puts putw remove rewind rewinddir scanf seekdir setbuf setbuffer setvbuf sn

16、printf sprintf sscanf telldir tempnam ungetc vasprintf vdprintf vfprintf vprintf vsnprintf vsprintf 表4标准1/0数据接口V且r E -G +L Qd | I stdin t u 0 1G +t ed -4. 1. 1. 4 信号处理(见表5和表6)表5信号处理函数接口li bc _ current _ sigrtmax 一libc _ curren t _ sigrtmin 一_slgsetjmp _ sysv _signal bsd_signal psignal ralse slgactlO

17、n sigaddset sigaltstack sigandset sigdelset sgemptyset sigfil1set sighold slglgnore slgmterrupt slglsemptyset sigismember siglongjmp signal slgorset slgpause sigpending sigprocmask slgqueue sigrelse slgreturn slgset sigsuspend sigtimedwait slgwalt sigwaitinfo 表6信号处理数据接口|-叭S地list4 GB/T 25656-2010 4.

18、1. 1. 5 本地化函数(见表7和表8)表7本地化函数函数接口bind textdomain codeset bindtextdomain catclose catgets catopen dcgettext dcngettext dgettext dngettext duplocaleCGLIBC一2.3) freelocaleCGLIBC 2.3) gettext lconv iconv close lconv_open localeconv newlocaleCGLIBC 2.3) ngettext nl_langinfo setlocale textdomain uselocaleC

19、GLIBC 2.3) 表8本地化函数数据接口|_nl_msg_cat川r4. 1. 1. 6 套接字接口(见表9)表9套接字函数接口h errno location accept bind bindresvport connect gethostid gethostname getpeername getsockname getsockopt if freenameindex if indextoname if nameindex if nametoindex listen recv recvfrom recvmsg send sendmsg sendto setsockopt shutdow

20、n sockatmark socket socketpair 4. 1. 1. 7 宽字符(见表10)表10宽字符函数接口wcstod internal wcstof internal wcstol internal wcstold internal wcstoul internal btowc fgetwc fgetws fputwc fputws fwide fwprintf fwscanf getwc getwchar mblen mbrlen mbrtowc mbsinit mbsnrtowcs mbsrtowcs mbstowcs mbtowc putwc putwchar swpr

21、intf swscanf towctrans / towlower towupper ungetwc vfwprintf vfwscanf vswprintf vswscanf vwprintf vwscanf wcpcpy wcpncpy wcrtomb wcscasecmp wcscat wcschr wcscmp wcscoll wcscpy wcscspn wcsdup wcsftime wcslen wcsncasecmp wcsncat wcsncmp wcsncpy wcsnlen wcsnrtombs wcspbrk wcsrchr wcsrtombs wcsspn wcsst

22、r wcstod wcstof wcstolmax 5 GB/T 25656-2010 表10(续)wcstok wcstol wcstold wcstoll wcstombs wcstoq wcstoul wcstoull wcstou口laxwcstouq wcswcs wcswidth wcsxfrm wctob wctomb wctrans wctype wcwidth wmemchr wmemcmp wmemcpy wmemmove 研lme红lsetwprintf wscanf 、表门字符串函数函数接口_ mempcpy rawmemchr 一_ stpcpy strdup str

23、tod internal strtof irtternal strtok r strtol internal 一一strtold internal strtoll intC rnal strtoul internal s trtull in ternal 一一bcmp bcopy bzero ffs index memccpy memchr memcmp memcpy mem口lOVmernrchr memset rindex stpcpy stpncpy strcasecmp strcasestr strcat strchr strcmp 卜一-一一一一strcoll strcpy strc

24、spn strclup strerror strerror r strfm6n srdtime strlen strncasecmp strncat 吕trncmpstrncpy strndup 日lrnlc口strpbrk strptJme strrchr strsep sttsignal strspn strstr strtof / strtol日laxstrtok strtok r strtold strtoll strtoq strtoull strtou口laxstrtouq strxfrm swab 4. 1. 1.9 IPC函数(见表12)表12IPC函数函数接口ftok I m

25、sgct! msgget I msgrcv msgsnd semctl semget I semop shmat shmct! shmdt 4. 1. 1.10 正则表达式(见表13)表13正则表达式函数接口|regc叫|附rro|即xecl啡ee6 GB/T 25656一20104. 1. 1. 11 字符类型函数(见表14)表14字符类型函数函数接口ctype _ tolower loc 一ctype_ toupper _ loc _ ctype_b_loc(GLIBC_2. 3) _ ctype_get_mb_cur_max CGLIBC_2.3) CGLIBC 2.3) tolower

26、 _toupper isalnum isalpha lsascll iscntrl isdigit isgraph islower lspnnt l!punct lsspace lsupper iswalnuJTt iswalpha iswblank iswcntrl lSW全typeiswdigit iswgraph iswlower 气/15/wprlnt lswpunct lswspace lswupper 这如叫gitisxdigit toascll tolower 、t(upper一一一一、/ L一一- 4. 1. 1. 12 时间操作t见表15和表16)表15时间操作函数接口adj

27、time / Asctime asclJ me r Ctl盯lectlme r Difftime gmt!fiW gmtime旬rlocaltime localtime r tnktiml tzset ualarm 表16时间操作数据接口一daylighttlmezone tznatne daylight tlmezone tzna口le4.1.1.13 终端接口函数(见表17表17终端接口函数函数接口cfgetispeed cfgets peed dmakeraw cfsetispeed cfsetospeed 、dsetspeed tcdrain tcflow tcflush M/E/Et

28、a ttr tcgetpgrp tcgetsid / tcsendbreak tc s ttEttr tcsetpgrp 4. 1. 1. 14 系统数据库(见表恬)/ 表18系统数据库函数接口endgrent endprotoent endpwent endservent endutent endutxent getgrent getgrgid getgrgid_r getgrnam getgrnam_r getgrouplist gethostbyaddr gethostbyname getprotobyname getprotobynumber getprotoent getpwent

29、getpwnam getpwnam_r getpwuid getpwuid_r getservbyname getservbyport getservent getutent getutent_r getutxent getutxid getutxline pututxline setgrent setgroups setprotoent setpwent setservent setutent setutxent utmpname 7 GB/T 25656-2010 4. 1. 1.15 语言支持(见表19)表19语言支持函数接口libc start main register_atfork

30、CGLIBC_2. 3. 2) 4. 1. 1.16 大文件支持(见表20)表20大文件支持函数接口fxstat64 lxstat64 xstat64 creat64 fgetpos64 fopen64 freopen64 fseeko64 fsetpos64 fstatvfs64 ftello64 ftruncate64 ftw64 getrlimit64 lockf64 mkstemp64 mmap64 nftw64 readdir64 statvfs64 tmpfile64 truncate64 4.1. 1. 17 标准库(见表21和表22)表21标准库函数接口Exit assert

31、fail cxa atexlt errno location fpending getpageslze isinf isinff isinfl lsnan isnanf isnanl _ sysconf eXlt 一longjmpse勾mpa641 abort abs atof atol atol atoll basename bsearch calloc closelog confstr cuserid daemon dirname div drand48 ecvt erand48 err error errx fcvt fmtmsg fnmatch fpathconf free freea

32、ddrinfo ftrylockfile ftw funlockfile gal_strerror gcvt getaddrinfo getcwd getdate getenv getlogin getlogin_r getnameinfo getopt getopt_long getopt_long_only getsubopt gettimeofday glob glob64 globfree globfree64 grantpt hcreate hdestroy hsearch htonl htons imaxabs imaxdiv inet addr met ntoa met_ntop

33、 met_pton lmtstate msque lsatty isblank jrand48 164a labs lcong48 ldiv lfind llabs lldiv longjmp lrand48 lsearch makecontext malloc 口lemmemmkstemp 8 GB/T 25656-2010 表21(续)mktemp mrand48 nftw nrand48 ntohl ntohs openlog perror posix_memalign pOslx_openpt ptsname putenv qsort rand rand r random reallo

34、c realpath remque seed48 setenv sethostname setlogmask setstate srand srand48 srandom strtod strtol strtoul swapcontext syslog syste口1tdelete tfind tmpfile tmpnam tsearch ttyname ttyname_r twalk unlockpt unsetenv usleep verrx vfscanf vscanf vsscanf vsyslog warn warnx wordexp wordfree 一表22标准库数据接口envl

35、ron envlron sys_errlist envlron getdate_err optarg opterr optind optopt 4. 1. 2 libc的数据定义本条定义与libc中接口相关联的全局标识符及其取值,这些定义按照相应的系统头文件分组组织。这些约定仅用于为读者提供方便,并不意味着这些头文件或内容必须按本标准列出的形式存在。本标准采用ISO/IEC9899: 1999作为参考的编程语言,数据定义按照ISO/IEC9899: 1999格式进行规定。在此处使用C语言仅仅是为了方便,这些用C语言描述的数据对象并不排除被其他编程语言所使用。本条定义了以下头文件:arpa/in

36、et. h assert. h ctype. h dirent. h err. h errno. h fcntl. h fmtmsg. h fnmatch. h ftw. h getopt. h glob. h grp. h / iconv. h 9 GB/T 25656-2010 inttypes. h langinfo. h libgen. h libintl. h limits. h locale. h monetary. h net/if. h netdb. h netinet/in. h netinet/ip. h netinet/ tcp. h netinet/ udp. h nl

37、_types. h poll. h pty. h pwd. h regex. h rpc/auth. h rpc/clnt. h rpc/pmap_clnt. h rpc/rpc_msg. h rpc/svc. h rpc/types. h rpc/xdr. h sched. h search. h setjmp. h signal. h stddef. h stdio. h stdlib. h string. h sys/file. h sys/ioctl. h sys/ipc. h sys/mman. h sys/msg. h sys/ param. h sys/poll. h sys/r

38、esource. h sys/sem. h sys/shm. h 10 sys/ socket. h sys/ stat. h sys/ statvfs. h sys/time. h sys/timeb. h sys/times. h sys/ types. h sys/uio. h sys/un. h sys/ utsname. h sys/wait. h syslog. h termios. h time. h ucontext. h ulimit. h unistd. h utime. h utmp. h utmpx. h wchar. h wctype. h wordexp. h 头文

39、件的定义详见ISO/IEC23360-1的基本库部分。4.1.3 libc的接口定义G/T 25656-2010 本标准没有对lib的接口进行扩充,4.1. 1中表述的所有函数的详细描述见ISO/IEC23360-1的基本库部分。4. 1. 4 libm接口libm库中规定了数学计算的接口,见表23和表24。表23数学计算函数接口finite finitef finitel fpclassify _ fpclassifyf _ signbt signbitf acos acosf acosh acoshf acoshl acosl asm asinf asinh asinhf asinhl a

40、sinl atan atan2 atan2f atan21 atanf atanh atanhf atanhl atanl cabs cabsf cabsl cacos cacosf cacosh cacoshf cacoshl cacosl carg cargf cargl casm casinf casinh casinhf 11 -GB/T 25656-2010 表23(续)casinhl casinl catan catanf catanh catanhf catanhl catanl cbrt cbrtf cbrtl ccos ccosf ccosh ccoshf ccoshl cc

41、osl ceil ceilf ceill cexp cexpf cexpl clmag cimagf cimagl clog clog10 clog10f clog101 clogf clogl conJ conjf conjl copyslgn copysignf copysignl cos cosf cosh coshf coshl cosl cpow cpowf cpowl cproJ cprojf cprojl creal crealf creall csm csinf csinh csinhf csinhl csinl csqrt csqrtf csqrtl ctan ctanf c

42、tanh ctanhf ctanhl ctanl dremf dreml erf erfc erfcf erfcl erff erfl exp exp2 exp2f expf expl expm1 expmlf expmll fabs fabsf fabsl fdim fdimf fdiml feclearexcept fegetenv fegetexceptflag fegetround feholdexcept feraiseexcept fesetenv fesetexceptflag fesetround fetestexcept feupdateenv finite finitef

43、finitel floor floorf floorl fma fmaf fmal fmax fmaxf fmaxl fmin fminf fminl fmod fmodf fmodl frexp frexpf frexpl gamma gammaf gammal hypot hypotf hypotl I ilogb ilogbf ilogbl jO jOf jOl j1 jlf jll Jn jnf jnl ldexp ldexpf ldexpl 19amma 12 G/T 25656-2010 表23(续)Igamma_r Igammaf Igammaf_r Igammal Igamma

44、l_r llrint llrintf llrintl llround llroundf llroundl log log10 log10f log101 loglp loglpf loglpl log2 log2f log21 10gb logbf logbl logf logl Irint Irintf Irintl lround Iroundf Iroundl matherr modf modff modfl nan nanf nanl nearbyint nearbyintf nearbyintl nextafter nextafterf nextafterl nexttoward ne

45、xttowardf nexttowardl pow powl0 powl0f powlOI powf powl remainder remainderf remainderl remquo remquof remquol nnt rintf rintl round roundf roundl scalb scalbf scalbl scalbln scalblnf scalblnl scalbn scalbnf scalbnl significand significandf significandl sm smcos sincosf sincosl sinf sinh sinhf sinhl

46、 sinl sqrt sqrtf sqrtl tan tanf tanh tanhf tanhl tanl tgamma tgammaf tgammal trunc truncf truncl yO yOf yOI y1 ylf yll yn ynf ynl 二一一m a g n gb eo 表24数学计算数据接口4. 1.5 Libm的数据定义本条定义了以下头文件:complex. h fenv. h math. h 头文件的定义详见ISO/IEC23360-1的基本库部分。13 GB/T 25656-2010 4.1.6 libm的接口定义本标准没有对libm的接口进行扩充,4.1.4中表

47、述的所有函数的详细描述见ISO/IEC23360-1的基本库部分。4. 1. 7 libpthread接口libpthread规定了以下的接口。4. 1. 7. 1 实时线程(见表25)表25实时线程函数接口pthread _ attr _ getinher- pthread_attr_getsched poli-pthread _ attr setinher itsched pthread _ a ttr _getscope itsched cy pthread_attr_setschedpolicy pthread_ attr_setscope pthread_getschc-dparam

48、 pthread_setschedparam pthread_ setschedprio (GLIBC ,二2. 3. 4) 16) (int) (COLOR 8) &OxOO ff) (int) (COLOR&OxOOOOff) 5. 2. 5. 6 lME_String带显示属性的字符串数据结构定义ztypedef struct一IME_String r a h p 今EtwQU nt mMn El * stnng; nr_attributes; IME Attribute养attributes; IME_String 成员zstring 字符串内容,使用IME_lnputMethod数据结构中定义的编码;nr_attributes 显示属性的个数;at

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 标准规范 > 国家标准

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1