Amazon Kinesis Producer C SDK
PublicMemberFunctions

Public functions. More...

Functions

PUBLIC_API STATUS createAwsCredentials (PCHAR, UINT32, PCHAR, UINT32, PCHAR, UINT32, UINT64, PAwsCredentials *)
 Creates an AWS credentials object. More...
 
PUBLIC_API STATUS freeAwsCredentials (PAwsCredentials *)
 Frees an Aws credentials object. More...
 
PUBLIC_API STATUS deserializeAwsCredentials (PBYTE)
 
PUBLIC_API STATUS createStaticCredentialProvider (PCHAR, UINT32, PCHAR, UINT32, PCHAR, UINT32, UINT64, PAwsCredentialProvider *)
 Creates a Static AWS credential provider object. More...
 
PUBLIC_API STATUS freeStaticCredentialProvider (PAwsCredentialProvider *)
 Frees a Static Aws credential provider object. More...
 
PUBLIC_API STATUS createCurlIotCredentialProvider (PCHAR, PCHAR, PCHAR, PCHAR, PCHAR, PCHAR, PAwsCredentialProvider *)
 Creates an IoT based AWS credential provider object using libCurl. More...
 
PUBLIC_API STATUS createLwsIotCredentialProvider (PCHAR, PCHAR, PCHAR, PCHAR, PCHAR, PCHAR, PAwsCredentialProvider *)
 Creates an IoT based AWS credential provider object using libWebSockets. More...
 
PUBLIC_API STATUS createCurlIotCredentialProviderWithTimeAndTimeout (PCHAR, PCHAR, PCHAR, PCHAR, PCHAR, PCHAR, UINT64, UINT64, GetCurrentTimeFunc, UINT64, PAwsCredentialProvider *)
 Creates an IoT based AWS credential provider object with time function which is based on libCurl. More...
 
PUBLIC_API STATUS createCurlIotCredentialProviderWithTime (PCHAR, PCHAR, PCHAR, PCHAR, PCHAR, PCHAR, GetCurrentTimeFunc, UINT64, PAwsCredentialProvider *)
 Creates an IoT based AWS credential provider object with time function which is based on libCurl. More...
 
PUBLIC_API STATUS createLwsIotCredentialProviderWithTime (PCHAR, PCHAR, PCHAR, PCHAR, PCHAR, PCHAR, GetCurrentTimeFunc, UINT64, PAwsCredentialProvider *)
 Creates an IoT based AWS credential provider object with time function which is based on libWebSockets. More...
 
PUBLIC_API STATUS freeIotCredentialProvider (PAwsCredentialProvider *)
 Frees an IoT based Aws credential provider object. More...
 
PUBLIC_API STATUS createFileCredentialProvider (PCHAR, PAwsCredentialProvider *)
 Creates a File based AWS credential provider object. More...
 
PUBLIC_API STATUS createFileCredentialProviderWithTime (PCHAR, GetCurrentTimeFunc, UINT64, PAwsCredentialProvider *)
 Creates a File based AWS credential provider object. More...
 
PUBLIC_API STATUS freeFileCredentialProvider (PAwsCredentialProvider *)
 Frees a File based Aws credential provider object. More...
 
PUBLIC_API STATUS createRequestInfo (PCHAR, PCHAR, PCHAR, PCHAR, PCHAR, PCHAR, SSL_CERTIFICATE_TYPE, PCHAR, UINT64, UINT64, UINT64, UINT64, PAwsCredentials, PRequestInfo *)
 Creates a Request Info object. More...
 
PUBLIC_API STATUS freeRequestInfo (PRequestInfo *)
 Frees a Request Info object. More...
 
PUBLIC_API STATUS signAwsRequestInfo (PRequestInfo)
 Signs a request by appending SigV4 headers. More...
 
PUBLIC_API STATUS signAwsRequestInfoQueryParam (PRequestInfo)
 Signs a request by appending SigV4 query param. More...
 
PUBLIC_API STATUS getRequestHost (PCHAR, PCHAR *, PCHAR *)
 Gets a request host string. More...
 
PUBLIC_API BOOL compareJsonString (PCHAR, jsmntok_t *, jsmntype_t, PCHAR)
 Compares JSON strings taking into account the type. More...
 
PUBLIC_API STATUS convertTimestampToEpoch (PCHAR, UINT64, PUINT64)
 Converts the timestamp string to time. More...
 
PUBLIC_API STATUS getUserAgentString (PCHAR, PCHAR, UINT32, PCHAR)
 Creates a user agent string. More...
 
PUBLIC_API STATUS requestRequiresSecureConnection (PCHAR, PBOOL)
 Checks whether the request URL requires a secure connection. More...
 
PUBLIC_API STATUS setRequestHeader (PRequestInfo, PCHAR, UINT32, PCHAR, UINT32)
 Sets a header in the request info. More...
 
PUBLIC_API STATUS removeRequestHeader (PRequestInfo, PCHAR)
 Removes a header from the headers list if exists. More...
 
PUBLIC_API STATUS removeRequestHeaders (PRequestInfo)
 Removes and deletes all headers. More...
 
PUBLIC_API STATUS createRequestHeader (PCHAR, UINT32, PCHAR, UINT32, PRequestHeader *)
 Creates a request header. More...
 
PUBLIC_API SERVICE_CALL_RESULT getServiceCallResultFromHttpStatus (UINT32)
 Convenience method to convert HTTP statuses to SERVICE_CALL_RESULT status. More...
 
PUBLIC_API STATUS releaseCallInfo (PCallInfo)
 Releases the CallInfo allocations. More...
 
PUBLIC_API STATUS createFileLogger (UINT64, UINT64, PCHAR, BOOL, BOOL, logPrintFunc *)
 Creates a file based logger object and installs the global logger callback function. More...
 
PUBLIC_API STATUS freeFileLogger ()
 Frees the static file logger object and resets the global logging function if it was previously set by the create function. More...
 
PUBLIC_API STATUS createDefaultCallbacksProviderWithAwsCredentials (PCHAR, PCHAR, PCHAR, UINT64, PCHAR, PCHAR, PCHAR, PCHAR, PClientCallbacks *)
 
PUBLIC_API STATUS createDefaultCallbacksProviderWithIotCertificate (PCHAR, PCHAR, PCHAR, PCHAR, PCHAR, PCHAR, PCHAR, PCHAR, PCHAR, PClientCallbacks *)
 
PUBLIC_API STATUS createDefaultCallbacksProviderWithIotCertificateAndTimeouts (PCHAR, PCHAR, PCHAR, PCHAR, PCHAR, PCHAR, PCHAR, PCHAR, PCHAR, UINT64, UINT64, PClientCallbacks *)
 
PUBLIC_API STATUS createDefaultCallbacksProviderWithFileAuth (PCHAR, PCHAR, PCHAR, PCHAR, PCHAR, PClientCallbacks *)
 
PUBLIC_API STATUS createDefaultCallbacksProviderWithAuthCallbacks (PAuthCallbacks, PCHAR, PCHAR, PCHAR, PCHAR, PClientCallbacks *)
 
PUBLIC_API STATUS freeCallbacksProvider (PClientCallbacks *)
 
PUBLIC_API STATUS setPlatformCallbacks (PClientCallbacks, PPlatformCallbacks)
 
PUBLIC_API STATUS addProducerCallbacks (PClientCallbacks, PProducerCallbacks)
 
PUBLIC_API STATUS addStreamCallbacks (PClientCallbacks, PStreamCallbacks)
 
PUBLIC_API STATUS addAuthCallbacks (PClientCallbacks, PAuthCallbacks)
 
PUBLIC_API STATUS addApiCallbacks (PClientCallbacks, PApiCallbacks)
 
