glibc/sunrpc/rpc/rpc_msg.h
Roland McGrath ce7a5ef4bc Sun Jul 28 23:46:14 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* time/strftime.c (strftime: do_number): Initialize PRINTED to
	MAXDIGITS in case P is null and so sprintf is never actually called.

Mon Jul 29 02:46:23 1996  Ulrich Drepper  <drepper@cygnus.com>

	Add support for the to-be-written internationalized regexp.
	This code must be able to use collation symbols and collation
	equivalent classes.
	* locale/C-collate.c (_nl_C_LC_COLLATE_symbol_hash,
	_nl_C_LC_COLLATE_symbol_strings, _nl_C_LC_COLLATE_symbol_classes):
	New global variables for collation classes.
	* locale/categories.def: Add new descriptions for collation symbols
	and collation classes.
	* locale/langinfo.h: Add constants for collation symbols and
	collation classes.
	* locale/lc-collate.c: Add new global variables for collation symbols
	and collation classes.
	(_nl_postload_collate): Initialize new variables.
	* locale/programs/ld-collate.c: Add code to emit tables for
	collation symbols and collation classes.
	* locale/programs/locales.h: Change prototype for `collate_output'.
	* locale/programs/locfile.c (write_all_categories): Call
	`collate_output' with new argument.
	* locale/localeinfo.h: Add declaration for new global vars.
	(union locale_data_value): New member wstr for `wchar_t' strings.
	* locale/programs/locale-spec.c: Handle `collate-classes'
	keyword and print information about available collation classes.
	* locale/strlen-hash.h: New file.  Simple hashing function which
	takes a string with known length.
	* locale/Makefile (distribute): Add strlen-hash.h.
	(locale-modules): New var.  Additional files for `locale' program.

	* locale/C-ctype.c: Rewrite to avoid using string for giving values
	which are of type `u_int32_t'.
	Correct entry for EOF in toupper and tolower tables.

	* locale/loadlocale.c (_nl_load_locale):  Add cast to prevent
	warning.

	* locale/programs/ld-ctype.c (ctype_output): Add code to make
	sure that all tables in binary file are words aligned.

	* locale/programs/locfile.c (write_locale_data): Correct handling
	of LC_MESSAGES locale.  Create directory if necessary.

	* locale/setlocale.c (setlocale): Add cast to avoid warning.

	* string/string.h: Add prototype for `__strndup'.

Wed Jul 24 19:10:00 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* wcsmbs/mbrtowc.c: Remove unused variable.

Sun Jul 28 22:40:25 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* sysdeps/unix/sysv/linux/configure.in (LIBC_LINUX_VERSION): Update to
	2.0.10; some problems were reported with an earlier version, and this
	one is known to work.

	* sysdeps/generic/dl-sysdep.c (__libc_enable_secure): New variable.
	* sysdeps/mach/hurd/dl-sysdep.c: Likewise.
1996-07-29 03:49:00 +00:00

195 lines
4.3 KiB
C

/* @(#)rpc_msg.h 2.1 88/07/29 4.0 RPCSRC */
/*
* 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
*/
/* @(#)rpc_msg.h 1.7 86/07/16 SMI */
/*
* rpc_msg.h
* rpc message definition
*
* Copyright (C) 1984, Sun Microsystems, Inc.
*/
#define RPC_MSG_VERSION ((u_long) 2)
#define RPC_SERVICE_PORT ((u_short) 2048)
__BEGIN_DECLS
/*
* Bottom up definition of an rpc message.
* NOTE: call and reply use the same overall struct but
* different parts of unions within it.
*/
enum msg_type {
CALL=0,
REPLY=1
};
enum reply_stat {
MSG_ACCEPTED=0,
MSG_DENIED=1
};
enum accept_stat {
SUCCESS=0,
PROG_UNAVAIL=1,
PROG_MISMATCH=2,
PROC_UNAVAIL=3,
GARBAGE_ARGS=4,
SYSTEM_ERR=5
};
enum reject_stat {
RPC_MISMATCH=0,
AUTH_ERROR=1
};
/*
* Reply part of an rpc exchange
*/
/*
* Reply to an rpc request that was accepted by the server.
* Note: there could be an error even though the request was
* accepted.
*/
struct accepted_reply {
struct opaque_auth ar_verf;
enum accept_stat ar_stat;
union {
struct {
u_long low;
u_long high;
} AR_versions;
struct {
caddr_t where;
xdrproc_t proc;
} AR_results;
/* and many other null cases */
} ru;
#define ar_results ru.AR_results
#define ar_vers ru.AR_versions
};
/*
* Reply to an rpc request that was rejected by the server.
*/
struct rejected_reply {
enum reject_stat rj_stat;
union {
struct {
u_long low;
u_long high;
} RJ_versions;
enum auth_stat RJ_why; /* why authentication did not work */
} ru;
#define rj_vers ru.RJ_versions
#define rj_why ru.RJ_why
};
/*
* Body of a reply to an rpc request.
*/
struct reply_body {
enum reply_stat rp_stat;
union {
struct accepted_reply RP_ar;
struct rejected_reply RP_dr;
} ru;
#define rp_acpt ru.RP_ar
#define rp_rjct ru.RP_dr
};
/*
* Body of an rpc request call.
*/
struct call_body {
u_long cb_rpcvers; /* must be equal to two */
u_long cb_prog;
u_long cb_vers;
u_long cb_proc;
struct opaque_auth cb_cred;
struct opaque_auth cb_verf; /* protocol specific - provided by client */
};
/*
* The rpc message
*/
struct rpc_msg {
u_long rm_xid;
enum msg_type rm_direction;
union {
struct call_body RM_cmb;
struct reply_body RM_rmb;
} ru;
#define rm_call ru.RM_cmb
#define rm_reply ru.RM_rmb
};
#define acpted_rply ru.RM_rmb.ru.RP_ar
#define rjcted_rply ru.RM_rmb.ru.RP_dr
/*
* XDR routine to handle a rpc message.
* xdr_callmsg(xdrs, cmsg)
* XDR *xdrs;
* struct rpc_msg *cmsg;
*/
extern bool_t xdr_callmsg __P ((XDR *__xdrs, struct rpc_msg *__cmsg));
/*
* XDR routine to pre-serialize the static part of a rpc message.
* xdr_callhdr(xdrs, cmsg)
* XDR *xdrs;
* struct rpc_msg *cmsg;
*/
extern bool_t xdr_callhdr __P ((XDR *__xdrs, struct rpc_msg *__cmsg));
/*
* XDR routine to handle a rpc reply.
* xdr_replymsg(xdrs, rmsg)
* XDR *xdrs;
* struct rpc_msg *rmsg;
*/
extern bool_t xdr_replymsg __P ((XDR *__xdrs, struct rpc_msg *__rmsg));
/*
* Fills in the error part of a reply message.
* _seterr_reply(msg, error)
* struct rpc_msg *msg;
* struct rpc_err *error;
*/
extern void _seterr_reply __P ((struct rpc_msg *__msg,
struct rpc_err *__error));
__END_DECLS
#endif /* rpc/rpc_msg.h */