HDF5  1.12.0
H5FDs3comms.c File Reference

Data Structures

struct  s3r_datastruct
 

Functions

size_t curlwritecallback (char *ptr, size_t size, size_t nmemb, void *userdata)
 
herr_t H5FD_s3comms_s3r_getsize (s3r_t *handle)
 
herr_t H5FD_s3comms_hrb_node_set (hrb_node_t **L, const char *name, const char *value)
 
herr_t H5FD_s3comms_hrb_destroy (hrb_t **_buf)
 
hrb_tH5FD_s3comms_hrb_init_request (const char *_verb, const char *_resource, const char *_http_version)
 
herr_t H5FD_s3comms_s3r_close (s3r_t *handle)
 
size_t H5FD_s3comms_s3r_get_filesize (s3r_t *handle)
 
s3r_tH5FD_s3comms_s3r_open (const char *url, const char *region, const char *id, const unsigned char *signing_key)
 
herr_t H5FD_s3comms_s3r_read (s3r_t *handle, haddr_t offset, size_t len, void *dest)
 
struct tm * gmnow (void)
 
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)
 
herr_t H5FD_s3comms_bytes_to_hex (char *dest, const unsigned char *msg, size_t msg_len, hbool_t lowercase)
 
herr_t H5FD_s3comms_free_purl (parsed_url_t *purl)
 
herr_t H5FD_s3comms_HMAC_SHA256 (const unsigned char *key, size_t key_len, const char *msg, size_t msg_len, char *dest)
 
herr_t H5FD_s3comms_load_aws_profile (const char *profile_name, char *key_id_out, char *secret_access_key_out, char *aws_region_out)
 
herr_t H5FD_s3comms_nlowercase (char *dest, const char *s, size_t len)
 
herr_t H5FD_s3comms_parse_url (const char *str, parsed_url_t **_purl)
 
herr_t H5FD_s3comms_percent_encode_char (char *repr, const unsigned char c, size_t *repr_len)
 
herr_t H5FD_s3comms_signing_key (unsigned char *md, const char *secret, const char *region, const char *iso8601now)
 
herr_t H5FD_s3comms_tostringtosign (char *dest, const char *req, const char *now, const char *region)
 
herr_t H5FD_s3comms_trim (char *dest, char *s, size_t s_len, size_t *n_written)
 
herr_t H5FD_s3comms_uriencode (char *dest, const char *s, size_t s_len, hbool_t encode_slash, size_t *n_written)
 

Function Documentation

◆ curlwritecallback()

size_t curlwritecallback ( char *  ptr,
size_t  size,
size_t  nmemb,
void *  userdata 
)

◆ gmnow()

struct tm* gmnow ( void  )

References HDassert(), NULL, and ret_value.

Referenced by H5FD_s3comms_s3r_read().

◆ H5FD_s3comms_aws_canonical_request()

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()

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()

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()

hrb_t* H5FD_s3comms_hrb_init_request ( const char *  _verb,
const char *  _resource,
const char *  _http_version 
)

◆ H5FD_s3comms_hrb_node_set()

◆ H5FD_s3comms_load_aws_profile()

herr_t H5FD_s3comms_load_aws_profile ( const char *  profile_name,
char *  key_id_out,
char *  secret_access_key_out,
char *  aws_region_out 
)

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

◆ H5FD_s3comms_nlowercase()

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

◆ H5FD_s3comms_parse_url()

◆ H5FD_s3comms_percent_encode_char()

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()

size_t H5FD_s3comms_s3r_get_filesize ( s3r_t handle)

◆ H5FD_s3comms_s3r_getsize()

◆ H5FD_s3comms_s3r_open()

◆ H5FD_s3comms_s3r_read()

◆ H5FD_s3comms_signing_key()

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

◆ H5FD_s3comms_tostringtosign()

herr_t H5FD_s3comms_tostringtosign ( char *  dest,
const char *  req,
const char *  now,
const char *  region 
)

◆ H5FD_s3comms_trim()

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

◆ H5FD_s3comms_uriencode()

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