Net2/usr/src/sys/tests/nfs/billboard/src/protocol.x


#ifdef RPC_HDR
%/*
% *	WARNING - DO NOT EDIT THIS FILE
% *		  IT IS GENERATED BY RPCGEN - LOOK AT THE MAKEFILE
% */
#endif

#ifdef RPC_XDR
%/*
% *	WARNING - DO NOT EDIT THIS FILE
% *		  IT IS GENERATED BY RPCGEN - LOOK AT THE MAKEFILE
% */
#endif

#ifdef RPC_SVC
%/*
% *	WARNING - DO NOT EDIT THIS FILE
% *		  IT IS GENERATED BY RPCGEN - LOOK AT THE MAKEFILE
% */
#endif

#ifdef RPC_CLNT
%/*
% *	WARNING - DO NOT EDIT THIS FILE
% *		  IT IS GENERATED BY RPCGEN - LOOK AT THE MAKEFILE
% */
#endif



/*
**  The sizes of data items.
*/
const	BB_MAX_IMP		=	200;
const	BB_ID_NAME_LEN		=	8;
const	BB_COMPANY_NAME_LEN	=	32;
const	BB_IMP_NAME_LEN		=	16;
const	BB_PASSWD_LEN		=	16;


/*
**  Structure which corresponds to a row of the cthon board.  The phase
**  variables indicate completion of each of the first two phases.  The
**  clients variable is an array indicating that this implementation has
**  completed the client side testing of the NFS test suite against it's
**  "indexed" implementation.
*/
typedef u_char	BB_row[ BB_MAX_IMP];

/*
**  The connectathon board consists of N X N testing.  Each implementation
**  of NFS is tested against all others.  This implies creation of an
**  array of the CTHON_row structures, one for each implementation.
*/
typedef BB_row	BB_board[ BB_MAX_IMP];

typedef char	BB_id[BB_ID_NAME_LEN];		/* combo of co and implementation */

typedef char	BB_passwd[BB_PASSWD_LEN];		

struct BB_vendor
{
    int		booth;
    char	company[BB_COMPANY_NAME_LEN];
    char	imp[BB_IMP_NAME_LEN];
    BB_id	id;		/* combo of co and implementation */
};

struct BB_set_in
{
    BB_id	client; 
    BB_id	server; 
    BB_passwd	passwd;		
};

struct BB_set_out
{
    int		status;
    BB_vendor	client;
    BB_vendor	server;
};

struct BB_passwd_in
{
    BB_id	client; 
    BB_passwd	old; 
    BB_passwd	new; 
};

struct BB_list_in
{
    BB_id	id; 
    BB_passwd	passwd;		
};

struct BB_list_out
{
    int		status;
    BB_vendor	data<BB_MAX_IMP>;
};

struct BB_grid
{
    int		status;
    int		row;
    int		column;
    BB_board	grid;
};

/*
** Prograzm definitions
** The program number PROGNUM is defined during compilation, see the Makefile
**/
program	BILLBOARD_PROG {
	version BILLBOARD_VERS {
		BB_set_out	BB_SET(BB_set_in) = 1;
		BB_set_out	BB_UNSET(BB_set_in) = 2;
		BB_list_out	BB_ALIST(BB_list_in) = 3;
		BB_list_out	BB_BLIST(BB_list_in) = 4;
		BB_list_out	BB_CLIST(BB_list_in) = 5;
		BB_list_out	BB_DLIST(BB_list_in) = 6;
		int		BB_PASSWD_SET(BB_passwd_in) = 7;
		BB_grid		BB_GRID(void) = 8;
	} = 1;
} = PROGNUM;