PUBLIC_API STATUS createRealtimeVideoStreamInfoProvider (PCHAR, UINT64, UINT64, PStreamInfo *)
 
PUBLIC_API STATUS createOfflineVideoStreamInfoProvider (PCHAR, UINT64, UINT64, PStreamInfo *)
 
PUBLIC_API STATUS createRealtimeAudioVideoStreamInfoProvider (PCHAR, UINT64, UINT64, PStreamInfo *)
 
PUBLIC_API STATUS createOfflineAudioVideoStreamInfoProvider (PCHAR, UINT64, UINT64, PStreamInfo *)
 
PUBLIC_API STATUS createRealtimeVideoStreamInfoProviderWithCodecs (PCHAR, UINT64, UINT64, VIDEO_CODEC_ID, PStreamInfo *)
 
PUBLIC_API STATUS createOfflineVideoStreamInfoProviderWithCodecs (PCHAR, UINT64, UINT64, VIDEO_CODEC_ID, PStreamInfo *)
 
PUBLIC_API STATUS createRealtimeAudioVideoStreamInfoProviderWithCodecs (PCHAR, UINT64, UINT64, VIDEO_CODEC_ID, AUDIO_CODEC_ID, PStreamInfo *)
 
PUBLIC_API STATUS createOfflineAudioVideoStreamInfoProviderWithCodecs (PCHAR, UINT64, UINT64, VIDEO_CODEC_ID, AUDIO_CODEC_ID, PStreamInfo *)
 
PUBLIC_API STATUS createRealtimeAudioStreamInfoProviderWithCodecs (PCHAR, UINT64, UINT64, AUDIO_CODEC_ID, PStreamInfo *)
 
PUBLIC_API STATUS createOfflineAudioStreamInfoProviderWithCodecs (PCHAR, UINT64, UINT64, AUDIO_CODEC_ID, PStreamInfo *)
 
PUBLIC_API STATUS setStreamInfoBasedOnStorageSize (UINT32, UINT64, UINT32, PStreamInfo)
 
PUBLIC_API STATUS freeStreamInfoProvider (PStreamInfo *)
 
PUBLIC_API STATUS createDefaultDeviceInfo (PDeviceInfo *)
 
PUBLIC_API STATUS freeDeviceInfo (PDeviceInfo *)
 
PUBLIC_API STATUS setDeviceInfoStorageSize (PDeviceInfo, UINT64)
 
PUBLIC_API STATUS setDeviceInfoStorageSizeBasedOnBitrateAndBufferDuration (PDeviceInfo, UINT64, UINT64)
 
PUBLIC_API STATUS createIotAuthCallbacks (PClientCallbacks, PCHAR, PCHAR, PCHAR, PCHAR, PCHAR, PCHAR, PAuthCallbacks *)
 
PUBLIC_API STATUS createIotAuthCallbacksWithTimeouts (PClientCallbacks, PCHAR, PCHAR, PCHAR, PCHAR, PCHAR, PCHAR, UINT64, UINT64, PAuthCallbacks *)
 
PUBLIC_API STATUS freeIotAuthCallbacks (PAuthCallbacks *)
 
PUBLIC_API STATUS createFileAuthCallbacks (PClientCallbacks, PCHAR, PAuthCallbacks *)
 
PUBLIC_API STATUS freeFileAuthCallbacks (PAuthCallbacks *)
 
PUBLIC_API STATUS createStaticAuthCallbacks (PClientCallbacks, PCHAR, PCHAR, PCHAR, UINT64, PAuthCallbacks *)
 
PUBLIC_API STATUS freeStaticAuthCallbacks (PAuthCallbacks *)
 
PUBLIC_API STATUS createCredentialProviderAuthCallbacks (PClientCallbacks, PAwsCredentialProvider, PAuthCallbacks *)
 
PUBLIC_API STATUS freeCredentialProviderAuthCallbacks (PAuthCallbacks *)
 
PUBLIC_API STATUS createStreamCallbacks (PStreamCallbacks *)
 
PUBLIC_API STATUS freeStreamCallbacks (PStreamCallbacks *)
 
PUBLIC_API STATUS createContinuousRetryStreamCallbacks (PClientCallbacks, PStreamCallbacks *)
 
PUBLIC_API STATUS freeContinuousRetryStreamCallbacks (PStreamCallbacks *)
 
PUBLIC_API STATUS createAbstractDefaultCallbacksProvider (UINT32, API_CALL_CACHE_TYPE, UINT64, PCHAR, PCHAR, PCHAR, PCHAR, PCHAR, PClientCallbacks *)
 
PUBLIC_API STATUS addFileLoggerPlatformCallbacksProvider (PClientCallbacks, UINT64, UINT64, PCHAR, BOOL)
 
STATUS addFileLoggerWithFilteringPlatformCallbacksProvider (PClientCallbacks, UINT64, UINT64, PCHAR, BOOL, BOOL, UINT32)
 

Detailed Description

Public functions.

Function Documentation

◆ addApiCallbacks()

PUBLIC_API STATUS addApiCallbacks ( PClientCallbacks  pClientCallbacks,
PApiCallbacks  pApiCallbacks 
)

Appends Api callbacks

NOTE: The callbacks are appended at the end of the chain.

Parameters
[in]PClientCallbacksPointer to client callbacks
[in]PApiCallbacksPointer to api callbacks to use
Returns
STATUS code of the execution
Here is the call graph for this function:
Here is the caller graph for this function:

◆ addAuthCallbacks()

PUBLIC_API STATUS addAuthCallbacks ( PClientCallbacks  pClientCallbacks,
PAuthCallbacks  pAuthCallbacks 
)

Appends Auth callbacks

NOTE: The callbacks are appended at the end of the chain.

Parameters
[in]PClientCallbacksPointer to client callbacks
[in]PAuthCallbacksPointer to auth callbacks to use
Returns
STATUS code of the execution
Here is the call graph for this function:
Here is the caller graph for this function:

◆ addFileLoggerPlatformCallbacksProvider()

PUBLIC_API STATUS addFileLoggerPlatformCallbacksProvider ( PClientCallbacks  pClientCallbacks,
UINT64  stringBufferSize,
UINT64  maxLogFileCount,
PCHAR  logFileDir,
BOOL  printLog 
)

Use file logger instead of default logger which log to stdout. The underlying objects are automatically freed when PClientCallbacks is freed.

Parameters
[in]PClientCallbacksThe callback provider whose logPrintFn will be replaced with file logger log printing function
[in]UINT64Size of string buffer in file logger. When the string buffer is full the logger will flush everything into a new file
[in]UINT64Max number of log file. When exceeded, the oldest file will be deleted when new one is generated
[in]PCHARDirectory in which the log file will be generated
[in]BOOLprint log to std out too
Returns
STATUS code of the execution
Here is the call graph for this function:

◆ addFileLoggerWithFilteringPlatformCallbacksProvider()

STATUS addFileLoggerWithFilteringPlatformCallbacksProvider ( PClientCallbacks  pClientCallbacks,
UINT64  stringBufferSize,
UINT64  maxLogFileCount,
PCHAR  logFileDir,
BOOL  printLog,
BOOL  enableAllLevels,
UINT32  level 
)

Use file logger with level filtering instead of default logger which log to stdout. The underlying objects are automatically freed when PClientCallbacks is freed.

Parameters
[in]PClientCallbacksThe callback provider whose logPrintFn will be replaced with file logger log printing function
[in]UINT64Size of string buffer in file logger. When the string buffer is full the logger will flush everything into a new file
[in]UINT64Max number of log file. When exceeded, the oldest file will be deleted when new one is generated
[in]PCHARDirectory in which the log file will be generated
[in]BOOLEnable logging other log levels into a file
[in]UINT32Log level that needs to be filtered into another file
[in]BOOLprint log to std out too
Returns
STATUS code of the execution
Here is the call graph for this function:

