--- /dev/null
+#include "reps_lib.h"
+
+
+reps_rv reps_create_server(reps_params_t *p_params, reps_sid_t *p_sid) {
+ return REPS_E_NOT_IMPLEMENTED;
+}
+
+reps_rv reps_destroy_server(reps_sid_t sid){
+ return REPS_E_NOT_IMPLEMENTED;
+}
+
+reps_rv reps_set_params(reps_sid_t sid, reps_params_t *p_params){
+ return REPS_E_NOT_IMPLEMENTED;
+}
+
+reps_rv reps_attach_thread(reps_sid_t server_id, tid_t tid){
+ return REPS_E_NOT_IMPLEMENTED;
+}
+
+reps_rv reps_get_sid(tid_t tid, reps_sid_t *p_sid){
+ return REPS_E_NOT_IMPLEMENTED;
+}
+
+reps_rv reps_detach_thread(reps_sid_t sid, tid_t tid){
+ return REPS_E_NOT_IMPLEMENTED;
+}
+
+reps_rv reps_get_exec_time (reps_sid_t sid, reps_time_t *exec_time){
+ return REPS_E_NOT_IMPLEMENTED;
+}
+
+reps_rv reps_get_params(reps_sid_t sid, reps_params_t *p_params){
+ return REPS_E_NOT_IMPLEMENTED;
+}
+
+reps_rv reps_get_curr_budget(reps_sid_t sid, reps_time_t *curr_budget){
+ return REPS_E_NOT_IMPLEMENTED;
+}
+
+reps_rv reps_reserve_spare(reps_params_t *p_params){
+ return REPS_E_NOT_IMPLEMENTED;
+}
+
+reps_rv reps_get_appr_budget (reps_sid_t sid, reps_time_t *appr_budget){
+ return REPS_E_NOT_IMPLEMENTED;
+}
+
+reps_rv reps_init(void){
+ return REPS_OK;
+}
+
+reps_rv reps_cleanup(void){
+ return REPS_OK;
+}
+
--- /dev/null
+#ifndef _REPS_LIB_H
+#define _REPS_LIB_H
+
+#include "edf_types.h"
+#include "rbtree.h"
+
+
+#define REPS_OK 0
+#define REPS_E_MISSING_COMPONENT 1
+#define REPS_E_NOT_IMPLEMENTED 2
+
+/// server id
+typedef uint32_t reps_sid_t;
+
+/// return value
+typedef int reps_rv;
+
+typedef long reps_time_t;
+
+typedef struct {
+ long long P;
+ long long Q;
+} reps_params_t;
+
+typedef rtems_id tid_t;
+
+
+/// creates a server == allocates an empty bandwidth in the scheduler
+reps_rv reps_create_server(reps_params_t *p_params, reps_sid_t *p_sid);
+
+reps_rv reps_destroy_server(reps_sid_t sid);
+
+/// set budget and period (e.g. when changing a resource)
+reps_rv reps_set_params(reps_sid_t sid, reps_params_t *p_params);
+
+/// when binding a thread
+reps_rv reps_attach_thread(reps_sid_t server_id, tid_t tid);
+
+/// server id dedicated to a thread
+reps_rv reps_get_sid(tid_t tid, reps_sid_t *p_sid);
+
+/// remove thread from server
+reps_rv reps_detach_thread(reps_sid_t sid, tid_t tid);
+
+/// cpu usage relative to the current server
+reps_rv reps_get_exec_time (reps_sid_t sid, reps_time_t *exec_time);
+
+/// get params of a server (budget and period)
+reps_rv reps_get_params(reps_sid_t sid, reps_params_t *p_params);
+
+/// remaining budget for the current server instance
+reps_rv reps_get_curr_budget(reps_sid_t sid, reps_time_t *curr_budget);
+
+/// set the spare bandwidth ??
+reps_rv reps_reserve_spare(reps_params_t *p_params);
+
+/// get approved budget for subsequent server instances
+reps_rv reps_get_appr_budget (reps_sid_t sid, reps_time_t *appr_budget);
+
+reps_rv reps_init(void);
+
+reps_rv reps_cleanup(void);
+
+
+#endif /*_REPS_LIB_H*/
\ No newline at end of file