tesseract  4.00.00dev
ioapi.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "zlib.h"
#include "ioapi.h"

Go to the source code of this file.

Macros

#define SEEK_CUR   1
 
#define SEEK_END   2
 
#define SEEK_SET   0
 

Functions

voidpf ZCALLBACK fopen_file_func OF ((voidpf opaque, const char *filename, int mode))
 
uLong ZCALLBACK fread_file_func OF ((voidpf opaque, voidpf stream, void *buf, uLong size))
 
uLong ZCALLBACK fwrite_file_func OF ((voidpf opaque, voidpf stream, const void *buf, uLong size))
 
long ZCALLBACK ftell_file_func OF ((voidpf opaque, voidpf stream))
 
long ZCALLBACK fseek_file_func OF ((voidpf opaque, voidpf stream, uLong offset, int origin))
 
voidpf ZCALLBACK fopen_file_func (voidpf opaque, const char *filename, int mode)
 
uLong ZCALLBACK fread_file_func (voidpf opaque, voidpf stream, void *buf, uLong size)
 
uLong ZCALLBACK fwrite_file_func (voidpf opaque, voidpf stream, const void *buf, uLong size)
 
long ZCALLBACK ftell_file_func (voidpf opaque, voidpf stream)
 
long ZCALLBACK fseek_file_func (voidpf opaque, voidpf stream, uLong offset, int origin)
 
int ZCALLBACK fclose_file_func (voidpf opaque, voidpf stream)
 
int ZCALLBACK ferror_file_func (voidpf opaque, voidpf stream)
 
void fill_fopen_filefunc (zlib_filefunc_def *pzlib_filefunc_def)
 

Macro Definition Documentation

◆ SEEK_CUR

#define SEEK_CUR   1

Definition at line 21 of file ioapi.c.

◆ SEEK_END

#define SEEK_END   2

Definition at line 25 of file ioapi.c.

◆ SEEK_SET

#define SEEK_SET   0

Definition at line 29 of file ioapi.c.

Function Documentation

◆ fclose_file_func()

int ZCALLBACK fclose_file_func ( voidpf  opaque,
voidpf  stream 
)

Definition at line 148 of file ioapi.c.

151 {
152  int ret;
153  ret = fclose((FILE *)stream);
154  return ret;
155 }
voidpf stream
Definition: ioapi.h:39

◆ ferror_file_func()

int ZCALLBACK ferror_file_func ( voidpf  opaque,
voidpf  stream 
)

Definition at line 157 of file ioapi.c.

160 {
161  int ret;
162  ret = ferror((FILE *)stream);
163  return ret;
164 }
voidpf stream
Definition: ioapi.h:39

◆ fill_fopen_filefunc()

void fill_fopen_filefunc ( zlib_filefunc_def pzlib_filefunc_def)

Definition at line 166 of file ioapi.c.

168 {
169  pzlib_filefunc_def->zopen_file = fopen_file_func;
170  pzlib_filefunc_def->zread_file = fread_file_func;
171  pzlib_filefunc_def->zwrite_file = fwrite_file_func;
172  pzlib_filefunc_def->ztell_file = ftell_file_func;
173  pzlib_filefunc_def->zseek_file = fseek_file_func;
174  pzlib_filefunc_def->zclose_file = fclose_file_func;
175  pzlib_filefunc_def->zerror_file = ferror_file_func;
176  pzlib_filefunc_def->opaque = NULL;
177 }
voidpf opaque
Definition: ioapi.h:55
seek_file_func zseek_file
Definition: ioapi.h:52
read_file_func zread_file
Definition: ioapi.h:49
long ZCALLBACK ftell_file_func(voidpf opaque, voidpf stream)
Definition: ioapi.c:113
uLong ZCALLBACK fread_file_func(voidpf opaque, voidpf stream, void *buf, uLong size)
Definition: ioapi.c:90
tell_file_func ztell_file
Definition: ioapi.h:51
close_file_func zclose_file
Definition: ioapi.h:53
voidpf ZCALLBACK fopen_file_func(voidpf opaque, const char *filename, int mode)
Definition: ioapi.c:68
testerror_file_func zerror_file
Definition: ioapi.h:54
int ZCALLBACK fclose_file_func(voidpf opaque, voidpf stream)
Definition: ioapi.c:148
long ZCALLBACK fseek_file_func(voidpf opaque, voidpf stream, uLong offset, int origin)
Definition: ioapi.c:122
open_file_func zopen_file
Definition: ioapi.h:48
int ZCALLBACK ferror_file_func(voidpf opaque, voidpf stream)
Definition: ioapi.c:157
uLong ZCALLBACK fwrite_file_func(voidpf opaque, voidpf stream, const void *buf, uLong size)
Definition: ioapi.c:102
write_file_func zwrite_file
Definition: ioapi.h:50

