tools/rpminject.c File Reference

#include "system.h"
#include "rpmbuild.h"
#include "buildio.h"
#include "header.h"
#include "rpmlead.h"
#include "signature.h"
#include <err.h>
#include "debug.h"

Go to the source code of this file.

Data Structures

struct  cmd_s
struct  headerTypeTableEntry

Defines

#define MAXCMDS   40
#define MYBUFSIZ   (2*BUFSIZ)

Typedefs

typedef enum injmode_e injmode_t
typedef struct cmd_s cmd_t

Enumerations

enum  injmode_e { INJ_UNKNOWN, INJ_ADD, INJ_DELETE, INJ_MODIFY }
enum  cvtaction { CA_OLD, CA_NEW, CA_OMIT, CA_ERR }

Functions

static const char * pr_injmode (injmode_t injmode)
static const char * getTagString (int tval)
static int getTagVal (const char *tname)
static char * getTypeString (int tval)
static enum cvtaction convertAMD (enum cvtaction ca, int_32 type, void **nvalsp, int_32 *ncountp, cmd_t *newc)
static enum cvtaction convertExistingAMD (int_32 tag, int_32 type, void **valsp, int_32 *countp, void **nvalsp, int_32 *ncountp, cmd_t *cmds[], int ncmds)
static Header headerCopyWithConvert (Header h, cmd_t *cmds[], int ncmds)
static char * genChangelog (cmd_t *cmds[], int ncmds)
static int headerInject (Header *hdrp, cmd_t *cmds[], int ncmds)
static int rewriteRPM (const char *fni, const char *fno, cmd_t *cmds[], int ncmds)
static int do_inject (cmd_t *cmds[], int ncmds, const char *argv[])
int main (int argc, char *argv[])

Variables

const char * program_name
injmode_t injmode = INJ_UNKNOWN
cmd_tcmds [40]
int ncmds = 0
static const char * hdri18ntbl = "HEADER_I18NTABLE"
static struct headerTypeTableEntry rpmTypeTable []
static struct poptOption optionsTable []


Define Documentation

#define MAXCMDS   40

Definition at line 28 of file rpminject.c.

#define MYBUFSIZ   (2*BUFSIZ)

Referenced by genChangelog().


Typedef Documentation

typedef struct cmd_s cmd_t

typedef enum injmode_e injmode_t


Enumeration Type Documentation

enum cvtaction

Enumerator:
CA_OLD 
CA_NEW 
CA_OMIT 
CA_ERR 

Definition at line 114 of file rpminject.c.

enum injmode_e

Enumerator:
INJ_UNKNOWN 
INJ_ADD 
INJ_DELETE 
INJ_MODIFY 

Definition at line 14 of file rpminject.c.


Function Documentation

static enum cvtaction convertAMD ( enum cvtaction  ca,
int_32  type,
void **  nvalsp,
int_32 ncountp,
cmd_t newc 
) [static]

static enum cvtaction convertExistingAMD ( int_32  tag,
int_32  type,
void **  valsp,
int_32 countp,
void **  nvalsp,
int_32 ncountp,
cmd_t cmds[],
int  ncmds 
) [static]

static int do_inject ( cmd_t cmds[],
int  ncmds,
const char *  argv[] 
) [static]

Definition at line 480 of file rpminject.c.

References _, rewriteRPM(), and xmalloc().

Referenced by main().

static char* genChangelog ( cmd_t cmds[],
int  ncmds 
) [static]

static const char* getTagString ( int  tval  )  [static]

static int getTagVal ( const char *  tname  )  [static]

static char* getTypeString ( int  tval  )  [static]

Definition at line 99 of file rpminject.c.

References headerTypeTableEntry::name, rpmTypeTable, and headerTypeTableEntry::val.

static Header headerCopyWithConvert ( Header  h,
cmd_t cmds[],
int  ncmds 
) [static]

static int headerInject ( Header hdrp,
cmd_t cmds[],
int  ncmds 
) [static]

int main ( int  argc,
char *  argv[] 
)

static const char* pr_injmode ( injmode_t  injmode  )  [static]

Definition at line 32 of file rpminject.c.

References INJ_ADD, INJ_DELETE, INJ_MODIFY, and INJ_UNKNOWN.

Referenced by genChangelog().

static int rewriteRPM ( const char *  fni,
const char *  fno,
cmd_t cmds[],
int  ncmds 
) [static]


Variable Documentation

cmd_t* cmds[40]

Definition at line 29 of file rpminject.c.

const char* hdri18ntbl = "HEADER_I18NTABLE" [static]

Definition at line 44 of file rpminject.c.

Referenced by getTagString(), and getTagVal().

injmode_t injmode = INJ_UNKNOWN

Definition at line 16 of file rpminject.c.

Referenced by main().

int ncmds = 0

Definition at line 30 of file rpminject.c.

Referenced by main().

struct poptOption optionsTable[] [static]

Initial value:

 {
 { "add",       'a', 0, 0, 'a',                 NULL, NULL },
 { "del",       'd', 0, 0, 'd',                 NULL, NULL },
 { "injtags",   'i', 0, 0, 'i',                 NULL, NULL },
 { "modify",    'm', 0, 0, 'm',                 NULL, NULL },
 { "tag",       't', POPT_ARG_STRING, 0, 't',   NULL, NULL },
 { "value",     'v', POPT_ARG_STRING, 0, 'v',   NULL, NULL },
 { NULL,        0, 0, 0, 0,                     NULL, NULL }
}

Definition at line 514 of file rpminject.c.

const char* program_name

Definition at line 2 of file rpminject.c.

Referenced by getTypeString().


Generated on Fri Dec 12 13:02:12 2008 for rpm by  doxygen 1.5.6