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, char *line, uint mask);
26 
27 #define EXCESSIVE_LINE_LEN	(4096 << 8)
28 
29 /* package field mask */
30 #define PFM_ALTERNATIVES	(1 << 1)
31 #define PFM_ARCHITECTURE	(1 << 2)
32 #define PFM_AUTO_INSTALLED	(1 << 3)
33 #define PFM_CONFFILES		(1 << 4)
34 #define PFM_CONFLICTS		(1 << 5)
35 #define PFM_DESCRIPTION		(1 << 6)
36 #define PFM_DEPENDS		(1 << 7)
37 #define PFM_ESSENTIAL		(1 << 8)
38 #define PFM_FILENAME		(1 << 9)
39 #define PFM_INSTALLED_SIZE	(1 << 10)
40 #define PFM_INSTALLED_TIME	(1 << 11)
41 #define PFM_MD5SUM		(1 << 12)
42 #define PFM_MAINTAINER		(1 << 13)
43 #define PFM_PACKAGE		(1 << 14)
44 #define PFM_PRIORITY		(1 << 15)
45 #define PFM_PROVIDES		(1 << 16)
46 #define PFM_PRE_DEPENDS		(1 << 17)
47 #define PFM_RECOMMENDS		(1 << 18)
48 #define PFM_REPLACES		(1 << 19)
49 #define PFM_SECTION		(1 << 20)
50 #define PFM_SHA256SUM		(1 << 21)
51 #define PFM_SIZE		(1 << 22)
52 #define PFM_SOURCE		(1 << 23)
53 #define PFM_STATUS		(1 << 24)
54 #define PFM_SUGGESTS		(1 << 25)
55 #define PFM_TAGS		(1 << 26)
56 #define PFM_VERSION		(1 << 27)
57 
58 #define PFM_ALL	(~(uint)0)
59 
60 #endif
61