campo-sirio/pdf/pdcore/pc_file.h
guy 3bf951f42c Patch level : 10.0
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
2009-03-23 08:55:58 +00:00

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 */