Please, help us to better serve our user community by answering the following short survey: https://www.hdfgroup.org/website-survey/
HDF5 2.0.0.2ad0391
API Reference
Loading...
Searching...
No Matches
H5FDs3comms.h File Reference
#include "H5private.h"
#include "H5FDros3.h"
#include <curl/curl.h>
#include <openssl/evp.h>
#include <openssl/hmac.h>
#include <openssl/sha.h>

Data Structures

struct  hrb_node_t
 
struct  hrb_t
 
struct  parsed_url_t
 
struct  s3r_t
 

Macros

#define EMPTY_SHA256   "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
 
#define ISO8601_SIZE   17
 
#define S3COMMS_MAX_CREDENTIAL_SIZE   155
 
#define S3COMMS_FORMAT_CREDENTIAL(dest, access, iso8601_date, region, service)
 

Functions

hrb_tH5FD__s3comms_hrb_init_request (const char *verb, const char *resource, const char *host)
 
herr_t H5FD__s3comms_hrb_destroy (hrb_t *buf)
 
herr_t H5FD__s3comms_hrb_node_set (hrb_node_t **L, const char *name, const char *value)
 
s3r_tH5FD__s3comms_s3r_open (const char *url, const H5FD_ros3_fapl_t *fa, const char *fapl_token)
 
herr_t H5FD__s3comms_s3r_close (s3r_t *handle)
 
size_t H5FD__s3comms_s3r_get_filesize (s3r_t *handle)
 
herr_t H5FD__s3comms_s3r_read (s3r_t *handle, haddr_t offset, size_t len, void *dest)
 
herr_t H5FD__s3comms_make_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_make_aws_signing_key (unsigned char *md, const char *secret, const char *region, const char *iso8601)
 
herr_t H5FD__s3comms_make_aws_stringtosign (char *dest, const char *req_str, const char *now, const char *region)
 

Macro Definition Documentation

◆ EMPTY_SHA256

#define EMPTY_SHA256   "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"

◆ ISO8601_SIZE

#define ISO8601_SIZE   17

◆ S3COMMS_FORMAT_CREDENTIAL

#define S3COMMS_FORMAT_CREDENTIAL (   dest,
  access,
  iso8601_date,
  region,
  service 
)
Value:
snprintf((dest), S3COMMS_MAX_CREDENTIAL_SIZE, "%s/%s/%s/%s/aws4_request", (access), (iso8601_date), \
(region), (service))
#define S3COMMS_MAX_CREDENTIAL_SIZE
Definition H5FDs3comms.h:82

◆ S3COMMS_MAX_CREDENTIAL_SIZE

#define S3COMMS_MAX_CREDENTIAL_SIZE   155

Function Documentation

◆ H5FD__s3comms_hrb_destroy()

herr_t H5FD__s3comms_hrb_destroy ( hrb_t buf)

◆ H5FD__s3comms_hrb_init_request()

hrb_t * H5FD__s3comms_hrb_init_request ( const char *  verb,
const char *  resource,
const char *  host 
)

◆ H5FD__s3comms_hrb_node_set()

herr_t H5FD__s3comms_hrb_node_set ( hrb_node_t **  L,
const char *  name,
const char *  value 
)

◆ H5FD__s3comms_make_aws_canonical_request()

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

◆ H5FD__s3comms_make_aws_signing_key()

herr_t H5FD__s3comms_make_aws_signing_key ( unsigned char *  md,
const char *  secret,
const char *  region,
const char *  iso8601 
)

◆ H5FD__s3comms_make_aws_stringtosign()

herr_t H5FD__s3comms_make_aws_stringtosign ( char *  dest,
const char *  req_str,
const char *  now,
const char *  region 
)

◆ H5FD__s3comms_s3r_close()

herr_t H5FD__s3comms_s3r_close ( s3r_t handle)

◆ H5FD__s3comms_s3r_get_filesize()

size_t H5FD__s3comms_s3r_get_filesize ( s3r_t handle)

◆ H5FD__s3comms_s3r_open()

s3r_t * H5FD__s3comms_s3r_open ( const char *  url,
const H5FD_ros3_fapl_t fa,
const char *  fapl_token 
)

◆ H5FD__s3comms_s3r_read()

herr_t H5FD__s3comms_s3r_read ( s3r_t handle,
haddr_t  offset,
size_t  len,
void *  dest 
)