//!;;Rpy::+
//!;;Rpy::ModelElement: idd_comm::idd_shared_memory
//!;;Rpy::
//!;;Rpy::Component: IDDComponent 
//!;;Rpy::Configuration: IDDConfig
//!;;Rpy::Project: IDD
//!;;Rpy::
//!;;Rpy::FilePath: idd_shared_memory.h
//!;;Rpy::Tag: $Tag
//!;;Rpy::
//!;;Rpy::Copyright: Leonardocompany - COMPANY RESTRICTED
//!;;Rpy::
//!;;Rpy::Generated by Rhapsody: 7.5.3 
//!;;Rpy::-


#ifndef idd_shared_memory_H
#define idd_shared_memory_H

//## auto_generated
#include "idd_comm.h"
namespace idd_comm
{
    //## auto_generated
    class DspSignalMemoryLayout;
    
    //## package idd_comm::idd_shared_memory
    
    
    //#[ type shared_memory_header_t
    struct shared_memory_header_t   /*basic header for every shared meory transaction, supposed to be exactly 8 long word len = 64 bytes*/
    {                        
        enum { k_marker_low=0x5A5AA5A5U, k_marker_high=0x12345678U};    
        
        uint32_t marker_low;    /*must be = k_marker_low*/
        uint32_t marker_high;   /*must be = k_marker_high*/                          
        
        enum { k_type_grifo_e=0};
        uint32_t type;          /*basic format info, default is k_type_grifo_e, see also idd_shared_memory_payload_id_t*/
        uint32_t ftm_and_version;   /*=default value = 0*/
        uint32_t counter;       
        
        uint32_t size;  /* bytes in bytes, excluding header and footer*/
        uint32_t spare[2];
    };
    //#]
    
    //#[ type shared_memory_footer_t
    struct shared_memory_footer_t   /*basic footer for every shared meory transaction, supposed to be exactly 4 long word len = 16 bytes*/
    {                        
        enum { k_marker_low=0xF0F00F0FU, k_marker_high=0xFF0000FFU};    
        
        uint32_t spare[2];
        
        uint32_t marker_low;    /*must be = k_marker_low*/
        uint32_t marker_high;   /*must be = k_marker_high*/                          
    };
    //#]
    
    //## type shared_memory_payload_id_t
    enum shared_memory_payload_id_t
    {
        data_format_grifo_e = 1,
        data_format_gabbiano_lprf_le = 0x1000, // Just to accept Gabbiano Test vectors (little endian)
        data_format_gabbiano_lprf_be = 0x1001, // Just to accept Gabbiano test vectors (big endian, that is as recorded on the Radar)
        data_format_grifo_legacy_sar = 0x2000 // Just to accept orignial GRIFO SAR test vector (pre GRIFO-TH)
    };
}

#endif
//;;Rpy:: end