◆ addProducerCallbacks()

PUBLIC_API STATUS addProducerCallbacks ( PClientCallbacks  pClientCallbacks,
PProducerCallbacks  pProducerCallbacks 
)

Appends Producer callbacks

NOTE: The callbacks are appended at the end of the chain.

Parameters
[in]PClientCallbacksPointer to client callbacks
[in]PProducerCallbacksPointer to producer callbacks to add
Returns
STATUS code of the execution
Here is the call graph for this function:
Here is the caller graph for this function:

◆ addStreamCallbacks()

PUBLIC_API STATUS addStreamCallbacks ( PClientCallbacks  pClientCallbacks,
PStreamCallbacks  pStreamCallbacks 
)

Appends Stream callbacks

NOTE: The callbacks are appended at the end of the chain.

Parameters
[in]PClientCallbacksPointer to client callbacks
[in]PStreamCallbacksPointer to stream callbacks to use
Returns
STATUS code of the execution
Here is the call graph for this function:
Here is the caller graph for this function:

◆ compareJsonString()

PUBLIC_API BOOL compareJsonString ( PCHAR  pJsonStr,
jsmntok_t *  pToken,
jsmntype_t  jsmnType,
PCHAR  pStr 
)

Compares JSON strings taking into account the type.

Parameters
[in]PCHARJSON string being parsed
[in]jsmntok_t*Jsmn token to match
[in]jsmntype_tJsmn token type to match
[in]PCHARToken name to match
Returns
STATUS code of the execution. STATUS_SUCCESS on success
Here is the caller graph for this function:

◆ convertTimestampToEpoch()

PUBLIC_API STATUS convertTimestampToEpoch ( PCHAR  expirationTimestampStr,
UINT64  nowTime,
PUINT64  pExpiration 
)

Converts the timestamp string to time.

Parameters
[in]PCHARString to covert (MUST be null terminated)
[in]UINT64Current time
[in,out]PUINT64Converted time
Returns
STATUS code of the execution. STATUS_SUCCESS on success
Here is the caller graph for this function:

◆ createAbstractDefaultCallbacksProvider()

PUBLIC_API STATUS createAbstractDefaultCallbacksProvider ( UINT32  callbackChainCount,
API_CALL_CACHE_TYPE  cacheType,
UINT64  endpointCachingPeriod,
PCHAR  region,
PCHAR  controlPlaneUrl,
PCHAR  certPath,
PCHAR  userAgentName,
PCHAR  customUserAgent,
PClientCallbacks *  ppClientCallbacks 
)

Create abstract callback provider that can hook with other callbacks

Parameters
[in]UINT32Length of callback provider calling chain
[in]API_CALL_CACHE_TYPEBackend API call caching mode
[in]UINT64Cached endpoint update period
[in,opt]PCHAR AWS region
[in]PCHARSpecific Control Plane Uri as endpoint to be called
[in,opt]PCHAR CA Cert path
[in,opt]PCHAR User agent name (Use NULL)
[in,opt]PCHAR Custom user agent to be used in the API calls
[out]PClientCallbacks*Returned pointer to callbacks provider
Returns
STATUS code of the execution
Here is the call graph for this function:
Here is the caller graph for this function:

◆ createAwsCredentials()

PUBLIC_API STATUS createAwsCredentials ( PCHAR  accessKeyId,
UINT32  accessKeyIdLen,
PCHAR  secretKey,
UINT32  secretKeyLen,
PCHAR  sessionToken,
UINT32  sessionTokenLen,
UINT64  expiration,
PAwsCredentials ppAwsCredentials 
)

Creates an AWS credentials object.

Parameters
[in]PCHARAccess Key Id
[in]UINT32Access Key Id Length excluding NULL terminator or 0 to calculate
[in]PCHARSecret Key
[in]UINT32Secret Key Length excluding NULL terminator or 0 to calculate
[in,opt]PCHAR Session Token
[in,opt]UINT32 Session Token Length excluding NULL terminator or 0 to calculate
[in]UINT64Expiration in 100ns absolute time
[out]PAwsCredentials*Constructed object
Returns
STATUS code of the execution. STATUS_SUCCESS on success

Create credentials object

Here is the call graph for this function:
Here is the caller graph for this function:

◆ createContinuousRetryStreamCallbacks()

PUBLIC_API STATUS createContinuousRetryStreamCallbacks ( PClientCallbacks  pCallbacksProvider,
PStreamCallbacks ppStreamCallbacks 
)

Creates a stream callbacks object allowing continuous retry on failures, reset logic on staleness and latency.

https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/producer-reference-callbacks.html

Parameters
[in]PCallbacksProviderPointer to callback provider
[out]PStreamCallbacks*Constructed object
Returns
STATUS code of the execution
Here is the call graph for this function:
Here is the caller graph for this function:

◆ createCredentialProviderAuthCallbacks()

PUBLIC_API STATUS createCredentialProviderAuthCallbacks ( PClientCallbacks  pCallbacksProvider,
PAwsCredentialProvider  pCredentialProvider,
PAuthCallbacks ppCredentialProviderAuthCallbacks 
)

Creates a Credentials auth callbacks from an existing Credential Provider object

NOTE: The caller is responsible for releasing the structure by calling the corresponding free API.

NOTE: The original Credential Provider object will not be released on free

Parameters
[in]PCallbacksProviderPointer to callback provider
[in]PAwsCredentialProviderCredential provider object
[in,out]PAuthCallbacks*Pointer to pointer to AuthCallback struct
Returns
STATUS status of operation

Creates Credential Provider Auth callbacks

Here is the call graph for this function:

◆ createCurlIotCredentialProvider()

PUBLIC_API STATUS createCurlIotCredentialProvider ( PCHAR  iotGetCredentialEndpoint,
PCHAR  certPath,
PCHAR  privateKeyPath,
PCHAR  caCertPath,
PCHAR  roleAlias,
PCHAR  thingName,
PAwsCredentialProvider ppCredentialProvider 
)

Creates an IoT based AWS credential provider object using libCurl.

Parameters
[in]PCHARiot endpoint
[in]PCHARcert file path
[in]PCHARprivate key file path
[in,opt]PCHAR ca cert file path
[in]PCHARrole alias
[in]PCHARiot thing name
[out]PAwsCredentialProvider*constructed AWS credentials provider object
Returns
STATUS code of the execution. STATUS_SUCCESS on success
Here is the call graph for this function:

◆ createCurlIotCredentialProviderWithTime()

PUBLIC_API STATUS createCurlIotCredentialProviderWithTime ( PCHAR  iotGetCredentialEndpoint,
PCHAR  certPath,
PCHAR  privateKeyPath,
PCHAR  caCertPath,
PCHAR  roleAlias,
PCHAR  thingName,
GetCurrentTimeFunc  getCurrentTimeFn,
UINT64  customData,
PAwsCredentialProvider ppCredentialProvider 
)

Creates an IoT based AWS credential provider object with time function which is based on libCurl.

Parameters
[in]PCHARIoT endpoint
[in]PCHARCert file path
[in]PCHARPrivate key file path
[in]PCHARCA cert file path
[in]PCHARRole alias
[in]PCHARIoT thing name
[in]GetCurrentTimeFuncCustom current time function
[in]UINT64Time function custom data
[out]PAwsCredentialProvider*Constructed AWS credentials provider object
Returns
STATUS code of the execution. STATUS_SUCCESS on success
Here is the call graph for this function:
Here is the caller graph for this function:

◆ createCurlIotCredentialProviderWithTimeAndTimeout()

