AWS IoT Device SDK C: Jobs
AWS IoT Jobs library
Return to main page ↑
aws_iot_jobs_static_memory.c File Reference

Implementation of Jobs static memory functions. More...

#include "iot_config.h"
#include <stdbool.h>
#include <stddef.h>
#include <string.h>
#include "iot_static_memory.h"
#include "private/aws_iot_jobs_internal.h"

Macros

#define JOBS_OPERATION_SIZE   ( sizeof( _jobsOperation_t ) + JOBS_MAX_ID_LENGTH )
 The size of a static memory Jobs operation. More...
 
#define JOBS_SUBSCRIPTION_SIZE   ( sizeof( _jobsSubscription_t ) + AWS_IOT_MAX_THING_NAME_LENGTH )
 The size of a static memory Jobs subscription. More...
 

Functions

void * AwsIotJobs_MallocOperation (size_t size)
 Allocate a _jobsOperation_t. This function should have the same signature as malloc.
 
void AwsIotJobs_FreeOperation (void *ptr)
 Free a _jobsOperation_t. This function should have the same signature as free.
 
void * AwsIotJobs_MallocSubscription (size_t size)
 Allocate a _jobsSubscription_t. This function should have the same signature as malloc.
 
void AwsIotJobs_FreeSubscription (void *ptr)
 Free a _jobsSubscription_t. This function should have the same signature as free.
 

Variables

static uint32_t _pInUseJobsOperations [AWS_IOT_JOBS_MAX_IN_PROGRESS_OPERATIONS] = { 0U }
 Jobs operation in-use flags.
 
static char _pJobsOperations [AWS_IOT_JOBS_MAX_IN_PROGRESS_OPERATIONS][JOBS_OPERATION_SIZE] = { { 0 } }
 Jobs operations.
 
static uint32_t _pInUseJobsSubscriptions [AWS_IOT_JOBS_SUBSCRIPTIONS] = { 0U }
 Jobs subscription in-use flags.
 
static char _pJobsSubscriptions [AWS_IOT_JOBS_SUBSCRIPTIONS][JOBS_SUBSCRIPTION_SIZE] = { { 0 } }
 Jobs subscriptions.
 

Detailed Description

Implementation of Jobs static memory functions.

Macro Definition Documentation

◆ JOBS_OPERATION_SIZE

#define JOBS_OPERATION_SIZE   ( sizeof( _jobsOperation_t ) + JOBS_MAX_ID_LENGTH )

The size of a static memory Jobs operation.

Since the pJobId member of _jobsOperation_t is variable-length, the constant JOBS_MAX_ID_LENGTH is used for the length of _jobsOperation_t.pJobId.

◆ JOBS_SUBSCRIPTION_SIZE

#define JOBS_SUBSCRIPTION_SIZE   ( sizeof( _jobsSubscription_t ) + AWS_IOT_MAX_THING_NAME_LENGTH )

The size of a static memory Jobs subscription.

Since the pThingName member of _jobsSubscription_t is variable-length, the constant AWS_IOT_MAX_THING_NAME_LENGTH is used for the length of _jobsSubscription_t.pThingName.