ia64/xen-unstable

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