Rizin
unix-like reverse engineering framework and cli tools
ioapi.h File Reference
#include <stdio.h>
#include <stdlib.h>
#include "zlib.h"

Go to the source code of this file.

Classes

struct  zlib_filefunc_def_s
 
struct  zlib_filefunc64_def_s
 
struct  zlib_filefunc64_32_def_s
 

Macros

#define __USE_FILE_OFFSET64
 
#define __USE_LARGEFILE64
 
#define _LARGEFILE64_SOURCE
 
#define _FILE_OFFSET_BIT   64
 
#define MAXU32   (0xffffffff)
 
#define ZLIB_FILEFUNC_SEEK_CUR   (1)
 
#define ZLIB_FILEFUNC_SEEK_END   (2)
 
#define ZLIB_FILEFUNC_SEEK_SET   (0)
 
#define ZLIB_FILEFUNC_MODE_READ   (1)
 
#define ZLIB_FILEFUNC_MODE_WRITE   (2)
 
#define ZLIB_FILEFUNC_MODE_READWRITEFILTER   (3)
 
#define ZLIB_FILEFUNC_MODE_EXISTING   (4)
 
#define ZLIB_FILEFUNC_MODE_CREATE   (8)
 
#define ZCALLBACK
 
#define ZREAD64(filefunc, filestream, buf, size)   ((*((filefunc).zfile_func64.zread_file)) ((filefunc).zfile_func64.opaque,filestream,buf,size))
 
#define ZWRITE64(filefunc, filestream, buf, size)   ((*((filefunc).zfile_func64.zwrite_file)) ((filefunc).zfile_func64.opaque,filestream,buf,size))
 
#define ZCLOSE64(filefunc, filestream)   ((*((filefunc).zfile_func64.zclose_file)) ((filefunc).zfile_func64.opaque,filestream))
 
#define ZERROR64(filefunc, filestream)   ((*((filefunc).zfile_func64.zerror_file)) ((filefunc).zfile_func64.opaque,filestream))
 
#define ZOPEN64(filefunc, filename, mode)   (call_zopen64((&(filefunc)),(filename),(mode)))
 
#define ZTELL64(filefunc, filestream)   (call_ztell64((&(filefunc)),(filestream)))
 
#define ZSEEK64(filefunc, filestream, pos, mode)   (call_zseek64((&(filefunc)),(filestream),(pos),(mode)))
 

Typedefs

typedef unsigned long long int ZPOS64_T
 
typedef const char * filename
 
typedef const char int mode
 
typedef voidpf stream
 
typedef voidpf void * buf
 
typedef voidpf void uLong size
 
typedef voidpf uLong offset
 
typedef voidpf uLong int origin
 
typedef struct zlib_filefunc_def_s zlib_filefunc_def
 
typedef struct zlib_filefunc64_def_s zlib_filefunc64_def
 
typedef struct zlib_filefunc64_32_def_s zlib_filefunc64_32_def
 

Functions

