/*
 * $Header: /smsa/bsd:include/rpcsvc/bootparam.h:bsd  1.3  $
 * $Source: /smsa/bsd:include/rpcsvc/bootparam.h: $
 *
 * Copyright (c) 1988 Acorn Computers Ltd., Cambridge, England
 * Copyright (c) 1988 by Sun Microsystems, Inc.
 * 1.2 88/07/11 SMI
 */
/*	@(#)bootparam.h	1.3 88/05/08 4.0NFSSRC SMI	*/

#ifndef __rpcsvc_bootparam_h
#define __rpcsvc_bootparam_h

/* 
 * Copyright (c) 1988 by Sun Microsystems, Inc.
 * @(#) from SUN 1.2
 */

#ifndef __rpc_types_h
#include "../rpc/types.h"
#endif
#ifndef __sys_errno_h
#include "../sys/errno.h"
#endif
#ifndef __nfs_nfs_h
#include "../nfs/nfs.h"
#endif

#define	MAX_MACHINE_NAME 255
#define	MAX_PATH_LEN	1024
#define	MAX_FILEID	32
#define	IP_ADDR_TYPE	1

typedef char *bp_machine_name_t;


typedef char *bp_path_t;


typedef char *bp_fileid_t;


struct ip_addr_t {
	char net;
	char host;
	char lh;
	char impno;
};
typedef struct ip_addr_t ip_addr_t;


struct bp_address {
	int address_type;
	union {
		ip_addr_t ip_addr;
	} bp_address;
};
typedef struct bp_address bp_address;


struct bp_whoami_arg {
	bp_address client_address;
};
typedef struct bp_whoami_arg bp_whoami_arg;


struct bp_whoami_res {
	bp_machine_name_t client_name;
	bp_machine_name_t domain_name;
	bp_address router_address;
};
typedef struct bp_whoami_res bp_whoami_res;


struct bp_getfile_arg {
	bp_machine_name_t client_name;
	bp_fileid_t file_id;
};
typedef struct bp_getfile_arg bp_getfile_arg;


struct bp_getfile_res {
	bp_machine_name_t server_name;
	bp_address server_address;
	bp_path_t server_path;
};
typedef struct bp_getfile_res bp_getfile_res;


#define BOOTPARAMPROG 100026
#define BOOTPARAMVERS 1
#define BOOTPARAMPROC_WHOAMI 1
#define BOOTPARAMPROC_GETFILE 2

bool_t xdr_bp_machine_name_t();
bool_t xdr_bp_path_t();
bool_t xdr_bp_fileid_t();
bool_t xdr_ip_addr_t();
bool_t xdr_bp_address();
bool_t xdr_bp_whoami_arg();
bool_t xdr_bp_whoami_res();
bool_t xdr_bp_getfile_arg();
bool_t xdr_bp_getfile_res();

#endif/*__rpcsvc_bootparam_h*/

/* EOF bootparam.h */
