Mercurial > hg > xemacs-beta
diff netinstall/ini.h @ 448:3078fd1074e8 r21-2-39
Import from CVS: tag r21-2-39
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:38:25 +0200 |
parents | |
children | d7a9135ec789 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/netinstall/ini.h Mon Aug 13 11:38:25 2007 +0200 @@ -0,0 +1,86 @@ +/* + * Copyright (c) 2000, Red Hat, Inc. + * + * 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 of the License, or + * (at your option) any later version. + * + * A copy of the GNU General Public License can be found at + * http://www.gnu.org/ + * + * Written by DJ Delorie <dj@cygnus.com> + * + */ + +/* When setup.ini is parsed, the information is stored according to + the declarations here. ini.cc (via inilex and iniparse) + initializes these structures. choose.cc sets the action and trust + fields. download.cc downloads any needed files for selected + packages (the chosen "install" field). install.cc installs + selected packages. */ + +#define YYSTYPE char * + +/* lowest number must be most trusted, highest least trusted */ +#define TRUST_PREV 0 +#define TRUST_CURR 1 +#define TRUST_TEST 2 +#define NTRUST 3 +#define TRUST_UNKNOWN 3 /* intentionally not in NTRUST */ + +#define TY_GENERIC 0 +#define TY_CYGWIN 1 +#define TY_NATIVE 2 + +#define ACTION_UNKNOWN 0 +#define ACTION_SAME 1 +#define ACTION_NEW 2 +#define ACTION_UPGRADE 3 +#define ACTION_UNINSTALL 4 +#define ACTION_ERROR 5 + +#define SRCACTION_NO 0 +#define SRCACTION_YES 1 + +typedef struct { + char *name; /* package name, like "cygwin" */ + char *sdesc; /* short description (replaces "name" if provided) */ + char *ldesc; /* long description (multi-line) */ + int action; /* ACTION_* - only NEW and UPGRADE get installed */ + int srcaction;/* SRCACTION_ */ + int trust; /* TRUST_* (selects among info[] below) */ + int type; /* TY_GENERIC, TY_CYGWIN or TY_NATIVE. */ + + struct { + char *version; /* version part of filename */ + char *install; /* file name to install */ + int install_size; /* in bytes */ + char *source; /* sources for installed binaries */ + int source_size; /* in bytes */ + } info[NTRUST+1]; /* +1 for TRUST_UNKNOWN */ +} Package; + +extern Package *package; +extern Package *xemacs_package; + +extern int npackages; + +#ifdef __cplusplus +extern "C" { +#endif + +Package *new_package (char *name); +void ini_init (char *string); + +#define pi (package[i].info[package[i].trust]) + +#define LOOP_PACKAGES \ + for (i=0; i<npackages; i++) \ + if ((package[i].action == ACTION_NEW \ + || package[i].action == ACTION_UPGRADE) \ + && pi.install) + +#ifdef __cplusplus +} +#endif