Lines Matching defs:sp_ptr

57  * 	sp_ptr
69 DAPL_SP *sp_ptr;
72 sp_ptr = (DAPL_SP *)dapl_os_alloc(sizeof (DAPL_SP));
73 if (sp_ptr == NULL) {
78 (void) dapl_os_memzero(sp_ptr, sizeof (DAPL_SP));
83 sp_ptr->header.provider = ia_ptr->header.provider;
85 sp_ptr->header.magic = DAPL_MAGIC_PSP;
86 sp_ptr->header.handle_type = DAT_HANDLE_TYPE_PSP;
88 sp_ptr->header.magic = DAPL_MAGIC_RSP;
89 sp_ptr->header.handle_type = DAT_HANDLE_TYPE_RSP;
91 sp_ptr->header.owner_ia = ia_ptr;
92 sp_ptr->header.user_context.as_64 = 0;
93 sp_ptr->header.user_context.as_ptr = NULL;
94 dapl_llist_init_entry(&sp_ptr->header.ia_list_entry);
95 dapl_os_lock_init(&sp_ptr->header.lock);
100 dapl_llist_init_head(&sp_ptr->cr_list_head);
102 return (sp_ptr);
123 IN DAPL_SP *sp_ptr)
125 dapl_os_assert(sp_ptr->header.magic == DAPL_MAGIC_PSP ||
126 sp_ptr->header.magic == DAPL_MAGIC_RSP);
127 dapl_os_assert(dapl_llist_is_empty(&sp_ptr->cr_list_head));
129 dapl_os_lock(&sp_ptr->header.lock);
131 sp_ptr->header.magic = DAPL_MAGIC_INVALID;
132 dapl_os_unlock(&sp_ptr->header.lock);
133 dapl_os_free(sp_ptr, sizeof (DAPL_SP));
143 * sp_ptr
155 IN DAPL_SP *sp_ptr,
158 dapl_os_lock(&sp_ptr->header.lock);
159 dapl_llist_add_tail(&sp_ptr->cr_list_head,
161 sp_ptr->cr_list_count++;
162 dapl_os_unlock(&sp_ptr->header.lock);
173 * sp_ptr
185 IN DAPL_SP *sp_ptr,
191 dapl_os_lock(&sp_ptr->header.lock);
193 cr_ptr = (DAPL_CR *) dapl_llist_peek_head(&sp_ptr->cr_list_head);
201 } while ((void *)cr_ptr != (void *)sp_ptr->cr_list_head->data);
203 dapl_os_unlock(&sp_ptr->header.lock);
215 * sp_ptr
227 IN DAPL_SP *sp_ptr,
230 dapl_os_lock(&sp_ptr->header.lock);
232 if (dapl_llist_is_empty(&sp_ptr->cr_list_head)) {
235 sp_ptr);
236 dapl_os_unlock(&sp_ptr->header.lock);
240 (void) dapl_llist_remove_entry(&sp_ptr->cr_list_head,
242 sp_ptr->cr_list_count--;
244 dapl_os_unlock(&sp_ptr->header.lock);