opnsense-src/usr.sbin/bootparamd/bootparamd/bootparam_prot.h
Bill Paul b9fefab743 Obtained from: The Xkernel source distribution
I hope I'm doing this right.

This is an initial version of bootparamd for FreeBSD based on a public
domain rpc.bootparamd implementation by a gentleman named Klas Heggemann.
This program has apparently been around for a while. The README explicitly
lists the code as public domain, so I guess it's safe to use.

This program is needed for booting diskless SunOS and Solaris machines.
rarpd is also required, but that's in the works too.

I have made two changes to this code:

- Implemented NIS lookups. If /etc/bootparams contains a '+' then the
  bootparams map is consulted.

- Allow 0.0.0.0 as a user-specified router address. The SunOS rpc.bootparamd
  returns this value in many cases.
1995-02-26 23:40:53 +00:00

81 lines
1.5 KiB
C

#include <rpc/types.h>
#include <sys/time.h>
#include <sys/errno.h>
#include <nfs/nfs.h>
#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;
bool_t xdr_bp_machine_name_t();
typedef char *bp_path_t;
bool_t xdr_bp_path_t();
typedef char *bp_fileid_t;
bool_t xdr_bp_fileid_t();
struct ip_addr_t {
char net;
char host;
char lh;
char impno;
};
typedef struct ip_addr_t ip_addr_t;
bool_t xdr_ip_addr_t();
struct bp_address {
int address_type;
union {
ip_addr_t ip_addr;
} bp_address_u;
};
typedef struct bp_address bp_address;
bool_t xdr_bp_address();
struct bp_whoami_arg {
bp_address client_address;
};
typedef struct bp_whoami_arg bp_whoami_arg;
bool_t xdr_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;
bool_t xdr_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;
bool_t xdr_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;
bool_t xdr_bp_getfile_res();
#define BOOTPARAMPROG ((u_long)100026)
#define BOOTPARAMVERS ((u_long)1)
#define BOOTPARAMPROC_WHOAMI ((u_long)1)
extern bp_whoami_res *bootparamproc_whoami_1();
#define BOOTPARAMPROC_GETFILE ((u_long)2)
extern bp_getfile_res *bootparamproc_getfile_1();