1/*-
2 * See the file LICENSE for redistribution information.
3 *
4 * Copyright (c) 1999,2008 Oracle.  All rights reserved.
5 *
6 * $Id: os_method.c,v 12.11 2008/03/12 19:10:37 mbrey Exp $
7 */
8
9#include "db_config.h"
10
11#include "db_int.h"
12
13/*
14 * EXTERN: int db_env_set_func_close __P((int (*)(int)));
15 */
16int
17db_env_set_func_close(func_close)
18	int (*func_close) __P((int));
19{
20	DB_GLOBAL(j_close) = func_close;
21	return (0);
22}
23
24/*
25 * EXTERN: int db_env_set_func_dirfree __P((void (*)(char **, int)));
26 */
27int
28db_env_set_func_dirfree(func_dirfree)
29	void (*func_dirfree) __P((char **, int));
30{
31	DB_GLOBAL(j_dirfree) = func_dirfree;
32	return (0);
33}
34
35/*
36 * EXTERN: int db_env_set_func_dirlist
37 * EXTERN:     __P((int (*)(const char *, char ***, int *)));
38 */
39int
40db_env_set_func_dirlist(func_dirlist)
41	int (*func_dirlist) __P((const char *, char ***, int *));
42{
43	DB_GLOBAL(j_dirlist) = func_dirlist;
44	return (0);
45}
46
47/*
48 * EXTERN: int db_env_set_func_exists __P((int (*)(const char *, int *)));
49 */
50int
51db_env_set_func_exists(func_exists)
52	int (*func_exists) __P((const char *, int *));
53{
54	DB_GLOBAL(j_exists) = func_exists;
55	return (0);
56}
57
58/*
59 * EXTERN: int db_env_set_func_free __P((void (*)(void *)));
60 */
61int
62db_env_set_func_free(func_free)
63	void (*func_free) __P((void *));
64{
65	DB_GLOBAL(j_free) = func_free;
66	return (0);
67}
68
69/*
70 * EXTERN: int db_env_set_func_fsync __P((int (*)(int)));
71 */
72int
73db_env_set_func_fsync(func_fsync)
74	int (*func_fsync) __P((int));
75{
76	DB_GLOBAL(j_fsync) = func_fsync;
77	return (0);
78}
79
80/*
81 * EXTERN: int db_env_set_func_ftruncate __P((int (*)(int, off_t)));
82 */
83int
84db_env_set_func_ftruncate(func_ftruncate)
85	int (*func_ftruncate) __P((int, off_t));
86{
87	DB_GLOBAL(j_ftruncate) = func_ftruncate;
88	return (0);
89}
90
91/*
92 * EXTERN: int db_env_set_func_ioinfo __P((int (*)(const char *,
93 * EXTERN:     int, u_int32_t *, u_int32_t *, u_int32_t *)));
94 */
95int
96db_env_set_func_ioinfo(func_ioinfo)
97	int (*func_ioinfo)
98	    __P((const char *, int, u_int32_t *, u_int32_t *, u_int32_t *));
99{
100	DB_GLOBAL(j_ioinfo) = func_ioinfo;
101	return (0);
102}
103
104/*
105 * EXTERN: int db_env_set_func_malloc __P((void *(*)(size_t)));
106 */
107int
108db_env_set_func_malloc(func_malloc)
109	void *(*func_malloc) __P((size_t));
110{
111	DB_GLOBAL(j_malloc) = func_malloc;
112	return (0);
113}
114
115/*
116 * EXTERN: int db_env_set_func_file_map
117 * EXTERN:    __P((int (*)(DB_ENV *, char *, size_t, int, void **),
118 * EXTERN:    int (*)(DB_ENV *, void *)));
119 */
120int
121db_env_set_func_file_map(func_file_map, func_file_unmap)
122	int (*func_file_map) __P((DB_ENV *, char *, size_t, int, void **));
123	int (*func_file_unmap) __P((DB_ENV *, void *));
124{
125	DB_GLOBAL(j_file_map) = func_file_map;
126	DB_GLOBAL(j_file_unmap) = func_file_unmap;
127	return (0);
128}
129
130/*
131 * EXTERN: int db_env_set_func_region_map
132 * EXTERN:    __P((int (*)(DB_ENV *, char *, size_t, int *, void **),
133 * EXTERN:    int (*)(DB_ENV *, void *)));
134 */
135int
136db_env_set_func_region_map(func_region_map, func_region_unmap)
137	int (*func_region_map) __P((DB_ENV *, char *, size_t, int *, void **));
138	int (*func_region_unmap) __P((DB_ENV *, void *));
139{
140	DB_GLOBAL(j_region_map) = func_region_map;
141	DB_GLOBAL(j_region_unmap) = func_region_unmap;
142	return (0);
143}
144
145/*
146 * EXTERN: int db_env_set_func_pread
147 * EXTERN:    __P((ssize_t (*)(int, void *, size_t, off_t)));
148 */
149int
150db_env_set_func_pread(func_pread)
151	ssize_t (*func_pread) __P((int, void *, size_t, off_t));
152{
153	DB_GLOBAL(j_pread) = func_pread;
154	return (0);
155}
156
157/*
158 * EXTERN: int db_env_set_func_pwrite
159 * EXTERN:    __P((ssize_t (*)(int, const void *, size_t, off_t)));
160 */
161int
162db_env_set_func_pwrite(func_pwrite)
163	ssize_t (*func_pwrite) __P((int, const void *, size_t, off_t));
164{
165	DB_GLOBAL(j_pwrite) = func_pwrite;
166	return (0);
167}
168
169/*
170 * EXTERN: int db_env_set_func_open __P((int (*)(const char *, int, ...)));
171 */
172int
173db_env_set_func_open(func_open)
174	int (*func_open) __P((const char *, int, ...));
175{
176	DB_GLOBAL(j_open) = func_open;
177	return (0);
178}
179
180/*
181 * EXTERN: int db_env_set_func_read __P((ssize_t (*)(int, void *, size_t)));
182 */
183int
184db_env_set_func_read(func_read)
185	ssize_t (*func_read) __P((int, void *, size_t));
186{
187	DB_GLOBAL(j_read) = func_read;
188	return (0);
189}
190
191/*
192 * EXTERN: int db_env_set_func_realloc __P((void *(*)(void *, size_t)));
193 */
194int
195db_env_set_func_realloc(func_realloc)
196	void *(*func_realloc) __P((void *, size_t));
197{
198	DB_GLOBAL(j_realloc) = func_realloc;
199	return (0);
200}
201
202/*
203 * EXTERN: int db_env_set_func_rename
204 * EXTERN:     __P((int (*)(const char *, const char *)));
205 */
206int
207db_env_set_func_rename(func_rename)
208	int (*func_rename) __P((const char *, const char *));
209{
210	DB_GLOBAL(j_rename) = func_rename;
211	return (0);
212}
213
214/*
215 * EXTERN: int db_env_set_func_seek
216 * EXTERN:     __P((int (*)(int, off_t, int)));
217 */
218int
219db_env_set_func_seek(func_seek)
220	int (*func_seek) __P((int, off_t, int));
221{
222	DB_GLOBAL(j_seek) = func_seek;
223	return (0);
224}
225
226/*
227 * EXTERN: int db_env_set_func_unlink __P((int (*)(const char *)));
228 */
229int
230db_env_set_func_unlink(func_unlink)
231	int (*func_unlink) __P((const char *));
232{
233	DB_GLOBAL(j_unlink) = func_unlink;
234	return (0);
235}
236
237/*
238 * EXTERN: int db_env_set_func_write
239 * EXTERN:     __P((ssize_t (*)(int, const void *, size_t)));
240 */
241int
242db_env_set_func_write(func_write)
243	ssize_t (*func_write) __P((int, const void *, size_t));
244{
245	DB_GLOBAL(j_write) = func_write;
246	return (0);
247}
248
249/*
250 * EXTERN: int db_env_set_func_yield __P((int (*)(u_long, u_long)));
251 */
252int
253db_env_set_func_yield(func_yield)
254	int (*func_yield) __P((u_long, u_long));
255{
256	DB_GLOBAL(j_yield) = func_yield;
257	return (0);
258}
259