Lines Matching refs:gc
44 void libxl__ptr_add(libxl__gc *gc, void *ptr) in libxl__ptr_add() argument
48 if (!libxl__gc_is_real(gc)) in libxl__ptr_add()
55 for (i = 0; i < gc->alloc_maxsize; i++) { in libxl__ptr_add()
56 if (!gc->alloc_ptrs[i]) { in libxl__ptr_add()
57 gc->alloc_ptrs[i] = ptr; in libxl__ptr_add()
61 int new_maxsize = gc->alloc_maxsize * 2 + 25; in libxl__ptr_add()
63 gc->alloc_ptrs = realloc(gc->alloc_ptrs, new_maxsize * sizeof(void *)); in libxl__ptr_add()
64 if (!gc->alloc_ptrs) in libxl__ptr_add()
67 gc->alloc_ptrs[gc->alloc_maxsize++] = ptr; in libxl__ptr_add()
69 while (gc->alloc_maxsize < new_maxsize) in libxl__ptr_add()
70 gc->alloc_ptrs[gc->alloc_maxsize++] = 0; in libxl__ptr_add()
75 void libxl__free_all(libxl__gc *gc) in libxl__free_all() argument
80 assert(libxl__gc_is_real(gc)); in libxl__free_all()
82 for (i = 0; i < gc->alloc_maxsize; i++) { in libxl__free_all()
83 ptr = gc->alloc_ptrs[i]; in libxl__free_all()
84 gc->alloc_ptrs[i] = NULL; in libxl__free_all()
87 free(gc->alloc_ptrs); in libxl__free_all()
88 gc->alloc_ptrs = 0; in libxl__free_all()
89 gc->alloc_maxsize = 0; in libxl__free_all()
92 void *libxl__malloc(libxl__gc *gc, size_t size) in libxl__malloc() argument
97 libxl__ptr_add(gc, ptr); in libxl__malloc()
101 void *libxl__zalloc(libxl__gc *gc, size_t size) in libxl__zalloc() argument
106 libxl__ptr_add(gc, ptr); in libxl__zalloc()
110 void *libxl__calloc(libxl__gc *gc, size_t nmemb, size_t size) in libxl__calloc() argument
115 libxl__ptr_add(gc, ptr); in libxl__calloc()
119 void *libxl__realloc(libxl__gc *gc, void *ptr, size_t new_size) in libxl__realloc() argument
128 libxl__ptr_add(gc, new_ptr); in libxl__realloc()
129 } else if (new_ptr != ptr && libxl__gc_is_real(gc)) { in libxl__realloc()
131 assert(i < gc->alloc_maxsize); in libxl__realloc()
132 if (gc->alloc_ptrs[i] == ptr) { in libxl__realloc()
133 gc->alloc_ptrs[i] = new_ptr; in libxl__realloc()
142 char *libxl__vsprintf(libxl__gc *gc, const char *fmt, va_list ap) in libxl__vsprintf() argument
154 s = libxl__zalloc(gc, ret + 1); in libxl__vsprintf()
162 char *libxl__sprintf(libxl__gc *gc, const char *fmt, ...) in libxl__sprintf() argument
168 s = libxl__vsprintf(gc, fmt, ap); in libxl__sprintf()
174 char *libxl__strdup(libxl__gc *gc, const char *c) in libxl__strdup() argument
184 libxl__ptr_add(gc, s); in libxl__strdup()
189 char *libxl__strndup(libxl__gc *gc, const char *c, size_t n) in libxl__strndup() argument
199 libxl__ptr_add(gc, s); in libxl__strndup()
204 char *libxl__dirname(libxl__gc *gc, const char *s) in libxl__dirname() argument
211 return libxl__strndup(gc, s, c - s); in libxl__dirname()
258 char *libxl__abs_path(libxl__gc *gc, const char *s, const char *path) in libxl__abs_path() argument
260 if (s[0] == '/') return libxl__strdup(gc, s); in libxl__abs_path()
380 int libxl__device_model_version_running(libxl__gc *gc, uint32_t domid) in libxl__device_model_version_running() argument
386 path = libxl__xs_libxl_path(gc, domid); in libxl__device_model_version_running()
388 dm_version = libxl__xs_read(gc, XBT_NULL, path); in libxl__device_model_version_running()
403 libxl__domain_userdata_lock *libxl__lock_domain_userdata(libxl__gc *gc, in libxl__lock_domain_userdata() argument
411 lockfile = libxl__userdata_path(gc, domid, "domain-userdata-lock", "l"); in libxl__lock_domain_userdata()
496 int libxl__get_domain_configuration(libxl__gc *gc, uint32_t domid, in libxl__get_domain_configuration() argument
502 rc = libxl__userdata_retrieve(gc, domid, "libxl-json", &data, &len); in libxl__get_domain_configuration()
522 int libxl__set_domain_configuration(libxl__gc *gc, uint32_t domid, in libxl__set_domain_configuration() argument
536 rc = libxl__userdata_store(gc, domid, "libxl-json", in libxl__set_domain_configuration()
550 void libxl__update_domain_configuration(libxl__gc *gc, in libxl__update_domain_configuration() argument
567 dt->update_config(gc, libxl__device_type_get_elem(dt, dst, i), in libxl__update_domain_configuration()