1 /* $NetBSD: info.h,v 1.3 2021/04/10 19:49:59 nia Exp $ */ 2 3 /* from FreeBSD Id: info.h,v 1.10 1997/02/22 16:09:40 peter Exp */ 4 5 /*- 6 * Copyright (c) 2008 Joerg Sonnenberger <joerg@NetBSD.org>. 7 * All rights reserved. 8 * 9 * Redistribution and use in source and binary forms, with or without 10 * modification, are permitted provided that the following conditions 11 * are met: 12 * 13 * 1. Redistributions of source code must retain the above copyright 14 * notice, this list of conditions and the following disclaimer. 15 * 2. Redistributions in binary form must reproduce the above copyright 16 * notice, this list of conditions and the following disclaimer in 17 * the documentation and/or other materials provided with the 18 * distribution. 19 * 20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 21 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 22 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 23 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 24 * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 25 * INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING, 26 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 27 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 28 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 29 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 30 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 */ 33 34 /* 35 * FreeBSD install - a package for the installation and maintainance 36 * of non-core utilities. 37 * 38 * Redistribution and use in source and binary forms, with or without 39 * modification, are permitted provided that the following conditions 40 * are met: 41 * 1. Redistributions of source code must retain the above copyright 42 * notice, this list of conditions and the following disclaimer. 43 * 2. Redistributions in binary form must reproduce the above copyright 44 * notice, this list of conditions and the following disclaimer in the 45 * documentation and/or other materials provided with the distribution. 46 * 47 * Jordan K. Hubbard 48 * 23 August 1993 49 * 50 * Include and define various things wanted by the info command. 51 * 52 */ 53 54 #ifndef _INST_INFO_H_INCLUDE 55 #define _INST_INFO_H_INCLUDE 56 57 struct pkg_meta { 58 char *meta_contents; 59 char *meta_comment; 60 char *meta_desc; 61 char *meta_mtree; 62 char *meta_build_version; 63 char *meta_build_info; 64 char *meta_size_pkg; 65 char *meta_size_all; 66 char *meta_required_by; 67 char *meta_display; 68 char *meta_install; 69 char *meta_deinstall; 70 char *meta_preserve; 71 char *meta_installed_info; 72 int is_installed; 73 }; 74 75 #ifndef MAXINDEXSIZE 76 #define MAXINDEXSIZE 60 77 #endif 78 79 #ifndef MAXNAMESIZE 80 #define MAXNAMESIZE 20 81 #endif 82 83 #define SHOW_COMMENT 0x00001 84 #define SHOW_DESC 0x00002 85 #define SHOW_PLIST 0x00004 86 #define SHOW_INSTALL 0x00008 87 #define SHOW_DEINSTALL 0x00010 88 #define SHOW_PREFIX 0x00040 89 #define SHOW_INDEX 0x00080 90 #define SHOW_FILES 0x00100 91 #define SHOW_DISPLAY 0x00200 92 #define SHOW_REQBY 0x00400 93 #define SHOW_MTREE 0x00800 94 #define SHOW_BUILD_VERSION 0x01000 95 #define SHOW_BUILD_INFO 0x02000 96 #define SHOW_DEPENDS 0x04000 97 #define SHOW_PKG_SIZE 0x08000 98 #define SHOW_ALL_SIZE 0x10000 99 #define SHOW_BLD_DEPENDS 0x20000 100 #define SHOW_BI_VAR 0x40000 101 #define SHOW_SUMMARY 0x80000 102 #define SHOW_FULL_REQBY 0x100000 103 104 enum which { 105 WHICH_ALL, 106 WHICH_USER, 107 WHICH_LIST 108 }; 109 110 extern int Flags; 111 extern enum which Which; 112 extern Boolean File2Pkg; 113 extern Boolean Quiet; 114 extern const char *InfoPrefix; 115 extern const char *BuildInfoVariable; 116 extern lpkg_head_t pkgs; 117 118 int CheckForPkg(const char *); 119 int CheckForBestPkg(const char *); 120 121 void show_file(const char *, const char *, Boolean); 122 void show_var(const char *, const char *); 123 void show_plist(const char *, package_t *, pl_ent_t); 124 void show_files(const char *, package_t *); 125 void show_depends(const char *, package_t *); 126 void show_bld_depends(const char *, package_t *); 127 void show_index(const char *, const char *); 128 void show_summary(struct pkg_meta *, package_t *, const char *); 129 void show_list(lpkg_head_t *, const char *); 130 131 int pkg_perform(lpkg_head_t *); 132 133 #endif /* _INST_INFO_H_INCLUDE */ 134