passing structs by value
[m6w6/ext-psi] / tests / ndbm / ndbm.psi
1 function psi\dbm_open(string $file, int $open_flags, int $file_mode) : object {
2 let file = pathval($file);
3 let open_flags = intval($open_flags);
4 let file_mode = intval($file_mode);
5 return to_object(dbm_open);
6 }
7
8 function psi\dbm_store(object $db, array $key, array $data, int $mode) : int {
9 let db = objval($db);
10 let key = arrval($key);
11 let content = arrval($data);
12 let store_mode = intval($mode);
13 return to_int(dbm_store);
14 }
15
16 function psi\dbm_fetch(object $db, array $key) : array {
17 let db = objval($db);
18 let key = arrval($key);
19 return to_array(dbm_fetch,
20 to_string(dptr, dsize),
21 to_int(dsize)
22 );
23 }
24
25 function psi\dbm_close(object $db) : void {
26 let db = objval($db);
27 return void(dbm_close);
28 }