Move libopkg.c out into the src dir. It shouldn't be part of the library.
[project/opkg-lede.git] / libopkg / pkg_parse.h
index 58e530a14ce5d893f5569eee79e112a2ef275bab..24f02388f870bb5cdec56fbf7c3802d32d3e30b4 100644 (file)
 #ifndef PKG_PARSE_H
 #define PKG_PARSE_H
 
-int isGenericFieldType(char * type, char * line);
-char * parseGenericFieldType(char * type, char * raw);
-void parseStatus(pkg_t *pkg, char * raw);
-int parseVersion(pkg_t *pkg, char *raw);
-char ** parseDependsString(char * raw, int * depends_count);
-int parseVersion(pkg_t *pkg, char *raw);
-void parseConffiles(pkg_t * pkg, char * raw);
-int pkg_parse_raw(pkg_t *pkg, char ***raw, pkg_src_t *src, pkg_dest_t *dest);
-int pkg_valorize_other_field(pkg_t *pkg, char ***raw);
+int parse_version(pkg_t *pkg, const char *raw);
+int pkg_parse_from_stream(pkg_t *pkg, FILE *fp, uint mask);
+int pkg_parse_from_stream_nomalloc(pkg_t *pkg, FILE *fp, uint mask,
+                                               char **buf0, size_t buf0len);
+
+#define EXCESSIVE_LINE_LEN     (4096 << 8)
+
+/* package field mask */
+#define PFM_ARCHITECTURE       (1 << 1)
+#define PFM_AUTO_INSTALLED     (1 << 2)
+#define PFM_CONFFILES          (1 << 3)
+#define PFM_CONFLICTS          (1 << 4)
+#define PFM_DESCRIPTION                (1 << 5)
+#define PFM_DEPENDS            (1 << 6)
+#define PFM_ESSENTIAL          (1 << 7)
+#define PFM_FILENAME           (1 << 8)
+#define PFM_INSTALLED_SIZE     (1 << 9)
+#define PFM_INSTALLED_TIME     (1 << 10)
+#define PFM_MD5SUM             (1 << 11)
+#define PFM_MAINTAINER         (1 << 12)
+#define PFM_PACKAGE            (1 << 13)
+#define PFM_PRIORITY           (1 << 14)
+#define PFM_PROVIDES           (1 << 15)
+#define PFM_PRE_DEPENDS                (1 << 16)
+#define PFM_RECOMMENDS         (1 << 17)
+#define PFM_REPLACES           (1 << 18)
+#define PFM_SECTION            (1 << 19)
+#define PFM_SHA256SUM          (1 << 20)
+#define PFM_SIZE               (1 << 21)
+#define PFM_SOURCE             (1 << 22)
+#define PFM_STATUS             (1 << 23)
+#define PFM_SUGGESTS           (1 << 24)
+#define PFM_TAGS               (1 << 25)
+#define PFM_VERSION            (1 << 26)
+
+#define PFM_ALL        (~(uint)0)
 
 #endif