ds_svc_hdl_t
dr_cpu_reg_handler(ds_cb_arg_t arg, ds_ver_t *ver, ds_svc_hdl_t hdl)
static ds_svc_hdl_t ds_handle;
static void dr_cpu_reg_handler(ds_cb_arg_t, ds_ver_t *, ds_svc_hdl_t);
static ds_svc_hdl_t ds_vio_handle;
dr_vio_reg_handler(ds_cb_arg_t arg, ds_ver_t *ver, ds_svc_hdl_t hdl)
static void dr_vio_reg_handler(ds_cb_arg_t, ds_ver_t *, ds_svc_hdl_t);
static ds_svc_hdl_t ds_handle;
static void dr_mem_reg_handler(ds_cb_arg_t, ds_ver_t *, ds_svc_hdl_t);
dr_mem_reg_handler(ds_cb_arg_t arg, ds_ver_t *ver, ds_svc_hdl_t hdl)
static void ds_send_unreg_nack(ds_port_t *port, ds_svc_hdl_t bad_hdl);
static void ds_send_data_nack(ds_port_t *port, ds_svc_hdl_t bad_hdl);
ds_send_unreg_nack(ds_port_t *port, ds_svc_hdl_t bad_hdl)
static void ds_loopback_register(ds_svc_hdl_t hdl);
static void ds_loopback_unregister(ds_svc_hdl_t hdl);
static void ds_loopback_send(ds_svc_hdl_t hdl, void *buf, size_t buflen);
ds_svc_hdl_t *lb_hdlp);
ds_send_data_nack(ds_port_t *port, ds_svc_hdl_t bad_hdl)
static int i_ds_hdl_lookup(char *service, uint_t is_client, ds_svc_hdl_t *hdlp,
static ds_svc_t *ds_find_clnt_svc_by_hdl_port(ds_svc_hdl_t hdl,
ds_svc_hdl_t hdl;
ds_get_svc(ds_svc_hdl_t hdl)
int instance, ds_svc_hdl_t *hdlp)
ds_svc_hdl_t lb_hdl, hdl;
ds_unreg_hdl(ds_svc_hdl_t hdl)
ds_svc_hdl_t lb_hdl;
ds_svc_hdl_t hdl;
ds_cap_send(ds_svc_hdl_t hdl, void *buf, size_t len)
ds_svc_hdl_t svc_hdl;
ds_loopback_register(ds_svc_hdl_t hdl)
ds_loopback_unregister(ds_svc_hdl_t hdl)
ds_loopback_send(ds_svc_hdl_t hdl, void *buf, size_t buflen)
ds_loopback_set_svc(ds_svc_t *svc, ds_capability_t *cap, ds_svc_hdl_t *lb_hdlp)
ds_svc_hdl_t lb_hdl = *lb_hdlp;
ds_find_clnt_svc_by_hdl_port(ds_svc_hdl_t hdl, ds_port_t *port)
ds_svc_hdl_t hdl;
i_ds_hdl_lookup(char *service, uint_t is_client, ds_svc_hdl_t *hdlp,
ds_hdl_lookup(char *service, uint_t is_client, ds_svc_hdl_t *hdlp,
ds_svc_hdl_t tmp_hdl;
ds_hdl_get_cbarg(ds_svc_hdl_t hdl, ds_cb_arg_t *cbargp)
ds_is_my_hdl(ds_svc_hdl_t hdl, int instance)
ds_service_lookup(ds_svc_hdl_t hdl, char **servicep, uint_t *is_client)
ds_domain_lookup(ds_svc_hdl_t hdl, ds_domain_hdl_t *dhdlp)
ds_hdl_isready(ds_svc_hdl_t hdl, uint_t *is_ready)
ds_svc_hdl_t hdl;
ds_cbarg_get_hdl(ds_cb_arg_t arg, ds_svc_hdl_t *hdlp)
ds_svc_hdl_t ds_pri_handle;
static void ds_pri_reg_handler(ds_cb_arg_t, ds_ver_t *, ds_svc_hdl_t);
ds_pri_reg_handler(ds_cb_arg_t arg, ds_ver_t *ver, ds_svc_hdl_t hdl)
static ds_svc_hdl_t ds_snmp_handle = DS_INVALID_HDL;
static void ds_snmp_reg_handler(ds_cb_arg_t, ds_ver_t *, ds_svc_hdl_t);
ds_snmp_reg_handler(ds_cb_arg_t arg, ds_ver_t *ver, ds_svc_hdl_t hdl)
fi_reg_handler(ds_cb_arg_t arg, ds_ver_t *ver, ds_svc_hdl_t hdl)
if ((ds_svc_hdl_t *)arg == &cpu_handle)
if ((ds_svc_hdl_t *)arg == &mem_handle)
if ((ds_svc_hdl_t *)arg == &cpu_handle)
if ((ds_svc_hdl_t *)arg == &mem_handle)
static ds_svc_hdl_t cpu_handle;
static ds_svc_hdl_t mem_handle;
static void fi_reg_handler(ds_cb_arg_t arg, ds_ver_t *ver, ds_svc_hdl_t hdl);
ds_svc_hdl_t ds_handle = ds_md_handle;
ds_svc_hdl_t ds_handle = ds_shutdown_handle;
ds_svc_hdl_t ds_handle = ds_panic_handle;
ps_suspend_send_response(ds_svc_hdl_t *ds_handle, uint64_t req_num,
ds_svc_hdl_t hdl;
static ds_svc_hdl_t ds_md_handle;
static ds_svc_hdl_t ds_shutdown_handle;
static ds_svc_hdl_t ds_panic_handle;
static ds_svc_hdl_t ds_suspend_handle;
ps_reg_handler(ds_cb_arg_t arg, ds_ver_t *ver, ds_svc_hdl_t hdl)
if ((ds_svc_hdl_t *)arg == &ds_md_handle)
if ((ds_svc_hdl_t *)arg == &ds_shutdown_handle)
if ((ds_svc_hdl_t *)arg == &ds_panic_handle)
if ((ds_svc_hdl_t *)arg == &ds_suspend_handle)
if ((ds_svc_hdl_t *)arg == &ds_md_handle)
if ((ds_svc_hdl_t *)arg == &ds_shutdown_handle)
if ((ds_svc_hdl_t *)arg == &ds_panic_handle)
if ((ds_svc_hdl_t *)arg == &ds_suspend_handle)
static void ps_reg_handler(ds_cb_arg_t arg, ds_ver_t *ver, ds_svc_hdl_t hdl);
static void vlds_user_reg_cb(ds_cb_arg_t arg, ds_ver_t *ver, ds_svc_hdl_t hdl);
static int vlds_recv_msg(ds_svc_hdl_t hdl, void *buf, size_t buflen,
vlds_user_reg_cb(ds_cb_arg_t arg, ds_ver_t *ver, ds_svc_hdl_t hdl)
ds_svc_hdl_t hdl;
ds_svc_hdl_t hdl;
vlds_recv_msg(ds_svc_hdl_t hdl, void *buf, size_t buflen, size_t *msglenp,
ds_svc_hdl_t hdl;
ds_svc_hdl_t *hdlsp;
nhdls * sizeof (ds_svc_hdl_t), mode) != 0) {
ds_svc_hdl_t hdl;
if ((ds_svc_hdl_t *)arg == &ds_primary_handle)
else if ((ds_svc_hdl_t *)arg == &ds_backup_handle)
ds_svc_hdl_t ds_handle;
static ds_svc_hdl_t ds_primary_handle;
static ds_svc_hdl_t ds_backup_handle;
static void vc_reg_handler(ds_cb_arg_t, ds_ver_t *, ds_svc_hdl_t);
vc_reg_handler(ds_cb_arg_t arg, ds_ver_t *ver, ds_svc_hdl_t hdl)
if ((ds_svc_hdl_t *)arg == &ds_primary_handle)
else if ((ds_svc_hdl_t *)arg == &ds_backup_handle)
extern int ds_cap_send(ds_svc_hdl_t hdl, void *buf, size_t buflen);
void (*ds_reg_cb)(ds_cb_arg_t arg, ds_ver_t *ver, ds_svc_hdl_t hdl);
ds_svc_hdl_t hdl; /* handle assigned by DS */
ds_svc_hdl_t svc_hdl; /* remote svc hdl if client svc */
void ds_cbarg_get_hdl(ds_cb_arg_t arg, ds_svc_hdl_t *hdlp);
int ds_hdl_get_cbarg(ds_svc_hdl_t hdl, ds_cb_arg_t *cbargp);
int ds_is_my_hdl(ds_svc_hdl_t hdl, int instance);
ds_svc_t *ds_get_svc(ds_svc_hdl_t hdl);
int instance, ds_svc_hdl_t *hdlp);
int ds_unreg_hdl(ds_svc_hdl_t hdl);
int ds_hdl_lookup(char *service, uint_t is_client, ds_svc_hdl_t *hdlp,
int ds_service_lookup(ds_svc_hdl_t hdl, char **servicep, uint_t *is_client);
int ds_domain_lookup(ds_svc_hdl_t hdl, ds_domain_hdl_t *dhdlp);
int ds_hdl_isready(ds_svc_hdl_t hdl, uint_t *is_ready);
#define DS_BADHDL1 (ds_svc_hdl_t)(0xdeadbed1deadbed1ull)
#define DS_BADHDL2 (ds_svc_hdl_t)(0x2deadbed2deadbedull)
#define DS_BADHDL1 (ds_svc_hdl_t)0
#define DS_BADHDL2 (ds_svc_hdl_t)0