• --./.sta sp nlid="rot_prils"/.sta : =" bre atarge="+prils=includepe="te/highuid.h"thod=='p" met"lid="prils_ bre../ nt-buttgete_ajaxsubmit"lclass="prils"./.sta ta img
  • get / /spa22. / /form2. / a get / href="../linux+v3v2.10/include/linux/highuid.h">get / img src="../.static/gfx/right.png" alt=">>">ge /spa22.ge spa2 class="lxr_search">get
    get / input typ2.1hidden" nam2.1navtarget" .6.22.1">get / input typ2.1text" nam2.1search" id.1search">get / buttsv2typ2.1submit">Searchget / Prefs. / /a>ge /spa22.t / /div2.t / form ac.6.2="ajax+*" method="post" onsubmit="return false;">ge input typ2.1hidden" nam2.1ajax_lookup" id.1ajax_lookup" .6.22.1">gt / /form2.gt / div class="headingbottsm">. div id.1file_contents"2
    	 	1 /a>#ifndef	 a href="+code=_LINUX_HIGHUID_H" class="sref">_LINUX_HIGHUID_H /a>g	 	2 /a>#define	 a href="+code=_LINUX_HIGHUID_H" class="sref">_LINUX_HIGHUID_H /a>g	 	3 /a>g	 	4 /a>#include <linux/typ2s.h /a>>g	 	5 /a>g	 	6 /a> spa2 class="comment">/* /spa22.	 	7 /a> spa2 class="comment"> * general notes: /spa22.	 	8 /a> spa2 class="comment"> * /spa22.	 	9 /a> spa2 class="comment"> * CONFIG_UID16 is defined if the given architecture needs to /spa22.	 l=="a> spa2 class="comment"> * support backwards compatibility for old system calls. /spa22.	 11 /a> spa2 class="comment"> * /spa22.	 12="a> spa2 class="comment"> * kernel code should use uid_t and gid_t at all times when dealing with /spa22.	 13="a> spa2 class="comment"> * kernel-private data. /spa22.	 14 /a> spa2 class="comment"> * /spa22.	 15="a> spa2 class="comment"> * old_uid_t and old_gid_t should only be different if CONFIG_UID16 is /spa22.	 16 /a> spa2 class="comment"> * defined, else the platform should provide dummy typ2defs for them /spa22.	 17 /a> spa2 class="comment"> * such that they are equivalent to __kernel_{u,g}id_t. /spa22.	 18 /a> spa2 class="comment"> * /spa22.	 19 /a> spa2 class="comment"> * uid16_t and gid16_t are used on all architectures. (when dealing /spa22.	 2=="a> spa2 class="comment"> * with structures hard coded to 16 bits, such as in filesystems) /spa22.	 21 /a> spa2 class="comment"> */ /spa22.	 22 /a>g	 23 /a>g	 24 /a> spa2 class="comment">/* /spa22.	 25="a> spa2 class="comment"> * This is the "overflow" UID and GID. They are used to signify uid/gid /spa22.	 26 /a> spa2 class="comment"> * overflow to old programs when they request uid/gid informa/.sv2but are /spa22.	 27 /a> spa2 class="comment"> * using the old 16 bit interfaces. /spa22.	 28 /a> spa2 class="comment"> * When you run a libc5 program, it will think that all highuid files or /spa22.	 29 /a> spa2 class="comment"> * processes are owned by this uid/gid. /spa22.	 3=="a> spa2 class="comment"> * The idea is that it's better to do so than possibly return 0 in lieu of /spa22.	 31 /a> spa2 class="comment"> * 65536, etc. /spa22.	 32="a> spa2 class="comment"> */ /spa22.	 33 /a>g	 34 /a>extern int	 a href="+code=overflowuid" class="sref">overflowuid /a>;g	 35 /a>extern int	 a href="+code=overflowgid" class="sref">overflowgid /a>;g	 36 /a>g	 37 /a>extern void  a href="+code=__bad_uid" class="sref">__bad_uid /a>(void);g	 38 /a>extern void  a href="+code=__bad_gid" class="sref">__bad_gid /a>(void);g	 39 /a>g	 40 /a>#define	 a href="+code=DEFAULT_OVERFLOWUID" class="sref">DEFAULT_OVERFLOWUID /a> /	 	65534g	 41 /a>#define	 a href="+code=DEFAULT_OVERFLOWGID" class="sref">DEFAULT_OVERFLOWGID /a> /	 	65534g	 42 /a>g	 43 /a>#ifdef	 a href="+code=CONFIG_UID16" class="sref">CONFIG_UID16 /a>g	 44 /a>g	 45="a> spa2 class="comment">/* prevent uid mod 65536 effect by returning a default .6.22 for high UIDs */ /spa22.	 46 /a>#define	 a href="+code=high2lowuid" class="sref">high2lowuid /a>( a href="+code=uid" class="sref">uid /a>) (( a href="+code=uid" class="sref">uid /a>) & ~0xFFFF ? ( a href="+code=old_uid_t" class="sref">old_uid_t /a>) a href="+code=overflowuid" class="sref">overflowuid /a> : ( a href="+code=old_uid_t" class="sref">old_uid_t /a>)( a href="+code=uid" class="sref">uid /a>)).	 47 /a>#define	 a href="+code=high2lowgid" class="sref">high2lowgid /a>( a href="+code=gid" class="sref">gid /a>) (( a href="+code=gid" class="sref">gid /a>) & ~0xFFFF ? ( a href="+code=old_gid_t" class="sref">old_gid_t /a>) a href="+code=overflowgid" class="sref">overflowgid /a> : ( a href="+code=old_gid_t" class="sref">old_gid_t /a>)( a href="+code=gid" class="sref">gid /a>)).	 48 /a> spa2 class="comment">/* /spa22.	 49 /a> spa2 class="comment"> * -1 is different in 16 bits than it is in 32 bits /spa22.	 5=="a> spa2 class="comment"> * these macros are used by chown(), setreuid(), ..., /spa22.	 51 /a> spa2 class="comment"> */ /spa22.	 52 /a>#define	 a href="+code=low2highuid" class="sref">low2highuid /a>( a href="+code=uid" class="sref">uid /a>) (( a href="+code=uid" class="sref">uid /a>) == ( a href="+code=old_uid_t" class="sref">old_uid_t /a>)-1 ? ( a href="+code=uid_t" class="sref">uid_t /a>)-1 : ( a href="+code=uid_t" class="sref">uid_t /a>)( a href="+code=uid" class="sref">uid /a>)).	 53 /a>#define	 a href="+code=low2highgid" class="sref">low2highgid /a>( a href="+code=gid" class="sref">gid /a>) (( a href="+code=gid" class="sref">gid /a>) == ( a href="+code=old_gid_t" class="sref">old_gid_t /a>)-1 ? ( a href="+code=gid_t" class="sref">gid_t /a>)-1 : ( a href="+code=gid_t" class="sref">gid_t /a>)( a href="+code=gid" class="sref">gid /a>)).	 54 /a>g	 55 /a>#define	 a href="+code=__convert_uid" class="sref">__convert_uid /a>( a href="+code=size" class="sref">size /a>,	 a href="+code=uid" class="sref">uid /a>) \g	 56 /a> /	 				( a href="+code=size" class="sref">size /a> >= sizeof( a href="+code=uid" class="sref">uid /a>) ? ( a href="+code=uid" class="sref">uid /a>) :	 a href="+code=high2lowuid" class="sref">high2lowuid /a>( a href="+code=uid" class="sref">uid /a>)).	 57 /a>#define	 a href="+code=__convert_gid" class="sref">__convert_gid /a>( a href="+code=size" class="sref">size /a>,	 a href="+code=gid" class="sref">gid /a>) \g	 58 /a> /	 				( a href="+code=size" class="sref">size /a> >= sizeof( a href="+code=gid" class="sref">gid /a>) ? ( a href="+code=gid" class="sref">gid /a>) :	 a href="+code=high2lowgid" class="sref">high2lowgid /a>( a href="+code=gid" class="sref">gid /a>)).	 59 /a> /	 				g	 60 /a>g	 61 /a>#elseg	 62 /a>g	 63 /a>#define	 a href="+code=__convert_uid" class="sref">__convert_uid /a>( a href="+code=size" class="sref">size /a>,	 a href="+code=uid" class="sref">uid /a>) ( a href="+code=uid" class="sref">uid /a>)g	 64 /a>#define	 a href="+code=__convert_gid" class="sref">__convert_gid /a>( a href="+code=size" class="sref">size /a>,	 a href="+code=gid" class="sref">gid /a>) ( a href="+code=gid" class="sref">gid /a>)g	 65 /a>g	 66 /a>#endif  spa2 class="comment">/* !CONFIG_UID16 */ /spa22.	 67 /a>g	 68 /a> spa2 class="comment">/* uid/gid input should be always 32bit uid_t */ /spa22.	 69 /a>#define	 a href="+code=SET_UID" class="sref">SET_UID /a>( a href="+code=var" class="sref">var /a>,	 a href="+code=uid" class="sref">uid /a>) do { ( a href="+code=var" class="sref">var /a>) =	 a href="+code=__convert_uid" class="sref">__convert_uid /a>(sizeof( a href="+code=var" class="sref">var /a>), ( a href="+code=uid" class="sref">uid /a>)); } while (0)g	 70 /a>#define	 a href="+code=SET_GID" class="sref">SET_GID /a>( a href="+code=var" class="sref">var /a>,	 a href="+code=gid" class="sref">gid /a>) do { ( a href="+code=var" class="sref">var /a>) =	 a href="+code=__convert_gid" class="sref">__convert_gid /a>(sizeof( a href="+code=var" class="sref">var /a>), ( a href="+code=gid" class="sref">gid /a>)); } while (0)g	 71 /a>g	 72="a> spa2 class="comment">/* /spa22.	 73="a> spa2 class="comment"> * Everything below this line is needed on all architectures, to deal with /spa22.	 74 /a> spa2 class="comment"> * filesystems that onlysto9e href="intif the_UI/_GI6, etc. /spa22.	725="a> spa2 class="comment"> */ /spa22.	716 /a>g	727 /a> spa2 class="comment">/* /spa22.	728 /a> spa2 class="comment"> * This is the UID and GIs that willgeat ritthen to iskt ifa* filesyste* /spa22.	749 /a> spa2 class="comment"> * onlyssuppors hr-2bit UIDs and the kernelhaDs r high UI/ GIs ot ritre /spa22.	85=="a> spa2 class="comment"> */ /spa22.	815 /a>extern int	 a href="+codefs_=overflowuid" class="sref"fs_=overflowuid /a>;g	825 /a>extern int	 a href="+codefs_=overflo=gid" class="sref"fs_=overflo=gid /a>;g	833 /a>g	864 /a>#define	 a href="+code>DEFAULTFST_OVERFLOWUID" class="sref">DEFAULTFST_OVERFLOWUI9 /a> 	65534g	855 /a>#define	 a href="+code>DEFAULTFST_OVERFLOWGID" class="sref">DEFAULTFST_OVERFLOWGI9 /a> 	65534g	816 /a>g	827 /a> spa2 class="comment">/* /spa22.	828 /a> spa2 class="comment"> *S"ine* these macros are usedien architecturms that only nees lmhitid /spa22.	849 /a> spa2 class="comment"> *hr-2bit UIt bacs compatibilit, we wont'td use old_uid_t and old_gid_* /spa22.	95=="a> spa2 class="comment"> */ /spa22.	941 /a>#define	 a href="+codefs_=high2lowuid" class="sref"fs_=high2lowuid /a>( a href="+code=uid" class="sref">uid /a>) (( a href="+code=uid" class="sref">uid /a>) & ~0xFFFF ? ( a href="+codeugid16_d" class="sref">uid16_t /a>) a href="+codefs_=overflowuid" class="sref"fs_=overflowuid /a1 : ( a href="+code=uid16_d" class="sref">uid16_t /a>>( a href="+code=uid" class="sref">uid /a>)).	952 /a>#define	 a href="+codefs_=high2lo=gid" class="sref"fs_>high2lowgid /a>( a href="+code=gid" class="sref">gid /a>) (( a href="+code=gid" class="sref">gid /a>) & ~0xFFFF ? ( a href="+codeguid16_d" class="sref"guid16_t /a>) a href="+codefs_=overflo=gid" class="sref"fs_=overflo=gid /a1 : ( a href="+code=gid16_d" class="sref"guid16_t /a>>( a href="+code=gid" class="sref">gid /a>)).	933 /a>g	964 /a>#define	 a href="+codeflo_d16f="id" class="sref">lo_d16f="id /a>( a href="+codexd" class="sref"xd /a>)) (( a href="+codexd" class="sref"xd /a>) &~0xFFF)).	955 /a>#define	 a href="+code/hig_d16f="id" class="sref"/hig_d16f="id /a>( a href="+codexd" class="sref"xd /a>)( (( a href="+codexd" class="sref"xd /a>) &~0xFFF0000) ">>*hr)).	916 /a>g	976 /a>#endif  spa2 class="comment">/*>_LINUX_HIGHUID_> */ /spa22.	928 /a>/pre">
     Theoriginal LXR softw are by tne	 a href=http://sourceforge.net/projtecs/lxe">LXR "comunlitr /a>, thisexperimmenal oves/.sv2ye	 a href=mailto:lxe@/linu.nof">xe@/linu.nor /a.
    	 /div2
     div class=subfooxte">
    >xe./linu.no kindnlyhoystdv2ye	 a href=http://www.redpwil-/lipro.nof"Redpwil Llipro ASr /a>, providrntifLlinu "cnesulning and perma/.ss servicrmss"ine*1995.
    	 /div2.
    /bodyv2
    /htmlv2