rpm  5.4.10
Typedefs | Functions | Variables
names.c File Reference

Simple user/group name/id cache (plus hostname and buildtime) More...

#include "system.h"
#include <rpmio.h>
#include <rpmiotypes.h>
#include <rpmlog.h>
#include "rpmbuild.h"
#include "debug.h"
Include dependency graph for names.c:

Go to the source code of this file.

Typedefs

typedef const char * ugstr_t
 

Functions

void freeNames (void)
 Destroy uid/gid caches. More...
 
const char * getUname (uid_t uid)
 Return cached user name from user id. More...
 
const char * getUnameS (const char *uname)
 Return cached user name. More...
 
uid_t getUidS (const char *uname)
 Return cached user id. More...
 
const char * getGname (gid_t gid)
 Return cached group name from group id. More...
 
const char * getGnameS (const char *gname)
 Return cached group name. More...
 
gid_t getGidS (const char *gname)
 Return cached group id. More...
 
rpmuint32_tgetBuildTime (void)
 Return build time stamp. More...
 
const char * buildHost (void)
 Return build hostname. More...
 

Variables

static uid_t uids [1024]
 
static ugstr_t unames [1024]
 
static int uid_used = 0
 
static gid_t gids [1024]
 
static ugstr_t gnames [1024]
 
static int gid_used = 0
 

Detailed Description

Simple user/group name/id cache (plus hostname and buildtime)

Definition in file names.c.

Typedef Documentation

§ ugstr_t

typedef const char* ugstr_t

Definition at line 16 of file names.c.

Function Documentation

§ buildHost()

const char* buildHost ( void  )

Return build hostname.

Returns
build hostname

Definition at line 206 of file names.c.

References _, rpmlog(), and RPMLOG_WARNING.

Referenced by rpmlibMarkers(), and writeRPM().

§ freeNames()

void freeNames ( void  )

Destroy uid/gid caches.

Definition at line 32 of file names.c.

References _free(), gid_used, gnames, uid_used, and unames.

Referenced by main().

§ getBuildTime()

rpmuint32_t* getBuildTime ( void  )

Return build time stamp.

Returns
build time stamp

Definition at line 197 of file names.c.

Referenced by rpmlibMarkers(), and writeRPM().

§ getGidS()

gid_t getGidS ( const char *  gname)

Return cached group id.

Todo:
Implement using hash.
Parameters
gnamegroup name
Returns
cached gid

Definition at line 170 of file names.c.

References _, gid_used, gids, gnames, rpmlog(), RPMLOG_CRIT, and xstrdup().

§ getGname()

const char* getGname ( gid_t  gid)

Return cached group name from group id.

Todo:
Implement using hash.
Parameters
gidgroup id
Returns
cached group name

Definition at line 119 of file names.c.

References _, gid_used, gids, gnames, rpmlog(), RPMLOG_CRIT, and xstrdup().

Referenced by addFile(), checkOwners(), and processSourceFiles().

§ getGnameS()

const char* getGnameS ( const char *  gname)

Return cached group name.

Todo:
Implement using hash.
Parameters
gnamegroup name
Returns
cached group name

Definition at line 143 of file names.c.

References _, gid_used, gids, gnames, rpmlog(), RPMLOG_CRIT, and xstrdup().

Referenced by addFile(), and processSourceFiles().

§ getUidS()

uid_t getUidS ( const char *  uname)

Return cached user id.

Todo:
Implement using hash.
Parameters
unameuser name
Returns
cached uid

Definition at line 92 of file names.c.

References _, rpmlog(), RPMLOG_CRIT, uid_used, uids, unames, and xstrdup().

§ getUname()

const char* getUname ( uid_t  uid)

Return cached user name from user id.

Todo:
Implement using hash.
Parameters
uiduser id
Returns
cached user name

Definition at line 41 of file names.c.

References _, rpmlog(), RPMLOG_CRIT, uid_used, uids, unames, and xstrdup().

Referenced by addFile(), checkOwners(), and processSourceFiles().

§ getUnameS()

const char* getUnameS ( const char *  uname)

Return cached user name.

Todo:
Implement using hash.
Parameters
unameuser name
Returns
cached user name

Definition at line 65 of file names.c.

References _, rpmlog(), RPMLOG_CRIT, uid_used, uids, unames, and xstrdup().

Referenced by addFile(), and processSourceFiles().

Variable Documentation

§ gid_used

int gid_used = 0
static

Definition at line 30 of file names.c.

Referenced by freeNames(), getGidS(), getGname(), and getGnameS().

§ gids

gid_t gids[1024]
static

Definition at line 26 of file names.c.

Referenced by getGidS(), getGname(), and getGnameS().

§ gnames

ugstr_t gnames[1024]
static

Definition at line 28 of file names.c.

Referenced by freeNames(), getGidS(), getGname(), and getGnameS().

§ uid_used

int uid_used = 0
static

Definition at line 23 of file names.c.

Referenced by freeNames(), getUidS(), getUname(), and getUnameS().

§ uids

uid_t uids[1024]
static

Definition at line 19 of file names.c.

Referenced by getUidS(), getUname(), and getUnameS().

§ unames

ugstr_t unames[1024]
static

Definition at line 21 of file names.c.

Referenced by freeNames(), getUidS(), getUname(), and getUnameS().