1#ifndef B_OK 2 3#include <windows.h> 4#include <winnt.h> 5//#include <semaphore.h> 6//#include <pthread.h> 7//#include <sys/utsname.h> 8 9#define B_OK 0 10#define B_ENTRY_NOT_FOUND ENOENT 11#define B_PATH_NAME_LENGTH 1024 12#define B_FILE_NAME_LENGTH 256 13#define B_OS_NAME_LENGTH 32 14#define B_INTERRUPTED 1 15 16#define BEOS_ENOENT 2147508227 17#define BEOS_EACCES 2147483650 18#define BEOS_ENOMEM 2147483648 19#define BEOS_EINVAL 0 20 21#ifndef true 22#define true 1 23#define false 0 24#endif 25 26#define WSTAT_MODE 0x0001 27#define WSTAT_UID 0x0002 28#define WSTAT_GID 0x0004 29#define WSTAT_SIZE 0x0008 30#define WSTAT_ATIME 0x0010 31#define WSTAT_MTIME 0x0020 32#define WSTAT_CRTIME 0x0040 33 34#define B_COMMON_SETTINGS_DIRECTORY ".\\" 35#define B_COMMON_SYSTEM_DIRECTORY ".\\" 36 37#define ENOTSUP 1 38 39#define B_HOST_TO_LENDIAN_INT32(x) (x) 40#define B_HOST_TO_LENDIAN_INT64(x) (x) 41#define B_HOST_TO_BENDIAN_INT32(x) (x) 42#define B_HOST_TO_BENDIAN_INT64(x) (x) 43#define B_LENDIAN_TO_HOST_INT32(x) (x) 44#define B_LENDIAN_TO_HOST_INT64(x) (x) 45#define B_BENDIAN_TO_HOST_INT32(x) (x) 46#define B_BENDIAN_TO_HOST_INT64(x) (x) 47 48#define lstat(f, s) stat(f, s) 49#define S_ISDIR(m) ((m) & _S_IFDIR) 50 51typedef char int8; 52typedef long int32; 53typedef LONGLONG int64; 54typedef unsigned char uint8; 55typedef unsigned long uint32; 56typedef ULONGLONG uint64; 57 58typedef uint64 vnode_id; 59typedef uint64 beos_ino_t; 60typedef uint64 beos_off_t; 61typedef unsigned long beos_dev_t; 62typedef long sem_id; 63typedef long thread_id; 64 65 66enum { 67 B_ANY_TYPE = 'ANYT', 68 B_BOOL_TYPE = 'BOOL', 69 B_CHAR_TYPE = 'CHAR', 70 B_COLOR_8_BIT_TYPE = 'CLRB', 71 B_DOUBLE_TYPE = 'DBLE', 72 B_FLOAT_TYPE = 'FLOT', 73 B_GRAYSCALE_8_BIT_TYPE = 'GRYB', 74 B_INT64_TYPE = 'LLNG', 75 B_INT32_TYPE = 'LONG', 76 B_INT16_TYPE = 'SHRT', 77 B_INT8_TYPE = 'BYTE', 78 B_MESSAGE_TYPE = 'MSGG', 79 B_MESSENGER_TYPE = 'MSNG', 80 B_MIME_TYPE = 'MIME', 81 B_MONOCHROME_1_BIT_TYPE = 'MNOB', 82 B_OBJECT_TYPE = 'OPTR', 83 B_OFF_T_TYPE = 'OFFT', 84 B_PATTERN_TYPE = 'PATN', 85 B_POINTER_TYPE = 'PNTR', 86 B_POINT_TYPE = 'BPNT', 87 B_RAW_TYPE = 'RAWT', 88 B_RECT_TYPE = 'RECT', 89 B_REF_TYPE = 'RREF', 90 B_RGB_32_BIT_TYPE = 'RGBB', 91 B_RGB_COLOR_TYPE = 'RGBC', 92 B_SIZE_T_TYPE = 'SIZT', 93 B_SSIZE_T_TYPE = 'SSZT', 94 B_STRING_TYPE = 'CSTR', 95 B_TIME_TYPE = 'TIME', 96 B_UINT64_TYPE = 'ULLG', 97 B_UINT32_TYPE = 'ULNG', 98 B_UINT16_TYPE = 'USHT', 99 B_UINT8_TYPE = 'UBYT', 100 B_MEDIA_PARAMETER_TYPE = 'BMCT', 101 B_MEDIA_PARAMETER_WEB_TYPE = 'BMCW', 102 B_MEDIA_PARAMETER_GROUP_TYPE= 'BMCG', 103 104 /* deprecated, do not use */ 105 B_ASCII_TYPE = 'TEXT' /* use B_STRING_TYPE instead */ 106}; 107 108 109typedef struct fs_info 110{ 111 beos_dev_t dev; 112 beos_ino_t root; 113 uint32 flags; 114// beos_off_t block_size; 115 uint32 block_size; 116 beos_off_t io_size; 117// beos_off_t total_blocks; 118// beos_off_t free_blocks; 119 uint32 total_blocks; 120 uint32 free_blocks; 121 beos_off_t total_nodes; 122 beos_off_t free_nodes; 123 char device_name[128]; 124 char volume_name[B_FILE_NAME_LENGTH]; 125 char fsh_name[B_OS_NAME_LENGTH]; 126} fs_info; 127 128typedef struct beos_stat 129{ 130 uint32 st_dev; 131 uint32 st_nlink; 132 uint32 st_uid; 133 uint32 st_gid; 134 uint32 st_size; 135 uint32 st_blksize; 136 uint32 st_rdev; 137 uint32 st_ino; 138 uint32 st_mode; 139 uint32 st_atime; 140 uint32 st_mtime; 141 uint32 st_ctime; 142} beos_stat; 143 144 145bool IsValidUser(char *user, char *domain, char *password); 146 147#endif 148