Hash :
ec250c6e
Author :
Date :
2008-11-23T22:37:55
Remove config.h and make fileops an internal API Since it doesn't make sense to make the disk access stuff portable *AND* public (that's a job for each application imo), we can take a shortcut and just support unixy stuff for now and get away with coding most of it as macros. Since we go with an internal API for starters and only provide higher-level API's to the libgit users, we'll be ok with this approach. Signed-off-by: Andreas Ericsson <ae@op5.se> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
/*
* fileops.h - OS agnostic disk io operations
*
* This header describes the strictly internal part of the api
*/
#ifndef INCLUDE_fileops_h__
#define INCLUDE_fileops_h__
/** Force 64 bit off_t size on POSIX. */
#define _FILE_OFFSET_BITS 64
#include <errno.h>
#include <unistd.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/types.h>
#include <time.h>
#include <stdlib.h>
#include <string.h>
#include "errors.h"
typedef int git_file;
typedef struct stat gitfo_statbuf;
#define gitfo_open(path, flags) open(path, flags)
#define gitfo_close(fd) close(fd)
extern int gitfo_read(git_file fd, void *buf, size_t cnt);
extern int gitfo_write(git_file fd, void *buf, size_t cnt);
extern off_t gitfo_size(git_file fd);
#define gitfo_lstat(path, buf) lstat(path, buf)
#define gitfo_fstat(fd, buf) fstat(fd, buf)
#define gitfo_stat(path, buf) stat(path, buf)
#define gitfo_fsync(fd) fsync(fd)
#endif /* INCLUDE_fileops_h__ */