138414Smckusick /* 238414Smckusick * Copyright (c) 1989 The Regents of the University of California. 338414Smckusick * All rights reserved. 438414Smckusick * 538414Smckusick * This code is derived from software contributed to Berkeley by 638414Smckusick * Rick Macklem at The University of Guelph. 738414Smckusick * 8*44515Sbostic * %sccs.include.redist.c% 938414Smckusick * 10*44515Sbostic * @(#)xdr_subs.h 7.3 (Berkeley) 06/28/90 1138414Smckusick */ 1238414Smckusick 1338414Smckusick /* 1438414Smckusick * Macros used for conversion to/from xdr representation by nfs... 1538414Smckusick * These use the MACHINE DEPENDENT routines ntohl, htonl 1639748Smckusick * As defined by "XDR: External Data Representation Standard" RFC1014 1738414Smckusick */ 1838414Smckusick /* From xdr to machine */ 1938414Smckusick #define fxdr_unsigned(t, v) ((t)ntohl((long)(v))) 2038414Smckusick #define fxdr_time(f, t) {((struct timeval *)(t))->tv_sec=ntohl( \ 2138414Smckusick ((struct timeval *)(f))->tv_sec); \ 2238414Smckusick ((struct timeval *)(t))->tv_usec=ntohl( \ 2338414Smckusick ((struct timeval *)(f))->tv_usec);} 2438414Smckusick 2538414Smckusick /* from machine to xdr */ 2638414Smckusick #define txdr_unsigned(v) (htonl((long)(v))) 2738414Smckusick #define txdr_time(f, t) {((struct timeval *)(t))->tv_sec=htonl( \ 2838414Smckusick ((struct timeval *)(f))->tv_sec); \ 2938414Smckusick ((struct timeval *)(t))->tv_usec=htonl( \ 3038414Smckusick ((struct timeval *)(f))->tv_usec);} 3138414Smckusick 32