blob: 6fd80b6e013d11ff72ead5cb5995c619baae187f [file] [log] [blame]
#ifndef NEWLIB_TRANS_H
#define NEWLIB_TRANS_H
#include <stdint.h>
// For translating the stat structure
typedef struct newlib_stat {
int16_t st_dev;
uint16_t st_ino;
uint32_t st_mode;
uint16_t st_nlink;
uint16_t st_uid;
uint16_t st_gid;
int16_t st_rdev;
int32_t st_size;
int32_t st_atim;
int32_t st_spare1;
int32_t st_mtim;
int32_t st_spare2;
int32_t st_ctim;
int32_t st_spare3;
int32_t st_blksize;
int32_t st_blocks;
int32_t st_spare4[2];
} newlib_stat_t;
// For translating the open flags
#define NEWLIB_O_RDONLY 0x0000
#define NEWLIB_O_WRONLY 0x0001
#define NEWLIB_O_RDWR 0x0002
#define NEWLIB_O_APPEND 0x0008
#define NEWLIB_O_CREAT 0x0200
#define NEWLIB_O_TRUNC 0x0400
#define NEWLIB_O_EXCL 0x0800
// For translating the open modes
#define NEWLIB_S_IRWXU \
(NEWLIB_S_IRUSR | NEWLIB_S_IWUSR | NEWLIBS_IXUSR)
#define NEWLIB_S_IRUSR 0000400 /* read permission, owner */
#define NEWLIB_S_IWUSR 0000200 /* write permission, owner */
#define NEWLIB_S_IXUSR 0000100/* execute/search permission, owner */
#define NEWLIB_S_IRWXG \
(NEWLIB_S_IRGRP | NEWLIB_S_IWGRP | NEWLIB_S_IXGRP)
#define NEWLIB_S_IRGRP 0000040 /* read permission, group */
#define NEWLIB_S_IWGRP 0000020 /* write permission, grougroup */
#define NEWLIB_S_IXGRP 0000010/* execute/search permission, group */
#define NEWLIB_S_IRWXO \
(NEWLIB_S_IROTH | NEWLIB_S_IWOTH | NEWLIB_S_IXOTH)
#define NEWLIB_S_IROTH 0000004 /* read permission, other */
#define NEWLIB_S_IWOTH 0000002 /* write permission, other */
#define NEWLIB_S_IXOTH 0000001/* execute/search permission, other */
// For translating lseek's whence
# define NEWLIB_SEEK_SET 0
# define NEWLIB_SEEK_CUR 1
# define NEWLIB_SEEK_END 2
#endif //NEWLIB_TRANS_H