rpm  5.4.14
Data Structures | Functions | Variables
fs.c File Reference
#include "system.h"
#include <rpmio.h>
#include <rpmiotypes.h>
#include <rpmlog.h>
#include <rpmmacro.h>
#include "fs.h"
#include "debug.h"
Include dependency graph for fs.c:

Go to the source code of this file.

Data Structures

struct  fsinfo
 

Functions

void rpmFreeFilesystems (void)
 Release storage used by file system usage cache. More...
 
static int getFilesystemList (void)
 Get information for mounted file systems. More...
 
int rpmGetFilesystemList (const char ***listptr, rpmuint32_t *num)
 Return (cached) file system mount points. More...
 
int rpmGetFilesystemUsage (const char **fileList, rpmuint32_t *fssizes, int numFiles, rpmuint64_t **usagesPtr, int flags)
 Determine per-file system usage for a list of files. More...
 

Variables

static struct fsinfofilesystems = NULL
 
static const char ** fsnames = NULL
 
static int numFilesystems = 0
 

Function Documentation

static int getFilesystemList ( void  )
static

Get information for mounted file systems.

Todo:
determine rdonly for non-linux file systems.
Returns
0 on success, 1 on error

Definition at line 158 of file fs.c.

References _, _free(), fsinfo::dev, errno, flags, getmntent(), i, fsinfo::mntPoint, MOUNTED, NULL, numFilesystems, our_mntent::our_mntdir, fsinfo::rdonly, rpmFreeFilesystems(), rpmlog(), RPMLOG_DEBUG, RPMLOG_ERR, Stat(), strcmp(), void, xcalloc(), xrealloc, and xstrdup().

Referenced by rpmGetFilesystemList(), and rpmGetFilesystemUsage().

void rpmFreeFilesystems ( void  )

Release storage used by file system usage cache.

Definition at line 38 of file fs.c.

References _free(), i, fsinfo::mntPoint, and numFilesystems.

Referenced by getFilesystemList().

int rpmGetFilesystemList ( const char ***  listptr,
rpmuint32_t num 
)

Return (cached) file system mount points.

Return values
listptraddess of file system names (or NULL)
numaddress of number of file systems (or NULL)
Returns
0 on success, 1 on error

Definition at line 294 of file fs.c.

References fsnames, getFilesystemList(), and numFilesystems.

Referenced by fsnamesTag(), fssizesTag(), and rpmtsInitDSI().

int rpmGetFilesystemUsage ( const char **  fileList,
rpmuint32_t fssizes,
int  numFiles,
rpmuint64_t **  usagesPtr,
int  flags 
)

Determine per-file system usage for a list of files.

Parameters
fileListarray of absolute file names
fssizesarray of file sizes
numFilesnumber of files in list
Return values
usagesPtraddress of per-file system usage array (or NULL)
Parameters
flags(unused)
Returns
0 on success, 1 on error

Definition at line 306 of file fs.c.

References _, _free(), alloca(), buf, dirName, errno, exit, getFilesystemList(), i, j, len, NULL, numFilesystems, rc, rpmGetPath(), rpmlog(), RPMLOG_ERR, Stat(), strcmp(), and xcalloc().

Referenced by fssizesTag().

Variable Documentation

struct fsinfo* filesystems = NULL
static

Definition at line 31 of file fs.c.

const char** fsnames = NULL
static

Definition at line 34 of file fs.c.

Referenced by rpmGetFilesystemList().

int numFilesystems = 0
static