Lines Matching defs:iep
79 import_buffer(import_export_t *iep, void *uaddr, void *kaddr, size_t size,
82 iep->ie_uaddr = uaddr;
83 iep->ie_size = size;
84 iep->ie_flags = flags & IE_EXPORT;
87 *iep = null_ie;
92 iep->ie_kaddr = kmem_alloc(size, KM_SLEEP);
93 iep->ie_flags |= IE_FREE;
95 iep->ie_kaddr = kaddr;
96 iep->ie_flags &= ~IE_FREE;
100 (ddi_copyin(uaddr, iep->ie_kaddr, size, 0) != 0)) {
101 if (iep->ie_flags & IE_FREE) {
102 kmem_free(iep->ie_kaddr, iep->ie_size);
103 iep->ie_kaddr = NULL;
104 iep->ie_flags = 0;
113 export_buffer(import_export_t *iep, int *error)
117 if (iep->ie_size == 0 || iep->ie_uaddr == NULL)
125 if ((iep->ie_flags & IE_EXPORT) && (*error >= 0) &&
126 (ddi_copyout(iep->ie_kaddr, iep->ie_uaddr, iep->ie_size, 0) != 0))
128 if (iep->ie_flags & IE_FREE) {
129 kmem_free(iep->ie_kaddr, iep->ie_size);
130 iep->ie_kaddr = NULL;
131 iep->ie_flags = 0;
148 import_handle(import_export_t *iep, void *field, size_t size, int flags)
155 err = import_buffer(iep, ptr, NULL, size, (flags));
158 set_xen_guest_handle((*hdl), (void *)((iep)->ie_kaddr));