PUBLIC_API STATUS createCurlIotCredentialProviderWithTimeAndTimeout ( PCHAR  iotGetCredentialEndpoint,
PCHAR  certPath,
PCHAR  privateKeyPath,
PCHAR  caCertPath,
PCHAR  roleAlias,
PCHAR  thingName,
UINT64  connectionTimeout,
UINT64  completionTimeout,
GetCurrentTimeFunc  getCurrentTimeFn,
UINT64  customData,
PAwsCredentialProvider ppCredentialProvider 
)

Creates an IoT based AWS credential provider object with time function which is based on libCurl.

Parameters
[in]PCHARIoT endpoint
[in]PCHARCert file path
[in]PCHARPrivate key file path
[in]PCHARCA cert file path
[in]PCHARRole alias
[in]PCHARIoT thing name
[in]UINT64connection timeout
[in]UINT64completion timeout
[in]GetCurrentTimeFuncCustom current time function
[in]UINT64Time function custom data
[out]PAwsCredentialProvider*Constructed AWS credentials provider object
Returns
STATUS code of the execution. STATUS_SUCCESS on success
Here is the call graph for this function:
Here is the caller graph for this function:

◆ createDefaultCallbacksProviderWithAuthCallbacks()

PUBLIC_API STATUS createDefaultCallbacksProviderWithAuthCallbacks ( PAuthCallbacks  pAuthCallbacks,
PCHAR  region,
PCHAR  caCertPath,
PCHAR  userAgentPostfix,
PCHAR  customUserAgent,
PClientCallbacks *  ppClientCallbacks 
)

Creates a default callbacks provider that uses auth callbacks as auth method.

NOTE: The caller is responsible for releasing the structure by calling the corresponding freeCallbackProvider API.

Parameters
[in]PAuthCallbacksAuth Callback for the auth
[in,opt]PCHAR AWS region
[in,opt]PCHAR CA Cert path
[in,opt]PCHAR User agent name (Use NULL)
[in,opt]PCHAR Custom user agent to be used in the API calls
[out]PClientCallbacks*Returned pointer to callbacks provider
Returns
STATUS code of the execution
Here is the call graph for this function:

◆ createDefaultCallbacksProviderWithAwsCredentials()

PUBLIC_API STATUS createDefaultCallbacksProviderWithAwsCredentials ( PCHAR  accessKeyId,
PCHAR  secretKey,
PCHAR  sessionToken,
UINT64  expiration,
PCHAR  region,
PCHAR  caCertPath,
PCHAR  userAgentPostfix,
PCHAR  customUserAgent,
PClientCallbacks *  ppClientCallbacks 
)

Creates a default callbacks provider based on static AWS credentials

NOTE: The caller is responsible for releasing the structure by calling the corresponding freeCallbackProvider API.

Parameters
[in]PCHARAccess Key Id
[in]PCHARSecret Key
[in,opt]PCHAR Session Token
[in]UINT64Expiration of the token. MAX_UINT64 if non-expiring
[in,opt]PCHAR AWS region
[in,opt]PCHAR CA Cert Path
[in,opt]PCHAR User agent name (Use NULL)
[in,out]PCHARCustom user agent to be used in the API calls
[out]PClientCallbacks*Returned pointer to callbacks provider
Returns
STATUS code of the execution

Create the default callbacks provider with AWS credentials and defaults

Here is the call graph for this function:

◆ createDefaultCallbacksProviderWithFileAuth()

PUBLIC_API STATUS createDefaultCallbacksProviderWithFileAuth ( PCHAR  credentialsFilePath,
PCHAR  region,
PCHAR  caCertPath,
PCHAR  userAgentPostfix,
PCHAR  customUserAgent,
PClientCallbacks *  ppClientCallbacks 
)

Creates a default callbacks provider that uses file-based certificate as auth method.

NOTE: The caller is responsible for releasing the structure by calling the corresponding freeCallbackProvider API.

Parameters
[in]PCHARCredential file path
[in,opt]PCHAR AWS region
[in,opt]PCHAR CA Cert path
[in,opt]PCHAR User agent name (Use NULL)
[in,opt]PCHAR Custom user agent to be used in the API calls
[out]PClientCallbacks*Returned pointer to callbacks provider
Returns
STATUS code of the execution
Here is the call graph for this function:

◆ createDefaultCallbacksProviderWithIotCertificate()

PUBLIC_API STATUS createDefaultCallbacksProviderWithIotCertificate ( PCHAR  endpoint,
PCHAR  iotCertPath,
PCHAR  privateKeyPath,
PCHAR  caCertPath,
PCHAR  roleAlias,
PCHAR  streamName,
PCHAR  region,
PCHAR  userAgentPostfix,
PCHAR  customUserAgent,
PClientCallbacks *  ppClientCallbacks 
)

Creates a default callbacks provider that uses iot certificate as auth method.

NOTE: The caller is responsible for releasing the structure by calling the corresponding freeCallbackProvider API.

Parameters
[in]PCHARIoT endpoint to use for the auth
[in]PCHARCredential cert path
[in]PCHARPrivate key path
[in,opt]PCHAR CA Cert path
[in]PCHARRole alias name
[in]PCHARIoT Thing name
[in,opt]PCHAR AWS region
[in,opt]PCHAR User agent name (Use NULL)
[in,opt]PCHAR Custom user agent to be used in the API calls
[out]PClientCallbacks*Returned pointer to callbacks provider
Returns
STATUS code of the execution
Here is the call graph for this function:

◆ createDefaultCallbacksProviderWithIotCertificateAndTimeouts()

PUBLIC_API STATUS createDefaultCallbacksProviderWithIotCertificateAndTimeouts ( PCHAR  endpoint,
PCHAR  iotCertPath,
PCHAR  privateKeyPath,
PCHAR  caCertPath,
PCHAR  roleAlias,
PCHAR  streamName,
PCHAR  region,
PCHAR  userAgentPostfix,
PCHAR  customUserAgent,
UINT64  connectionTimeout,
UINT64  completionTimeout,
PClientCallbacks *  ppClientCallbacks 
)

Creates a default callbacks provider that uses iot certificate as auth method.

NOTE: The caller is responsible for releasing the structure by calling the corresponding freeCallbackProvider API.

Parameters
[in]PCHARIoT endpoint to use for the auth
[in]PCHARCredential cert path
[in]PCHARPrivate key path
[in,opt]PCHAR CA Cert path
[in]PCHARRole alias name
[in]PCHARIoT Thing name
[in,opt]PCHAR AWS region
[in,opt]PCHAR User agent name (Use NULL)
[in,opt]PCHAR Custom user agent to be used in the API calls
[in]UINT64connection timeout
[in]UINT64completion timeout
[out]PClientCallbacks*Returned pointer to callbacks provider
Returns
STATUS code of the execution
Here is the call graph for this function:

◆ createDefaultDeviceInfo()

PUBLIC_API STATUS createDefaultDeviceInfo ( PDeviceInfo *  ppDeviceInfo)

Create deviceInfo with DEFAULT_STORAGE_SIZE amount of storage.

NOTE: The caller is responsible for releasing the structure by calling the corresponding free API.

Parameters
[out]PDeviceInfo*pointer to PDeviceInfo that will point to the created deviceInfo
Returns
STATUS status of operation
Here is the call graph for this function:

◆ createFileAuthCallbacks()

PUBLIC_API STATUS createFileAuthCallbacks ( PClientCallbacks  pCallbacksProvider,
PCHAR  pCredentialsFilepath,
PAuthCallbacks ppFileAuthCallbacks 
)

Creates the File Credentials auth callbacks

NOTE: The caller is responsible for releasing the structure by calling the corresponding free API.

Parameters
[in]PCallbacksProviderPointer to callback provider
[in]PCHARfile path for the credentials file
[in,out]PAuthCallbacks*Pointer to pointer to AuthCallback struct
Returns
STATUS status of operation

Creates File Auth callbacks

Here is the call graph for this function:
Here is the caller graph for this function:

◆ createFileCredentialProvider()

