/*
 *   COMPONENT_NAME: onchdrs
 *
 *   FUNCTIONS: none
 *
 *   ORIGINS: 24,27
 *
 *
 *   (C) COPYRIGHT International Business Machines Corp. 1988,1993
 *   All Rights Reserved
 *   Licensed Materials - Property of IBM
 *   US Government Users Restricted Rights - Use, duplication or
 *   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
 */


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

/* (#)sm_inter.h	1.1 12/13/88 17:46:48 */
/*	(#)sm_inter.h	1.2 88/07/11 4.0NFSSRC SMI	*/

#ifndef _H_rpcsvc_sm_inter
#define _H_rpcsvc_sm_inter

#include <rpc/xdr.h>

#define SM_PROG 100024
#define SM_VERS 1
#define SM_STAT 1
#define SM_MON 2
#define SM_UNMON 3
#define SM_UNMON_ALL 4
#define SM_SIMU_CRASH 5
#define SM_SET_DEBUG 7
#define SM_SET_MAX_THREADS 8
#define SM_GET_DEBUG 9
#define SM_GET_MAX_THREADS 10

#define SM_MAXSTRLEN 1024

struct sm_name {
	char *mon_name;
};
typedef struct sm_name sm_name;
#if __cplusplus
extern "C" 
#endif
bool_t xdr_sm_name(XDR *, sm_name *);


struct my_id {
	char *my_name;
	int my_prog;
	int my_vers;
	int my_proc;
};
typedef struct my_id my_id;
#if __cplusplus
extern "C" 
#endif
bool_t xdr_my_id(XDR *, my_id *);


struct mon_id {
	char *mon_name;
	struct my_id my_id;
};
typedef struct mon_id mon_id;
#if __cplusplus
extern "C" 
#endif
bool_t xdr_mon_id(XDR *, mon_id *);


struct mon {
	struct mon_id mon_id;
	char priv[16];
};
typedef struct mon mon;
#if __cplusplus
extern "C" 
#endif
bool_t xdr_mon(XDR *, mon *);


struct sm_stat {
	int state;
};
typedef struct sm_stat sm_stat;
#if __cplusplus
extern "C" 
#endif
bool_t xdr_sm_stat(XDR *, sm_stat *);


enum res {
	stat_succ = 0,
	stat_fail = 1
};
typedef enum res res;
#if __cplusplus
extern "C" 
#endif
bool_t xdr_res(XDR *, res *);


struct sm_stat_res {
	res res_stat;
	int state;
};
typedef struct sm_stat_res sm_stat_res;
#if __cplusplus
extern "C" 
#endif
bool_t xdr_sm_stat_res(XDR *, sm_stat_res *);


struct sm_debug_res {
	res res_stat;
	int debug;
};
typedef struct sm_debug_res sm_debug_res;
#if __cplusplus
extern "C" 
#endif
bool_t xdr_sm_debug_res(XDR *, sm_debug_res *);


struct sm_threads_res {
	res res_stat;
	int max_threads;
};
typedef struct sm_threads_res sm_threads_res;
#if __cplusplus
extern "C" 
#endif
bool_t xdr_sm_threads_res(XDR *, sm_threads_res *);


struct status {
	char *mon_name;
	int state;
	char priv[16];
};
typedef struct status status;
#if __cplusplus
extern "C" 
#endif
bool_t xdr_status(XDR *, status *);

#endif /*_H_rpcsvc_sm_inter*/
