mon_id
mon_id smmonid;
smmon.mon_id.mon_name = host->nh_caller_name;
smmon.mon_id.my_id.my_name = "localhost";
smmon.mon_id.my_id.my_prog = NLM_PROG;
smmon.mon_id.my_id.my_vers = NLM_SM;
smmon.mon_id.my_id.my_proc = NLM_SM_NOTIFY;
typedef struct mon_id mon_id;
struct mon_id mon_id;
extern struct sm_stat * sm_unmon_1(struct mon_id *, CLIENT *);
extern struct sm_stat * sm_unmon_1_svc(struct mon_id *, struct svc_req *);
extern bool_t xdr_mon_id(XDR *, mon_id*);
xdr_mon_id(XDR *xdrs, mon_id *objp)
if (!xdr_mon_id(xdrs, &objp->mon_id))
mon_host.mon_id.my_id.my_name = localhost;
mon_host.mon_id.my_id.my_prog = NLM_PROG;
mon_host.mon_id.my_id.my_vers = NLM_SM;
mon_host.mon_id.my_id.my_proc = NLM_SM_NOTIFY; /* bsdi addition */
smon.mon_id.mon_name = nhp->name;
smon.mon_id.my_id.my_name = "localhost";
smon.mon_id.my_id.my_prog = NLM_PROG;
smon.mon_id.my_id.my_vers = NLM_SM;
smon.mon_id.my_id.my_proc = NLM_SM_NOTIFY;
struct mon_id smon_id;
if ((err = sm_check_hostname(req, arg->mon_id.mon_name)) == 0)
syslog(LOG_DEBUG, "monitor request for host %s", arg->mon_id.mon_name);
arg->mon_id.my_id.my_name,
arg->mon_id.my_id.my_prog,
arg->mon_id.my_id.my_vers,
arg->mon_id.my_id.my_proc);
if (getaddrinfo(arg->mon_id.mon_name, NULL, NULL, &ai) != 0)
syslog(LOG_ERR, "Invalid hostname to sm_mon: %s", arg->mon_id.mon_name);
if ((hp = find_host(arg->mon_id.mon_name, TRUE)))
strncpy(lp->notifyHost, arg->mon_id.my_id.my_name, SM_MAXSTRLEN);
lp->notifyProg = arg->mon_id.my_id.my_prog;
lp->notifyVers = arg->mon_id.my_id.my_vers;
lp->notifyProc = arg->mon_id.my_id.my_proc;
struct sm_stat *sm_unmon_1_svc(mon_id *arg, struct svc_req *req __unused)
mon.mon_id.mon_name = argv[1];
mon.mon_id.my_id.my_name = argv[1];
mon.mon_id.my_id.my_prog = SM_PROG;
mon.mon_id.my_id.my_vers = SM_VERS;
mon.mon_id.my_id.my_proc = 1; /* have it call sm_stat() !!! */
struct mon_id *argp;