summaryrefslogtreecommitdiffstats
path: root/libopkg/pkg_parse.h
blob: 4e2b8e0488ebd7d7213a3bdf0c61ede18e16cd26 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
/* pkg_parse.h - the opkg package management system

   Steven M. Ayer

   Copyright (C) 2002 Compaq Computer Corporation

   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
   published by the Free Software Foundation; either version 2, or (at
   your option) any later version.

   This program is distributed in the hope that it will be useful, but
   WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   General Public License for more details.
*/

#ifndef PKG_PARSE_H
#define PKG_PARSE_H

#include "pkg.h"

int parse_version(pkg_t *pkg, const char *raw);
int pkg_parse_from_stream(pkg_t *pkg, FILE *fp, uint mask);
int pkg_parse_line(void *ptr, const char *line, uint mask);

/* 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