◆ fopen_file_func()

voidpf ZCALLBACK fopen_file_func ( voidpf  opaque,
const char*  filename,
int  mode 
)

Definition at line 68 of file ioapi.c.

72 {
73  FILE* file = NULL;
74  const char* mode_fopen = NULL;
76  mode_fopen = "rb";
77  else
79  mode_fopen = "r+b";
80  else
82  mode_fopen = "wb";
83 
84  if ((filename!=NULL) && (mode_fopen != NULL))
85  file = fopen(filename, mode_fopen);
86  return file;
87 }
#define ZLIB_FILEFUNC_MODE_READWRITEFILTER
Definition: ioapi.h:19
#define ZLIB_FILEFUNC_MODE_CREATE
Definition: ioapi.h:22
const char int mode
Definition: ioapi.h:38
const char * filename
Definition: ioapi.h:38
#define ZLIB_FILEFUNC_MODE_EXISTING
Definition: ioapi.h:21
#define ZLIB_FILEFUNC_MODE_READ
Definition: ioapi.h:17

◆ fread_file_func()

uLong ZCALLBACK fread_file_func ( voidpf  opaque,
voidpf  stream,
void*  buf,
uLong  size 
)

Definition at line 90 of file ioapi.c.

95 {
96  uLong ret;
97  ret = (uLong)fread(buf, 1, (size_t)size, (FILE *)stream);
98  return ret;
99 }
voidpf stream
Definition: ioapi.h:39
voidpf void uLong size
Definition: ioapi.h:39
typedef uLong(ZCALLBACK *read_file_func) OF((voidpf opaque
voidpf void * buf
Definition: ioapi.h:39

◆ fseek_file_func()

long ZCALLBACK fseek_file_func ( voidpf  opaque,
voidpf  stream,
uLong  offset,
int  origin 
)

Definition at line 122 of file ioapi.c.

127 {
128  int fseek_origin=0;
129  long ret;
130  switch (origin)
131  {
133  fseek_origin = SEEK_CUR;
134  break;
136  fseek_origin = SEEK_END;
137  break;
139  fseek_origin = SEEK_SET;
140  break;
141  default: return -1;
142  }
143  ret = 0;
144  fseek((FILE *)stream, offset, fseek_origin);
145  return ret;
146 }
voidpf stream
Definition: ioapi.h:39
voidpf uLong offset
Definition: ioapi.h:42
#define SEEK_SET
Definition: ioapi.c:29
#define ZLIB_FILEFUNC_SEEK_SET
Definition: ioapi.h:15
#define SEEK_CUR
Definition: ioapi.c:21
#define ZLIB_FILEFUNC_SEEK_END
Definition: ioapi.h:14
#define ZLIB_FILEFUNC_SEEK_CUR
Definition: ioapi.h:13
voidpf uLong int origin
Definition: ioapi.h:42
#define SEEK_END
Definition: ioapi.c:25

◆ ftell_file_func()

long ZCALLBACK ftell_file_func ( voidpf  opaque,
voidpf  stream 
)

Definition at line 113 of file ioapi.c.

116 {
117  long ret;
118  ret = ftell((FILE *)stream);
119  return ret;
120 }
voidpf stream
Definition: ioapi.h:39

◆ fwrite_file_func()

uLong ZCALLBACK fwrite_file_func ( voidpf  opaque,
voidpf  stream,
const void*  buf,
uLong  size 
)

Definition at line 102 of file ioapi.c.

107 {
108  uLong ret;
109  ret = (uLong)fwrite(buf, 1, (size_t)size, (FILE *)stream);
110  return ret;
111 }
voidpf stream
Definition: ioapi.h:39
voidpf void uLong size
Definition: ioapi.h:39
typedef uLong(ZCALLBACK *read_file_func) OF((voidpf opaque
voidpf void * buf
Definition: ioapi.h:39

◆ OF() [1/5]

voidpf ZCALLBACK fopen_file_func OF ( (voidpf opaque, const char *filename, int mode )

◆ OF() [2/5]

◆ OF() [3/5]

uLong ZCALLBACK fwrite_file_func OF ( (voidpf opaque, voidpf stream, const void *buf, uLong size )

◆ OF() [4/5]

◆ OF() [5/5]