Structs

type ms3_st

An internal struct which contains authentication information

type ms3_list_st

A linked-list struct which contains a list of files/keys and information about them

char *key

The key/filename for the object

size_t length

The data size for the object

time_t created

The created / updated timestamp for the object

struct ms3_list_st *next

A pointer to the next struct in the list

type ms3_status_st

An struct which contains the status of an object

size_t length

The data size for the object

time_t created

The created / updated timestamp for the object

Constants

type ms3_set_option_t

Options to use for ms3_set_option(). Possible values:

  • MS3_OPT_USE_HTTP - Use http:// instead of https://. The value parameter of ms3_set_option() is unused and each call to this toggles the flag (HTTPS is used by default)

  • MS3_OPT_DISABLE_SSL_VERIFY - Disable SSL verification. The value parameter of ms3_set_option() is unused and each call to this toggles the flag (SSL verification is on by default)

  • MS3_OPT_BUFFER_CHUNK_SIZE - Set the chunk size in bytes for the receive buffer. Default is 1MB. If you are receiving a large file a realloc will have to happen every time the buffer is full. For performance reasons you may want to increase the size of this buffer to reduce the reallocs and associated memory copies. The value parameter of ms3_set_option() should be a pointer to a size_t greater than 1.

  • MS3_OPT_FORCE_LIST_VERSION - An internal option for the regression suite only. The value parameter of ms3_set_option() should be a pointer to a uint8_t of value 1 or 2

  • MS3_OPT_FORCE_PROTOCOL_VERSION - Set to 1 to force talking to the S3 server using version 1 of the List Bucket API, this is for S3 compatible servers. Set to 2 to force talking to the S3 server version 2 of the List Bucket API. This is for use when the autodetect bsaed on providing a base_domain does the wrong thing. The value parameter of ms3_set_option() should be a pointer to a uint8_t of value 1 or 2

  • MS3_OPT_READ_CB - Custom read callback for ms3_get(). The value parameter of ms3_set_option() should be a ms3_read_callback function.

  • MS3_OPT_USER_DATA - User data for the custom read callback. The value parameter of ms3_set_option() is the pointer that will be passed as the userdata argument of the callback.

  • MS3_OPT_CONNECT_TIMEOUT - Sets the maximum time in seconds for the connection phase to take. This timeout only limits the connection phase, it has no impact once the connection is established. The value parameter of ms3_set_option() should be a pointer to a float of value between 0 and 4294966. 0 is the default value indicating that the default libcurl timeout will be used.

  • MS3_OPT_TIMEOUT - Sets the maximum time in seconds for the entire transfer operation to take. The value parameter of ms3_set_option() should be a pointer to a float of value between 0 and 4294966. 0 is the default value indicating that there is no timeout at all.

Callbacks

type ms3_read_callback

The callback function for MS3_OPT_READ_CB. The function and the user data set with MS3_OPT_USER_DATA are passed to Curl. For more information, refer to CURLOPT_WRITE_FUNCTION.

Built-In Types

type NULL

A null pointer as defined in the standard header string.h.

type uint8_t

An unsigned single byte character as defined in the standard header stdint.h

type size_t

The unsigned integer type of the result of sizeof.

type time_t

Real arithmetic type capable of representing times as deinfined in the standard header time.h