3bf951f42c
Files correlati : pdflib Ricompilazione Demo : [ ] Commento : Aggiornata pdflib.dll alla versione 7.0.4 git-svn-id: svn://10.65.10.50/trunk@18580 c028cbd2-c16b-5b4b-a496-9718f37d4682
135 lines
5.4 KiB
C
Executable File
135 lines
5.4 KiB
C
Executable File
/*---------------------------------------------------------------------------*
|
|
| PDFlib - A library for generating PDF on the fly |
|
|
+---------------------------------------------------------------------------+
|
|
| Copyright (c) 1997-2006 Thomas Merz and PDFlib GmbH. All rights reserved. |
|
|
+---------------------------------------------------------------------------+
|
|
| |
|
|
| This software is subject to the PDFlib license. It is NOT in the |
|
|
| public domain. Extended versions and commercial licenses are |
|
|
| available, please check http://www.pdflib.com. |
|
|
| |
|
|
*---------------------------------------------------------------------------*/
|
|
|
|
/* $Id: pc_file.h,v 1.4 2009-03-23 08:51:17 guy Exp $
|
|
*
|
|
* Definitions for file routines
|
|
*
|
|
*/
|
|
|
|
#ifndef PC_FILE_H
|
|
#define PC_FILE_H
|
|
|
|
|
|
#define PDC_FILENAMELEN 1024 /* maximum file name length */
|
|
|
|
#define PDC_FILE_TEXT (1L<<0) /* text file - whether ASCII file or not
|
|
* depends on pdc->asciifile */
|
|
|
|
#define PDC_FILE_ASCII (1L<<1) /* treat text or binary file as ASCII file
|
|
* even on EBCDIC platforms */
|
|
|
|
#define PDC_FILE_BINARY (1L<<2) /* open as binary file,
|
|
* otherwise as text file */
|
|
|
|
#define PDC_FILE_WRITEMODE (1L<<10) /* open file in writing mode,
|
|
* otherwise in reading mode */
|
|
|
|
#define PDC_FILE_APPENDMODE (1L<<11) /* open file in appending mode */
|
|
|
|
|
|
/* flags for pdc_read_textfile() */
|
|
|
|
#define PDC_FILE_BSSUBST (1<<0) /* backslash substitution */
|
|
#define PDC_FILE_KEEPLF (1<<1) /* keep linefeed at line continuation */
|
|
|
|
#define PDC_BUFSIZE 1024
|
|
|
|
#define PDC_OK_FREAD(file, buffer, len) \
|
|
(pdc_fread(buffer, 1, len, file) == len)
|
|
|
|
typedef struct pdc_file_s pdc_file;
|
|
|
|
/* pc_file.c */
|
|
|
|
#if defined(WIN32)
|
|
int pdc_set_maxfilehandles(pdc_core *pdc, int maxfps);
|
|
int pdc_get_maxfilehandles(void);
|
|
#endif
|
|
|
|
int pdc__fseek(FILE *fp, pdc_off_t offset, int whence);
|
|
pdc_off_t pdc__ftell(FILE *fp);
|
|
size_t pdc__fread(void *ptr, size_t size, size_t nmemb, FILE *fp);
|
|
size_t pdc__fwrite(const void *ptr, size_t size, size_t nmemb,
|
|
FILE *fp);
|
|
|
|
#define pdc__fgetc(fp) fgetc(fp)
|
|
#define pdc__feof(fp) feof(fp)
|
|
|
|
FILE *pdc_get_fileptr(pdc_file *sfp);
|
|
pdc_core *pdc_get_pdcptr(pdc_file *sfp);
|
|
int pdc_get_fopen_errnum(pdc_core *pdc, int errnum);
|
|
void pdc_set_fopen_errmsg(pdc_core *pdc, int errnum, const char *qualifier,
|
|
const char *filename);
|
|
void pdc_set_fwrite_errmsg(pdc_core *pdc, const char *filename);
|
|
pdc_bool pdc_check_fopen_errmsg(pdc_core *pdc, pdc_bool requested);
|
|
|
|
void *pdc_read_file(pdc_core *pdc, FILE *fp, pdc_off_t *o_filelen,
|
|
int incore);
|
|
int pdc_read_textfile(pdc_core *pdc, pdc_file *sfp, int flags,
|
|
char ***linelist);
|
|
char * pdc_temppath(pdc_core *pdc, char *outbuf, const char *inbuf,
|
|
size_t inlen, const char *dirname);
|
|
|
|
char *pdc_check_filename(pdc_core *pdc, char *filename);
|
|
char *pdc_get_filename(pdc_core *pdc, char *filename);
|
|
const char *pdc_convert_filename_ext(pdc_core *pdc, const char *filename,
|
|
int len, const char *paramname, pdc_encoding enc, int codepage,
|
|
int flags);
|
|
const char *pdc_convert_filename(pdc_core *pdc, const char *filename, int len,
|
|
const char *paramname, pdc_bool withbom);
|
|
FILE *pdc_fopen_logg(pdc_core *pdc, const char *filename, const char *mode);
|
|
|
|
pdc_file * pdc_fopen(pdc_core *pdc, const char *filename,
|
|
const char *qualifier, const pdc_byte *data,
|
|
size_t size, int flags);
|
|
pdc_core * pdc_file_getpdc(pdc_file *sfp);
|
|
char * pdc_file_name(pdc_file *sfp);
|
|
pdc_off_t pdc_file_size(pdc_file *sfp);
|
|
pdc_bool pdc_file_isvirtual(pdc_file *sfp);
|
|
char * pdc_fgetline(char *s, int size, pdc_file *sfp);
|
|
pdc_off_t pdc_ftell(pdc_file *sfp);
|
|
int pdc_fseek(pdc_file *sfp, pdc_off_t offset, int whence);
|
|
size_t pdc_fread(void *ptr, size_t size, size_t nmemb, pdc_file *sfp);
|
|
const void * pdc_freadall(pdc_file *sfp, size_t *filelen,
|
|
pdc_bool *ismem);
|
|
size_t pdc_fwrite(const void *ptr, size_t size, size_t nmemb,
|
|
pdc_file *sfp);
|
|
void pdc_freset(pdc_file *sfp, size_t size);
|
|
|
|
int pdc_ungetc(int c, pdc_file *sfp);
|
|
int pdc_fgetc(pdc_file *sfp);
|
|
int pdc_feof(pdc_file *sfp);
|
|
void pdc_fclose(pdc_file *sfp);
|
|
void pdc_fclose_logg(pdc_core *pdc, FILE *fp);
|
|
void pdc_file_fullname(pdc_core *pdc, const char *dirname,
|
|
const char *basename, char *fullname);
|
|
char *pdc_file_fullname_mem(pdc_core *pdc, const char *dirname,
|
|
const char *basename);
|
|
char *pdc_file_concat(pdc_core *pdc, const char *dirname, const char *basename,
|
|
const char *extension);
|
|
const char *pdc_file_strip_dirs(const char *pathname);
|
|
char *pdc_file_strip_name(char *pathname);
|
|
char *pdc_file_strip_ext(char *pathname);
|
|
|
|
size_t pdc_fwrite_ascii(pdc_core *pdc, const char *str, size_t len, FILE *fp);
|
|
size_t pdc_write_file(pdc_core *pdc, const char *filename,
|
|
const char *qualifier, const char *content, size_t len, int flags);
|
|
|
|
|
|
/* pc_resource.c */
|
|
|
|
pdc_file *pdc_fsearch_fopen(pdc_core *pdc, const char *filename, char *fullname,
|
|
const char *qualifier, int flags);
|
|
|
|
#endif /* PC_FILE_H */
|