libopkg: store checksums in binary form, use integer index for architecture
[oweals/opkg-lede.git] / libopkg / pkg_parse.h
1 /* pkg_parse.h - the opkg package management system
2
3    Steven M. Ayer
4
5    Copyright (C) 2002 Compaq Computer Corporation
6
7    This program is free software; you can redistribute it and/or
8    modify it under the terms of the GNU General Public License as
9    published by the Free Software Foundation; either version 2, or (at
10    your option) any later version.
11
12    This program is distributed in the hope that it will be useful, but
13    WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15    General Public License for more details.
16 */
17
18 #ifndef PKG_PARSE_H
19 #define PKG_PARSE_H
20
21 #include "pkg.h"
22
23 int parse_version(pkg_t * pkg, const char *raw);
24 int pkg_parse_from_stream(pkg_t * pkg, FILE * fp, uint mask);
25 int pkg_parse_line(void *ptr, const char *line, uint mask);
26
27 #define EXCESSIVE_LINE_LEN      (4096 << 8)
28
29 /* package field mask */
30 #define PFM_ARCHITECTURE        (1 << 1)
31 #define PFM_AUTO_INSTALLED      (1 << 2)
32 #define PFM_CONFFILES           (1 << 3)
33 #define PFM_CONFLICTS           (1 << 4)
34 #define PFM_DESCRIPTION         (1 << 5)
35 #define PFM_DEPENDS             (1 << 6)
36 #define PFM_ESSENTIAL           (1 << 7)
37 #define PFM_FILENAME            (1 << 8)
38 #define PFM_INSTALLED_SIZE      (1 << 9)
39 #define PFM_INSTALLED_TIME      (1 << 10)
40 #define PFM_MD5SUM              (1 << 11)
41 #define PFM_MAINTAINER          (1 << 12)
42 #define PFM_PACKAGE             (1 << 13)
43 #define PFM_PRIORITY            (1 << 14)
44 #define PFM_PROVIDES            (1 << 15)
45 #define PFM_PRE_DEPENDS         (1 << 16)
46 #define PFM_RECOMMENDS          (1 << 17)
47 #define PFM_REPLACES            (1 << 18)
48 #define PFM_SECTION             (1 << 19)
49 #define PFM_SHA256SUM           (1 << 20)
50 #define PFM_SIZE                (1 << 21)
51 #define PFM_SOURCE              (1 << 22)
52 #define PFM_STATUS              (1 << 23)
53 #define PFM_SUGGESTS            (1 << 24)
54 #define PFM_TAGS                (1 << 25)
55 #define PFM_VERSION             (1 << 26)
56
57 #define PFM_ALL (~(uint)0)
58
59 #endif