ia64/xen-unstable

view tools/libxen/src/xen_int_string_set_map.c @ 14891:295858ddac87

Move all internal header files to a separate directory, so that it's clear what
forms the public API. Tidy up a couple of macros in xen_internal.h. Remove
test_hvm_bindings, which no longer builds, and which has had its functionality
subsumed into test_bindings. Bump the library version to 0.9.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
author ewan@localhost.localdomain
date Sat Apr 21 12:21:06 2007 -0700 (2007-04-21)
parents 249de074617f
children 2d9a8a4d7e73
line source
1 /*
2 * Copyright (c) 2006-2007, XenSource Inc.
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 */
20 #include "xen_internal.h"
21 #include <xen/api/xen_common.h>
22 #include <xen/api/xen_int_string_set_map.h>
23 #include <xen/api/xen_string_set.h>
26 xen_int_string_set_map *
27 xen_int_string_set_map_alloc(size_t size)
28 {
29 xen_int_string_set_map *result = calloc(1, sizeof(xen_int_string_set_map) +
30 size * sizeof(struct xen_int_string_set_map_contents));
31 result->size = size;
32 return result;
33 }
36 void
37 xen_int_string_set_map_free(xen_int_string_set_map *map)
38 {
39 if (map == NULL)
40 {
41 return;
42 }
44 size_t n = map->size;
45 for (size_t i = 0; i < n; i++)
46 {
48 xen_string_set_free(map->contents[i].val);
49 }
51 free(map);
52 }