libdeltacloud 0.9
include/libdeltacloud/image.h
00001 /*
00002  * Copyright (C) 2010,2011 Red Hat, Inc.
00003  *
00004  * This library is free software; you can redistribute it and/or
00005  * modify it under the terms of the GNU Lesser General Public
00006  * License as published by the Free Software Foundation; either
00007  * version 2.1 of the License, or (at your option) any later version.
00008  *
00009  * This library is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012  * Lesser General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU Lesser General Public
00015  * License along with this library; if not, write to the Free Software
00016  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
00017  *
00018  * Author: Chris Lalancette <clalance@redhat.com>
00019  */
00020 
00021 #ifndef LIBDELTACLOUD_IMAGE_H
00022 #define LIBDELTACLOUD_IMAGE_H
00023 
00024 #ifdef __cplusplus
00025 extern "C" {
00026 #endif
00027 
00031 struct deltacloud_image {
00032   char *href; 
00033   char *id; 
00034   char *description; 
00035   char *architecture; 
00036   char *owner_id; 
00037   char *name; 
00038   char *state; 
00040   struct deltacloud_image *next;
00041 };
00042 
00043 #define deltacloud_supports_images(api) deltacloud_has_link(api, "images")
00044 int deltacloud_get_images(struct deltacloud_api *api,
00045                           struct deltacloud_image **images);
00046 int deltacloud_get_image_by_id(struct deltacloud_api *api, const char *id,
00047                                struct deltacloud_image *image);
00048 int deltacloud_create_image(struct deltacloud_api *api, const char *name,
00049                             struct deltacloud_instance *instance,
00050                             struct deltacloud_create_parameter *params,
00051                             int params_length, char **image_id);
00052 void deltacloud_free_image(struct deltacloud_image *image);
00053 void deltacloud_free_image_list(struct deltacloud_image **images);
00054 
00055 #ifdef __cplusplus
00056 }
00057 #endif
00058 
00059 #endif
 All Data Structures Files Functions Variables