/usr/include/dpkg/dpkg.h is in libdpkg-dev 1.17.5ubuntu5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 | /*
* libdpkg - Debian packaging suite library routines
* dpkg.h - general header for Debian package handling
*
* Copyright © 1994,1995 Ian Jackson <ian@chiark.greenend.org.uk>
* Copyright © 2000,2001 Wichert Akkerman <wichert@debian.org>
* Copyright © 2006-2012 Guillem Jover <guillem@debian.org>
*
* This 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.
*
* This 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.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
#ifndef LIBDPKG_DPKG_H
#define LIBDPKG_DPKG_H
#include <sys/types.h>
#include <stddef.h>
#include <stdio.h>
#include <dpkg/macros.h>
DPKG_BEGIN_DECLS
/**
* @mainpage libdpkg C API
*
* This is the documentation for the libdpkg C API. It is divided in an
* @ref dpkg-internal "internal API" and a @ref dpkg-public "public API".
* Applications closely tied to dpkg can make use of the internal API, the
* rest should only assume the availability of the public API.
*
* Applications need to define the LIBDPKG_VOLATILE_API macro to acknowledge
* that the API is to be considered volatile, please read doc/README.api for
* more information.
*
* @defgroup dpkg-internal Internal libdpkg C API
*
* @defgroup dpkg-public Public libdpkg C API
*/
#define MAXCONFFILENAME 1000
#define MAXDIVERTFILENAME 1024
#define MAXCONTROLFILENAME 100
#define DEBEXT ".deb"
#define REMOVECONFFEXTS "~", ".bak", "%", \
DPKGTEMPEXT, DPKGNEWEXT, DPKGOLDEXT, DPKGDISTEXT
#define DPKG_VERSION_ARCH PACKAGE_VERSION " (" ARCHITECTURE ")"
#define NEWCONFFILEFLAG "newconffile"
#define NONEXISTENTFLAG "nonexistent"
#define EMPTYHASHFLAG "-"
#define DPKGTEMPEXT ".dpkg-tmp"
#define DPKGNEWEXT ".dpkg-new"
#define DPKGOLDEXT ".dpkg-old"
#define DPKGDISTEXT ".dpkg-dist"
#define CONTROLFILE "control"
#define CONFFILESFILE "conffiles"
#define PREINSTFILE "preinst"
#define POSTINSTFILE "postinst"
#define PRERMFILE "prerm"
#define POSTRMFILE "postrm"
#define TRIGGERSCIFILE "triggers"
#define STATUSFILE "status"
#define AVAILFILE "available"
#define LOCKFILE "lock"
#define DIVERSIONSFILE "diversions"
#define STATOVERRIDEFILE "statoverride"
#define UPDATESDIR "updates/"
#define INFODIR "info"
#define TRIGGERSDIR "triggers"
#define TRIGGERSFILEFILE "File"
#define TRIGGERSDEFERREDFILE "Unincorp"
#define TRIGGERSLOCKFILE "Lock"
#define CONTROLDIRTMP "tmp.ci"
#define IMPORTANTTMP "tmp.i"
#define REASSEMBLETMP "reassemble" DEBEXT
#define IMPORTANTMAXLEN 10
#define IMPORTANTFMT "%04d"
#define MAXUPDATES 250
#define DEFAULTSHELL "sh"
#define DEFAULTPAGER "pager"
#define MD5HASHLEN 32
#define MAXTRIGDIRECTIVE 256
#define BACKEND "dpkg-deb"
#define SPLITTER "dpkg-split"
#define DPKGQUERY "dpkg-query"
#define DPKGDIVERT "dpkg-divert"
#define DPKGSTAT "dpkg-statoverride"
#define DPKGTRIGGER "dpkg-trigger"
#define DPKG "dpkg"
#define DEBSIGVERIFY "/usr/bin/debsig-verify"
#define TAR "tar"
#define RM "rm"
#define CAT "cat"
#define FIND "find"
#define DIFF "diff"
#define FIND_EXPRSTARTCHARS "-(),!"
#include <dpkg/progname.h>
#include <dpkg/ehandle.h>
#include <dpkg/report.h>
#include <dpkg/program.h>
/*** log.c ***/
extern const char *log_file;
void log_message(const char *fmt, ...) DPKG_ATTR_PRINTF(1);
void statusfd_add(int fd);
void statusfd_send(const char *fmt, ...) DPKG_ATTR_PRINTF(1);
/*** cleanup.c ***/
void cu_closestream(int argc, void **argv);
void cu_closepipe(int argc, void **argv);
void cu_closedir(int argc, void **argv);
void cu_closefd(int argc, void **argv);
void cu_filename(int argc, void **argv);
/*** from mlib.c ***/
void setcloexec(int fd, const char *fn);
void *m_malloc(size_t);
void *m_calloc(size_t);
void *m_realloc(void *, size_t);
char *m_strdup(const char *str);
char *m_strndup(const char *str, size_t n);
int m_asprintf(char **strp, const char *fmt, ...) DPKG_ATTR_PRINTF(2);
void m_dup2(int oldfd, int newfd);
void m_pipe(int fds[2]);
void m_output(FILE *f, const char *name);
/*** from utils.c ***/
int cisdigit(int c);
int cisalpha(int c);
int cisspace(int c);
int fgets_checked(char *buf, size_t bufsz, FILE *f, const char *fn);
int fgets_must(char *buf, size_t bufsz, FILE *f, const char *fn);
DPKG_END_DECLS
#endif /* LIBDPKG_DPKG_H */
|