* TODO: updated

* include/libxen.h src/libxen.c src/libxen_sym.version: extended
  entry points to a first minimal set.
* src/internal.h: TODO macro
Daniel
This commit is contained in:
Daniel Veillard 2005-11-07 17:16:18 +00:00
parent 70eb59b8be
commit 8af506b89f
6 changed files with 150 additions and 4 deletions

View File

@ -1,3 +1,10 @@
Mon Nov 7 18:14:50 CET 2005 Daniel Veillard <veillard@redhat.com>
* TODO: updated
* include/libxen.h src/libxen.c src/libxen_sym.version: extended
entry points to a first minimal set.
* src/internal.h: TODO macro
Wed Nov 2 16:35:54 CET 2005 Daniel Veillard <veillard@redhat.com>
* TODO libxen.pc.in libxen.spec.in include/Makefile.am Makefile.am

6
TODO
View File

@ -1 +1,5 @@
- everything at this point
- nearly everything at this point
Done:
- make dist and make rpm targets
- set a no public by default policy for libxen symbols

View File

@ -47,7 +47,6 @@ typedef struct _xenDomain xenDomain;
*/
typedef xenDomain *xenDomainPtr;
/**
* xenDomainFlags:
*
@ -72,7 +71,23 @@ xenDomainPtr xenCreateLinuxDomain (xenConnectPtr conn,
const char *kernel_path,
const char *initrd_path,
const char *cmdline,
unsigned long memory,
unsigned int flags);
int xenDestroyDomain (xenDomainPtr domain);
/*
* Domain suspend/resume
*/
int xenSuspendDomain (xenDomainPtr domain);
int xenResumeDomain (xenDomainPtr domain);
/*
* Dynamic control of domains
*/
int xenSetMaxMemory (xenDomainPtr domain,
unsigned long memory);
#ifdef __cplusplus
}
#endif

View File

@ -9,6 +9,11 @@
extern "C" {
#endif
/**
* ATTRIBUTE_UNUSED:
*
* Macro to flag conciously unused parameters to functions
*/
#ifdef __GNUC__
#ifdef HAVE_ANSIDECL_H
#include <ansidecl.h>
@ -20,6 +25,15 @@ extern "C" {
#define ATTRIBUTE_UNUSED
#endif
/**
* TODO:
*
* macro to flag unimplemented blocks
*/
#define TODO \
fprintf(stderr, "Unimplemented block at %s:%d\n", \
__FILE__, __LINE__);
#ifdef __cplusplus
}
#endif /* __cplusplus */

View File

@ -12,7 +12,6 @@
#include "libxen.h"
#include <stdio.h>
#include "internal.h"
/*
@ -74,5 +73,108 @@ xenCloseConnect(xenConnectPtr conn) {
* xenGetVersion:
* @conn: pointer to the hypervisor connection
*
* Get the version level of the Hypervisor running
* Get the version level of the Hypervisor running.
*
* Returns -1 in case of error or major * 10,000 + minor * 100 + rev otherwise
*/
unsigned long
xenGetVersion(xenConnectPtr conn) {
if (conn == NULL)
return(-1);
}
/**
* xenCreateLinuxDomain:
* @conn: pointer to the hypervisor connection
* @kernel_path: the file path to the kernel image
* @initrd_path: an optional file path to an initrd
* @cmdline: optional command line parameters for the kernel
* @memory: the memory size in kilobytes
* @flags: an optional set of xenDomainFlags
*
* Launch a new Linux guest domain
*
* Returns a new domain object or NULL in case of failure
*/
xenDomainPtr
xenCreateLinuxDomain(xenConnectPtr conn, const char *kernel_path,
const char *initrd_path, const char *cmdline,
unsigned long memory, unsigned int flags) {
if ((conn == NULL) || (kernel_path == NULL) || (memory < 4096))
return(NULL);
TODO
return(NULL);
}
/**
* xenDestroyDomain:
* @domain: a domain object
*
* Destroy the domain object. The running instance is shutdown if not down
* already and all resources used by it are given back to the hypervisor.
*
* Returns 0 in case of success and -1 in case of failure.
*/
int
xenDestroyDomain(xenDomainPtr domain) {
if (domain == NULL)
return(-1);
TODO
return(-1);
}
/**
* xenSuspendDomain:
* @domain: a domain object
*
* Suspends an active domain, the process is frozen without further access
* to CPU resources and I/O but the memory used by the domain at the
* hypervisor level will stay allocated. Use xenResumeDomain() to reactivate
* the domain.
*
* Returns 0 in case of success and -1 in case of failure.
*/
int
xenSuspendDomain(xenDomainPtr domain) {
if (domain == NULL)
return(-1);
TODO
return(-1);
}
/**
* xenResumeDomain:
* @domain: a domain object
*
* Resume an suspended domain, the process is restarted from the state where
* it was frozen by calling xenSuspendDomain().
*
* Returns 0 in case of success and -1 in case of failure.
*/
int
xenResumeDomain(xenDomainPtr domain) {
if (domain == NULL)
return(-1);
TODO
return(-1);
}
/**
* xenSetMaxMemory:
* @domain: a domain object or NULL
* @memory: the memory size in kilobytes
*
* Dynamically change the maximum amount of physical memory allocated to a
* domain. If domain is NULL, then this change the amount of memory reserved
* to Domain0 i.e. the domain where the application runs.
*
* Returns 0 in case of success and -1 in case of failure.
*/
int
xenSetMaxMemory(xenDomainPtr domain, unsigned long memory) {
if ((domain == NULL) || (memory < 4096))
return(-1);
TODO
return(-1);
}

View File

@ -4,5 +4,9 @@
xenCloseConnect;
xenGetVersion;
xenCreateLinuxDomain;
xenDestroyDomain;
xenSuspendDomain;
xenResumeDomain;
xenSetMaxMemory;
local: *;
};