#ifndef SESSION_H
#define SESSION_H

#include <stddef.h>

#ifndef SESSION_DIR
#define SESSION_DIR "/var/lib/c-cgi-book/sessions"
#endif

typedef struct {
    int user_id;
    char username[128];
} Session;

int session_generate_id(char *out, size_t out_size);
int session_valid_id(const char *sid);
int session_cookie_id(char *out, size_t out_size);
int session_save(const char *sid, const Session *session);
int session_load(Session *session);
int session_destroy_current(void);
void session_set_cookie(const char *sid);
void session_clear_cookie(void);

#endif