PUBLIC_API STATUS createFileCredentialProvider ( PCHAR  pCredentialsFilepath,
PAwsCredentialProvider ppCredentialProvider 
)

Creates a File based AWS credential provider object.

Parameters
[in]PCHARCredentials file path
[out]PAwsCredentialProvider*Constructed AWS credentials provider object
Returns
STATUS code of the execution. STATUS_SUCCESS on success
Here is the call graph for this function:

◆ createFileCredentialProviderWithTime()

PUBLIC_API STATUS createFileCredentialProviderWithTime ( PCHAR  pCredentialsFilepath,
GetCurrentTimeFunc  getCurrentTimeFn,
UINT64  customData,
PAwsCredentialProvider ppCredentialProvider 
)

Creates a File based AWS credential provider object.

Parameters
[in]PCHARCredentials file path
[in]GetCurrentTimeFuncCurrent time function
[in]UINT64Time function custom data
[out]PAwsCredentialProvider*Constructed AWS credentials provider object
Returns
STATUS code of the execution. STATUS_SUCCESS on success
Here is the call graph for this function:
Here is the caller graph for this function:

◆ createFileLogger()

PUBLIC_API STATUS createFileLogger ( UINT64  ,
UINT64  ,
PCHAR  ,
BOOL  ,
BOOL  ,
logPrintFunc *   
)

Creates a file based logger object and installs the global logger callback function.

Parameters
[in]UINT64Size of string buffer in file logger. When the string buffer is full the logger will flush everything into a new file
[in]UINT64Max number of log file. When exceeded, the oldest file will be deleted when new one is generated
[in]PCHARDirectory in which the log file will be generated
[in]BOOLWhether to print log to std out too
[in]BOOLWhether to set global logger function pointer
[out/opt]logPrintFunc* Optional function pointer to be returned to the caller that contains the main function for actual output
Returns
STATUS code of the execution. STATUS_SUCCESS on success
Here is the caller graph for this function:

◆ createIotAuthCallbacks()

PUBLIC_API STATUS createIotAuthCallbacks ( PClientCallbacks  pCallbacksProvider,
PCHAR  iotGetCredentialEndpoint,
PCHAR  certPath,
PCHAR  privateKeyPath,
PCHAR  caCertPath,
PCHAR  roleAlias,
PCHAR  streamName,
PAuthCallbacks ppIotAuthCallbacks 
)

Creates the Iot Credentials auth callbacks

NOTE: The caller is responsible for releasing the structure by calling the corresponding free API.

Parameters
[in]PCallbacksProviderPointer to callback provider
[in]PCHARiot credentials endpoint
[in]PCHARkvs iot certificate file path
[in]PCHARprivate key file path
[in]PCHARCA cert path
[in]PCHARiot role alias
[in]PCHARIoT thing name
[in,out]PAuthCallbacks*Pointer to pointer to AuthCallback struct
Returns
STATUS status of operation
Here is the call graph for this function:
Here is the caller graph for this function:

◆ createIotAuthCallbacksWithTimeouts()

PUBLIC_API STATUS createIotAuthCallbacksWithTimeouts ( PClientCallbacks  pCallbacksProvider,
PCHAR  iotGetCredentialEndpoint,
PCHAR  certPath,
PCHAR  privateKeyPath,
PCHAR  caCertPath,
PCHAR  roleAlias,
PCHAR  streamName,
UINT64  connectionTimeout,
UINT64  completionTimeout,
PAuthCallbacks ppIotAuthCallbacks 
)

Creates the Iot Credentials auth callbacks

NOTE: The caller is responsible for releasing the structure by calling the corresponding free API.

Parameters
[in]PCallbacksProviderPointer to callback provider
[in]PCHARiot credentials endpoint
[in]PCHARkvs iot certificate file path
[in]PCHARprivate key file path
[in]PCHARCA cert path
[in]PCHARiot role alias
[in]PCHARIoT thing name
[in]UINT64connection timeout
[in]UINT64completion timeout
[in,out]PAuthCallbacks*Pointer to pointer to AuthCallback struct
Returns
STATUS status of operation
Here is the call graph for this function:
Here is the caller graph for this function:

◆ createLwsIotCredentialProvider()

PUBLIC_API STATUS createLwsIotCredentialProvider ( PCHAR  iotGetCredentialEndpoint,
PCHAR  certPath,
PCHAR  privateKeyPath,
PCHAR  caCertPath,
PCHAR  roleAlias,
PCHAR  thingName,
PAwsCredentialProvider ppCredentialProvider 
)

Creates an IoT based AWS credential provider object using libWebSockets.

Parameters
[in]PCHARIoT endpoint
[in]PCHARCert file path
[in]PCHARPrivate key file path
[in,opt]PCHAR CA cert file path
[in]PCHARRole alias
[in]PCHARIoT thing name
[out]PAwsCredentialProvider*Constructed AWS credentials provider object
Returns
STATUS code of the execution. STATUS_SUCCESS on success
Here is the call graph for this function:

◆ createLwsIotCredentialProviderWithTime()

PUBLIC_API STATUS createLwsIotCredentialProviderWithTime ( PCHAR  iotGetCredentialEndpoint,
PCHAR  certPath,
PCHAR  privateKeyPath,
PCHAR  caCertPath,
PCHAR  roleAlias,
PCHAR  thingName,
GetCurrentTimeFunc  getCurrentTimeFn,
UINT64  customData,
PAwsCredentialProvider ppCredentialProvider 
)

Creates an IoT based AWS credential provider object with time function which is based on libWebSockets.

Parameters
[in]PCHARIoT endpoint
[in]PCHARCert file path
[in]PCHARPrivate key file path
[in]PCHARCA cert file path
[in]PCHARRole alias
[in]PCHARIoT thing name
[in]GetCurrentTimeFuncCustom current time function
[in]UINT64function custom data
[out]PAwsCredentialProvider*Constructed AWS credentials provider object
Returns
STATUS code of the execution. STATUS_SUCCESS on success
Here is the call graph for this function:
Here is the caller graph for this function:

◆ createOfflineAudioStreamInfoProviderWithCodecs()

PUBLIC_API STATUS createOfflineAudioStreamInfoProviderWithCodecs ( PCHAR  streamName,
UINT64  retention,
UINT64  bufferDuration,
AUDIO_CODEC_ID  audioCodecId,
PStreamInfo *  ppStreamInfo 
)

Creates Stream Info for Offline Audio only Streaming Scenario

NOTE: The caller is responsible for releasing the structure by calling the corresponding free API.

Parameters
[in,opt]PCHAR stream name
[in]UINT64retention in 100ns time unit
[in]UINT64buffer duration in 100ns time unit
[in]AUDIO_CODEC_IDCodec ID of the audio(AAC/PCM_ALAW/PCM_MULAW)
[out]PStreamInfo*Constructed object
Returns
STATUS code of the execution
Here is the call graph for this function:

◆ createOfflineAudioVideoStreamInfoProvider()

PUBLIC_API STATUS createOfflineAudioVideoStreamInfoProvider ( PCHAR  streamName,
UINT64  retention,
UINT64  bufferDuration,
PStreamInfo *  ppStreamInfo 
)

Creates Stream Info for Offline Audio Video Streaming Scenario

NOTE: The caller is responsible for releasing the structure by calling the corresponding free API.

Parameters
[in,opt]PCHAR stream name
[in]UINT64retention in 100ns time unit
[in]UINT64buffer duration in 100ns time unit
[out]PStreamInfo*Constructed object
Returns
STATUS code of the execution
Here is the call graph for this function:

◆ createOfflineAudioVideoStreamInfoProviderWithCodecs()

