From owner-svn-src-user@FreeBSD.ORG Tue Nov 4 16:22:15 2008 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8A14C106567C; Tue, 4 Nov 2008 16:22:15 +0000 (UTC) (envelope-from dfr@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 781E98FC0C; Tue, 4 Nov 2008 16:22:15 +0000 (UTC) (envelope-from dfr@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id mA4GMFxS001701; Tue, 4 Nov 2008 16:22:15 GMT (envelope-from dfr@svn.freebsd.org) Received: (from dfr@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id mA4GMF5T001698; Tue, 4 Nov 2008 16:22:15 GMT (envelope-from dfr@svn.freebsd.org) Message-Id: <200811041622.mA4GMF5T001698@svn.freebsd.org> From: Doug Rabson Date: Tue, 4 Nov 2008 16:22:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r184642 - in user/dfr/gssapi/7/lib/libc: . sys xdr X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Nov 2008 16:22:15 -0000 Author: dfr Date: Tue Nov 4 16:22:14 2008 New Revision: 184642 URL: http://svn.freebsd.org/changeset/base/184642 Log: Merge r184588. Modified: user/dfr/gssapi/7/lib/libc/ (props changed) user/dfr/gssapi/7/lib/libc/sys/Symbol.map user/dfr/gssapi/7/lib/libc/xdr/Symbol.map user/dfr/gssapi/7/lib/libc/xdr/xdr.c Modified: user/dfr/gssapi/7/lib/libc/sys/Symbol.map ============================================================================== --- user/dfr/gssapi/7/lib/libc/sys/Symbol.map Tue Nov 4 15:56:44 2008 (r184641) +++ user/dfr/gssapi/7/lib/libc/sys/Symbol.map Tue Nov 4 16:22:14 2008 (r184642) @@ -985,4 +985,5 @@ FBSDprivate_1.0 { __sys_writev; __error_unthreaded; nlm_syscall; + gssd_syscall; }; Modified: user/dfr/gssapi/7/lib/libc/xdr/Symbol.map ============================================================================== --- user/dfr/gssapi/7/lib/libc/xdr/Symbol.map Tue Nov 4 15:56:44 2008 (r184641) +++ user/dfr/gssapi/7/lib/libc/xdr/Symbol.map Tue Nov 4 16:22:14 2008 (r184642) @@ -45,3 +45,9 @@ FBSD_1.0 { /* xdr_sizeof; */ /* Why is xdr_sizeof.c not included in Makefileinc? */ xdrstdio_create; }; + +FBSD_1.1 { + xdr_uint16_t; + xdr_uint32_t; + xdr_uint64_t; +}; Modified: user/dfr/gssapi/7/lib/libc/xdr/xdr.c ============================================================================== --- user/dfr/gssapi/7/lib/libc/xdr/xdr.c Tue Nov 4 15:56:44 2008 (r184641) +++ user/dfr/gssapi/7/lib/libc/xdr/xdr.c Tue Nov 4 16:22:14 2008 (r184642) @@ -263,6 +263,36 @@ xdr_u_int32_t(xdrs, u_int32_p) return (FALSE); } +/* + * XDR unsigned 32-bit integers + * same as xdr_int32_t - open coded to save a proc call! + */ +bool_t +xdr_uint32_t(xdrs, u_int32_p) + XDR *xdrs; + uint32_t *u_int32_p; +{ + u_long l; + + switch (xdrs->x_op) { + + case XDR_ENCODE: + l = (u_long) *u_int32_p; + return (XDR_PUTLONG(xdrs, (long *)&l)); + + case XDR_DECODE: + if (!XDR_GETLONG(xdrs, (long *)&l)) { + return (FALSE); + } + *u_int32_p = (u_int32_t) l; + return (TRUE); + + case XDR_FREE: + return (TRUE); + } + /* NOTREACHED */ + return (FALSE); +} /* * XDR short integers @@ -385,6 +415,36 @@ xdr_u_int16_t(xdrs, u_int16_p) return (FALSE); } +/* + * XDR unsigned 16-bit integers + */ +bool_t +xdr_uint16_t(xdrs, u_int16_p) + XDR *xdrs; + uint16_t *u_int16_p; +{ + u_long l; + + switch (xdrs->x_op) { + + case XDR_ENCODE: + l = (u_long) *u_int16_p; + return (XDR_PUTLONG(xdrs, (long *)&l)); + + case XDR_DECODE: + if (!XDR_GETLONG(xdrs, (long *)&l)) { + return (FALSE); + } + *u_int16_p = (u_int16_t) l; + return (TRUE); + + case XDR_FREE: + return (TRUE); + } + /* NOTREACHED */ + return (FALSE); +} + /* * XDR a char @@ -806,6 +866,38 @@ xdr_u_int64_t(xdrs, ullp) return (FALSE); } +/* + * XDR unsigned 64-bit integers + */ +bool_t +xdr_uint64_t(xdrs, ullp) + XDR *xdrs; + uint64_t *ullp; +{ + u_long ul[2]; + + switch (xdrs->x_op) { + case XDR_ENCODE: + ul[0] = (u_long)(*ullp >> 32) & 0xffffffff; + ul[1] = (u_long)(*ullp) & 0xffffffff; + if (XDR_PUTLONG(xdrs, (long *)&ul[0]) == FALSE) + return (FALSE); + return (XDR_PUTLONG(xdrs, (long *)&ul[1])); + case XDR_DECODE: + if (XDR_GETLONG(xdrs, (long *)&ul[0]) == FALSE) + return (FALSE); + if (XDR_GETLONG(xdrs, (long *)&ul[1]) == FALSE) + return (FALSE); + *ullp = (u_int64_t) + (((u_int64_t)ul[0] << 32) | ((u_int64_t)ul[1])); + return (TRUE); + case XDR_FREE: + return (TRUE); + } + /* NOTREACHED */ + return (FALSE); +} + /* * XDR hypers