#pragma once

#include <ros/common.h>
#include <ros/ring_buffer.h>

#define NUM_SYSCALL_ARGS 6
/* This will need to change to represent sending pointers to syscalls, not the
 * syscalls themselves */
struct syscall;
typedef enum {
	RES_free,  // The response has been digested by the user space, can be reallocated
	REQ_alloc, // Space fo request is allocated
	REQ_ready, // The request is populated by the caller
	REQ_processing, // The request is being processed,
					// or a kernel thread is going to pick up the stack to process this later.

	RES_ready // The response is ready to be picked up
} syscall_status_t;

typedef struct syscall_req {
    syscall_status_t status; // TODO:rethink this
	void (*cleanup)(void* data);
	void *data;
	struct syscall* sc;
} syscall_req_t, syscall_rsp_t;

#define RSP_ERRNO(rsp) (rsp->sc->err)
#define RSP_RESULT(rsp) (rsp->sc->retval)

// Generic Syscall Ring Buffer
#define SYSCALLRINGSIZE    PGSIZE
DEFINE_RING_TYPES(syscall, syscall_req_t, syscall_rsp_t);
