FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
file.c File Reference
#include "config.h"
#include "file.h"
#include "internal.h"
#include "log.h"
#include "mem.h"
#include <fcntl.h>
#include <sys/stat.h>

Go to the source code of this file.

Data Structures

struct  FileLogContext
 

Macros

#define O_BINARY   0
 
#define O_EXCL   0
 

Functions

int av_file_map (const char *filename, uint8_t **bufptr, size_t *size, int log_offset, void *log_ctx)
 Read the file with name filename, and put its content in a newly allocated buffer or map it with mmap() when available.
 
void av_file_unmap (uint8_t *bufptr, size_t size)
 Unmap or free the buffer bufptr created by av_file_map().
 
int av_tempfile (const char *prefix, char **filename, int log_offset, void *log_ctx)
 Wrapper to work around the lack of mkstemp() on mingw.
 

Variables

static const AVClass file_log_ctx_class
 

Macro Definition Documentation

#define O_BINARY   0

Referenced by av_fopen_utf8(), av_tempfile(), and check().

#define O_EXCL   0

Referenced by av_tempfile().

Function Documentation

int av_file_map ( const char *  filename,
uint8_t **  bufptr,
size_t *  size,
int  log_offset,
void log_ctx 
)

Read the file with name filename, and put its content in a newly allocated buffer or map it with mmap() when available.

In case of success set *bufptr to the read or mmapped buffer, and *size to the size in bytes of the buffer in *bufptr. The returned buffer must be released with av_file_unmap().

Parameters
log_offsetloglevel offset used for logging
log_ctxcontext used for logging
Returns
a non negative number in case of success, a negative value corresponding to an AVERROR error code in case of failure
Examples:
avio_reading.c.

Definition at line 49 of file file.c.

Referenced by init(), init_pattern_from_file(), load_textfile(), main(), parse_psfile(), and read_shape_from_file().

void av_file_unmap ( uint8_t bufptr,
size_t  size 
)

Unmap or free the buffer bufptr created by av_file_map().

Parameters
sizesize in bytes of bufptr, must be the same as returned by av_file_map()
Examples:
avio_reading.c.

Definition at line 129 of file file.c.

Referenced by init(), load_textfile(), main(), parse_psfile(), read_shape_from_file(), and uninit().

int av_tempfile ( const char *  prefix,
char **  filename,
int  log_offset,
void log_ctx 
)

Wrapper to work around the lack of mkstemp() on mingw.

Also, tries to create file in /tmp first, if possible. *prefix can be a character constant; *filename will be allocated internally.

Returns
file descriptor of opened file (or -1 on error) and opened file name in **filename.
Note
On very old libcs it is necessary to set a secure umask before calling this, av_tempfile() can't call umask itself as it is used in libraries and could interfere with the calling application.

Definition at line 140 of file file.c.

Referenced by cache_open(), ff_xvid_rate_control_init(), and xvid_encode_init().

Variable Documentation

const AVClass file_log_ctx_class
static
Initial value:
= {
0x42, 0x42
}

Definition at line 44 of file file.c.

Referenced by av_file_map(), and av_tempfile().