os.h
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:1k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. /*-
  2.  * See the file LICENSE for redistribution information.
  3.  *
  4.  * Copyright (c) 1997-2002
  5.  * Sleepycat Software.  All rights reserved.
  6.  *
  7.  * $Id: os.h,v 11.14 2002/03/27 04:34:55 bostic Exp $
  8.  */
  9. #ifndef _DB_OS_H_
  10. #define _DB_OS_H_
  11. #if defined(__cplusplus)
  12. extern "C" {
  13. #endif
  14. /* DB filehandle. */
  15. struct __fh_t {
  16. #if defined(DB_WIN32)
  17. HANDLE   handle; /* Windows/32 file handle. */
  18. #endif
  19. int   fd; /* POSIX file descriptor. */
  20. char *name; /* File name. */
  21. u_int32_t log_size; /* XXX: Log file size. */
  22. u_int32_t pagesize; /* XXX: Page size. */
  23. #define DB_FH_NOSYNC 0x01 /* Handle doesn't need to be sync'd. */
  24. #define DB_FH_UNLINK 0x02 /* Unlink on close */
  25. #define DB_FH_VALID 0x04 /* Handle is valid. */
  26. u_int8_t flags;
  27. };
  28. /*
  29.  * We group certain seek/write calls into a single function so that we
  30.  * can use pread(2)/pwrite(2) where they're available.
  31.  */
  32. #define DB_IO_READ 1
  33. #define DB_IO_WRITE 2
  34. typedef struct __io_t {
  35. DB_FH   *fhp; /* I/O file handle. */
  36. DB_MUTEX  *mutexp; /* Mutex to lock. */
  37. size_t    pagesize; /* Page size. */
  38. db_pgno_t  pgno; /* Page number. */
  39. u_int8_t  *buf; /* Buffer. */
  40. size_t    bytes; /* Bytes read/written. */
  41. } DB_IO;
  42. #if defined(__cplusplus)
  43. }
  44. #endif
  45. #include "dbinc_auto/os_ext.h"
  46. #endif /* !_DB_OS_H_ */