Loading src/lib/admire.h +22 −3 Original line number Diff line number Diff line Loading @@ -204,9 +204,28 @@ typedef enum { typedef struct adm_transfer* ADM_transfer_t; /** Information about a dataset */ typedef struct { // TODO: empty for now } ADM_dataset_info_t; typedef struct adm_dataset_info* ADM_dataset_info_t; /** * Create a dataset from a user-provided id (e.g. a path for POSIX-like file * systems or key for key-value stores). * * @remark Datasets need to be freed by calling ADM_dataset_info_destroy(). * * @return A valid ADM_DATASET_INFO if successful or NULL in case of * failure. */ ADM_dataset_info_t ADM_dataset_info_create(); /** * Destroy a dataset created by ADM_dataset_info_create(). * * @param[in] dataset A valid ADM_dataset_info_t * @return ADM_SUCCESS or corresponding ADM error code */ ADM_return_t ADM_dataset_info_destroy(ADM_dataset_info_t dataset_info); /** A storage tier handle */ typedef struct { Loading src/lib/c_wrapper.cpp +31 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,10 @@ struct adm_transfer { // TODO: empty for now }; struct adm_dataset_info { // TODO: empty for now }; /** The I/O requirements for a job */ struct adm_job_requirements { /** An array of input datasets */ Loading Loading @@ -251,6 +255,33 @@ ADM_qos_limit_destroy(ADM_qos_limit_t limit) { return ret; } ADM_dataset_info_t ADM_dataset_info_create() { struct adm_dataset_info* adm_dataset_info = (struct adm_dataset_info*) malloc(sizeof(*adm_dataset_info)); if(!adm_dataset_info) { LOGGER_ERROR("Could not allocate ADM_dataset_info_t"); return NULL; } return adm_dataset_info; } ADM_return_t ADM_dataset_info_destroy(ADM_dataset_info_t dataset_info) { ADM_return_t ret = ADM_SUCCESS; if(!dataset_info) { LOGGER_ERROR("Invalid ADM_dataset_info_t") return ADM_EBADARGS; } free(dataset_info); return ret; } ADM_job_requirements_t ADM_job_requirements_create(ADM_dataset_t inputs[], size_t inputs_len, ADM_dataset_t outputs[], size_t outputs_len, Loading Loading
src/lib/admire.h +22 −3 Original line number Diff line number Diff line Loading @@ -204,9 +204,28 @@ typedef enum { typedef struct adm_transfer* ADM_transfer_t; /** Information about a dataset */ typedef struct { // TODO: empty for now } ADM_dataset_info_t; typedef struct adm_dataset_info* ADM_dataset_info_t; /** * Create a dataset from a user-provided id (e.g. a path for POSIX-like file * systems or key for key-value stores). * * @remark Datasets need to be freed by calling ADM_dataset_info_destroy(). * * @return A valid ADM_DATASET_INFO if successful or NULL in case of * failure. */ ADM_dataset_info_t ADM_dataset_info_create(); /** * Destroy a dataset created by ADM_dataset_info_create(). * * @param[in] dataset A valid ADM_dataset_info_t * @return ADM_SUCCESS or corresponding ADM error code */ ADM_return_t ADM_dataset_info_destroy(ADM_dataset_info_t dataset_info); /** A storage tier handle */ typedef struct { Loading
src/lib/c_wrapper.cpp +31 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,10 @@ struct adm_transfer { // TODO: empty for now }; struct adm_dataset_info { // TODO: empty for now }; /** The I/O requirements for a job */ struct adm_job_requirements { /** An array of input datasets */ Loading Loading @@ -251,6 +255,33 @@ ADM_qos_limit_destroy(ADM_qos_limit_t limit) { return ret; } ADM_dataset_info_t ADM_dataset_info_create() { struct adm_dataset_info* adm_dataset_info = (struct adm_dataset_info*) malloc(sizeof(*adm_dataset_info)); if(!adm_dataset_info) { LOGGER_ERROR("Could not allocate ADM_dataset_info_t"); return NULL; } return adm_dataset_info; } ADM_return_t ADM_dataset_info_destroy(ADM_dataset_info_t dataset_info) { ADM_return_t ret = ADM_SUCCESS; if(!dataset_info) { LOGGER_ERROR("Invalid ADM_dataset_info_t") return ADM_EBADARGS; } free(dataset_info); return ret; } ADM_job_requirements_t ADM_job_requirements_create(ADM_dataset_t inputs[], size_t inputs_len, ADM_dataset_t outputs[], size_t outputs_len, Loading