PUBLIC_API STATUS createOfflineAudioVideoStreamInfoProviderWithCodecs ( PCHAR  streamName,
UINT64  retention,
UINT64  bufferDuration,
VIDEO_CODEC_ID  videoCodecId,
AUDIO_CODEC_ID  audioCodecId,
PStreamInfo *  ppStreamInfo 
)

Creates Stream Info for Offline Audio Video Streaming Scenario

NOTE: The caller is responsible for releasing the structure by calling the corresponding free API.

Parameters
[in,opt]PCHAR stream name
[in]UINT64retention in 100ns time unit
[in]UINT64buffer duration in 100ns time unit
[in]VIDEO_CODEC_IDCodec ID of the video(H.264/H.265)
[in]AUDIO_CODEC_IDCodec ID of the audio(AAC/PCM_ALAW/PCM_MULAW)
[out]PStreamInfo*Constructed object
Returns
STATUS code of the execution
Here is the call graph for this function:

◆ createOfflineVideoStreamInfoProvider()

PUBLIC_API STATUS createOfflineVideoStreamInfoProvider ( PCHAR  streamName,
UINT64  retention,
UINT64  bufferDuration,
PStreamInfo *  ppStreamInfo 
)

Creates Stream Info for Offline Video Streaming Scenario.

NOTE: The caller is responsible for releasing the structure by calling the corresponding free API.

Parameters
[in,opt]PCHAR stream name
[in]UINT64etention in 100ns time unit. Should be greater than 0.
[in]UINT64buffer duration in 100ns time unit
[out]PStreamInfo*Constructed object
Returns
STATUS code of the execution
Here is the call graph for this function:

◆ createOfflineVideoStreamInfoProviderWithCodecs()

PUBLIC_API STATUS createOfflineVideoStreamInfoProviderWithCodecs ( PCHAR  streamName,
UINT64  retention,
UINT64  bufferDuration,
VIDEO_CODEC_ID  videoCodecId,
PStreamInfo *  ppStreamInfo 
)

Creates Stream Info for Offline Video Streaming Scenario.

NOTE: The caller is responsible for releasing the structure by calling the corresponding free API.

Parameters
[in,opt]PCHAR stream name
[in]UINT64etention in 100ns time unit. Should be greater than 0.
[in]UINT64buffer duration in 100ns time unit
[in]VIDEO_CODEC_IDCodec ID of the video(H.264/H.265)
[out]PStreamInfo*Constructed object
Returns
STATUS code of the execution
Here is the call graph for this function:

◆ createRealtimeAudioStreamInfoProviderWithCodecs()

PUBLIC_API STATUS createRealtimeAudioStreamInfoProviderWithCodecs ( PCHAR  streamName,
UINT64  retention,
UINT64  bufferDuration,
AUDIO_CODEC_ID  audioCodecId,
PStreamInfo *  ppStreamInfo 
)

Creates Stream Info for RealTime Audio only Streaming Scenario

NOTE: The caller is responsible for releasing the structure by calling the corresponding free API.

Parameters
[in,opt]PCHAR stream name
[in]UINT64retention in 100ns time unit
[in]UINT64buffer duration in 100ns time unit
[in]AUDIO_CODEC_IDCodec ID of the audio(AAC/PCM_ALAW/PCM_MULAW)
[out]PStreamInfo*Constructed object
Returns
STATUS code of the execution
Here is the call graph for this function:

◆ createRealtimeAudioVideoStreamInfoProvider()

PUBLIC_API STATUS createRealtimeAudioVideoStreamInfoProvider ( PCHAR  streamName,
UINT64  retention,
UINT64  bufferDuration,
PStreamInfo *  ppStreamInfo 
)

Creates Stream Info for RealTime Audio Video Streaming Scenario

NOTE: The caller is responsible for releasing the structure by calling the corresponding free API.

Parameters
[in,opt]PCHAR stream name
[in]UINT64retention in 100ns time unit
[in]UINT64buffer duration in 100ns time unit
[out]PStreamInfo*Constructed object
Returns
STATUS code of the execution
Here is the call graph for this function:

◆ createRealtimeAudioVideoStreamInfoProviderWithCodecs()

PUBLIC_API STATUS createRealtimeAudioVideoStreamInfoProviderWithCodecs ( PCHAR  streamName,
UINT64  retention,
UINT64  bufferDuration,
VIDEO_CODEC_ID  videoCodecId,
AUDIO_CODEC_ID  audioCodecId,
PStreamInfo *  ppStreamInfo 
)

Creates Stream Info for RealTime Audio Video Streaming Scenario

NOTE: The caller is responsible for releasing the structure by calling the corresponding free API.

Parameters
[in,opt]PCHAR stream name
[in]UINT64retention in 100ns time unit
[in]UINT64buffer duration in 100ns time unit
[in]VIDEO_CODEC_IDCodec ID of the video(H.264/H.265)
[in]AUDIO_CODEC_IDCodec ID of the audio(AAC/PCM_ALAW/PCM_MULAW)
[out]PStreamInfo*Constructed object
Returns
STATUS code of the execution
Here is the call graph for this function:

◆ createRealtimeVideoStreamInfoProvider()

PUBLIC_API STATUS createRealtimeVideoStreamInfoProvider ( PCHAR  streamName,
UINT64  retention,
UINT64  bufferDuration,
PStreamInfo *  ppStreamInfo 
)

Creates Stream Info for RealTime Streaming Scenario using default values.

NOTE: The caller is responsible for releasing the structure by calling the corresponding free API.

Parameters
[in,opt]PCHAR stream name
[in]UINT64retention in 100ns time unit
[in]UINT64buffer duration in 100ns time unit
[out]PStreamInfo*Constructed object
Returns
STATUS code of the execution
Here is the call graph for this function:

◆ createRealtimeVideoStreamInfoProviderWithCodecs()

PUBLIC_API STATUS createRealtimeVideoStreamInfoProviderWithCodecs ( PCHAR  streamName,
UINT64  retention,
UINT64  bufferDuration,
VIDEO_CODEC_ID  videoCodecId,
PStreamInfo *  ppStreamInfo 
)

Creates Stream Info for RealTime Streaming Scenario using default values.

NOTE: The caller is responsible for releasing the structure by calling the corresponding free API.

Parameters
[in,opt]PCHAR stream name
[in]UINT64retention in 100ns time unit
[in]UINT64buffer duration in 100ns time unit
[in]VIDEO_CODEC_IDCodec ID of the video(H.264/H.265)
[out]PStreamInfo*Constructed object
Returns
STATUS code of the execution
Here is the call graph for this function:

◆ createRequestHeader()

PUBLIC_API STATUS createRequestHeader ( PCHAR  headerName,
UINT32  headerNameLen,
PCHAR  headerValue,
UINT32  headerValueLen,
PRequestHeader ppHeader 
)

Creates a request header.

Parameters
[in]PCHARHeader name
[in]UINT32Header name length
[in]PCHARHeader value
[in]UINT32Header value length
[out]PRequestHeader*Resulting object
Returns
STATUS code of the execution. STATUS_SUCCESS on success
Here is the caller graph for this function:

◆ createRequestInfo()

PUBLIC_API STATUS createRequestInfo ( PCHAR  url,
PCHAR  body,
PCHAR  region,
PCHAR  certPath,
PCHAR  sslCertPath,
PCHAR  sslPrivateKeyPath,
SSL_CERTIFICATE_TYPE  certType,
PCHAR  userAgent,
UINT64  connectionTimeout,
UINT64  completionTimeout,
UINT64  lowSpeedLimit,
UINT64  lowSpeedTimeLimit,
PAwsCredentials  pAwsCredentials,
PRequestInfo ppRequestInfo 
)

Creates a Request Info object.

