HDF5  1.12.0
H5FDs3comms.h File Reference

Data Structures

struct  hrb_node_t
 
struct  hrb_t
 
struct  parsed_url_t
 
struct  s3r_t
 

Typedefs

typedef struct hrb_node_t hrb_node_t
 

Functions

H5_DLL herr_t H5FD_s3comms_hrb_node_set (hrb_node_t **L, const char *name, const char *value)
 
H5_DLL herr_t H5FD_s3comms_hrb_destroy (hrb_t **buf)
 
H5_DLL hrb_tH5FD_s3comms_hrb_init_request (const char *verb, const char *resource, const char *host)
 
H5_DLL herr_t H5FD_s3comms_s3r_close (s3r_t *handle)
 
H5_DLL size_t H5FD_s3comms_s3r_get_filesize (s3r_t *handle)
 
H5_DLL s3r_tH5FD_s3comms_s3r_open (const char url[], const char region[], const char id[], const unsigned char signing_key[])
 
H5_DLL herr_t H5FD_s3comms_s3r_read (s3r_t *handle, haddr_t offset, size_t len, void *dest)
 
H5_DLL struct tm * gmnow (void)
 
H5_DLL herr_t H5FD_s3comms_aws_canonical_request (char *canonical_request_dest, int cr_size, char *signed_headers_dest, int sh_size, hrb_t *http_request)
 
H5_DLL herr_t H5FD_s3comms_bytes_to_hex (char *dest, const unsigned char *msg, size_t msg_len, hbool_t lowercase)
 
H5_DLL herr_t H5FD_s3comms_free_purl (parsed_url_t *purl)
 
H5_DLL herr_t H5FD_s3comms_HMAC_SHA256 (const unsigned char *key, size_t key_len, const char *msg, size_t msg_len, char *dest)
 
H5_DLL herr_t H5FD_s3comms_load_aws_profile (const char *name, char *key_id_out, char *secret_access_key_out, char *aws_region_out)
 
H5_DLL herr_t H5FD_s3comms_nlowercase (char *dest, const char *s, size_t len)
 
H5_DLL herr_t H5FD_s3comms_parse_url (const char *str, parsed_url_t **purl)
 
H5_DLL herr_t H5FD_s3comms_percent_encode_char (char *repr, const unsigned char c, size_t *repr_len)
 
H5_DLL herr_t H5FD_s3comms_signing_key (unsigned char *md, const char *secret, const char *region, const char *iso8601now)
 
H5_DLL herr_t H5FD_s3comms_tostringtosign (char *dest, const char *req_str, const char *now, const char *region)
 
H5_DLL herr_t H5FD_s3comms_trim (char *dest, char *s, size_t s_len, size_t *n_written)
 
H5_DLL herr_t H5FD_s3comms_uriencode (char *dest, const char *s, size_t s_len, hbool_t encode_slash, size_t *n_written)
 

Typedef Documentation

◆ hrb_node_t

typedef struct hrb_node_t hrb_node_t

Function Documentation

◆ gmnow()

H5_DLL struct tm* gmnow ( void  )

References HDassert(), NULL, and ret_value.

Referenced by H5FD_s3comms_s3r_read().

◆ H5FD_s3comms_aws_canonical_request()

H5_DLL herr_t H5FD_s3comms_aws_canonical_request ( char *  canonical_request_dest,
int  cr_size,
char *  signed_headers_dest,
int  sh_size,
hrb_t http_request 
)

◆ H5FD_s3comms_bytes_to_hex()

H5_DLL herr_t H5FD_s3comms_bytes_to_hex ( char *  dest,
const unsigned char *  msg,
size_t  msg_len,
hbool_t  lowercase 
)

◆ H5FD_s3comms_free_purl()

◆ H5FD_s3comms_HMAC_SHA256()

H5_DLL herr_t H5FD_s3comms_HMAC_SHA256 ( const unsigned char *  key,
size_t  key_len,
const char *  msg,
size_t  msg_len,
char *  dest 
)

◆ H5FD_s3comms_hrb_destroy()

◆ H5FD_s3comms_hrb_init_request()

H5_DLL hrb_t* H5FD_s3comms_hrb_init_request ( const char *  verb,
const char *  resource,
const char *  host 
)

◆ H5FD_s3comms_hrb_node_set()

◆ H5FD_s3comms_load_aws_profile()

H5_DLL herr_t H5FD_s3comms_load_aws_profile ( const char *  name,
char *  key_id_out,
char *  secret_access_key_out,
char *  aws_region_out 
)

References FAIL, HDfprintf(), NULL, and ret_value.

◆ H5FD_s3comms_nlowercase()

H5_DLL herr_t H5FD_s3comms_nlowercase ( char *  dest,
const char *  s,
size_t  len 
)

◆ H5FD_s3comms_parse_url()

◆ H5FD_s3comms_percent_encode_char()

H5_DLL herr_t H5FD_s3comms_percent_encode_char ( char *  repr,
const unsigned char  c,
size_t *  repr_len 
)

◆ H5FD_s3comms_s3r_close()

◆ H5FD_s3comms_s3r_get_filesize()

H5_DLL size_t H5FD_s3comms_s3r_get_filesize ( s3r_t handle)

◆ H5FD_s3comms_s3r_open()

H5_DLL s3r_t* H5FD_s3comms_s3r_open ( const char  url[],
const char  region[],
const char  id[],
const unsigned char  signing_key[] 
)

◆ H5FD_s3comms_s3r_read()

◆ H5FD_s3comms_signing_key()

H5_DLL herr_t H5FD_s3comms_signing_key ( unsigned char *  md,
const char *  secret,
const char *  region,
const char *  iso8601now 
)

◆ H5FD_s3comms_tostringtosign()

H5_DLL herr_t H5FD_s3comms_tostringtosign ( char *  dest,
const char *  req_str,
const char *  now,
const char *  region 
)

◆ H5FD_s3comms_trim()

H5_DLL herr_t H5FD_s3comms_trim ( char *  dest,
char *  s,
size_t  s_len,
size_t *  n_written 
)

◆ H5FD_s3comms_uriencode()

H5_DLL herr_t H5FD_s3comms_uriencode ( char *  dest,
const char *  s,
size_t  s_len,
hbool_t  encode_slash,
size_t *  n_written 
)