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