summaryrefslogtreecommitdiff
path: root/cleopatre/devkit/plcdrv/arm/inc/processing.h
diff options
context:
space:
mode:
Diffstat (limited to 'cleopatre/devkit/plcdrv/arm/inc/processing.h')
-rw-r--r--cleopatre/devkit/plcdrv/arm/inc/processing.h20
1 files changed, 19 insertions, 1 deletions
diff --git a/cleopatre/devkit/plcdrv/arm/inc/processing.h b/cleopatre/devkit/plcdrv/arm/inc/processing.h
index 52ed11edb1..58d591c443 100644
--- a/cleopatre/devkit/plcdrv/arm/inc/processing.h
+++ b/cleopatre/devkit/plcdrv/arm/inc/processing.h
@@ -22,6 +22,16 @@
#include "processing_utests.h"
#endif
+/** Define HPAV Ethernet type */
+#define ETH_P_HPAV 0x88E1
+/** Define MME fcall type */
+#define HPAV_MME_P_FCALL 0xA006
+/** Define MME sniffer type */
+#define HPAV_MME_P_SNIFFER 0xA02C
+#define HPAV_MME_P_VS_BASE 0xA000
+#define HPAV_MME_P_DRV_BASE 0xB000
+#define HPAV_MME_P_MS_BASE 0x8000
+
/** processing layer context structure */
struct processctx {
uint8_t board_addr[ETH_ALEN];
@@ -29,6 +39,14 @@ struct processctx {
};
/**
+ * Find the Ethernet MME type.
+ *
+ * \param eth_frame Ethernet frame pointer.
+ * \return HPAV MME type.
+ */
+uint16_t get_eth_mme_type(uint8_t* eth_frame);
+
+/**
* Initialize the processing layer.
*
* \param info initialisation structure.
@@ -68,7 +86,7 @@ int processing_buffer_free(void *pointer);
* \param length length of the message pointed.
* \return status queue.
*/
-int processing_send(void *pointer, int length);
+int processing_send(void *pointer, int length, buffer_type_t type);
/**
* Processing procedure for a L->A message.