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

Implementation of Shadow 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_shadow_internal.h"

Macros

#define SHADOW_SUBSCRIPTION_SIZE   ( sizeof( _shadowSubscription_t ) + ( size_t ) AWS_IOT_MAX_THING_NAME_LENGTH )
 The size of a static memory Shadow subscription. More...
 

Functions

void * AwsIotShadow_MallocOperation (size_t size)
 Allocate a _shadowOperation_t. This function should have the same signature as malloc.
 
void AwsIotShadow_FreeOperation (void *ptr)
 Free a _shadowOperation_t. This function should have the same signature as free.
 
void * AwsIotShadow_MallocSubscription (size_t size)
 Allocate a _shadowSubscription_t. This function should have the same signature as malloc.
 
void AwsIotShadow_FreeSubscription (void *ptr)
 Free a _shadowSubscription_t. This function should have the same signature as free.
 

Variables

static uint32_t _pInUseShadowOperations [AWS_IOT_SHADOW_MAX_IN_PROGRESS_OPERATIONS] = { 0U }
 Shadow operation in-use flags.
 
static _shadowOperation_t _pShadowOperations [AWS_IOT_SHADOW_MAX_IN_PROGRESS_OPERATIONS] = { { .link = { 0 } } }
 Shadow operations.
 
static uint32_t _pInUseShadowSubscriptions [AWS_IOT_SHADOW_SUBSCRIPTIONS] = { 0U }
 Shadow subscription in-use flags.
 
static char _pShadowSubscriptions [AWS_IOT_SHADOW_SUBSCRIPTIONS][SHADOW_SUBSCRIPTION_SIZE] = { { '\0' } }
 Shadow subscriptions.
 

Detailed Description

Implementation of Shadow static memory functions.

Macro Definition Documentation

◆ SHADOW_SUBSCRIPTION_SIZE

#define SHADOW_SUBSCRIPTION_SIZE   ( sizeof( _shadowSubscription_t ) + ( size_t ) AWS_IOT_MAX_THING_NAME_LENGTH )

The size of a static memory Shadow subscription.

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