xref: /freebsd/include/rpcsvc/nis_cache.x (revision 5f4c09dd85bff675e0ca63c55ea3c517e0fddfcc)
1 %/*
2 % * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
3 % * unrestricted use provided that this legend is included on all tape
4 % * media and as a part of the software program in whole or part.  Users
5 % * may copy or modify Sun RPC without charge, but are not authorized
6 % * to license or distribute it to anyone else except as part of a product or
7 % * program developed by the user or with the express written consent of
8 % * Sun Microsystems, Inc.
9 % *
10 % * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
11 % * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
12 % * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
13 % *
14 % * Sun RPC is provided with no support and without any obligation on the
15 % * part of Sun Microsystems, Inc. to assist in its use, correction,
16 % * modification or enhancement.
17 % *
18 % * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
19 % * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
20 % * OR ANY PART THEREOF.
21 % *
22 % * In no event will Sun Microsystems, Inc. be liable for any lost revenue
23 % * or profits or other special, indirect and consequential damages, even if
24 % * Sun has been advised of the possibility of such damages.
25 % *
26 % * Sun Microsystems, Inc.
27 % * 2550 Garcia Avenue
28 % * Mountain View, California  94043
29 % */
30 
31 /*
32  *	nis_cache.x
33  *
34  *	Copyright (c) 1988-1992 Sun Microsystems Inc
35  *	All Rights Reserved.
36  */
37 
38 /* From: %#pragma ident	"@(#)nis_cache.x	1.11	94/05/03 SMI" */
39 
40 #ifndef RPC_HDR
41 %#include <sys/cdefs.h>
42 #endif
43 
44 #ifdef RPC_HDR
45 %#include <rpc/types.h>
46 %#include <rpcsvc/nis.h>
47 %
48 %/* default cache file */
49 %#define CACHEFILE "/var/nis/NIS_SHARED_DIRCACHE"
50 %
51 %/* clients have to read-lock the cache file, and SVR4 locking requires that */
52 %/*   the file be writable, but we don't want a world-writable cache file.   */
53 %/*   So... everyone agrees to use a different, world-writable file for the  */
54 %/*   locking operations, but the data is in CACHEFILE.                      */
55 %#define CACHELOCK "/usr/tmp/.NIS_DIR_CACHELOCK"
56 %
57 %/* the file containing one trusted XDR'ed directory object.
58 % * This has to be present for the system to work.
59 % */
60 %#define COLD_START_FILE "/var/nis/NIS_COLD_START"
61 %
62 %enum pc_status {HIT, MISS, NEAR_MISS};
63 %
64 %extern int __nis_debuglevel;
65 %
66 %
67 #endif
68 
69 #ifdef RPC_CLNT
70 #ifdef SOLARIS
71 %#include "../gen/nis_clnt.h"
72 #else
73 %#include "nis.h"
74 #endif
75 #endif
76 
77 program CACHEPROG {
78 	version CACHE_VER_1 {
79 		void NIS_CACHE_ADD_ENTRY(fd_result) = 1;
80 		void NIS_CACHE_REMOVE_ENTRY(directory_obj) = 2;
81 		void NIS_CACHE_READ_COLDSTART(void) = 3;
82 		void NIS_CACHE_REFRESH_ENTRY(string<>) = 4;
83 	} = 1;
84 } = 100301;
85