亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 0934-0936.html

?? linux-unix130.linux.and.unix.ebooks130 linux and unix ebookslinuxLearning Linux - Collection of 12 E
?? HTML
字號:
<HTML>

<HEAD>

<TITLE>Linux Complete Command Reference:Library Functions:EarthWeb Inc.-</TITLE>

</HEAD>

<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
<SCRIPT>
<!--
function displayWindow(url, width, height) {
        var Win = window.open(url,"displayWindow",'width=' + width +
',height=' + height + ',resizable=1,scrollbars=yes');
}
//-->
</SCRIPT>
</HEAD>

 -->




<!-- ISBN=0672311046 //-->

<!-- TITLE=Linux Complete Command Reference//-->

<!-- AUTHOR=Red Hat//-->

<!-- PUBLISHER=Macmillan Computer Publishing//-->

<!-- IMPRINT=Sams//-->

<!-- CHAPTER=03 //-->

<!-- PAGES=0891-1062 //-->

<!-- UNASSIGNED1 //-->

<!-- UNASSIGNED2 //-->



<P><CENTER>

<a href="0930-0933.html">Previous</A> | <a href="../ewtoc.html">Table of Contents</A> | <a href="0937-0938.html">Next</A></CENTER></P>







<A NAME="PAGENUM-934"><P>Page 934</P></A>



<!-- CODE SNIP //-->

<PRE>

        gid_t    gr_gid;      /* group id */

        char     **gr_mem;    /* group members */

};

</PRE>

<!-- END CODE SNIP //-->



<P><B>RETURN VALUE

</P></B>



<P>The getgrnam()and getgrgid() functions return the group information structure, or

NULL if the matching entry is not found or an error occurs.</P>



<P><B>ERRORS

</P></B>



<TABLE>



<TR><TD>

ENOMEM

</TD><TD>

Insufficient memory to allocate group information structure.

</TD></TR></TABLE>



<P><B>

FILES

</P></B>



<P>/etc/group group database file</P>



<P><B>CONFORMS TO

</P></B>



<P>SVID 3, POSIX, BSD 4.3</P>



<P></B>SEE ALSO

</P></B>



<P>fgetgrent(3), getgrent(3), setgrent(3),

endgrent(3)</P>



<P>GNU, 4 April 1993</P>



<H3><A NAME="ch03_ 81">

getlogin, cuserid

</A></H3>



<P>getlogin, cuserid&#151;Get username</P>



<P><B>SYNOPSIS

</P></B>



<!-- CODE SNIP //-->

<PRE>

#include &lt;unistd.h&gt;

char * getlogin ( void );

#include &lt;stdio.h&gt;

char * cuserid ( char *string );

</PRE>

<!-- END CODE SNIP //-->



<P><B>DESCRIPTION

</P></B>



<P>getlogin returns a pointer to a string containing the name of the user logged in on the controlling terminal of the process,

or a null pointer if this information cannot be determined. The string is statically allocated and might be overwritten

on subsequent calls to this function or to cuserid.</P>



<P>cuserid returns a pointer to a string containing a username associated with the effective user ID of the process. If

string is not a null pointer, it should be an array that can hold at least

L_cuserid characters; the string is returned in this

array. Otherwise, a pointer to a string in a static area is returned. This string is statically allocated and might be overwritten

on subsequent calls to this function or to

getlogin.</P>



<P>The macro L_cuserid is an integer constant that indicates how long an array you might need to store a username.

L_cuserid is declared in stdio.h.</P>



<P>These functions let your program positively identify the user who is running

(cuserid) or the user who logged in this session

(getlogin). (These can differ when setuid programs are involved.) The user cannot do anything to fool these functions.</P>



<P>For most purposes, it is more useful to use the environment variable

LOGNAME to find out who the user is. This is more

flexible precisely because the user can set

LOGNAME arbitrarily.</P>



<P><B>ERRORS

</P></B>



<TABLE>



<TR><TD>

ENOMEM

</TD><TD>

Insufficient memory to allocate passwd structure.

</TD></TR></TABLE>





<A NAME="PAGENUM-935"><P>Page 935</P></A>







