1N/A * See the file LICENSE for redistribution information. 1N/A * Copyright (c) 1996, 1997, 1998 1N/A * Sleepycat Software. All rights reserved. 1N/A#
endif /* not lint */ 1N/A * PUBLIC: int __db_ret __P((DB *, 1N/A * PUBLIC: PAGE *, u_int32_t, DBT *, void **, u_int32_t *)); 1N/A * Copy the returned data into the user's DBT, handling special flags. 1N/A * PUBLIC: int __db_retcopy __P((DBT *, 1N/A * PUBLIC: void *, u_int32_t, void **, u_int32_t *, void *(*)(size_t))); 1N/A /* If returning a partial record, reset the length. */ 1N/A * Return the length of the returned record in the DBT size field. 1N/A * This satisfies the requirement that if we're using user memory 1N/A * and insufficient memory was provided, return the amount necessary 1N/A * in the size field. 1N/A * Allocate memory to be owned by the application: DB_DBT_MALLOC. 1N/A * We always allocate memory, even if we're copying out 0 bytes. This 1N/A * guarantees consistency, i.e., the application can always free memory 1N/A * without concern as to how many bytes of the record were requested. 1N/A * Use the memory specified by the application: DB_DBT_USERMEM. 1N/A * If the length we're going to copy is 0, the application-supplied 1N/A * memory pointer is allowed to be NULL.