mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-02-19 16:18:44 +00:00
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@8545 d0543943-73ff-0310-b7d9-9358b9ac24b2
129 lines
2.4 KiB
C
129 lines
2.4 KiB
C
#ifndef FILE_H_INCLUDED
|
|
#define FILE_H_INCLUDED
|
|
|
|
#include <fcntl.h>
|
|
#include <sys/types.h>
|
|
#include <sys/stat.h>
|
|
#include <limits.h>
|
|
|
|
#include "bool.h"
|
|
#include "int.h"
|
|
#include "xmlrpc-c/abyss.h"
|
|
|
|
#ifndef NAME_MAX
|
|
#define NAME_MAX 1024
|
|
#endif
|
|
|
|
#ifdef WIN32
|
|
#ifndef __BORLANDC__
|
|
#define O_APPEND _O_APPEND
|
|
#define O_CREAT _O_CREAT
|
|
#define O_EXCL _O_EXCL
|
|
#define O_RDONLY _O_RDONLY
|
|
#define O_RDWR _O_RDWR
|
|
#define O_TRUNC _O_TRUNC
|
|
#define O_WRONLY _O_WRONLY
|
|
#define O_TEXT _O_TEXT
|
|
#define O_BINARY _O_BINARY
|
|
#endif
|
|
|
|
#define A_HIDDEN _A_HIDDEN
|
|
#define A_NORMAL _A_NORMAL
|
|
#define A_RDONLY _A_RDONLY
|
|
#define A_SUBDIR _A_SUBDIR
|
|
#else
|
|
#define A_SUBDIR 1
|
|
#define O_BINARY 0
|
|
#define O_TEXT 0
|
|
#endif /* WIN32 */
|
|
|
|
#ifdef WIN32
|
|
|
|
#if MSVCRT
|
|
typedef struct _stati64 TFileStat;
|
|
typedef struct _finddatai64_t TFileInfo;
|
|
|
|
#else /* MSVCRT */
|
|
|
|
typedef struct stat TFileStat;
|
|
typedef struct finddata_t {
|
|
char name[NAME_MAX+1];
|
|
int attrib;
|
|
uint64_t size;
|
|
time_t time_write;
|
|
WIN32_FIND_DATA data;
|
|
} TFileInfo;
|
|
|
|
#endif /* MSVCRT */
|
|
|
|
#else /* WIN32 */
|
|
|
|
#include <unistd.h>
|
|
#include <dirent.h>
|
|
|
|
typedef struct stat TFileStat;
|
|
|
|
typedef struct finddata_t {
|
|
char name[NAME_MAX+1];
|
|
int attrib;
|
|
uint64_t size;
|
|
time_t time_write;
|
|
} TFileInfo;
|
|
|
|
#endif
|
|
|
|
typedef struct TFileFind TFileFind;
|
|
|
|
typedef struct TFile {
|
|
int fd;
|
|
} TFile;
|
|
|
|
bool
|
|
FileOpen(TFile ** const filePP,
|
|
const char * const name,
|
|
uint32_t const attrib);
|
|
|
|
bool
|
|
FileOpenCreate(TFile ** const filePP,
|
|
const char * const name,
|
|
uint32_t const attrib);
|
|
|
|
bool
|
|
FileClose(TFile * const fileP);
|
|
|
|
bool
|
|
FileWrite(const TFile * const fileP,
|
|
const void * const buffer,
|
|
uint32_t const len);
|
|
|
|
int32_t
|
|
FileRead(const TFile * const fileP,
|
|
void * const buffer,
|
|
uint32_t const len);
|
|
|
|
bool
|
|
FileSeek(const TFile * const fileP,
|
|
uint64_t const pos,
|
|
uint32_t const attrib);
|
|
|
|
uint64_t
|
|
FileSize(const TFile * const fileP);
|
|
|
|
bool
|
|
FileStat(const char * const filename,
|
|
TFileStat * const filestat);
|
|
|
|
bool
|
|
FileFindFirst(TFileFind ** const filefind,
|
|
const char * const path,
|
|
TFileInfo * const fileinfo);
|
|
|
|
bool
|
|
FileFindNext(TFileFind * const filefind,
|
|
TFileInfo * const fileinfo);
|
|
|
|
void
|
|
FileFindClose(TFileFind * const filefind);
|
|
|
|
#endif
|