]> git.draconx.ca Git - liblbx.git/blobdiff - src/lbx.h
Trivial manual fixes.
[liblbx.git] / src / lbx.h
index 29a4083982dcb549042abf04b4f2f388a976dbc0..410d829246f8d7d8c0a99e2c6bef3eca4614ce8a 100644 (file)
--- a/src/lbx.h
+++ b/src/lbx.h
@@ -3,20 +3,9 @@
 
 #include <stdio.h>
 
-/* Errors */
-enum {
-       LBX_ESUCCESS,
-       LBX_EMAGIC,
-       LBX_EEOF,
-       LBX_ERANGE,
-       LBX_EFORMAT,
-};
-extern int lbx_errno;
-
 struct lbx_file_ops {
        size_t (*read)(void *buf, size_t size, void *handle);
        int    (*seek)(void *handle, long offset, int whence);
-       long   (*tell)(void *handle);
        int    (*eof) (void *handle);
 };
 
@@ -35,33 +24,30 @@ extern const struct lbx_file_ops lbx_pipe_fops;
 extern const struct lbx_file_ops lbx_arch_fops;
 
 /* Opaque */
-typedef struct lbx_state LBX;
 typedef struct lbx_file_state LBXfile;
 
+struct lbx {
+       unsigned nfiles;
+};
+
 struct lbx_statbuf {
        const char *name;
        size_t size;
 };
 
 /* Archive operations */
-LBX   *lbx_open(void *handle, const struct lbx_file_ops *fops,
-                int (*destructor)(void *handle), const char *name);
-LBX   *lbx_fopen(const char *);
-LBX   *lbx_mopen(void *, size_t, const char *);
-int    lbx_close(LBX *);
-size_t lbx_numfiles(LBX *);
+struct lbx *lbx_open(void *handle, const struct lbx_file_ops *fops,
+                     int (*destructor)(void *handle), const char *name);
+struct lbx *lbx_fopen(const char *);
+int lbx_close(struct lbx *);
 
 /* File operations */
-int      lbx_stat(LBX *, size_t, struct lbx_statbuf *);
-
-LBXfile *lbx_file_open(LBX *lbx, unsigned fileno);
+int      lbx_file_stat(struct lbx *lbx, unsigned fileno, struct lbx_statbuf *out);
+LBXfile *lbx_file_open(struct lbx *lbx, unsigned fileno);
 size_t   lbx_file_read(LBXfile *f, void *buf, size_t n);
 int      lbx_file_seek(LBXfile *f, long offset, int whence);
 long     lbx_file_tell(LBXfile *f);
 int      lbx_file_eof(LBXfile *f);
 void     lbx_file_close(LBXfile *f);
 
-/* Misc operations */
-const char *lbx_strerror(void);
-
 #endif