DragonFly On-Line Manual Pages

Search: Section:  


Heimdal Kerberos 5 storage functions(3)                HeimdalKerberos5library

NAME

Heimdal Kerberos 5 storage functions - Functions KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_storage_set_flags (krb5_storage *sp, krb5_flags flags) KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_storage_clear_flags (krb5_storage *sp, krb5_flags flags) KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_storage_is_flags (krb5_storage *sp, krb5_flags flags) KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_storage_set_byteorder (krb5_storage *sp, krb5_flags byteorder) KRB5_LIB_FUNCTION krb5_flags KRB5_LIB_CALL krb5_storage_get_byteorder (krb5_storage *sp) KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_storage_set_max_alloc (krb5_storage *sp, size_t size) KRB5_LIB_FUNCTION off_t KRB5_LIB_CALL krb5_storage_seek (krb5_storage *sp, off_t offset, int whence) KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_storage_truncate (krb5_storage *sp, off_t offset) KRB5_LIB_FUNCTION krb5_ssize_t KRB5_LIB_CALL krb5_storage_read (krb5_storage *sp, void *buf, size_t len) KRB5_LIB_FUNCTION krb5_ssize_t KRB5_LIB_CALL krb5_storage_write (krb5_storage *sp, const void *buf, size_t len) KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_storage_set_eof_code (krb5_storage *sp, int code) KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_storage_get_eof_code (krb5_storage *sp) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_storage_free (krb5_storage *sp) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_storage_to_data (krb5_storage *sp, krb5_data *data) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_int32 (krb5_storage *sp, int32_t value) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_uint32 (krb5_storage *sp, uint32_t value) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_int32 (krb5_storage *sp, int32_t *value) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_uint32 (krb5_storage *sp, uint32_t *value) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_int16 (krb5_storage *sp, int16_t value) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_uint16 (krb5_storage *sp, uint16_t value) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_int16 (krb5_storage *sp, int16_t *value) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_uint16 (krb5_storage *sp, uint16_t *value) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_int8 (krb5_storage *sp, int8_t value) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_uint8 (krb5_storage *sp, uint8_t value) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_int8 (krb5_storage *sp, int8_t *value) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_uint8 (krb5_storage *sp, uint8_t *value) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_data (krb5_storage *sp, krb5_data data) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_data (krb5_storage *sp, krb5_data *data) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_string (krb5_storage *sp, const char *s) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_string (krb5_storage *sp, char **string) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_stringz (krb5_storage *sp, const char *s) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_stringz (krb5_storage *sp, char **string) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_principal (krb5_storage *sp, krb5_const_principal p) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_principal (krb5_storage *sp, krb5_principal *princ) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_keyblock (krb5_storage *sp, krb5_keyblock p) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_keyblock (krb5_storage *sp, krb5_keyblock *p) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_times (krb5_storage *sp, krb5_times times) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_times (krb5_storage *sp, krb5_times *times) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_address (krb5_storage *sp, krb5_address p) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_address (krb5_storage *sp, krb5_address *adr) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_addrs (krb5_storage *sp, krb5_addresses p) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_addrs (krb5_storage *sp, krb5_addresses *adr) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_authdata (krb5_storage *sp, krb5_authdata auth) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_authdata (krb5_storage *sp, krb5_authdata *auth) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_creds (krb5_storage *sp, krb5_creds *creds) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_creds (krb5_storage *sp, krb5_creds *creds) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_creds_tag (krb5_storage *sp, krb5_creds *creds) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_creds_tag (krb5_storage *sp, krb5_creds *creds) KRB5_LIB_FUNCTION krb5_storage *KRB5_LIB_CALL krb5_storage_emem (void) KRB5_LIB_FUNCTION krb5_storage *KRB5_LIB_CALL krb5_storage_from_fd (krb5_socket_t fd_in) KRB5_LIB_FUNCTION krb5_storage *KRB5_LIB_CALL krb5_storage_from_mem (void *buf, size_t len) KRB5_LIB_FUNCTION krb5_storage *KRB5_LIB_CALL krb5_storage_from_data (krb5_data *data) KRB5_LIB_FUNCTION krb5_storage *KRB5_LIB_CALL krb5_storage_from_readonly_mem (const void *buf, size_t len) Detailed Description Function Documentation KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_address (krb5_storage * sp, krb5_address * adr) Read a address block from the storage. Parameters: sp the storage buffer to write to adr the address block read from storage Returns: 0 on success, a Kerberos 5 error code on failure. KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_addrs (krb5_storage * sp, krb5_addresses * adr) Read a addresses block from the storage. Parameters: sp the storage buffer to write to adr the addresses block read from storage Returns: 0 on success, a Kerberos 5 error code on failure. KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_authdata (krb5_storage * sp, krb5_authdata * auth) Read a auth data from the storage. Parameters: sp the storage buffer to write to auth the auth data block read from storage Returns: 0 on success, a Kerberos 5 error code on failure. KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_creds (krb5_storage * sp, krb5_creds * creds) Read a credentials block from the storage. Parameters: sp the storage buffer to write to creds the credentials block read from storage Returns: 0 on success, a Kerberos 5 error code on failure. KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_creds_tag (krb5_storage * sp, krb5_creds * creds) Read a tagged credentials block from the storage. Parameters: sp the storage buffer to write to creds the credentials block read from storage Returns: 0 on success, a Kerberos 5 error code on failure. KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_data (krb5_storage * sp, krb5_data * data) Parse a data from the storage. Parameters: sp the storage buffer to read from data the parsed data Returns: 0 on success, a Kerberos 5 error code on failure. KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_int16 (krb5_storage * sp, int16_t * value) Read a int16 from storage, byte order is controlled by the settings on the storage, see krb5_storage_set_byteorder(). Parameters: sp the storage to write too value the value read from the buffer Returns: 0 for success, or a Kerberos 5 error code on failure. KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_int32 (krb5_storage * sp, int32_t * value) Read a int32 from storage, byte order is controlled by the settings on the storage, see krb5_storage_set_byteorder(). Parameters: sp the storage to write too value the value read from the buffer Returns: 0 for success, or a Kerberos 5 error code on failure. KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_int8 (krb5_storage * sp, int8_t * value) Read a int8 from storage Parameters: sp the storage to write too value the value read from the buffer Returns: 0 for success, or a Kerberos 5 error code on failure. KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_keyblock (krb5_storage * sp, krb5_keyblock * p) Read a keyblock from the storage. Parameters: sp the storage buffer to write to p the keyblock read from storage, free using krb5_free_keyblock() Returns: 0 on success, a Kerberos 5 error code on failure. KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_principal (krb5_storage * sp, krb5_principal * princ) Parse principal from the storage. Parameters: sp the storage buffer to read from princ the parsed principal Returns: 0 on success, a Kerberos 5 error code on failure. KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_string (krb5_storage * sp, char ** string) Parse a string from the storage. Parameters: sp the storage buffer to read from string the parsed string Returns: 0 on success, a Kerberos 5 error code on failure. KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_stringz (krb5_storage * sp, char ** string) Parse zero terminated string from the storage. Parameters: sp the storage buffer to read from string the parsed string Returns: 0 on success, a Kerberos 5 error code on failure. KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_times (krb5_storage * sp, krb5_times * times) Read a times block from the storage. Parameters: sp the storage buffer to write to times the times block read from storage Returns: 0 on success, a Kerberos 5 error code on failure. KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_uint16 (krb5_storage * sp, uint16_t * value) Read a int16 from storage, byte order is controlled by the settings on the storage, see krb5_storage_set_byteorder(). Parameters: sp the storage to write too value the value read from the buffer Returns: 0 for success, or a Kerberos 5 error code on failure. KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_uint32 (krb5_storage * sp, uint32_t * value) Read a uint32 from storage, byte order is controlled by the settings on the storage, see krb5_storage_set_byteorder(). Parameters: sp the storage to write too value the value read from the buffer Returns: 0 for success, or a Kerberos 5 error code on failure. KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_uint8 (krb5_storage * sp, uint8_t * value) Read a uint8 from storage Parameters: sp the storage to write too value the value read from the buffer Returns: 0 for success, or a Kerberos 5 error code on failure. KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_storage_clear_flags (krb5_storage * sp, krb5_flags flags) Clear the flags on a storage buffer Parameters: sp the storage buffer to clear the flags on flags the flags to clear KRB5_LIB_FUNCTION krb5_storage* KRB5_LIB_CALL krb5_storage_emem (void) Create a elastic (allocating) memory storage backend. Memory is allocated on demand. Free returned krb5_storage with krb5_storage_free(). Returns: A krb5_storage on success, or NULL on out of memory error. See also: krb5_storage_from_mem() krb5_storage_from_readonly_mem() krb5_storage_from_fd() krb5_storage_from_data() KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_storage_free (krb5_storage * sp) Free a krb5 storage. Parameters: sp the storage to free. Returns: An Kerberos 5 error code. KRB5_LIB_FUNCTION krb5_storage* KRB5_LIB_CALL krb5_storage_from_data (krb5_data * data) Create a fixed size memory storage block Returns: A krb5_storage on success, or NULL on out of memory error. See also: krb5_storage_mem() krb5_storage_from_mem() krb5_storage_from_readonly_mem() krb5_storage_from_fd() KRB5_LIB_FUNCTION krb5_storage* KRB5_LIB_CALL krb5_storage_from_fd (krb5_socket_t fd_in) Returns: A krb5_storage on success, or NULL on out of memory error. See also: krb5_storage_emem() krb5_storage_from_mem() krb5_storage_from_readonly_mem() krb5_storage_from_data() KRB5_LIB_FUNCTION krb5_storage* KRB5_LIB_CALL krb5_storage_from_mem (void * buf, size_t len) Create a fixed size memory storage block Returns: A krb5_storage on success, or NULL on out of memory error. See also: krb5_storage_mem() krb5_storage_from_readonly_mem() krb5_storage_from_data() krb5_storage_from_fd() KRB5_LIB_FUNCTION krb5_storage* KRB5_LIB_CALL krb5_storage_from_readonly_mem (const void * buf, size_t len) Create a fixed size memory storage block that is read only Returns: A krb5_storage on success, or NULL on out of memory error. See also: krb5_storage_mem() krb5_storage_from_mem() krb5_storage_from_data() krb5_storage_from_fd() KRB5_LIB_FUNCTION krb5_flags KRB5_LIB_CALL krb5_storage_get_byteorder (krb5_storage * sp) Return the current byteorder for the buffer. See krb5_storage_set_byteorder() for the list or byte order contants. KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_storage_get_eof_code (krb5_storage * sp) Get the return code that will be used when end of storage is reached. Parameters: sp the storage Returns: storage error code KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_storage_is_flags (krb5_storage * sp, krb5_flags flags) Return true or false depending on if the storage flags is set or not. NB testing for the flag 0 always return true. Parameters: sp the storage buffer to check flags on flags The flags to test for Returns: true if all the flags are set, false if not. KRB5_LIB_FUNCTION krb5_ssize_t KRB5_LIB_CALL krb5_storage_read (krb5_storage * sp, void * buf, size_t len) Read to the storage buffer. Parameters: sp the storage buffer to read from buf the buffer to store the data in len the length to read Returns: The length of data read (can be shorter then len), or negative on error. KRB5_LIB_FUNCTION off_t KRB5_LIB_CALL krb5_storage_seek (krb5_storage * sp, off_t offset, int whence) Seek to a new offset. Parameters: sp the storage buffer to seek in. offset the offset to seek whence relateive searching, SEEK_CUR from the current position, SEEK_END from the end, SEEK_SET absolute from the start. Returns: The new current offset KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_storage_set_byteorder (krb5_storage * sp, krb5_flags byteorder) Set the new byte order of the storage buffer. Parameters: sp the storage buffer to set the byte order for. byteorder the new byte order. The byte order are: KRB5_STORAGE_BYTEORDER_BE, KRB5_STORAGE_BYTEORDER_LE and KRB5_STORAGE_BYTEORDER_HOST. KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_storage_set_eof_code (krb5_storage * sp, int code) Set the return code that will be used when end of storage is reached. Parameters: sp the storage code the error code to return on end of storage KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_storage_set_flags (krb5_storage * sp, krb5_flags flags) Add the flags on a storage buffer by or-ing in the flags to the buffer. Parameters: sp the storage buffer to set the flags on flags the flags to set KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_storage_set_max_alloc (krb5_storage * sp, size_t size) Set the max alloc value Parameters: sp the storage buffer set the max allow for size maximum size to allocate, use 0 to remove limit KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_storage_to_data (krb5_storage * sp, krb5_data * data) Copy the contnent of storage Parameters: sp the storage to copy to a data data the copied data, free with krb5_data_free() Returns: 0 for success, or a Kerberos 5 error code on failure. KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_storage_truncate (krb5_storage * sp, off_t offset) Truncate the storage buffer in sp to offset. Parameters: sp the storage buffer to truncate. offset the offset to truncate too. Returns: An Kerberos 5 error code. KRB5_LIB_FUNCTION krb5_ssize_t KRB5_LIB_CALL krb5_storage_write (krb5_storage * sp, const void * buf, size_t len) Write to the storage buffer. Parameters: sp the storage buffer to write to buf the buffer to write to the storage buffer len the length to write Returns: The length of data written (can be shorter then len), or negative on error. KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_address (krb5_storage * sp, krb5_address p) Write a address block to storage. Parameters: sp the storage buffer to write to p the address block to write. Returns: 0 on success, a Kerberos 5 error code on failure. KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_addrs (krb5_storage * sp, krb5_addresses p) Write a addresses block to storage. Parameters: sp the storage buffer to write to p the addresses block to write. Returns: 0 on success, a Kerberos 5 error code on failure. KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_authdata (krb5_storage * sp, krb5_authdata auth) Write a auth data block to storage. Parameters: sp the storage buffer to write to auth the auth data block to write. Returns: 0 on success, a Kerberos 5 error code on failure. KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_creds (krb5_storage * sp, krb5_creds * creds) Write a credentials block to storage. Parameters: sp the storage buffer to write to creds the creds block to write. Returns: 0 on success, a Kerberos 5 error code on failure. KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_creds_tag (krb5_storage * sp, krb5_creds * creds) Write a tagged credentials block to storage. Parameters: sp the storage buffer to write to creds the creds block to write. Returns: 0 on success, a Kerberos 5 error code on failure. KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_data (krb5_storage * sp, krb5_data data) Store a data to the storage. The data is stored with an int32 as lenght plus the data (not padded). Parameters: sp the storage buffer to write to data the buffer to store. Returns: 0 on success, a Kerberos 5 error code on failure. KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_int16 (krb5_storage * sp, int16_t value) Store a int16 to storage, byte order is controlled by the settings on the storage, see krb5_storage_set_byteorder(). Parameters: sp the storage to write too value the value to store Returns: 0 for success, or a Kerberos 5 error code on failure. KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_int32 (krb5_storage * sp, int32_t value) Store a int32 to storage, byte order is controlled by the settings on the storage, see krb5_storage_set_byteorder(). Parameters: sp the storage to write too value the value to store Returns: 0 for success, or a Kerberos 5 error code on failure. KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_int8 (krb5_storage * sp, int8_t value) Store a int8 to storage. Parameters: sp the storage to write too value the value to store Returns: 0 for success, or a Kerberos 5 error code on failure. KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_keyblock (krb5_storage * sp, krb5_keyblock p) Store a keyblock to the storage. Parameters: sp the storage buffer to write to p the keyblock to write Returns: 0 on success, a Kerberos 5 error code on failure. KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_principal (krb5_storage * sp, krb5_const_principal p) Write a principal block to storage. Parameters: sp the storage buffer to write to p the principal block to write. Returns: 0 on success, a Kerberos 5 error code on failure. KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_string (krb5_storage * sp, const char * s) Store a string to the buffer. The data is formated as an len:uint32 plus the string itself (not padded). Parameters: sp the storage buffer to write to s the string to store. Returns: 0 on success, a Kerberos 5 error code on failure. KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_stringz (krb5_storage * sp, const char * s) Store a zero terminated string to the buffer. The data is stored one character at a time until a NUL is stored. Parameters: sp the storage buffer to write to s the string to store. Returns: 0 on success, a Kerberos 5 error code on failure. KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_times (krb5_storage * sp, krb5_times times) Write a times block to storage. Parameters: sp the storage buffer to write to times the times block to write. Returns: 0 on success, a Kerberos 5 error code on failure. KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_uint16 (krb5_storage * sp, uint16_t value) Store a uint16 to storage, byte order is controlled by the settings on the storage, see krb5_storage_set_byteorder(). Parameters: sp the storage to write too value the value to store Returns: 0 for success, or a Kerberos 5 error code on failure. KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_uint32 (krb5_storage * sp, uint32_t value) Store a uint32 to storage, byte order is controlled by the settings on the storage, see krb5_storage_set_byteorder(). Parameters: sp the storage to write too value the value to store Returns: 0 for success, or a Kerberos 5 error code on failure. KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_uint8 (krb5_storage * sp, uint8_t value) Store a uint8 to storage. Parameters: sp the storage to write too value the value to store Returns: 0 for success, or a Kerberos 5 error code on failure. Version 1.5.3 9 Dec 2012 Heimdal Kerberos 5 storage functions(3)

Search: Section: