os.h
上传用户:tsgydb
上传日期:2007-04-14
资源大小:10674k
文件大小:1k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. /*-
  2.  * See the file LICENSE for redistribution information.
  3.  *
  4.  * Copyright (c) 1997, 1998, 1999, 2000
  5.  * Sleepycat Software.  All rights reserved.
  6.  *
  7.  * $Id: os.h,v 11.5 2000/10/27 20:32:01 dda Exp $
  8.  */
  9. #if defined(__cplusplus)
  10. extern "C" {
  11. #endif
  12. /*
  13.  * Filehandle.
  14.  */
  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. u_int32_t log_size; /* XXX: Log file size. */
  21. #define DB_FH_NOSYNC 0x01 /* Handle doesn't need to be sync'd. */
  22. #define DB_FH_VALID 0x02 /* Handle is valid. */
  23. u_int8_t flags;
  24. };
  25. /*
  26.  * We group certain seek/write calls into a single function so that we
  27.  * can use pread(2)/pwrite(2) where they're available.
  28.  */
  29. #define DB_IO_READ 1
  30. #define DB_IO_WRITE 2
  31. typedef struct __io_t {
  32. DB_FH   *fhp; /* I/O file handle. */
  33. MUTEX   *mutexp; /* Mutex to lock. */
  34. size_t    pagesize; /* Page size. */
  35. db_pgno_t  pgno; /* Page number. */
  36. u_int8_t  *buf; /* Buffer. */
  37. size_t    bytes; /* Bytes read/written. */
  38. } DB_IO;
  39. #if defined(__cplusplus)
  40. }
  41. #endif