CAM API Documentation
 All Data Structures Files Functions Typedefs Enumerations Enumerator Groups Pages
cam.h File Reference

Detailed Description

Public cam argument configuration and error codes

#include <stdint.h>
#include <stdbool.h>
#include <stdlib.h>

Macros

#define CAM_DEBUG_NONE
 
#define CAM_OPTIMIZE_NONE
 

Enumerations

enum  cam_errnos { ,
  CAM_ERROR_FORMAT_SYNTAX,
  CAM_ERROR_TOO_MANY_FIELDS,
  CAM_ERROR_TOO_MANY_RANGES,
  CAM_ERROR_INVALID_RANGE_LEN,
  CAM_ERROR_INVALID_RANGE_START,
  CAM_ERROR_INVALID_PREFIX_LEN,
  CAM_ERROR_INVALID_PREFIX_START,
  CAM_ERROR_INVALID_PREFIX_KEY,
  CAM_ERROR_INVALID_BIT_FIELD_LEN,
  CAM_ERROR_INVALID_BIT_FIELD_START,
  CAM_ERROR_INVALID_CONST_FIELD_LEN,
  CAM_ERROR_INVALID_CONST_FIELD_START,
  CAM_ERROR_INVALID_UNUSED_FIELD_LEN,
  CAM_ERROR_INVALID_UNUSED_FIELD_START,
  CAM_ERROR_MAX_KEY_LEN_EXCEED,
  CAM_ERROR_INVALID_PRIO_AND_INDEX_WIDTH,
  CAM_ERROR_TOO_MANY_UNITS,
  CAM_ERROR_NO_MASK,
  CAM_ERROR_INVALID_MEMORY_WIDTH,
  CAM_ERROR_UNSUPPORTED_COMMAND,
  CAM_ERROR_ENVIRONMENT,
  CAM_ERROR_UNSUPPORTED_CAM_TYPE,
  CAM_ERROR_NULL_POINTER,
  CAM_ERROR_TOO_MANY_PCS,
  CAM_ERROR_CONFIGURATION,
  CAM_ERROR_ENVIRONMENT_FSMBUSY,
  CAM_ERROR_ENVIRONMENT_POLLED_OUT,
  CAM_ERROR_SEGMENT_COUNT_ZERO,
  CAM_ERROR_VC_UNSUPPORTED_COMMAND,
  CAM_ERROR_WRONG_VIRTUAL_CAM_ID,
  CAM_ERROR_WRONG_SEGMENT_NUMBER,
  CAM_ERROR_TOO_MANY_RAMS,
  CAM_ERROR_FOUND_IN_SHADOW_BUT_NOT_IN_HW,
  CAM_ERROR_TOO_SMALL_HEAP,
  CAM_ERROR_RAM_TOO_SMALL,
  CAM_ERROR_NOT_EMPTY,
  CAM_ERROR_STATISTICS_NOT_AVAILABLE
}
 

Functions

int cam_arg_create (cam_arg_t **out_cam_arg)
 
void cam_arg_init (cam_arg_t *out_cam_arg)
 
size_t cam_arg_size (void)
 
void cam_arg_destroy (cam_arg_t *cam_arg)
 
int cam_arg_set_format (cam_arg_t *cam_arg, char *format)
 
void cam_arg_set_inst_ctx (cam_arg_t *cam_arg, void *inst_ctx)
 
void cam_arg_set_hw_write_function (cam_arg_t *cam_arg, void(*hw_write_function)(void *, uint32_t, uint32_t))
 
void cam_arg_set_hw_read_function (cam_arg_t *cam_arg, void(*hw_read_function)(void *, uint32_t, uint32_t *))
 
int cam_arg_set_hw_io (cam_arg_t *cam_arg, unsigned hw_block, void(*hw_write_function)(void *, uint32_t, uint32_t), void(*hw_read_function)(void *, uint32_t, uint32_t *))
 
void cam_arg_set_num_entries (cam_arg_t *cam_arg, uint32_t num_entries)
 
void cam_arg_set_engine_lookup_rate (struct cam_arg_t *cam_arg, float lookup_rate)
 
void cam_arg_set_lookup_interface_freq (struct cam_arg_t *cam_arg, float freq)
 
void cam_arg_set_ram_freq (struct cam_arg_t *cam_arg, float freq)
 
void cam_arg_set_response_width (struct cam_arg_t *cam_arg, uint16_t response_width)
 
void cam_arg_force_prio_width (struct cam_arg_t *cam_arg, uint8_t prio_width)
 
void cam_arg_set_key_width (struct cam_arg_t *cam_arg, uint16_t key_width)
 
void cam_arg_set_fingerprint_width (struct cam_arg_t *cam_arg, uint16_t fingerprint_width)
 
void cam_arg_set_num_masks (struct cam_arg_t *cam_arg, uint8_t num_masks)
 
