os.h
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:1k
- /*-
- * See the file LICENSE for redistribution information.
- *
- * Copyright (c) 1997-2002
- * Sleepycat Software. All rights reserved.
- *
- * $Id: os.h,v 11.14 2002/03/27 04:34:55 bostic Exp $
- */
- #ifndef _DB_OS_H_
- #define _DB_OS_H_
- #if defined(__cplusplus)
- extern "C" {
- #endif
- /* DB filehandle. */
- struct __fh_t {
- #if defined(DB_WIN32)
- HANDLE handle; /* Windows/32 file handle. */
- #endif
- int fd; /* POSIX file descriptor. */
- char *name; /* File name. */
- u_int32_t log_size; /* XXX: Log file size. */
- u_int32_t pagesize; /* XXX: Page size. */
- #define DB_FH_NOSYNC 0x01 /* Handle doesn't need to be sync'd. */
- #define DB_FH_UNLINK 0x02 /* Unlink on close */
- #define DB_FH_VALID 0x04 /* Handle is valid. */
- u_int8_t flags;
- };
- /*
- * We group certain seek/write calls into a single function so that we
- * can use pread(2)/pwrite(2) where they're available.
- */
- #define DB_IO_READ 1
- #define DB_IO_WRITE 2
- typedef struct __io_t {
- DB_FH *fhp; /* I/O file handle. */
- DB_MUTEX *mutexp; /* Mutex to lock. */
- size_t pagesize; /* Page size. */
- db_pgno_t pgno; /* Page number. */
- u_int8_t *buf; /* Buffer. */
- size_t bytes; /* Bytes read/written. */
- } DB_IO;
- #if defined(__cplusplus)
- }
- #endif
- #include "dbinc_auto/os_ext.h"
- #endif /* !_DB_OS_H_ */