Parameters
[in]PCHARURL of the request
[in,opt]PCHAR Body of the request
[in]PCHARRegion
[in,opt]PCHAR CA Certificate path/file
[in,opt]PCHAR SSL Certificate path/file
[in,opt]PCHAR SSL Certificate private key file path
[in,opt]SSL_CERTIFICATE_TYPE SSL certificate file type
[in,opt]PCHAR User agent string
[in]UINT64Connection timeout
[in]UINT64Completion timeout
[in,opt]UINT64 Low speed limit
[in,opt]UINT64 Low speed time limit
[in,opt]PAwsCredentials Credentials to use for the call
[in,out]PRequestInfo*The newly created object
Returns
STATUS code of the execution. STATUS_SUCCESS on success
Here is the call graph for this function:
Here is the caller graph for this function:

◆ createStaticAuthCallbacks()

PUBLIC_API STATUS createStaticAuthCallbacks ( PClientCallbacks  pCallbacksProvider,
PCHAR  accessKeyId,
PCHAR  secretKey,
PCHAR  sessionToken,
UINT64  expiration,
PAuthCallbacks ppStaticAuthCallbacks 
)

Creates a Static Credentials auth callbacks

NOTE: The caller is responsible for releasing the structure by calling the corresponding free API.

Parameters
[in]PCallbacksProviderPointer to callback provider
[in]PCHARAccess key id
[in]PCHARSecret key
[in,opt]PCHAR Session token
[in]UINT64Expiration absolute time in 100ns
[in,out]PAuthCallbacks*Pointer to pointer to AuthCallback struct
Returns
STATUS status of operation

Creates Static Auth callbacks

Here is the call graph for this function:
Here is the caller graph for this function:

◆ createStaticCredentialProvider()

PUBLIC_API STATUS createStaticCredentialProvider ( PCHAR  accessKeyId,
UINT32  accessKeyIdLen,
PCHAR  secretKey,
UINT32  secretKeyLen,
PCHAR  sessionToken,
UINT32  sessionTokenLen,
UINT64  expiration,
PAwsCredentialProvider ppCredentialProvider 
)

Creates a Static AWS credential provider object.

Parameters
[in]PCHARAWS Access Key Id
[in]UINT32Access Key Id Length excluding NULL terminator or 0 to calculate
[in]PCHARAWS Secret Key
[in]UINT32Secret Key Length excluding NULL terminator or 0 to calculate
[in,opt]PCHAR Session Token
[in,opt]UINT32 Session Token Length excluding NULL terminator or 0 to calculate
[in]UINT64Expiration in 100ns absolute time
[out]PAwsCredentialProvider*Constructed AWS credentials provider object
Returns
STATUS code of the execution. STATUS_SUCCESS on success
Here is the call graph for this function:
Here is the caller graph for this function:

◆ createStreamCallbacks()

PUBLIC_API STATUS createStreamCallbacks ( PStreamCallbacks ppStreamCallbacks)

Creates StreamCallbacks struct

NOTE: The caller is responsible for releasing the structure by calling the corresponding free API.

Parameters
[out]PStreamCallbacks*Constructed object
Returns
STATUS code of the execution
Here is the call graph for this function:

◆ deserializeAwsCredentials()

PUBLIC_API STATUS deserializeAwsCredentials ( PBYTE  token)

@ brief Deserialize an AWS credentials object, adapt the accessKey/secretKey/sessionToken pointer to offset following the AwsCredential structure

Parameters
[in]PBYTEToken to be deserialized.
Returns
STATUS code of the execution. STATUS_SUCCESS on success
Here is the caller graph for this function:

◆ freeAwsCredentials()

PUBLIC_API STATUS freeAwsCredentials ( PAwsCredentials ppAwsCredentials)

Frees an Aws credentials object.

Parameters
[in,out]PAwsCredentials*Credentials object to be destroyed.
Returns
STATUS code of the execution. STATUS_SUCCESS on success
Here is the caller graph for this function:

◆ freeCallbacksProvider()

PUBLIC_API STATUS freeCallbacksProvider ( PClientCallbacks *  ppClientCallbacks)

Releases and frees the callbacks provider structure.

NOTE: The caller is responsible for releasing the structure by calling the corresponding free API.

Parameters
[in,out]PClientCallbacks*Pointer to callbacks provider to free
Returns
STATUS code of the execution

Frees the callbacks provider

NOTE: The caller should have passed a pointer which was previously created by the corresponding function NOTE: The call is idempotent

Here is the caller graph for this function:

◆ freeContinuousRetryStreamCallbacks()

PUBLIC_API STATUS freeContinuousRetryStreamCallbacks ( PStreamCallbacks ppStreamCallbacks)

Frees a previously constructed continuous stream callbacks object

Parameters
[in,out,opt]PStreamCallbacks* Object to be destroyed.
Returns
STATUS code of the execution
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freeCredentialProviderAuthCallbacks()

PUBLIC_API STATUS freeCredentialProviderAuthCallbacks ( PAuthCallbacks ppCredentialProviderAuthCallbacks)

Frees the Credential Provider based auth callback

NOTE: The underlying credential provider object will not be freed

Parameters
[in,out]PAuthCallbacks*pointer to AuthCallback provider object
Returns
STATUS status of operation

Frees the Credential Provider based Auth callbacks object

NOTE: The caller should have passed a pointer which was previously created by the corresponding function NOTE: The underlying credential provider object will not be freed

Here is the caller graph for this function:

◆ freeDeviceInfo()

PUBLIC_API STATUS freeDeviceInfo ( PDeviceInfo *  ppDeviceInfo)

Frees the DeviceInfo provider object.

Parameters
[in,out]PDeviceInfo*pointer to PDeviceInfo provider that will be freed
Returns
STATUS status of operation
Here is the caller graph for this function:

◆ freeFileAuthCallbacks()

PUBLIC_API STATUS freeFileAuthCallbacks ( PAuthCallbacks ppAuthCallbacks)

Frees the File Credential auth callbacks

Parameters
[in,out]PAuthCallbacks*pointer to AuthCallback provider object
Returns
STATUS status of operation

Frees the File Auth callbacks object

NOTE: The caller should have passed a pointer which was previously created by the corresponding function

Here is the call graph for this function:
Here is the caller graph for this function:

◆ freeFileCredentialProvider()

PUBLIC_API STATUS freeFileCredentialProvider ( PAwsCredentialProvider ppCredentialProvider)

Frees a File based Aws credential provider object.

Parameters
[in,out]PAwsCredentialProvider*Object to be destroyed.
Returns
STATUS code of the execution. STATUS_SUCCESS on success
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freeFileLogger()

PUBLIC_API STATUS freeFileLogger ( )

Frees the static file logger object and resets the global logging function if it was previously set by the create function.

Returns
STATUS code of the execution. STATUS_SUCCESS on success
Here is the caller graph for this function:

◆ freeIotAuthCallbacks()

PUBLIC_API STATUS freeIotAuthCallbacks ( PAuthCallbacks ppIotAuthCallbacks)

Frees the Iot Credential auth callbacks

Parameters
[in,out]PAuthCallbacks*pointer to AuthCallback provider object
Returns
STATUS status of operation

Frees the IotCredential Auth callback object

NOTE: The caller should have passed a pointer which was previously created by the corresponding function

Here is the call graph for this function:
Here is the caller graph for this function:

◆ freeIotCredentialProvider()

PUBLIC_API STATUS freeIotCredentialProvider ( PAwsCredentialProvider ppCredentialProvider)

Frees an IoT based Aws credential provider object.

Parameters
[in,out]PAwsCredentialProvider*Object to be destroyed.
Returns
STATUS code of the execution. STATUS_SUCCESS on success
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freeRequestInfo()

PUBLIC_API STATUS freeRequestInfo ( PRequestInfo ppRequestInfo)

Frees a Request Info object.

Parameters
[in,out]PRequestInfo*The object to release
Returns
STATUS code of the execution. STATUS_SUCCESS on success
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freeStaticAuthCallbacks()

