⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rusers.x

📁 自己做的交叉编译工具!gcc-3.4.5,glibc-2.3.6在ubuntu8.04上做的面向kernel-2.6.28的交叉编译工具
💻 X
字号:
/* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for * unrestricted use provided that this legend is included on all tape * media and as a part of the software program in whole or part.  Users * may copy or modify Sun RPC without charge, but are not authorized * to license or distribute it to anyone else except as part of a product or * program developed by the user. * * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. * * Sun RPC is provided with no support and without any obligation on the * part of Sun Microsystems, Inc. to assist in its use, correction, * modification or enhancement. * * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC * OR ANY PART THEREOF. * * In no event will Sun Microsystems, Inc. be liable for any lost revenue * or profits or other special, indirect and consequential damages, even if * Sun has been advised of the possibility of such damages. * * Sun Microsystems, Inc. * 2550 Garcia Avenue * Mountain View, California  94043 */%/*% * Find out about remote users% */const RUSERS_MAXUSERLEN = 32;const RUSERS_MAXLINELEN = 32;const RUSERS_MAXHOSTLEN = 257;struct rusers_utmp {	string ut_user<RUSERS_MAXUSERLEN>;	/* aka ut_name */	string ut_line<RUSERS_MAXLINELEN>;	/* device */	string ut_host<RUSERS_MAXHOSTLEN>;	/* host user logged on from */	int ut_type;				/* type of entry */	int ut_time;				/* time entry was made */	unsigned int ut_idle;			/* minutes idle */};typedef rusers_utmp utmp_array<>;#ifdef RPC_HDR%%/*% * Values for ut_type field above.% */#endifconst	RUSERS_EMPTY = 0;const	RUSERS_RUN_LVL = 1;const	RUSERS_BOOT_TIME = 2;const	RUSERS_OLD_TIME = 3;const	RUSERS_NEW_TIME = 4;const	RUSERS_INIT_PROCESS = 5;const	RUSERS_LOGIN_PROCESS = 6;const	RUSERS_USER_PROCESS = 7;const	RUSERS_DEAD_PROCESS = 8;const	RUSERS_ACCOUNTING = 9;program RUSERSPROG {	version RUSERSVERS_3 {		int		RUSERSPROC_NUM(void) = 1;		utmp_array		RUSERSPROC_NAMES(void) = 2;		utmp_array		RUSERSPROC_ALLNAMES(void) = 3;	} = 3;} = 100002;#ifdef RPC_HDR%%%#ifdef	__cplusplus%extern "C" {%#endif%%#include <rpc/xdr.h>%%/*% * The following structures are used by version 2 of the rusersd protocol.% * They were not developed with rpcgen, so they do not appear as RPCL.% */%%#define	RUSERSVERS_IDLE 2%#define	RUSERSVERS 3		/* current version */%#define	MAXUSERS 100%%/*% * This is the structure used in version 2 of the rusersd RPC service.% * It corresponds to the utmp structure for BSD systems.% */%struct ru_utmp {%	char	ut_line[8];		/* tty name */%	char	ut_name[8];		/* user id */%	char	ut_host[16];		/* host name, if remote */%	long int ut_time;		/* time on */%};%%struct utmparr {%       struct ru_utmp **uta_arr;%       int uta_cnt;%};%typedef struct utmparr utmparr;%%extern bool_t xdr_utmparr (XDR *xdrs, struct utmparr *objp) __THROW;%%struct utmpidle {%	struct ru_utmp ui_utmp;%	unsigned int ui_idle;%};%%struct utmpidlearr {%	struct utmpidle **uia_arr;%	int uia_cnt;%};%%extern bool_t xdr_utmpidlearr (XDR *xdrs, struct utmpidlearr *objp) __THROW;%%#ifdef	__cplusplus%}%#endif#endif#ifdef	RPC_XDR%bool_t xdr_utmp (XDR *xdrs, struct ru_utmp *objp);%%bool_t%xdr_utmp(xdrs, objp)%	XDR *xdrs;%	struct ru_utmp *objp;%{%	/* Since the fields are char foo [xxx], we should not free them. */%	if (xdrs->x_op != XDR_FREE)%	{%		char *ptr;%		unsigned int size;%		ptr = objp->ut_line;%		size = sizeof (objp->ut_line);%		if (!xdr_bytes (xdrs, &ptr, &size, size)) {%			return (FALSE);%		}%		ptr = objp->ut_name;%		size = sizeof (objp->ut_name);%		if (!xdr_bytes (xdrs, &ptr, &size, size)) {%			return (FALSE);%		}%		ptr = objp->ut_host;%		size = sizeof (objp->ut_host);%		if (!xdr_bytes (xdrs, &ptr, &size, size)) {%			return (FALSE);%		}%	}%	if (!xdr_long(xdrs, &objp->ut_time)) {%		return (FALSE);%	}%	return (TRUE);%}%%bool_t xdr_utmpptr(XDR *xdrs, struct ru_utmp **objpp);%%bool_t%xdr_utmpptr(xdrs, objpp)%	XDR *xdrs;%	struct ru_utmp **objpp;%{%	if (!xdr_reference(xdrs, (char **) objpp, sizeof (struct ru_utmp),%			   (xdrproc_t) xdr_utmp)) {%		return (FALSE);%	}%	return (TRUE);%}%%bool_t%xdr_utmparr(xdrs, objp)%	XDR *xdrs;%	struct utmparr *objp;%{%	if (!xdr_array(xdrs, (char **)&objp->uta_arr, (u_int *)&objp->uta_cnt,%		       MAXUSERS, sizeof(struct ru_utmp *),%		       (xdrproc_t) xdr_utmpptr)) {%		return (FALSE);%	}%	return (TRUE);%}%%bool_t xdr_utmpidle(XDR *xdrs, struct utmpidle *objp);%%bool_t%xdr_utmpidle(xdrs, objp)%	XDR *xdrs;%	struct utmpidle *objp;%{%	if (!xdr_utmp(xdrs, &objp->ui_utmp)) {%		return (FALSE);%	}%	if (!xdr_u_int(xdrs, &objp->ui_idle)) {%		return (FALSE);%	}%	return (TRUE);%}%%bool_t xdr_utmpidleptr(XDR *xdrs, struct utmpidle **objp);%%bool_t%xdr_utmpidleptr(xdrs, objpp)%	XDR *xdrs;%	struct utmpidle **objpp;%{%	if (!xdr_reference(xdrs, (char **) objpp, sizeof (struct utmpidle),%			   (xdrproc_t) xdr_utmpidle)) {%		return (FALSE);%	}%	return (TRUE);%}%%bool_t%xdr_utmpidlearr(xdrs, objp)%	XDR *xdrs;%	struct utmpidlearr *objp;%{%	if (!xdr_array(xdrs, (char **)&objp->uia_arr, (u_int *)&objp->uia_cnt,%		       MAXUSERS, sizeof(struct utmpidle *),%		       (xdrproc_t) xdr_utmpidleptr)) {%		return (FALSE);%	}%	return (TRUE);%}#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -