summaryrefslogtreecommitdiff
path: root/src/user/include/knob/file.h
blob: a0d084f8510eb41780c0692e817c02f8d043912e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#ifndef KNOB_FILE_H
#define KNOB_FILE_H

#include <stdint.h>

struct file;

const char *remove_prefix(const char *path, uint8_t *dn_out);

struct file *open_file(const char *path);
void close_file(struct file *f);
void _close_all_files();

uint32_t read_from_file(struct file *f, uint32_t max, void *buf);
//return value and max_length don't include null terminator
uint32_t read_line_from_file(struct file *f, char *sz, uint32_t max_length);
uint32_t seek_file_to(struct file *f, uint32_t to);
int32_t seek_file_by(struct file *f, int32_t by);

uint32_t file_size(struct file *f) __attribute__ ((pure));

#endif