Main Page   Modules   Data Structures   File List   Data Fields   Globals   Related Pages  

lib/fs.c File Reference

More...

#include "system.h"
#include "rpmlib.h"
#include "rpmmacro.h"
#include "debug.h"

Go to the source code of this file.

Data Structures

struct  fsinfo

Defines

#define MNT_DEV_PREFIX   "/mnt/"
#define MNT_DEV_PREFIX_LENGTH   (sizeof(MNT_DEV_PREFIX)-1)

Functions

void freeFilesystems (void)
 Release storage used by file system usage cache.

int getFilesystemList (void)
 Get information for mounted file systems.

int rpmGetFilesystemList (const char ***listptr, int *num)
 Return (cached) file system mount points.

int rpmGetFilesystemUsage (const char **fileList, int_32 *fssizes, int numFiles, uint_32 **usagesPtr, int flags)
 Determine per-file system usage for a list of files.


Variables

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


Detailed Description

Definition in file fs.c.


Define Documentation

#define MNT_DEV_PREFIX   "/mnt/"
 

Definition at line 11 of file fs.c.

#define MNT_DEV_PREFIX_LENGTH   (sizeof(MNT_DEV_PREFIX)-1)
 

Definition at line 12 of file fs.c.


Function Documentation

void freeFilesystems void   
 

Release storage used by file system usage cache.

Definition at line 29 of file fs.c.

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

Referenced by getFilesystemList(), and main().

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 142 of file fs.c.

References _, _free(), errno, freeFilesystems(), fsnames, getmntent(), fsinfo::mntPoint, MOUNTED, numFilesystems, our_mntent::our_mntdir, RPMERR_MTAB, RPMERR_STAT, rpmError, xcalloc(), xrealloc(), and xstrdup().

Referenced by rpmGetFilesystemList(), and rpmGetFilesystemUsage().

int rpmGetFilesystemList const char ***    listptr,
int *    num
 

Return (cached) file system mount points.

Return values:
listptr  addess of file system names (or NULL)
num  address of number of file systems (or NULL)
Returns:
0 on success, 1 on error

Definition at line 241 of file fs.c.

References fsnames, getFilesystemList(), and numFilesystems.

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

int rpmGetFilesystemUsage const char **    fileList,
int_32   fssizes,
int    numFiles,
uint_32 **    usagesPtr,
int    flags
 

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

Parameters:
fileList  array of absolute file names
fssizes  array of file sizes
numFiles  number of files in list
Return values:
usagesPtr  address of per-file system usage array (or NULL)
Parameters:
flags  (unused)
Returns:
0 on success, 1 on error

Definition at line 253 of file fs.c.

References _, _free(), alloca(), fsinfo::dev, errno, fsnames, getFilesystemList(), int_32, numFilesystems, RPMERR_BADDEV, RPMERR_STAT, rpmError, rpmGetPath(), uint_32, and xcalloc().

Referenced by fssizesTag().


Variable Documentation

struct fsinfo* filesystems = NULL [static]
 

Definition at line 23 of file fs.c.

const char** fsnames = NULL [static]
 

Definition at line 25 of file fs.c.

Referenced by freeFilesystems(), getFilesystemList(), rpmGetFilesystemList(), and rpmGetFilesystemUsage().

int numFilesystems = 0 [static]
 

Definition at line 27 of file fs.c.

Referenced by freeFilesystems(), getFilesystemList(), rpmGetFilesystemList(), and rpmGetFilesystemUsage().


Generated on Sun Feb 2 23:32:08 2003 for rpm by doxygen1.2.18