<P>getmntent, setmntent, addmntent, endmntent,

hasmntopt</P>



<P><B>

FILES

</P></B>



<P>The /etc/passwd password database file

/etc/utmp (or /var/adm/utmp, or wherever your utmp file lives these days&#151;the

proper location depends on your libc version)</P>



<P><B>CONFORMS TO

</P></B>



<P>POSIX.1. System V has a cuserid function that uses the real user ID rather than the effective user ID. The

cuserid function was included in the 1988 version of POSIX, but was removed from the 1990 version.</P>



<P><B>BUGS

</P></B>



<P>Unfortunately, it is often rather easy to fool

getlogin(). Sometimes it does not work at all, because some program messed

up the utmp file. Often, it gives only the first eight characters of the login name. The user currently logged in on the

controlling tty of your program need not be the user who started it.</P>



<P>Nobody knows precisely what cuserid() does; so</P>



<UL>

<LI>          Avoid it in portable programs

<LI>          Avoid it altogether

<LI>          Use getpwuid (geteuid()) instead, if that is what you meant.

</UL>



<P>Simply, do not use cuserid().</P>



<P></B>SEE ALSO

</P></B>



<P>geteuid(2), getuid(2)</P>



<P>Linux 1.2.13, 3 September 1995</P>



<H3><A NAME="ch03_ 82">

getmntent, setmntent, addmntent, endmntent, hasmntopt

</A></H3>



<P>getmntent, setmntent, addmntent, endmntent,

hasmntopt&#151;Get filesystem descriptor file entry</P>



<P><B>SYNOPSIS

</P></B>



<!-- CODE //-->

<PRE>

#include &lt;stdio.h&gt;

#include &lt;mntent.h&gt;

FILE *setmntent(const char *filep, const char *type);

struct mntent *getmntent(FILE *filep);

int addmntent(FILE *filep, const struct mntent *mnt);

int endmntent(FILE *filep);

char *hasmntopt(const struct mntent *mnt, const char *opt);

</PRE>

<!-- END CODE //-->



<P><B>DESCRIPTION

</P></B>



<P>These routines are used to access the filesystem description file

/etc/fstab and the mounted filesystem description file

/etc/mstab.</P>



<P>The setmntent() function opens the filesystem description file

filep and returns a file pointer that can be used

by getmntent(). The argument type is the type of access required and can take the same values as the

mode argument of fopen(3).</P>



<P>The getmntent() function reads the next line from the filesystem description file

filep and returns a pointer to a structure containing the broken-out fields from a line in the file. The pointer points to a static area of memory that is overwritten

by subsequent calls to getmntent().</P>



<P>The addmntent() function adds the mntent structure

mnt to the end of the open file filep.</P>



<P>The endmntent() function closes the filesystem description file

filep.</P>



<P>The hasmntopt() function scans the mnt_opts field of the

mntent structure mnt for a substring that matches

opt. (See &lt;mntent.h&gt; for valid mount options.)</P>





<A NAME="PAGENUM-936"><P>Page 936</P></A>





<P>The mntent structure is defined in

&lt;mntent.h&gt; as follows:</P>



<!-- CODE //-->

<PRE>

struct mntent {

        char     *mnt_fsname;     /* name of mounted filesystem */

        char     *mnt_dir;       /* filesystem path prefix */

        char     *mnt_type;      /* mount type (see mntent.h) */

        char     *mnt_opts;      /* mount options (see mntent.h) */

        int      mnt_freq;       /* dump frequency in days */

        int      mnt_passno;     /* pass number on parallel fsck */

};

</PRE>

<!-- END CODE //-->



<P><B>RETURN VALUE

</P></B>



<P>The getmntent() function returns a pointer to the

mntent structure or NULL on failure.</P>



<P>The addmntent() function returns 0 on success and

1 on failure.</P>



<P>The endmntent() functions always returns 1.</P>



<P>The hasmntopt() function returns the address of the substring if a match is found, and

NULL otherwise.</P>



<P><B>

FILES

</P></B>





<P>/etc/fstab filesystem description file</P>



