mirror of
https://github.com/drasko/codezero.git
synced 2026-01-12 10:53:16 +01:00
close() needs to flush dirty buffers. pager needs to have read/write support properly implemented. open() needs to record mode and access times. The need for access times means we need rtc and time implementation. Also need to add stat() access() etc.
42 lines
932 B
C
42 lines
932 B
C
/*
|
|
* Copyright (C) 2008 Bahadir Balban
|
|
*
|
|
* Path lookup related information
|
|
*/
|
|
#ifndef __PATH_H__
|
|
#define __PATH_H__
|
|
|
|
#include <l4/lib/list.h>
|
|
#include <task.h>
|
|
|
|
/*
|
|
* FIXME:
|
|
* These ought to be strings and split/comparison functions should
|
|
* always use strings because formats like UTF-8 wouldn't work.
|
|
*/
|
|
#define VFS_CHAR_SEP '/'
|
|
#define VFS_STR_ROOTDIR "/"
|
|
#define VFS_STR_PARDIR ".."
|
|
#define VFS_STR_CURDIR "."
|
|
#define VFS_STR_XATDIR "...."
|
|
|
|
struct pathdata {
|
|
struct list_head list;
|
|
struct vnode *vstart;
|
|
};
|
|
|
|
struct pathcomp {
|
|
struct list_head list;
|
|
const char *str;
|
|
};
|
|
|
|
struct pathdata *pathdata_parse(const char *pathname, char *pathbuf,
|
|
struct tcb *task);
|
|
void pathdata_destroy(struct pathdata *p);
|
|
|
|
/* Destructive, i.e. unlinks those components from list */
|
|
const char *pathdata_next_component(struct pathdata *pdata);
|
|
const char *pathdata_last_component(struct pathdata *pdata);
|
|
|
|
#endif /* __PATH_H__ */
|