00001
00002
00003
00004
00005
00006
00007
00008 #ifndef PF_H_
00009 #define PF_H_
00010
00016 #include <limits.h>
00017
00018 typedef unsigned int uint;
00019 typedef unsigned char uchar;
00020 typedef unsigned long ulong;
00021
00022 static const uint PF_PAGE_SIZE = 4096;
00023
00024 static const uint PF_BUFFER_SIZE = 40;
00025
00026 static const uint MAX_FILE_NAME = 255;
00027
00028
00029 static const uint MAX_STRING_LEN = 255;
00030
00031
00036 enum ReturnCode {
00037 RC_OK,
00038 RC_EOF,
00039 RC_PAGE_PINNED,
00040 RC_PAGE_NOT_IN_BUFFER,
00041 RC_PAGE_UNPINNED,
00042 RC_PAGE_FREE,
00043 RC_INVALID_PAGE,
00044 RC_FILE_OPEN,
00045 RC_CLOSED_FILE,
00046 RC_FILE_NOT_FOUND,
00047 RC_INVALID_ARGUMENT,
00048 RC_FILE_ALREADY_EXISTS,
00049 RC_PAGE_NOT_FOUND,
00050 RC_PAGE_NOT_DIRTY,
00051 RC_NOT_OPEN_FILE,
00052 RC_RECORD_TOO_LARGE,
00053 RC_RECORD_NOT_FOUND,
00054 RC_RECORD_ALREADY_IN_INDEX,
00055 RC_OUT_OF_MEMORY,
00056 RC_OUT_OF_BUFFER,
00057 RC_INCOMPLETE_READ,
00058 RC_INCOMPLETE_WRITE,
00059 RC_INCOMPLETE_HEADER_READ,
00060 RC_INCOMPLETE_HEADER_WRITE,
00061 RC_PAGE_IN_BUFFER,
00062 RC_INVALID_NAME,
00063 RC_UNIX,
00064 RC_CORRUPT_FILE,
00065 RC_FILE_TOO_BIG,
00066 RC_UNIMPLEMENTED,
00067 };
00068
00077 #define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)]))
00078
00079 #endif