<P>/etc/mtab mounted filesystem description file</P>



<P><B>CONFORMS TO

</P></B>



<P>BSD 4.3</P>



<P></B>SEE ALSO

</P></B>



<P>fopen(3), fstab(5)</P>



<P>27 June 1993</P>



<H3><A NAME="ch03_ 83">

getnetent, getnetbyaddr, getnetbyname, setnetent, endnetent

</A></H3>



<P>getnetent, getnetbyaddr, getnetbyname,

setnetent, endnetent&#151;Get network entry</P>



<P><B>

SYNTAX

</P></B>



<!-- CODE //-->

<PRE>

#include &lt;netdb.h&gt;

struct netent *getnetent()

struct netent *getnetbyname(name)

char *name;

struct netent *getnetbyaddr(net, type)

long net; int type;

void setnetent(stayopen)

int stayopen;

void endnetent()

</PRE>

<!-- END CODE //-->



<P><B>DESCRIPTION

</P></B>



<P>The getnetent, getnetbyname, and getnetbyaddr subroutines each return a pointer to an object with the following

structure, containing the broken-out fields of a line in the network database,

/etc/networks:</P>



<!-- CODE //-->

<PRE>

struct netent {

        char     *n_name;      /* official name of net */

        char     **n_aliases;  /* alias list */

        int      n_addrtype;   /* net number type */

        long     n_net;        /* net number */

};

</PRE>

<!-- END CODE //-->









<P><CENTER>

<a href="0930-0933.html">Previous</A> | <a href="../ewtoc.html">Table of Contents</A> | <a href="0937-0938.html">Next</A></CENTER></P>







</td>
</tr>
</table>

<!-- begin footer information -->







