block.c File Reference

Include dependency graph for block.c:


Data Structures

struct  block_sys_t
struct  block_fifo_t

Defines

#define BLOCK_ALIGN   16
#define BLOCK_PADDING_SIZE   32
#define BLOCK_WASTE_SIZE   2048
#define S_TYPEISSHM(buf)   (0)

Functions

static void BlockNoRelease (block_t *b)
void block_Init (block_t *restrict b, void *buf, size_t size)
static void BlockRelease (block_t *p_block)
block_tblock_Alloc (size_t i_size)
block_tblock_Realloc (block_t *p_block, ssize_t i_prebody, size_t i_body)
block_tblock_mmap_Alloc (void *addr, size_t length)
block_tblock_File (int fd)
 Loads a file into a block of memory.
block_fifo_tblock_FifoNew (void)
void block_FifoRelease (block_fifo_t *p_fifo)
void block_FifoEmpty (block_fifo_t *p_fifo)
size_t block_FifoPut (block_fifo_t *p_fifo, block_t *p_block)
void block_FifoWake (block_fifo_t *p_fifo)
block_tblock_FifoGet (block_fifo_t *p_fifo)
block_tblock_FifoShow (block_fifo_t *p_fifo)
size_t block_FifoSize (const block_fifo_t *p_fifo)
size_t block_FifoCount (const block_fifo_t *p_fifo)

Define Documentation

#define BLOCK_ALIGN   16

#define BLOCK_PADDING_SIZE   32

#define BLOCK_WASTE_SIZE   2048

#define S_TYPEISSHM ( buf   )     (0)


Function Documentation

block_t* block_Alloc ( size_t  i_size  ) 

size_t block_FifoCount ( const block_fifo_t p_fifo  ) 

void block_FifoEmpty ( block_fifo_t p_fifo  ) 

block_t* block_FifoGet ( block_fifo_t p_fifo  ) 

block_fifo_t* block_FifoNew ( void   ) 

size_t block_FifoPut ( block_fifo_t p_fifo,
block_t p_block 
)

void block_FifoRelease ( block_fifo_t p_fifo  ) 

block_t* block_FifoShow ( block_fifo_t p_fifo  ) 

size_t block_FifoSize ( const block_fifo_t p_fifo  ) 

void block_FifoWake ( block_fifo_t p_fifo  ) 

block_t* block_File ( int  fd  ) 

Loads a file into a block of memory.

If possible a private file mapping is created. Otherwise, the file is read normally. On 32-bits platforms, this function will not work for very large files, due to memory space constraints.

Parameters:
fd file descriptor to load from
Returns:
a new block with the file content at p_buffer, and file length at i_buffer (release it with block_Release()), or NULL upon error (see errno).

void block_Init ( block_t *restrict  b,
void *  buf,
size_t  size 
)

block_t* block_mmap_Alloc ( void *  addr,
size_t  length 
)

block_t* block_Realloc ( block_t p_block,
ssize_t  i_prebody,
size_t  i_body 
)

static void BlockNoRelease ( block_t b  )  [static]

static void BlockRelease ( block_t p_block  )  [static]


Generated on Wed Aug 13 08:05:38 2008 for VLC by  doxygen 1.5.1