Lines Matching defs:dsp

81 static void ds_free_dslibentry(dslibentry_t *dsp, int force_unreg);
83 static void ds_string_arg(vlds_string_t *dsp, char *str);
90 dslibentry_t *dsp;
92 for (i = 0, dsp = dslibtab; i < ndslib; i++, dsp++) {
93 if (hdl == dsp->dsl_hdl)
94 return (dsp);
103 dslibentry_t *dsp;
105 if ((dsp = ds_hdl_to_dslibentry(NULL)) != NULL)
106 return (dsp);
113 dsp = &dslibtab[ndslib];
114 (void) memset(dsp, 0, (newndslib - ndslib) * sizeof (dslibentry_t));
116 return (dsp);
123 dslibentry_t *dsp;
127 for (i = 0, dsp = dslibtab; i < ndslib; i++, dsp++) {
128 if (dsp->dsl_hdl != NULL &&
129 strcmp(dsp->dsl_service, service) == 0 &&
130 (dsp->dsl_flags & VLDS_REG_CLIENT) == is_client_flag) {
141 dslibentry_t *dsp;
144 for (i = 0, dsp = dslibtab; i < ndslib; i++, dsp++) {
145 if (dsp->dsl_hdl != NULL &&
146 strcmp(dsp->dsl_service, service) == 0 &&
147 (dsp->dsl_flags & VLDS_REG_CLIENT) == is_client_flag) {
148 return (dsp);
157 dslibentry_t *dsp, *orig_dsp;
159 if ((dsp = ds_hdl_to_dslibentry(hdl)) != NULL) {
160 dsp->dsl_tflags |= DSL_ENTRY_INUSE;
161 return (dsp);
176 if ((dsp = ds_new_dslibentry()) == NULL)
179 *dsp = *orig_dsp;
180 dsp->dsl_service = strdup(orig_dsp->dsl_service);
181 dsp->dsl_hdl = hdl;
182 return (dsp);
190 ds_free_dslibentry(dslibentry_t *dsp, int force_unreg)
200 nhdls = ds_service_count(dsp->dsl_service,
201 (dsp->dsl_flags & VLDS_REG_CLIENT) != 0);
204 dsp->dsl_hdl = NULL;
205 if (dsp->dsl_service) {
206 free(dsp->dsl_service);
208 (void) memset(dsp, 0, sizeof (dslibentry_t));
210 dsp->dsl_tflags &= ~DSL_ENTRY_INUSE;
227 dslibentry_t *dsp;
245 if ((dsp = ds_register_dslibentry(hdl,
247 reg_cb = dsp->dsl_ops.ds_reg_cb;
248 cb_arg = dsp->dsl_ops.cb_arg;
266 if ((dsp = ds_hdl_to_dslibentry(hdl)) != NULL) {
267 unreg_cb = dsp->dsl_ops.ds_unreg_cb;
268 cb_arg = dsp->dsl_ops.cb_arg;
269 ds_free_dslibentry(dsp, 0);
280 if ((dsp = ds_hdl_to_dslibentry(hdl)) != NULL) {
281 data_cb = dsp->dsl_ops.ds_data_cb;
282 cb_arg = dsp->dsl_ops.cb_arg;
297 ds_string_arg(vlds_string_t *dsp, char *str)
300 dsp->vlds_strp = NULL;
301 dsp->vlds_strlen = 0;
303 dsp->vlds_strp = PTRTOUINT64(str);
304 dsp->vlds_strlen = strlen(str) + 1;
350 dslibentry_t *dsp;
378 if ((dsp = ds_new_dslibentry()) == NULL) {
434 dsp->dsl_hdl = hdl;
435 dsp->dsl_flags = flags;
436 dsp->dsl_tflags = 0;
437 dsp->dsl_service = strdup(cap->svc_id);
438 dsp->dsl_ops = *ops;
535 dslibentry_t *dsp;
539 if ((dsp = ds_hdl_to_dslibentry(hdl)) != NULL) {
540 ds_free_dslibentry(dsp, 1);
703 dslibentry_t *dsp;
716 for (i = 0, dsp = dslibtab; i < ndslib; i++, dsp++) {
717 if (dsp->dsl_hdl == NULL)
719 if (dsp->dsl_service) {
720 free(dsp->dsl_service);