void cam_arg_force_num_units (struct cam_arg_t *cam_arg, uint16_t num_units)
 
void cam_arg_force_mem_type (struct cam_arg_t *cam_arg, bool uram)
 
void cam_arg_set_max_num_brams (struct cam_arg_t *cam_arg, uint16_t max_num_brams)
 
void cam_arg_set_max_num_urams (struct cam_arg_t *cam_arg, uint16_t max_num_urams)
 
void cam_arg_set_max_macro_height (struct cam_arg_t *cam_arg, uint8_t max_macro_height)
 
void cam_arg_set_device_arch (struct cam_arg_t *cam_arg, bool versal)
 
void cam_arg_force_hbm (struct cam_arg_t *cam_arg)
 
void cam_arg_set_narrow_key_width (struct cam_arg_t *cam_arg, uint16_t narrow_key_width)
 
void cam_arg_set_max_hw_writes (struct cam_arg_t *cam_arg, uint16_t max_hw_writes)
 
void cam_arg_set_flow_control (struct cam_arg_t *cam_arg, bool flow_control)
 
void cam_arg_set_aging (struct cam_arg_t *cam_arg, bool aging)
 
void cam_arg_set_default_response (struct cam_arg_t *cam_arg, const uint8_t *default_response)
 
void cam_arg_set_narrow_default_response (struct cam_arg_t *cam_arg, const uint8_t *narrow_default_response)
 
void cam_arg_set_vcid (struct cam_arg_t *cam_arg, uint8_t vcid)
 
void cam_arg_set_seg (struct cam_arg_t *cam_arg, uint16_t segment_id)
 
void cam_arg_set_hw_write_sequence_functions (cam_arg_t *cam_arg, void(*start_function)(void *), void(*end_function)(void *))
 
void cam_arg_set_debug_flags (cam_arg_t *cam_arg, uint32_t debug_flags)
 
void cam_arg_set_optimization_flags (cam_arg_t *cam_arg, uint32_t optimization_flags)
 
void cam_arg_enable_options (cam_arg_t *cam_arg)
 
void cam_arg_force_asic_ram (struct cam_arg_t *cam_arg)
 
void cam_arg_force_dram (struct cam_arg_t *cam_arg)
 
void cam_arg_set_ram_size (struct cam_arg_t *cam_arg, uint32_t size)
 
void cam_arg_set_hash_function (struct cam_arg_t *cam_arg, uint8_t function)
 
void cam_arg_set_siphash_key (struct cam_arg_t *cam_arg, uint64_t k0, uint64_t k1)
 
void cam_arg_set_num_banks (struct cam_arg_t *cam_arg, uint8_t num_banks)
 
void cam_arg_set_channel_width (struct cam_arg_t *cam_arg, uint16_t width)
 
void cam_arg_set_generation_number_granularity (struct cam_arg_t *cam_arg, uint16_t granularity)
 
void cam_arg_calc_heap_size (struct cam_arg_t *cam_arg, bool calculate)
 
void cam_arg_set_error_print_function (struct cam_arg_t *cam_arg, void(*error_print_function)(void *, char *))
 
void cam_arg_set_info_print_function (struct cam_arg_t *cam_arg, void(*info_print_function)(void *, char *))
 
void cam_arg_set_malloc_function (struct cam_arg_t *cam_arg, void *(*malloc_function)(size_t size))
 
void cam_arg_set_posix_memalign_function (struct cam_arg_t *cam_arg, int(*posix_memalign_function)(void **ptr, size_t align_size, size_t num))
 
void cam_arg_set_realloc_function (struct cam_arg_t *cam_arg, void *(*realloc_function)(void *ptr, size_t size))
 
void cam_arg_set_calloc_function (struct cam_arg_t *cam_arg, void *(*calloc_function)(size_t num, size_t size))
 
void cam_arg_set_free_function (struct cam_arg_t *cam_arg, void(*free_function)(void *ptr))
 
const char * cam_error_string (int error_code)
 
void cam_print_error (int error_code)
 
int cam_options_create (cam_options_t **out_cam_options)
 
size_t cam_options_size (void)
 
void cam_options_init (cam_options_t *out_options)
 
void cam_options_destroy (cam_options_t *cam_options)
 
void cam_options_set_narrow_key (struct cam_options_t *cam_options, bool narrow)
 
void cam_options_set_precomputed_hash_value (struct cam_options_t *cam_options, uint8_t hash_value[32])
 
void cam_options_clear_precomputed_hash_value (struct cam_options_t *cam_options)
 
void cam_options_set_single_segment_search (struct cam_options_t *options, uint8_t segment)
 
void cam_options_clear_single_segment_search (struct cam_options_t *options)
 
void cam_options_set_debug_flags (struct cam_options_t *options, uint32_t debug_flags)
 
void cam_options_clear_debug_flags (struct cam_options_t *options)