mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
54 lines
1.3 KiB
C
54 lines
1.3 KiB
C
/*-
|
|
* 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_ */
|