HDF5
1.14.4.3
API Reference
|
#include "H5private.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 | RFC7231_SIZE 30 |
#define | ISO8601NOW(dest, now_gm) strftime((dest), ISO8601_SIZE, "%Y%m%dT%H%M%SZ", (now_gm)) |
#define | RFC7231NOW(dest, now_gm) strftime((dest), RFC7231_SIZE, "%a, %d %b %Y %H:%M:%S GMT", (now_gm)) |
#define | S3COMMS_MAX_CREDENTIAL_SIZE 155 |
#define | S3COMMS_FORMAT_CREDENTIAL(dest, access, iso8601_date, region, service) |
#define | S3COMMS_HRB_NODE_MAGIC 0x7F5757UL |
#define | S3COMMS_HRB_MAGIC 0x6DCC84UL |
#define | S3COMMS_PARSED_URL_MAGIC 0x21D0DFUL |
#define | S3COMMS_S3R_MAGIC 0x44d8d79 |
Functions | |
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_t * | H5FD_s3comms_hrb_init_request (const char *verb, const char *resource, const char *host) |
herr_t | H5FD_s3comms_s3r_close (s3r_t *handle) |
size_t | H5FD_s3comms_s3r_get_filesize (s3r_t *handle) |
s3r_t * | H5FD_s3comms_s3r_open (const char url[], const char region[], const char id[], const unsigned char signing_key[], const char token[]) |
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, bool 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 *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_str, 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, bool encode_slash, size_t *n_written) |
#define EMPTY_SHA256 "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" |
#define ISO8601_SIZE 17 |
#define ISO8601NOW | ( | dest, | |
now_gm | |||
) | strftime((dest), ISO8601_SIZE, "%Y%m%dT%H%M%SZ", (now_gm)) |
#define RFC7231_SIZE 30 |
#define RFC7231NOW | ( | dest, | |
now_gm | |||
) | strftime((dest), RFC7231_SIZE, "%a, %d %b %Y %H:%M:%S GMT", (now_gm)) |
#define S3COMMS_FORMAT_CREDENTIAL | ( | dest, | |
access, | |||
iso8601_date, | |||
region, | |||
service | |||
) |
#define S3COMMS_HRB_MAGIC 0x6DCC84UL |
#define S3COMMS_HRB_NODE_MAGIC 0x7F5757UL |
#define S3COMMS_MAX_CREDENTIAL_SIZE 155 |
#define S3COMMS_PARSED_URL_MAGIC 0x21D0DFUL |
#define S3COMMS_S3R_MAGIC 0x44d8d79 |
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, | ||
bool | 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 | ||
) |
hrb_t * H5FD_s3comms_hrb_init_request | ( | const char * | verb, |
const char * | resource, | ||
const char * | host | ||
) |
herr_t H5FD_s3comms_hrb_node_set | ( | hrb_node_t ** | L, |
const char * | name, | ||
const char * | value | ||
) |
herr_t H5FD_s3comms_load_aws_profile | ( | const char * | 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 | ||
) |
size_t H5FD_s3comms_s3r_get_filesize | ( | s3r_t * | handle | ) |
s3r_t * H5FD_s3comms_s3r_open | ( | const char | url[], |
const char | region[], | ||
const char | id[], | ||
const unsigned char | signing_key[], | ||
const char | token[] | ||
) |
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_str, | ||
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, | ||
bool | encode_slash, | ||
size_t * | n_written | ||
) |