VSF Documented
xboot.h
Go to the documentation of this file.
1#ifndef __XBOOT_H__
2#define __XBOOT_H__
3
4#include <unistd.h>
5#include <types.h>
6#include <math.h>
7
8// from stddef.h
9#define clamp(v, a, b) min(max(a, v), b)
10#define idiv255(x) ((((int)(x) + 1) * 257) >> 16)
11
12// from math.h
13#define M_E 2.7182818284590452354 /* e */
14#define M_LOG2E 1.4426950408889634074 /* log_2 e */
15#define M_LOG10E 0.43429448190325182765 /* log_10 e */
16#define M_LN2 0.69314718055994530942 /* log_e 2 */
17#define M_LN10 2.30258509299404568402 /* log_e 10 */
18#define M_PI 3.14159265358979323846 /* pi */
19#define M_PI_2 1.57079632679489661923 /* pi/2 */
20#define M_PI_4 0.78539816339744830962 /* pi/4 */
21#define M_1_PI 0.31830988618379067154 /* 1/pi */
22#define M_2_PI 0.63661977236758134308 /* 2/pi */
23#define M_2_SQRTPI 1.12837916709551257390 /* 2/sqrt(pi) */
24#define M_SQRT2 1.41421356237309504880 /* sqrt(2) */
25#define M_SQRT1_2 0.70710678118654752440 /* 1/sqrt(2) */
26
27// string
28size_t strlcpy(char *dest, const char *src, size_t size);
29char *strsep(char **stringp, const char *delim);
30
31// task
33 int dummy;
34};
35struct task_t {
36 implement(vsf_linux_thread_t)
37};
38typedef void (*task_func_t)(struct task_t * task, void * data);
39struct task_t * task_create(struct scheduler_t * sched, const char * name, task_func_t func, void * data, size_t stksz, int nice);
40void task_destroy(struct task_t * task);
41void task_suspend(struct task_t * task);
42void task_resume(struct task_t * task);
43void task_yield(void);
44
45// vfs
46int vfs_open(const char *pathname, int flags, ...);
47off_t vfs_lseek(int fd, off_t offset, int whence);
48ssize_t vfs_read(int fd, void *buf, size_t count);
49ssize_t vfs_write(int fd, void *buf, size_t count);
50int vfs_close(int fd);
51
52void vsf_xboot_bind(vk_disp_t *disp);
53
54#include <spinlock.h>
55#include <shash.h>
56#include <xfs/xfs.h>
57
58#include <xboot/ktime.h>
59ktime_t ktime_get(void);
60
61#include <xui/xui.h>
62#include <xui/window.h>
63#include <xui/popup.h>
64#include <xui/panel.h>
65#include <xui/button.h>
66#include <xui/checkbox.h>
67#include <xui/radio.h>
68#include <xui/toggle.h>
69#include <xui/badge.h>
70#include <xui/progress.h>
71#include <xui/split.h>
72#include <xui/label.h>
73#include <xui/text.h>
74
75#endif // __XBOOT_H__
Definition vsf_disp.h:173
Definition vsf_linux.h:171
struct ieee80211_ext_chansw_ie data
Definition ieee80211.h:80
int ssize_t
Definition types.h:68
long off_t
Definition types.h:95
Definition xboot.h:32
int dummy
Definition xboot.h:33
Definition xboot.h:35
uint64_t offset
Definition vsf_memfs.h:49
uint32_t size
Definition vsf_memfs.h:50
char * strsep(char **stringp, const char *delim)
Definition vsf_xboot.c:44
void vsf_xboot_bind(vk_disp_t *disp)
Definition vsf_xboot.c:388
ssize_t vfs_read(int fd, void *buf, size_t count)
Definition vsf_xboot.c:80
ssize_t vfs_write(int fd, void *buf, size_t count)
Definition vsf_xboot.c:85
void(* task_func_t)(struct task_t *task, void *data)
Definition xboot.h:38
int vfs_close(int fd)
Definition vsf_xboot.c:90
void task_resume(struct task_t *task)
Definition vsf_xboot.c:363
off_t vfs_lseek(int fd, off_t offset, int whence)
Definition vsf_xboot.c:75
size_t strlcpy(char *dest, const char *src, size_t size)
Definition vsf_xboot.c:39
void task_suspend(struct task_t *task)
Definition vsf_xboot.c:358
struct task_t * task_create(struct scheduler_t *sched, const char *name, task_func_t func, void *data, size_t stksz, int nice)
Definition vsf_xboot.c:339
void task_yield(void)
Definition vsf_xboot.c:372
int vfs_open(const char *pathname, int flags,...)
Definition vsf_xboot.c:70
ktime_t ktime_get(void)
Definition vsf_xboot.c:380
void task_destroy(struct task_t *task)
Definition vsf_xboot.c:353