X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=bluesky%2Fbluesky.h;h=9808434bbbc6f17e2a72ec25e802662d69d2a9d6;hb=e00a825326686b864f5201ed27d6b2373682cf88;hp=dbb69bbc5152f4f167d2579dac22cde0470a9b9d;hpb=0325ee9e9afb02b08bdec3497e8cc54cb942989d;p=bluesky.git diff --git a/bluesky/bluesky.h b/bluesky/bluesky.h index dbb69bb..9808434 100644 --- a/bluesky/bluesky.h +++ b/bluesky/bluesky.h @@ -17,6 +17,14 @@ extern "C" { #endif +/* BlueSky status and error codes. Various frontends should translate these to + * the appropriate error code for whatever protocol they implement. */ +typedef enum { + BSTATUS_OK = 0, /* No error */ + BSTATUS_IOERR, /* I/O error of some form */ + BSTATUS_NOENT, /* File does not exist */ +} BlueSkyStatus; + void bluesky_init(void); gchar *bluesky_lowercase(const gchar *s); @@ -202,6 +210,7 @@ void bluesky_insert_inode(BlueSkyFS *fs, BlueSkyInode *inode); void bluesky_dirent_destroy(gpointer dirent); uint64_t bluesky_directory_lookup(BlueSkyInode *inode, gchar *name); uint64_t bluesky_directory_ilookup(BlueSkyInode *inode, gchar *name); +BlueSkyDirent *bluesky_directory_read(BlueSkyInode *dir, uint32_t cookie); gboolean bluesky_directory_insert(BlueSkyInode *dir, const gchar *name, uint64_t inum); void bluesky_directory_dump(BlueSkyInode *dir);