1/*---------------------------------------------------------------------------* 2 | PDFlib - A library for generating PDF on the fly | 3 +---------------------------------------------------------------------------+ 4 | Copyright (c) 1997-2004 Thomas Merz and PDFlib GmbH. All rights reserved. | 5 +---------------------------------------------------------------------------+ 6 | | 7 | This software is subject to the PDFlib license. It is NOT in the | 8 | public domain. Extended versions and commercial licenses are | 9 | available, please check http://www.pdflib.com. | 10 | | 11 *---------------------------------------------------------------------------*/ 12 13/* $Id: pc_file.h 14574 2005-10-29 16:27:43Z bonefish $ 14 * 15 * Definitions for file routines 16 * 17 */ 18 19#ifndef PC_FILE_H 20#define PC_FILE_H 21 22#if (defined(MAC) || defined(MACOSX)) 23 24#include <Files.h> 25 26#ifdef PDF_TARGET_API_MAC_CARBON 27 28OSStatus FSPathMakeFSSpec(const UInt8 *path, FSSpec *spec); 29 30#else 31 32#include <Aliases.h> 33 34OSErr FSpLocationFromFullPath(short fullPathLength, 35 const void *fullPath, FSSpec *spec); 36 37#endif /* !PDF_TARGET_API_MAC_CARBON */ 38#endif /* (defined(MAC) || defined(MACOSX)) */ 39 40#define PDC_FILENAMELEN 1024 /* maximum file name length */ 41 42#define PDC_FILE_BINARY (1L<<0) /* open as binary file, 43 otherwise as text file */ 44 45#define PDC_OK_FREAD(file, buffer, len) \ 46 (pdc_fread(buffer, 1, len, file) == len) 47 48typedef struct pdc_file_s pdc_file; 49 50int pdc_get_fopen_errnum(pdc_core *pdc, int errnum); 51void *pdc_read_file(pdc_core *pdc, FILE *fp, size_t *o_filelen, int incore); 52int pdc_read_textfile(pdc_core *pdc, pdc_file *sfp, char ***linelist); 53void pdc_tempname(char *outbuf, int outlen, const char *inbuf, int inlen); 54 55pdc_file *pdc_fopen(pdc_core *pdc, const char *filename, const char *qualifier, 56 const pdc_byte *data, size_t size, int flags); 57pdc_core *pdc_file_getpdc(pdc_file *sfp); 58char *pdc_file_name(pdc_file *sfp); 59size_t pdc_file_size(pdc_file *sfp); 60pdc_bool pdc_file_isvirtual(pdc_file *sfp); 61char *pdc_fgets_comp(char *s, int size, pdc_file *sfp); 62long pdc_ftell(pdc_file *sfp); 63int pdc_fseek(pdc_file *sfp, long offset, int whence); 64size_t pdc_fread(void *ptr, size_t size, size_t nmemb, pdc_file *sfp); 65const void *pdc_freadall(pdc_file *sfp, size_t *filelen, pdc_bool *ismem); 66int pdc_ungetc(int c, pdc_file *sfp); 67int pdc_fgetc(pdc_file *sfp); 68char *pdc_fgets(char *s, int size, pdc_file *sfp); 69int pdc_feof(pdc_file *sfp); 70void pdc_fclose(pdc_file *sfp); 71void pdc_file_fullname(const char *dirname, const char *basename, 72 char *fullname); 73 74 75 76#endif /* PC_FILE_H */ 77