Changeset - dba5ec867bf4
[Not reviewed]
default
0 1 0
Nathan Brink (binki) - 16 years ago 2009-05-23 01:56:58
ohnobinki@ohnopublishing.net
started definition of libdistren API
1 file changed with 42 insertions and 0 deletions:
0 comments (0 inline, 0 general)
src/client/distren.h
Show inline comments
 
@@ -20,6 +20,48 @@
 
#ifndef DISTREN_H
 
#define DISTREN_H 1
 

	
 
#include <stddef.h> /* size_t */
 

	
 
typedef struct distren *distren_t;
 

	
 
typedef void* (*distren_malloc_t)(size_t);
 
typedef void (*distren_free_t)(void*);
 

	
 
typedef struct distren_job *distren_job_t;
 

	
 
/**
 
 Initialize a libdistren handle. In the spirit of respecting client programs' choices,
 
 this initialization function allows malloc() and free() compatible function pointers
 
 to be passed.
 
*/
 
int distren_init_mf(distren_t *handle, distren_malloc_t mymalloc, distren_free_t myfree);
 

	
 
/**
 
 Initializes a libdistren handle using the system malloc() and free() implementation.
 
*/
 
int distren_init(distren_t *handle);
 

	
 
/**
 
 Submits a file to distren.
 
 @param job must not refer to a valid job.
 
 TODO: create a stream-based interface
 
*/
 
int distren_submit_file(distren_job_t *job, const char *filename);
 

	
 
/*
 
 TODO: extraction of a job-ID, retrieving job handle by job-ID, getting information
 
 for a job handle, retrieving results of a job, callbacks for progress (i.e., job_is_finished callback)
 
 -- threads?
 
*/
 

	
 
/**
 
 Destroys and frees a job handle
 
*/
 
int distren_job_free(distren_job_t job);
 

	
 
/**
 
 Destroys and frees a libdistren handle
 
*/
 
int distren_free(distren_t handle);
 

	
 
#endif
0 comments (0 inline, 0 general)