checked in first draft of "Dynamic Uml Mesh Modeler"
[strongswan.git] / src / dumm / dumm.h
1 #ifndef DUMM_H
2 #define DUMM_H
3
4 #include <library.h>
5 #include <utils/linked_list.h>
6
7 #include "guest.h"
8
9 #define HOST_DIR "host"
10 #define MOUNT_DIR "mount"
11 #define RUN_DIR "run"
12
13
14 typedef struct dumm_t dumm_t;
15
16 /**
17 * @brief dumm - Dynamic Uml Mesh Modeler
18 *
19 * Controls a group of UML guests and their networks.
20 */
21 struct dumm_t {
22
23 /**
24 * @brief Starts a new UML guest
25 *
26 * @param name name of the guest
27 * @param kernel kernel to boot
28 * @param master mounted read only master filesystem
29 * @param mem amount of memory for guest, in MB
30 * @return guest if started, NULL if failed
31 */
32 guest_t* (*start_guest) (dumm_t *this, char *name, char *kernel,
33 char *master, int mem);
34
35 /**
36 * @brief Create an iterator over all guests.
37 *
38 * @return iteraotor over guest_t's
39 */
40 iterator_t* (*create_guest_iterator) (dumm_t *this);
41
42 /**
43 * @brief stop all guests and destroy the modeler
44 */
45 void (*destroy) (dumm_t *this);
46 };
47
48 dumm_t *dumm_create();
49
50 #endif /* DUMM_H */