</body></html>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美疯狂做受xxxx富婆| 亚洲一级电影视频| 日本人妖一区二区| 日韩精品一区国产麻豆| 国产一区美女在线| 国产精品女同一区二区三区| 成人av动漫在线| 亚洲综合免费观看高清在线观看| 欧美在线播放高清精品| 日本最新不卡在线| 日本一区二区三区高清不卡| www.日韩大片| 日韩电影免费一区| 国产欧美日韩精品a在线观看| 成人a区在线观看| 亚洲丶国产丶欧美一区二区三区| 在线播放日韩导航| 成人免费福利片| 奇米色一区二区三区四区| 国产喷白浆一区二区三区| 91国产免费看| 国产成人精品午夜视频免费| 一区二区在线电影| 久久婷婷久久一区二区三区| 色国产综合视频| 国产成人av在线影院| 日韩精品国产精品| 亚洲一二三四区不卡| 国产精品久久久久久久久久免费看 | 天堂午夜影视日韩欧美一区二区| 国产蜜臀av在线一区二区三区| 欧美日韩情趣电影| 欧美在线不卡视频| 色综合天天综合狠狠| 国产呦萝稀缺另类资源| 亚洲国产裸拍裸体视频在线观看乱了 | 中文字幕在线观看一区| 精品国产乱码久久久久久闺蜜| 91精品1区2区| 91亚洲精华国产精华精华液| 国产一区二区导航在线播放| 日韩精品一二三| 亚洲成人自拍网| 日韩电影一二三区| 蜜臀精品久久久久久蜜臀| 五月天一区二区| 日本不卡中文字幕| 久久精品国产免费| 91丨九色丨黑人外教| 国产呦精品一区二区三区网站| 黄网站免费久久| 国产91对白在线观看九色| 国产高清精品网站| 99麻豆久久久国产精品免费| 色老综合老女人久久久| 欧美亚州韩日在线看免费版国语版| 日本道在线观看一区二区| 欧美一级片免费看| 日韩美女主播在线视频一区二区三区| 91精品国产福利| 国产精品婷婷午夜在线观看| 成人免费在线观看入口| 亚州成人在线电影| 国产a视频精品免费观看| 99久久精品国产一区| 欧美三区在线视频| 国产三区在线成人av| 成人的网站免费观看| 欧美精品色一区二区三区| wwwwww.欧美系列| 亚洲综合视频网| 国产一区二区视频在线| 色一区在线观看| 国产欧美日韩在线观看| 青青草国产精品亚洲专区无| 欧美一a一片一级一片| 91精品国产福利| 一区二区三区精密机械公司| 国产伦精品一区二区三区免费迷| 欧美日韩精品一区二区三区四区| 久久你懂得1024| 午夜精品成人在线| 91欧美一区二区| 日韩美女啊v在线免费观看| 国产精品综合av一区二区国产馆| 欧美精品亚洲二区| 午夜影院久久久| 欧美色综合久久| 一区二区三区四区不卡视频| 国产福利91精品| 国产午夜精品美女毛片视频| 国产一区免费电影| 国产日韩一级二级三级| 国产乱码精品一区二区三区忘忧草| 欧美日韩三级一区二区| 亚洲成人激情社区| 制服丝袜在线91| 久久99精品国产.久久久久| 欧美电影免费提供在线观看| 免费不卡在线视频| 精品国产三级电影在线观看| 精品中文字幕一区二区| 久久久久久久久蜜桃| 国产99久久久国产精品免费看| 国产精品理论在线观看| 91天堂素人约啪| 天堂影院一区二区| 久久人人爽爽爽人久久久| 国产91精品免费| 成人午夜看片网址| 亚洲精品成人a在线观看| 欧美高清hd18日本| 粉嫩av一区二区三区粉嫩| 一区二区三区精密机械公司| 日本不卡视频一二三区| 日韩一区二区在线观看视频| 日本韩国欧美国产| 色综合天天综合| 欧美性做爰猛烈叫床潮| 欧美性生活影院| 国产美女精品在线| 一二三区精品视频| 日本一区二区成人在线| 欧美性大战久久久久久久蜜臀| 美女网站在线免费欧美精品| 欧美国产一区在线| 日韩一区二区三区观看| caoporen国产精品视频| 奇米亚洲午夜久久精品| 国产精品久久午夜| 精品欧美乱码久久久久久| 欧美在线不卡一区| av男人天堂一区| 国产成人精品免费网站| 成人爱爱电影网址| 久久99精品久久久| 黄色成人免费在线| 天天影视色香欲综合网老头| 亚洲午夜羞羞片| 香港成人在线视频| 视频一区视频二区中文| 久久精品国产999大香线蕉| 毛片不卡一区二区| 国产乱码精品1区2区3区| 国内久久婷婷综合| 国产精品123| 成人99免费视频| 欧美亚洲尤物久久| 欧美日韩精品专区| 欧美一级在线观看| 中文字幕不卡三区| 亚洲人成网站色在线观看| 亚洲黄色小说网站| 免费高清在线视频一区·| 成人精品免费视频| 911国产精品| 亚洲欧洲国产日韩| 国产在线视频精品一区| 91一区二区三区在线观看| 成人免费视频免费观看| 国产精品一线二线三线| 欧美精品一二三| 亚洲高清免费观看| 欧美午夜精品电影| 一区二区三区中文字幕| 日本韩国欧美一区| 亚洲男人天堂av| www.亚洲激情.com| 国产精品美女久久久久aⅴ国产馆| 亚洲丰满少妇videoshd| 色综合久久天天| 久久免费的精品国产v∧| 久久99精品久久久久久国产越南| 色欧美日韩亚洲| 亚洲欧美综合色| 91在线观看高清| 国产精品久久久久久久久免费樱桃| 免费在线观看日韩欧美| 欧美写真视频网站| 亚洲一区二区三区影院| 粉嫩在线一区二区三区视频| 精品国产伦一区二区三区观看方式| 一区二区高清视频在线观看| 色中色一区二区| 亚洲狠狠爱一区二区三区| 69精品人人人人| 激情丁香综合五月| 国产精品乱码妇女bbbb| 在线观看视频一区二区| 亚洲人成7777| 91精品国产一区二区人妖| 极品少妇一区二区| 亚洲视频免费看| 欧美一区二区私人影院日本| 久久99日本精品| 国产精品五月天| 欧美日韩免费观看一区二区三区| 五月婷婷久久综合| 久久一留热品黄| 97se亚洲国产综合在线|