]>
cygwin.com Git - cygwin-apps/setup.git/blob - ini.h
2 * Copyright (c) 2000, Red Hat, Inc.
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
9 * A copy of the GNU General Public License can be found at
12 * Written by DJ Delorie <dj@cygnus.com>
16 /* When setup.ini is parsed, the information is stored according to
17 the declarations here. ini.cc (via inilex and iniparse)
18 initializes these structures. choose.cc sets the action and trust
19 fields. download.cc downloads any needed files for selected
20 packages (the chosen "install" field). install.cc installs
23 #define YYSTYPE char *
25 /* lowest number must be most trusted, highest least trusted */
38 /* Note that the next six items must be in the same order as the
50 ACTION_SAME_PREV
= ACTION_PREV
+ ACTION_SAME
,
51 ACTION_SAME_CURR
= ACTION_CURR
+ ACTION_SAME
,
52 ACTION_SAME_TEST
= ACTION_TEST
+ ACTION_SAME
,
63 #define is_download_action(pkg) \
64 ((pkg)->action == ACTION_PREV || \
65 (pkg)->action == ACTION_CURR || \
66 (pkg)->action == ACTION_TEST || \
67 (pkg)->action == ACTION_REDO || \
68 (pkg)->action == ACTION_SRC_ONLY)
70 #define is_upgrade_action(pkg) \
71 (((pkg)->action >= ACTION_CURR && \
72 (pkg)->action <= ACTION_TEST) || \
73 (pkg)->action == ACTION_REDO)
75 #define is_uninstall_action(pkg) \
76 (is_upgrade_action (pkg) || \
77 (pkg)->action == ACTION_PREV || \
78 (pkg)->action == ACTION_UNINSTALL)
80 #define SRCACTION_NO 0
81 #define SRCACTION_YES 1
84 char *version
; /* version part of filename */
85 char *install
; /* file name to install */
86 int install_size
; /* in bytes */
87 int install_exists
; /* install file exists on disk */
88 char *source
; /* sources for installed binaries */
89 int source_size
; /* in bytes */
90 int source_exists
; /* source file exists on disk */
91 } Info
; /* +1 for TRUST_UNKNOWN */
95 char *name
; /* package name, like "cygwin" */
96 char *sdesc
; /* short description (replaces "name" if provided) */
97 char *ldesc
; /* long description (multi-line) */
98 actions action
; /* ACTION_* - only NEW and UPGRADE get installed */
99 trusts trust
; /* TRUST_* (selects among info[] below) */
100 int srcpicked
; /* SRCACTION_ */
104 excludes exclude
; /* true if this package should be excluded */
106 Info info
[NTRUST
]; /* +1 for TRUST_UNKNOWN */
109 extern Package
*package
;
110 extern int npackages
;
116 Package
*new_package (char *name
);
117 void ini_init (char *string
);
118 Package
*getpkgbyname (const char *pkgname
);
This page took 0.044677 seconds and 6 git commands to generate.