typedef voidpf (ZCALLBACK *open_file_func) OF((voidpf opaque
 
typedef uLong (ZCALLBACK *read_file_func) OF((voidpf opaque
 
typedef int (ZCALLBACK *close_file_func) OF((voidpf opaque
 
typedef long (ZCALLBACK *tell_file_func) OF((voidpf opaque
 
typedef ZPOS64_T (ZCALLBACK *tell64_file_func) OF((voidpf opaque
 
void fill_fopen64_filefunc OF ((zlib_filefunc64_def *pzlib_filefunc_def))
 
void fill_fopen_filefunc OF ((zlib_filefunc_def *pzlib_filefunc_def))
 
voidpf call_zopen64 OF ((const zlib_filefunc64_32_def *pfilefunc, const void *filename, int mode))
 
long call_zseek64 OF ((const zlib_filefunc64_32_def *pfilefunc, voidpf filestream, ZPOS64_T offset, int origin))
 
ZPOS64_T call_ztell64 OF ((const zlib_filefunc64_32_def *pfilefunc, voidpf filestream))
 
void fill_zlib_filefunc64_32_def_from_filefunc32 (zlib_filefunc64_32_def *p_filefunc64_32, const zlib_filefunc_def *p_filefunc32)
 

Macro Definition Documentation

◆ __USE_FILE_OFFSET64

#define __USE_FILE_OFFSET64

Definition at line 30 of file ioapi.h.

◆ __USE_LARGEFILE64

#define __USE_LARGEFILE64

Definition at line 33 of file ioapi.h.

◆ _FILE_OFFSET_BIT

#define _FILE_OFFSET_BIT   64

Definition at line 39 of file ioapi.h.

◆ _LARGEFILE64_SOURCE

#define _LARGEFILE64_SOURCE

Definition at line 36 of file ioapi.h.

◆ MAXU32

#define MAXU32   (0xffffffff)

Definition at line 106 of file ioapi.h.

◆ ZCALLBACK

#define ZCALLBACK

Definition at line 130 of file ioapi.h.

◆ ZCLOSE64

#define ZCLOSE64 (   filefunc,
  filestream 
)    ((*((filefunc).zfile_func64.zclose_file)) ((filefunc).zfile_func64.opaque,filestream))

Definition at line 193 of file ioapi.h.

◆ ZERROR64

#define ZERROR64 (   filefunc,
  filestream 
)    ((*((filefunc).zfile_func64.zerror_file)) ((filefunc).zfile_func64.opaque,filestream))

Definition at line 194 of file ioapi.h.

◆ ZLIB_FILEFUNC_MODE_CREATE

#define ZLIB_FILEFUNC_MODE_CREATE   (8)

Definition at line 123 of file ioapi.h.

◆ ZLIB_FILEFUNC_MODE_EXISTING

#define ZLIB_FILEFUNC_MODE_EXISTING   (4)

Definition at line 122 of file ioapi.h.

◆ ZLIB_FILEFUNC_MODE_READ

#define ZLIB_FILEFUNC_MODE_READ   (1)

Definition at line 118 of file ioapi.h.

◆ ZLIB_FILEFUNC_MODE_READWRITEFILTER

#define ZLIB_FILEFUNC_MODE_READWRITEFILTER   (3)

Definition at line 120 of file ioapi.h.

◆ ZLIB_FILEFUNC_MODE_WRITE

#define ZLIB_FILEFUNC_MODE_WRITE   (2)

Definition at line 119 of file ioapi.h.

◆ ZLIB_FILEFUNC_SEEK_CUR

#define ZLIB_FILEFUNC_SEEK_CUR   (1)

Definition at line 114 of file ioapi.h.

◆ ZLIB_FILEFUNC_SEEK_END

#define ZLIB_FILEFUNC_SEEK_END   (2)

Definition at line 115 of file ioapi.h.

◆ ZLIB_FILEFUNC_SEEK_SET

#define ZLIB_FILEFUNC_SEEK_SET   (0)

Definition at line 116 of file ioapi.h.

◆ ZOPEN64

#define ZOPEN64 (   filefunc,
  filename,
  mode 
)    (call_zopen64((&(filefunc)),(filename),(mode)))

Definition at line 202 of file ioapi.h.

◆ ZREAD64

#define ZREAD64 (   filefunc,
  filestream,
  buf,
  size 
)    ((*((filefunc).zfile_func64.zread_file)) ((filefunc).zfile_func64.opaque,filestream,buf,size))

Definition at line 189 of file ioapi.h.

◆ ZSEEK64

#define ZSEEK64 (   filefunc,
  filestream,
  pos,
  mode 
)    (call_zseek64((&(filefunc)),(filestream),(pos),(mode)))

Definition at line 204 of file ioapi.h.

◆ ZTELL64

#define ZTELL64 (   filefunc,
  filestream 
)    (call_ztell64((&(filefunc)),(filestream)))

Definition at line 203 of file ioapi.h.

◆ ZWRITE64

#define ZWRITE64 (   filefunc,
  filestream,
  buf,
  size 
)    ((*((filefunc).zfile_func64.zwrite_file)) ((filefunc).zfile_func64.opaque,filestream,buf,size))

Definition at line 190 of file ioapi.h.

Typedef Documentation

◆ buf

typedef voidpf const void * buf

Definition at line 138 of file ioapi.h.

◆ filename

typedef const void * filename

Definition at line 137 of file ioapi.h.

◆ mode

typedef const void int mode

Definition at line 137 of file ioapi.h.

◆ offset

Definition at line 144 of file ioapi.h.

◆ origin

Definition at line 144 of file ioapi.h.

◆ size

typedef voidpf const void uLong size
Initial value:
{
if (!ptr)
return malloc(size)
voidpf void uLong size
Definition: ioapi.h:138
void * malloc(size_t size)
Definition: malloc.c:123

Definition at line 138 of file ioapi.h.

◆ stream

typedef voidpf stream

Definition at line 138 of file ioapi.h.

◆ zlib_filefunc64_32_def

◆ zlib_filefunc64_def

◆ zlib_filefunc_def

◆ ZPOS64_T

Definition at line 99 of file ioapi.h.

Function Documentation

◆ fill_zlib_filefunc64_32_def_from_filefunc32()

void fill_zlib_filefunc64_32_def_from_filefunc32 ( zlib_filefunc64_32_def p_filefunc64_32,
const zlib_filefunc_def p_filefunc32 
)

Definition at line 69 of file ioapi.c.

70 {
71  p_filefunc64_32->zfile_func64.zopen64_file = NULL;
72  p_filefunc64_32->zopen32_file = p_filefunc32->zopen_file;
73  p_filefunc64_32->zfile_func64.zerror_file = p_filefunc32->zerror_file;
74  p_filefunc64_32->zfile_func64.zread_file = p_filefunc32->zread_file;
75  p_filefunc64_32->zfile_func64.zwrite_file = p_filefunc32->zwrite_file;
76  p_filefunc64_32->zfile_func64.ztell64_file = NULL;
77  p_filefunc64_32->zfile_func64.zseek64_file = NULL;
78  p_filefunc64_32->zfile_func64.zclose_file = p_filefunc32->zclose_file;
79  p_filefunc64_32->zfile_func64.zerror_file = p_filefunc32->zerror_file;
80  p_filefunc64_32->zfile_func64.opaque = p_filefunc32->opaque;
81  p_filefunc64_32->zseek32_file = p_filefunc32->zseek_file;
82  p_filefunc64_32->ztell32_file = p_filefunc32->ztell_file;
83 }
#define NULL
Definition: cris-opc.c:27
seek_file_func zseek32_file
Definition: ioapi.h:185
zlib_filefunc64_def zfile_func64
Definition: ioapi.h:182
open_file_func zopen32_file
Definition: ioapi.h:183
tell_file_func ztell32_file
Definition: ioapi.h:184
write_file_func zwrite_file
Definition: ioapi.h:168
open64_file_func zopen64_file
Definition: ioapi.h:166
read_file_func zread_file
Definition: ioapi.h:167
tell64_file_func ztell64_file
Definition: ioapi.h:169
close_file_func zclose_file
Definition: ioapi.h:171
seek64_file_func zseek64_file
Definition: ioapi.h:170
testerror_file_func zerror_file
Definition: ioapi.h:172
seek_file_func zseek_file
Definition: ioapi.h:154
open_file_func zopen_file
Definition: ioapi.h:150
testerror_file_func zerror_file
Definition: ioapi.h:156
write_file_func zwrite_file
Definition: ioapi.h:152
read_file_func zread_file
Definition: ioapi.h:151
close_file_func zclose_file
Definition: ioapi.h:155
tell_file_func ztell_file
Definition: ioapi.h:153

References NULL, zlib_filefunc_def_s::opaque, zlib_filefunc64_def_s::opaque, zlib_filefunc_def_s::zclose_file, zlib_filefunc64_def_s::zclose_file, zlib_filefunc_def_s::zerror_file, zlib_filefunc64_def_s::zerror_file, zlib_filefunc64_32_def_s::zfile_func64, zlib_filefunc64_32_def_s::zopen32_file, zlib_filefunc64_def_s::zopen64_file, zlib_filefunc_def_s::zopen_file, zlib_filefunc_def_s::zread_file, zlib_filefunc64_def_s::zread_file, zlib_filefunc64_32_def_s::zseek32_file, zlib_filefunc64_def_s::zseek64_file, zlib_filefunc_def_s::zseek_file, zlib_filefunc64_32_def_s::ztell32_file, zlib_filefunc64_def_s::ztell64_file, zlib_filefunc_def_s::ztell_file, zlib_filefunc_def_s::zwrite_file, and zlib_filefunc64_def_s::zwrite_file.

Referenced by unzOpen2(), and zipOpen2().

◆ int()

typedef int ( ZCALLBACK close_file_func)

◆ long()

typedef long ( ZCALLBACK tell_file_func)

◆ OF() [1/5]

◆ OF() [2/5]

ZPOS64_T call_ztell64 OF ( (const zlib_filefunc64_32_def *pfilefunc, voidpf filestream)  )

◆ OF() [3/5]

◆ OF() [4/5]

void fill_fopen64_filefunc OF ( (zlib_filefunc64_def *pzlib_filefunc_def)  )

◆ OF() [5/5]

void fill_fopen_filefunc OF ( (zlib_filefunc_def *pzlib_filefunc_def)  )

◆ uLong()

typedef uLong ( ZCALLBACK read_file_func)

◆ voidpf()

typedef voidpf ( ZCALLBACK open_file_func)

◆ ZPOS64_T()

typedef ZPOS64_T ( ZCALLBACK tell64_file_func)