/*
 * Please do not edit this file.
 * It was generated using rpcgen.
 */

#ifndef _NIS_CACHE_H_RPCGEN
#define	_NIS_CACHE_H_RPCGEN

#include <rpc/rpc.h>

#ifdef __cplusplus
extern "C" {
#endif

/*
 * 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 or with the express written consent of
 * Sun Microsystems, Inc.
 *
 * 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
 */
#include <rpc/types.h>
#include <rpcsvc/nis.h>

/* default cache file */
#define CACHEFILE "/var/nis/NIS_SHARED_DIRCACHE"

/* clients have to read-lock the cache file, and SVR4 locking requires that */
/*   the file be writable, but we don't want a world-writable cache file.   */
/*   So... everyone agrees to use a different, world-writable file for the  */
/*   locking operations, but the data is in CACHEFILE.                      */
#define CACHELOCK "/usr/tmp/.NIS_DIR_CACHELOCK"

/* the file containing one trusted XDR'ed directory object.
 * This has to be present for the system to work.
 */
#define COLD_START_FILE "/var/nis/NIS_COLD_START"

enum pc_status {HIT, MISS, NEAR_MISS};

extern int __nis_debuglevel;



#define	CACHEPROG ((unsigned long)(100301))
#define	CACHE_VER_1 ((unsigned long)(1))

extern  void cacheprog_1(struct svc_req *rqstp, SVCXPRT *transp);
#define	NIS_CACHE_ADD_ENTRY ((unsigned long)(1))
extern  void * nis_cache_add_entry_1(fd_result *, CLIENT *);
extern  void * nis_cache_add_entry_1_svc(fd_result *, struct svc_req *);
#define	NIS_CACHE_REMOVE_ENTRY ((unsigned long)(2))
extern  void * nis_cache_remove_entry_1(directory_obj *, CLIENT *);
extern  void * nis_cache_remove_entry_1_svc(directory_obj *, struct svc_req *);
#define	NIS_CACHE_READ_COLDSTART ((unsigned long)(3))
extern  void * nis_cache_read_coldstart_1(void *, CLIENT *);
extern  void * nis_cache_read_coldstart_1_svc(void *, struct svc_req *);
#define	NIS_CACHE_REFRESH_ENTRY ((unsigned long)(4))
extern  void * nis_cache_refresh_entry_1(char **, CLIENT *);
extern  void * nis_cache_refresh_entry_1_svc(char **, struct svc_req *);
extern int cacheprog_1_freeresult(SVCXPRT *, xdrproc_t, caddr_t);

#ifdef __cplusplus
}
#endif

#endif /* !_NIS_CACHE_H_RPCGEN */