PUBLIC_API STATUS freeStaticAuthCallbacks ( PAuthCallbacks ppStaticAuthCallbacks)

Frees the Static Credential auth callback

Parameters
[in,out]PAuthCallbacks*pointer to AuthCallback provider object
Returns
STATUS status of operation

Frees the Static Auth callbacks object

NOTE: The caller should have passed a pointer which was previously created by the corresponding function

Here is the call graph for this function:
Here is the caller graph for this function:

◆ freeStaticCredentialProvider()

PUBLIC_API STATUS freeStaticCredentialProvider ( PAwsCredentialProvider ppCredentialProvider)

Frees a Static Aws credential provider object.

Parameters
[in,out]PAwsCredentialProvider*Object to be destroyed.
Returns
STATUS code of the execution. STATUS_SUCCESS on success
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freeStreamCallbacks()

PUBLIC_API STATUS freeStreamCallbacks ( PStreamCallbacks ppStreamCallbacks)

Frees StreamCallbacks struct

Parameters
[in,out]PStreamCallbacks*the object to be freed
Returns
STATUS code of the execution
Here is the caller graph for this function:

◆ freeStreamInfoProvider()

PUBLIC_API STATUS freeStreamInfoProvider ( PStreamInfo *  ppStreamInfo)

Frees the StreamInfo provider object.

Parameters
[in,out]PStreamInfo*StreamInfo provider object to be freed
Returns
STATUS code of the execution
Here is the caller graph for this function:

◆ getRequestHost()

PUBLIC_API STATUS getRequestHost ( PCHAR  pUrl,
PCHAR *  ppStart,
PCHAR *  ppEnd 
)

Gets a request host string.

Parameters
[in]PCHARRequest URL
[out]PCHAR*The request host start character. NULL on error.
[out]PCHAR*The request host end character. NULL on error.
Returns
STATUS code of the execution. STATUS_SUCCESS on success
Here is the caller graph for this function:

◆ getServiceCallResultFromHttpStatus()

PUBLIC_API SERVICE_CALL_RESULT getServiceCallResultFromHttpStatus ( UINT32  httpStatus)

Convenience method to convert HTTP statuses to SERVICE_CALL_RESULT status.

Parameters
[in]UINT32http_status the HTTP status code of the call
Returns
SERVICE_CALL_RESULT The HTTP status translated into a SERVICE_CALL_RESULT value.
Here is the caller graph for this function:

◆ getUserAgentString()

PUBLIC_API STATUS getUserAgentString ( PCHAR  userAgentName,
PCHAR  customUserAgent,
UINT32  len,
PCHAR  pUserAgent 
)

Creates a user agent string.

Parameters
[in]PCHARUser agent name
[in]PCHARCustom user agent string
[in]UINT32Length of the string
[out]PCHARCombined user agent string
Returns
STATUS code of the execution. STATUS_SUCCESS on success
Here is the caller graph for this function:

◆ releaseCallInfo()

PUBLIC_API STATUS releaseCallInfo ( PCallInfo  pCallInfo)

Releases the CallInfo allocations.

Parameters
[in]PCallInfoCall info object to release
Returns
STATUS code of the execution. STATUS_SUCCESS on success
Here is the caller graph for this function:

◆ removeRequestHeader()

PUBLIC_API STATUS removeRequestHeader ( PRequestInfo  pRequestInfo,
PCHAR  headerName 
)

Removes a header from the headers list if exists.

Parameters
[in]PRequestInfoRequest Info object
[in]PCHARHeader name to check and remove
Returns
STATUS code of the execution. STATUS_SUCCESS on success

◆ removeRequestHeaders()

PUBLIC_API STATUS removeRequestHeaders ( PRequestInfo  pRequestInfo)

Removes and deletes all headers.

Parameters
[in]PRequestInfoRequest Info object
Returns
STATUS code of the execution. STATUS_SUCCESS on success
Here is the caller graph for this function:

◆ requestRequiresSecureConnection()

PUBLIC_API STATUS requestRequiresSecureConnection ( PCHAR  pUrl,
PBOOL  pSecure 
)

Checks whether the request URL requires a secure connection.

Parameters
[in]PCHARRequest URL
[out]PBOOLreturned value
Returns
STATUS code of the execution. STATUS_SUCCESS on success
Here is the caller graph for this function:

◆ setDeviceInfoStorageSize()

PUBLIC_API STATUS setDeviceInfoStorageSize ( PDeviceInfo  pDeviceInfo,
UINT64  storageSize 
)

Can be called after createDefaultDeviceInfo, set the storage size to storageSize.

Parameters
[in]PDeviceInfopointer to the target object
[in]UINT64Buffer storage size in bytes
Returns
STATUS status of operation
Here is the caller graph for this function:

◆ setDeviceInfoStorageSizeBasedOnBitrateAndBufferDuration()

PUBLIC_API STATUS setDeviceInfoStorageSizeBasedOnBitrateAndBufferDuration ( PDeviceInfo  pDeviceInfo,
UINT64  averageBitsPerSecond,
UINT64  bufferDuration 
)

Can be called after createDefaultDeviceInfo, calculate the storage size based on averageBitRate and bufferDuration, the call initDeviceInfoStorageInMemoryFixedSize to set storage size.

Parameters
[in]PDeviceInfopointer to the target object
[in]UINT64bitrate in bits per second
[in]UINT64buffer duration in 100ns
Returns
STATUS status of operation
Here is the call graph for this function:

◆ setPlatformCallbacks()

PUBLIC_API STATUS setPlatformCallbacks ( PClientCallbacks  pClientCallbacks,
PPlatformCallbacks  pPlatformCallbacks 
)

Sets the Platform callbacks.

NOTE: The existing Platform callbacks are overwritten.

Parameters
[in]PClientCallbacksPointer to client callbacks
[in]
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setRequestHeader()

PUBLIC_API STATUS setRequestHeader ( PRequestInfo  pRequestInfo,
PCHAR  headerName,
UINT32  headerNameLen,
PCHAR  headerValue,
UINT32  headerValueLen 
)

Sets a header in the request info.

Parameters
[in]PRequestInfoRequest Info object
[in]PCHARHeader name
[in,opt]UINT32 Header name length. Calculated if 0
[in]PCHARHeader value
[in,opt]UINT32 Header value length. Calculated if 0
Returns
STATUS code of the execution. STATUS_SUCCESS on success
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setStreamInfoBasedOnStorageSize()

PUBLIC_API STATUS setStreamInfoBasedOnStorageSize ( UINT32  storageSize,
UINT64  avgBitrate,
UINT32  totalStreamCount,
PStreamInfo  pStreamInfo 
)

Configure streaminfo based on given storage size and average bitrate Will change buffer duration, stream latency duration.

Parameters
[in]UINT32Storage size in bytes
[in]UINT64Total average bitrate for all tracks. Unit: bits per second
[in]UINT32Total number of streams per kinesisVideoStreamClient
[out]PStreamInfo
Returns
STATUS code of the execution

◆ signAwsRequestInfo()

PUBLIC_API STATUS signAwsRequestInfo ( PRequestInfo  pRequestInfo)

Signs a request by appending SigV4 headers.

Parameters
[in,out]PRequestInfo*request info for signing
Returns
STATUS code of the execution. STATUS_SUCCESS on success
Here is the call graph for this function:
Here is the caller graph for this function:

◆ signAwsRequestInfoQueryParam()

PUBLIC_API STATUS signAwsRequestInfoQueryParam ( PRequestInfo  pRequestInfo)

Signs a request by appending SigV4 query param.

Parameters
[in,out]PRequestInfo*Request info for signing
Returns
STATUS code of the execution. STATUS_SUCCESS on success
Here is the call graph for this function: