#ifndef __cplusplus
#error Header file <osfcn.h> may only be used from C++
#endif
#pragma force_top_level
#pragma include_only_once

#ifndef __osfcn_h
#define __osfcn_h

#define O_RDONLY        0
#define O_WRONLY        1
#define O_RDWR          2
#define O_APPEND        8
#define O_CREAT         0x200
#define O_TRUNC         0x400

extern "C" void exit(int status);

extern "C" int open(const char *name, int flags, int mode = 0);
extern "C" int close(int fd);
extern "C" int write(int fd, const char *buf, int nbytes);
extern "C" int read(int fd, char *buf, int nbytes);

typedef long off_t;

#define F_GETFL         3

#ifndef SEEK_SET
#define SEEK_SET        0
#define SEEK_CUR        1
#define SEEK_END        2
#endif

extern "C" off_t lseek(int fd, off_t offset, int whence);
extern "C" int creat(const char *path, int mode);

#endif
