summaryrefslogtreecommitdiff
path: root/nis/rpcsvc
diff options
context:
space:
mode:
Diffstat (limited to 'nis/rpcsvc')
-rw-r--r--nis/rpcsvc/nis.h52
-rw-r--r--nis/rpcsvc/nis.x118
-rw-r--r--nis/rpcsvc/nis_cache.h47
-rw-r--r--nis/rpcsvc/nis_cache.x47
-rw-r--r--nis/rpcsvc/nis_object.x34
-rw-r--r--nis/rpcsvc/nis_tags.h7
-rw-r--r--nis/rpcsvc/nislib.h20
-rw-r--r--nis/rpcsvc/ypupd.h2
8 files changed, 139 insertions, 188 deletions
diff --git a/nis/rpcsvc/nis.h b/nis/rpcsvc/nis.h
index f94b96cba4..c0d25325c1 100644
--- a/nis/rpcsvc/nis.h
+++ b/nis/rpcsvc/nis.h
@@ -46,14 +46,15 @@ __BEGIN_DECLS
* which defines the tag values. This allows the tags to change without
* having to change the nis.x file.
*
- * NOTE : DO NOT EDIT THIS FILE! It is automatically generated when
- * rpcgen is run on the nis.x file. Note that there is a
- * simple sed script to remove some unneeded lines. (See the
- * Makefile target nis.h)
+ * NOTE : THIS FILE IS NOT GENERATED WITH RPCGEN ! SO YOU HAVE TO
+ * ADD ALL THE CHANGES ON nis_*.x FILES HERE AGAIN !
*
+ * I have removed all the Solaris internal structs and variables,
+ * because they are not supported, Sun changed them between various
+ * releases and they shouldn't be used in user programs.
+ * <kukuk@vt.uni-paderborn.de>
*/
-#pragma ident "@(#)nis_object.x 1.7 92/07/14 SMI"
#ifndef __nis_object_h
#define __nis_object_h
@@ -94,6 +95,14 @@ enum zotypes {
ENTRY_OBJ = 5,
LINK_OBJ = 6,
PRIVATE_OBJ = 7,
+ NIS_BOGUS_OBJ = 0,
+ NIS_NO_OBJ = 1,
+ NIS_DIRECTORY_OBJ = 2,
+ NIS_GROUP_OBJ = 3,
+ NIS_TABLE_OBJ = 4,
+ NIS_ENTRY_OBJ = 5,
+ NIS_LINK_OBJ = 6,
+ NIS_PRIVATE_OBJ = 7
};
typedef enum zotypes zotypes;
extern bool_t xdr_zotypes __P ((XDR *, zotypes*));
@@ -472,30 +481,6 @@ struct fd_result {
typedef struct fd_result fd_result;
extern bool_t xdr_fd_result __P ((XDR *, fd_result*));
-/*
- * Generic "hash" datastructures, used by all types of hashed data.
- */
-struct nis_hash_data {
- nis_name name; /* NIS name of hashed item */
- int keychain; /* It's hash key (for pop) */
- struct nis_hash_data *next; /* Hash collision pointer */
- struct nis_hash_data *prv_item; /* A serial, doubly linked list */
- struct nis_hash_data *nxt_item; /* of items in the hash table */
-};
-typedef struct nis_hash_data NIS_HASH_ITEM;
-
-struct nis_hash_table {
- NIS_HASH_ITEM *keys[64]; /* A hash table of items */
- NIS_HASH_ITEM *first; /* The first "item" in serial list */
-};
-typedef struct nis_hash_table NIS_HASH_TABLE;
-
-/* Structure for storing dynamically allocated static data */
-struct nis_sdata {
- void *buf; /* Memory allocation pointer */
- u_long size; /* Buffer size */
-};
-
/* Generic client creating flags */
#define ZMH_VC 1
#define ZMH_DG 2
@@ -508,6 +493,15 @@ struct nis_sdata {
#define NIS_CREATE_ACC 4
#define NIS_DESTROY_ACC 8
/* Test macros. a == access rights, m == desired rights. */
+#define NIS_WORLD(a, m) (((a) & (m)) != 0)
+#define NIS_GROUP(a, m) (((a) & ((m) << 8)) != 0)
+#define NIS_OWNER(a, m) (((a) & ((m) << 16)) != 0)
+#define NIS_NOBODY(a, m) (((a) & ((m) << 24)) != 0)
+/*
+ * EOL Alert - The following non-prefixed test macros are
+ * here for backward compatability, and will be not be present
+ * in future releases - use the NIS_*() macros above.
+ */
#define WORLD(a, m) (((a) & (m)) != 0)
#define GROUP(a, m) (((a) & ((m) << 8)) != 0)
#define OWNER(a, m) (((a) & ((m) << 16)) != 0)
diff --git a/nis/rpcsvc/nis.x b/nis/rpcsvc/nis.x
index 20a4733741..2d19f37931 100644
--- a/nis/rpcsvc/nis.x
+++ b/nis/rpcsvc/nis.x
@@ -28,13 +28,6 @@
% * Mountain View, California 94043
% */
-/*
- * From 4.1 : @(#)nis.x 1.61 Copyright 1989 Sun Microsystems
- *
- * RPC Language Protocol description file for NIS Plus
- * This version : 1.61
- * Last Modified : 3/19/91
- */
#ifdef RPC_HDR
%/*
% * nis.h
@@ -44,9 +37,9 @@
% * structures used by the NIS service. It includes the file nis_tags.h
% * which defines the tag values. This allows the tags to change without
% * having to change the nis.x file.
-% *
+% *
% * NOTE : DO NOT EDIT THIS FILE! It is automatically generated when
-% * rpcgen is run on the nis.x file. Note that there is a
+% * rpcgen is run on the nis.x file. Note that there is a
% * simple sed script to remove some unneeded lines. (See the
% * Makefile target nis.h)
% *
@@ -75,7 +68,7 @@ enum nis_error {
NIS_NAMEUNREACHABLE = 5, /* Can't get there from here */
NIS_UNKNOWNOBJ = 6, /* Object type is bogus */
NIS_TRYAGAIN = 7, /* I'm busy, call back */
- NIS_SYSTEMERROR = 8, /* Out of band failure */
+ NIS_SYSTEMERROR = 8, /* Generic system error */
NIS_CHAINBROKEN = 9, /* First/Next warning */
NIS_PERMISSION = 10, /* Not enough permission to access */
NIS_NOTOWNER = 11, /* You don't own it, sorry */
@@ -118,11 +111,11 @@ enum nis_error {
};
-/*
+/*
* Structure definitions for the parameters and results of the actual
* NIS RPC calls.
*
- * This is the standard result (in the protocol) of most of the nis
+ * This is the standard result (in the protocol) of most of the nis
* requests.
*/
@@ -136,11 +129,11 @@ struct nis_result {
u_long cticks; /* Client ticks */
};
-/*
- * A Name Service request
- * This request is used to access the name space, ns_name is the name
+/*
+ * A Name Service request
+ * This request is used to access the name space, ns_name is the name
* of the object within the namespace and the object is it's value, for
- * add/modify, a copy of the original for remove.
+ * add/modify, a copy of the original for remove.
*/
struct ns_request {
@@ -148,7 +141,7 @@ struct ns_request {
nis_object ns_object<1>; /* Optional Object (add/remove) */
};
-/*
+/*
* An information base request
* This request includes the NIS name of the table we wish to search, the
* search criteria in the form of attribute/value pairs and an optional
@@ -168,7 +161,7 @@ struct ib_request {
};
/*
- * This argument to the PING call notifies the replicas that something in
+ * This argument to the PING call notifies the replicas that something in
* a directory has changed and this is it's timestamp. The replica will use
* the timestamp to determine if its resync operation was successful.
*/
@@ -177,8 +170,8 @@ struct ping_args {
u_long stamp; /* timestamp of the transaction */
};
-/*
- * These are the type of entries that are stored in the transaction log,
+/*
+ * These are the type of entries that are stored in the transaction log,
* note that modifications will appear as two entries, for names, they have
* a "OLD" entry followed by a "NEW" entry. For entries in tables, there
* is a remove followed by an add. It is done this way so that we can read
@@ -196,13 +189,13 @@ enum log_entry_t {
MOD_IBASE = 7, /* Entry was modified in information base */
UPD_STAMP = 8 /* Update timestamp (used as fenceposts) */
};
-
+
/*
- * This result is returned from the name service when it is requested to
+ * This result is returned from the name service when it is requested to
* dump logged entries from its transaction log. Information base updates
* will have the name of the information base in the le_name field and
* a canonical set of attribute/value pairs to fully specify the entry's
- * 'name'.
+ * 'name'.
*/
struct log_entry {
u_long le_time; /* Time in seconds */
@@ -218,7 +211,7 @@ struct log_result {
netobj lr_cookie; /* Used by the dump callback */
log_entry lr_entries<>; /* zero or more entries */
};
-
+
struct cp_result {
nis_error cp_status; /* Status of the checkpoint */
u_long cp_zticks; /* Service 'ticks' */
@@ -227,7 +220,7 @@ struct cp_result {
/*
* This structure defines a generic NIS tag list. The taglist contains
- * zero or tags, each of which is a type and a value. (u_long).
+ * zero or tags, each of which is a type and a value. (u_long).
* These are used to report statistics (see tag definitions below)
* and to set or reset state variables.
*/
@@ -254,17 +247,59 @@ struct fd_args {
struct fd_result {
nis_error status; /* Status returned by function */
nis_name source; /* Source of this answer */
- opaque dir_data<>; /* Directory Data (XDR'ed) */
+ opaque dir_data<>; /* Directory Data (XDR'ed) */
opaque signature<>; /* Signature of the source */
};
+%/*
+% * Structures used for server binding.
+% */
+struct nis_bound_endpoint {
+ endpoint ep;
+ int generation;
+ int rank;
+ u_long flags;
+ int hostnum;
+ int epnum;
+ nis_name uaddr;
+ endpoint cbep;
+};
+typedef struct nis_bound_endpoint nis_bound_endpoint;
+
+struct nis_bound_directory {
+ int generation;
+ int min_rank; /* minimum rank of bound endpoints */
+ int optimal_rank; /* best possible rank of all endpoints */
+ directory_obj dobj;
+ nis_bound_endpoint BEP<>;
+};
+typedef struct nis_bound_directory nis_bound_directory;
+%#define bep_len BEP.BEP_len
+%#define bep_val BEP.BEP_val
+
+struct nis_active_endpoint {
+ endpoint ep;
+ nis_name hostname;
+ int rank;
+ int uaddr_generation;
+ nis_name uaddr;
+ int cbep_generation;
+ endpoint cbep;
+};
+typedef struct nis_active_endpoint nis_active_endpoint;
+
+%/* defines for nis_bound_endpoint.flags */
+%#define NIS_BOUND 0x1
+%#define NIS_TRANSIENT_ERRORS 0x2
+
-/*
+
+/*
* What's going on here? Well, it's like this. When the service
* is being compiled it wants to have the service definition specific
* info included, and when the client is being compiled it wants that
* info. This includes the appropriate file which was generated by
- * make in the protocols directory (probably /usr/include/rpcsvc).
+ * make in the protocols directory (probably /usr/include/rpcsvc).
*/
#ifdef RPC_SVC
%#include "nis_svc.h"
@@ -296,10 +331,10 @@ program NIS_PROG {
/* If fetch and optionally reset statistics */
nis_taglist NIS_STATUS(nis_taglist) = 14;
-
+
/* Dump changes to directory since time in da_time */
log_result NIS_DUMPLOG(dump_args) = 15;
-
+
/* Dump contents of directory named */
log_result NIS_DUMP(dump_args) = 16;
@@ -314,16 +349,16 @@ program NIS_PROG {
/* Send 'status changed' ping to replicates */
void NIS_PING(ping_args) = 20;
-
+
/* Modify server behaviour (such as debugging) */
nis_taglist NIS_SERVSTATE(nis_taglist) = 21;
-
+
/* Create a Directory */
nis_error NIS_MKDIR(nis_name) = 22;
-
+
/* Remove a Directory */
nis_error NIS_RMDIR(nis_name) = 23;
-
+
/* Update public keys of a directory object */
nis_error NIS_UPDKEYS(nis_name) = 24;
} = 3;
@@ -372,6 +407,15 @@ program NIS_PROG {
%#define NIS_CREATE_ACC 4
%#define NIS_DESTROY_ACC 8
%/* Test macros. a == access rights, m == desired rights. */
+%#define NIS_WORLD(a, m) (((a) & (m)) != 0)
+%#define NIS_GROUP(a, m) (((a) & ((m) << 8)) != 0)
+%#define NIS_OWNER(a, m) (((a) & ((m) << 16)) != 0)
+%#define NIS_NOBODY(a, m) (((a) & ((m) << 24)) != 0)
+%/*
+% * EOL Alert - The following non-prefixed test macros are
+% * here for backward compatability, and will be not be present
+% * in future releases - use the NIS_*() macros above.
+% */
%#define WORLD(a, m) (((a) & (m)) != 0)
%#define GROUP(a, m) (((a) & ((m) << 8)) != 0)
%#define OWNER(a, m) (((a) & ((m) << 16)) != 0)
@@ -418,6 +462,8 @@ program NIS_PROG {
%#define ENTRY_LEN(obj, col) \
% (obj)->EN_data.en_cols.en_cols_val[col].ec_value.ec_value_len
%
+%
+%
%#ifdef __cplusplus
%}
%#endif
@@ -429,12 +475,12 @@ program NIS_PROG {
%
%/*
% * nis_3.h
-% *
+% *
% * This file contains definitions that are only of interest to the actual
% * service daemon and client stubs. Normal users of NIS will not include
% * this file.
% *
-% * NOTE : This include file is automatically created by a combination
+% * NOTE : This include file is automatically created by a combination
% * of rpcgen and sed. DO NOT EDIT IT, change the nis.x file instead
% * and then remake this file.
% */
diff --git a/nis/rpcsvc/nis_cache.h b/nis/rpcsvc/nis_cache.h
deleted file mode 100644
index ca91a22cd4..0000000000
--- a/nis/rpcsvc/nis_cache.h
+++ /dev/null
@@ -1,47 +0,0 @@
-#ifndef __RPCSVC_NIS_CACHE_H_
-#define __RPCSVC_NIS_CACHE_H_
-
-#include <features.h>
-#include <rpc/rpc.h>
-#include <rpc/types.h>
-#include <rpcsvc/nis.h>
-
-__BEGIN_DECLS
-
-/* 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};
-
-#define CACHEPROG ((u_long)100301)
-#define CACHE_VER_1 ((u_long)1)
-
-#define NIS_CACHE_ADD_ENTRY ((u_long)1)
-#define NIS_CACHE_REMOVE_ENTRY ((u_long)2)
-#define NIS_CACHE_READ_COLDSTART ((u_long)3)
-#define NIS_CACHE_REFRESH_ENTRY ((u_long)4)
-
-extern void *nis_cache_add_entry_1 __P ((fd_result *, CLIENT *));
-extern void *nis_cache_add_entry_1_svc __P ((fd_result *, struct svc_req *));
-extern void *nis_cache_remove_entry_1 __P ((directory_obj *, CLIENT *));
-extern void *nis_cache_remove_entry_1_svc __P ((directory_obj *,
- struct svc_req *));
-extern void *nis_cache_read_coldstart_1 __P ((void *, CLIENT *));
-extern void *nis_cache_read_coldstart_1_svc __P ((void *, struct svc_req *));
-extern void *nis_cache_refresh_entry_1 __P ((char **, CLIENT *));
-extern void *nis_cache_refresh_entry_1_svc __P ((char **, struct svc_req *));
-
-__END_DECLS
-
-#endif /* !_RPCSVC_NIS_CACHE_H_ */
diff --git a/nis/rpcsvc/nis_cache.x b/nis/rpcsvc/nis_cache.x
deleted file mode 100644
index 91870d8a48..0000000000
--- a/nis/rpcsvc/nis_cache.x
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * nis_cache.x
- *
- * Copyright (c) 1988-1992 Sun Microsystems Inc
- * All Rights Reserved.
- */
-
-%#pragma ident "@(#)nis_cache.x 1.8 92/07/14 SMI"
-
-
-#ifdef RPC_HDR
-%#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;
-%
-%
-#endif
-
-#ifdef RPC_CLNT
-%#include "../gen/nis_clnt.h"
-#endif
-
-program CACHEPROG {
- version CACHE_VER_1 {
- void NIS_CACHE_ADD_ENTRY(fd_result) = 1;
- void NIS_CACHE_REMOVE_ENTRY(directory_obj) = 2;
- void NIS_CACHE_READ_COLDSTART(void) = 3;
- void NIS_CACHE_REFRESH_ENTRY(string<>) = 4;
- } = 1;
-} = 100301;
diff --git a/nis/rpcsvc/nis_object.x b/nis/rpcsvc/nis_object.x
index e13ae47b70..496a16a1e1 100644
--- a/nis/rpcsvc/nis_object.x
+++ b/nis/rpcsvc/nis_object.x
@@ -5,7 +5,7 @@
* All Rights Reserved.
*/
-%#pragma ident "@(#)nis_object.x 1.7 92/07/14 SMI"
+%#pragma ident "@(#)nis_object.x 1.9 96/07/09 SMI"
#if RPC_HDR
%
@@ -65,9 +65,14 @@ typedef string nis_name<>; /* The NIS name itself. */
* 1024 - 2047 are defined to be private to a particular tree.
* 2048 - 4095 are defined to be user defined.
* 4096 - ... are reserved for future use.
+ *
+ * EOL Alert - The non-prefixed names are present for backward
+ * compatability only, and will not exist in future releases. Use
+ * the NIS_* names for future compatability.
*/
enum zotypes {
+
BOGUS_OBJ = 0, /* Uninitialized object structure */
NO_OBJ = 1, /* NULL object (no data) */
DIRECTORY_OBJ = 2, /* Directory object describing domain */
@@ -75,7 +80,16 @@ enum zotypes {
TABLE_OBJ = 4, /* Table object (a database schema) */
ENTRY_OBJ = 5, /* Entry object (a database record) */
LINK_OBJ = 6, /* A name link. */
- PRIVATE_OBJ = 7 /* Private object (all opaque data) */
+ PRIVATE_OBJ = 7, /* Private object (all opaque data) */
+
+ NIS_BOGUS_OBJ = 0, /* Uninitialized object structure */
+ NIS_NO_OBJ = 1, /* NULL object (no data) */
+ NIS_DIRECTORY_OBJ = 2, /* Directory object describing domain */
+ NIS_GROUP_OBJ = 3, /* Group object (a list of names) */
+ NIS_TABLE_OBJ = 4, /* Table object (a database schema) */
+ NIS_ENTRY_OBJ = 5, /* Entry object (a database record) */
+ NIS_LINK_OBJ = 6, /* A name link. */
+ NIS_PRIVATE_OBJ = 7 /* Private object (all opaque data) */
};
/*
@@ -230,21 +244,21 @@ struct table_obj {
* This union joins together all of the currently known objects.
*/
union objdata switch (zotypes zo_type) {
- case DIRECTORY_OBJ :
+ case NIS_DIRECTORY_OBJ :
struct directory_obj di_data;
- case GROUP_OBJ :
+ case NIS_GROUP_OBJ :
struct group_obj gr_data;
- case TABLE_OBJ :
+ case NIS_TABLE_OBJ :
struct table_obj ta_data;
- case ENTRY_OBJ:
+ case NIS_ENTRY_OBJ:
struct entry_obj en_data;
- case LINK_OBJ :
+ case NIS_LINK_OBJ :
struct link_obj li_data;
- case PRIVATE_OBJ :
+ case NIS_PRIVATE_OBJ :
opaque po_data<>;
- case NO_OBJ :
+ case NIS_NO_OBJ :
void;
- case BOGUS_OBJ :
+ case NIS_BOGUS_OBJ :
void;
default :
void;
diff --git a/nis/rpcsvc/nis_tags.h b/nis/rpcsvc/nis_tags.h
index 30bdff6d1a..19a5bcab19 100644
--- a/nis/rpcsvc/nis_tags.h
+++ b/nis/rpcsvc/nis_tags.h
@@ -12,7 +12,7 @@
#ifndef _RPCSVC_NIS_TAGS_H
#define _RPCSVC_NIS_TAGS_H
-#pragma ident "@(#)nis_tags.h 1.13 95/02/17 SMI"
+#pragma ident "@(#)nis_tags.h 1.16 96/10/25 SMI"
/* from file: zns_tags.h 1.7 Copyright (c) 1990 Sun Microsystems */
#ifdef __cplusplus
@@ -40,6 +40,9 @@ extern "C" {
#define REM_RESERVED (1<<12) /* Spare REM semantic */
#define MOD_EXCLUSIVE (1<<13) /* Modify no overwrite on modified keys */
+/* Lookup and List function flags (continued) */
+#define SOFT_LOOKUP (1<<14) /* The "old default" return on failure */
+
/* Transport specific modifications to the operation */
#define USE_DGRAM (1<<16) /* Use a datagram transport */
#define NO_AUTHINFO (1<<17) /* Don't bother attaching auth info */
@@ -63,6 +66,8 @@ extern "C" {
#define TAG_TCACHE_ALL 9 /* Flush entire table cache */
#define TAG_GCACHE_ONE 10 /* Flush one group object */
#define TAG_DCACHE_ONE_REFRESH 11 /* Flush and refresh one DO */
+#define TAG_READONLY 12 /* Set read only mode */
+#define TAG_READWRITE 14 /* Reset read-write mode */
#define TAG_OPSTATS 2048 /* NIS+ operations statistics */
#define TAG_THREADS 2049 /* Child process/thread status */
diff --git a/nis/rpcsvc/nislib.h b/nis/rpcsvc/nislib.h
index 73b3804e85..016bedc769 100644
--- a/nis/rpcsvc/nislib.h
+++ b/nis/rpcsvc/nislib.h
@@ -224,29 +224,14 @@ extern bool_t nis_write_obj __P ((const char *file, const nis_object *obj));
*/
extern directory_obj *nis_clone_directory __P ((const directory_obj *src,
directory_obj *dest));
-extern group_obj *nis_clone_group __P ((const group_obj *src,
- group_obj *dest));
-extern table_obj *nis_clone_table __P ((const table_obj *src,
- table_obj *dest));
-extern entry_obj *nis_clone_entry __P ((const entry_obj *src,
- entry_obj *dest));
-extern link_obj *nis_clone_link __P ((const link_obj *src, link_obj *dest));
-extern objdata *nis_clone_objdata __P ((const objdata *src, objdata *dest));
extern nis_result *nis_clone_result __P ((const nis_result *src,
nis_result *dest));
/* nis_free - nis_freeresult */
extern void nis_freeresult __P ((nis_result *result));
/* (XXX THE FOLLOWING ARE INTERNAL FUNCTIONS, SHOULD NOT BE USED !!) */
-extern void nis_free_attr __P ((nis_attr *attr));
extern void nis_free_request __P ((ib_request *req));
-extern void nis_free_endpoints __P ((endpoint *ep, unsigned int count));
-extern void nis_free_servers __P ((nis_server *machine, unsigned int count));
extern void nis_free_directory __P ((directory_obj *dirobj));
-extern void nis_free_group __P ((group_obj *grpobj));
-extern void nis_free_table __P ((table_obj *tblobj));
-extern void nis_free_entry __P ((entry_obj *enobj));
-extern void nis_free_link __P ((link_obj *lnkobj));
extern void nis_free_object __P ((nis_object *obj));
/* (XXX INTERNAL FUNCTIONS, SHOULD NOT BE USED !!) */
@@ -255,10 +240,9 @@ extern nis_name __nis_default_group __P ((char *));
extern u_long __nis_default_ttl __P ((char *));
extern u_long __nis_default_access __P ((char *, u_long));
extern fd_result *__nis_finddirectory __P ((directory_obj *, const_nis_name));
+extern void __free_fdresult __P ((fd_result *));
extern u_long __nis_hash __P ((const void *keyarg, register size_t len));
-extern log_result *__nis_dumplog __P ((nis_server *,nis_name, u_long));
-extern log_result *__nis_dump __P ((nis_server *, nis_name,
- int (*)(nis_name, nis_object *, void *)));
+
/* NIS+ cache locking */
extern int __nis_lock_cache __P ((void));
extern int __nis_unlock_cache __P ((void));
diff --git a/nis/rpcsvc/ypupd.h b/nis/rpcsvc/ypupd.h
index dace7824d4..d7ce0d76d0 100644
--- a/nis/rpcsvc/ypupd.h
+++ b/nis/rpcsvc/ypupd.h
@@ -85,4 +85,6 @@ extern u_int * ypu_delete_1_svc __P ((ypdelete_args *, struct svc_req *));
extern u_int * ypu_store_1 __P ((ypupdate_args *, CLIENT *));
extern u_int * ypu_store_1_svc __P ((ypupdate_args *, struct svc_req *));
+__END_DECLS
+
#endif /* !__RPCSVC_YPUPD_H__ */