# rpmdb/falloc.h File Reference

File space allocation routines. More...

Go to the source code of this file.

## Functions

static long int | fadGetFileSize (FD_t fd)
static void | fadSetFileSize (FD_t fd, long int fileSize)
static unsigned int | fadGetFirstFree (FD_t fd)
static void | fadSetFirstFree (FD_t fd, unsigned int firstFree)
FD_t | fadOpen (const char *path, int flags, mode_t perms)
unsigned int | fadAlloc (FD_t fd, unsigned int size)
void | fadFree (FD_t fd, unsigned int offset)
int | fadFirstOffset (FD_t fd)
int | fadNextOffset (FD_t fd, unsigned int lastoff)

## Detailed Description

File space allocation routines.

Best fit allocation is used, free blocks are compacted. Minimal fragmentation is more important then speed. This uses 32 bit offsets on all platforms and should be byte order independent.

Definition in file falloc.h.

## Function Documentation

static long int fadGetFileSize | ( | FD_t | fd | ) | `[inline, static]`

| Definition at line 19 of file falloc.h. References _FD_s::fileSize. Referenced by doGetRecord(), fadAlloc(), fadNextOffset(), fadOpen(), and fadSanity().

static unsigned int fadGetFirstFree | ( | FD_t | fd | ) | `[inline, static]`

| Definition at line 29 of file falloc.h. References _FD_s::firstFree. Referenced by fadAlloc(), and fadFree().

static void fadSetFileSize | ( | FD_t | fd,
|  | long int | fileSize
| ) | `[inline, static]`

| Definition at line 23 of file falloc.h. References _FD_s::fileSize. Referenced by fadAlloc(), and fadOpen().

static void fadSetFirstFree | ( | FD_t | fd,
|  | unsigned int | firstFree
| ) | `[inline, static]`

| Definition at line 33 of file falloc.h. References _FD_s::firstFree. Referenced by fadAlloc(), fadFree(), and fadOpen().