summaryrefslogtreecommitdiff
path: root/middleware/multicore/open-amp/porting/env/env.h
diff options
context:
space:
mode:
Diffstat (limited to 'middleware/multicore/open-amp/porting/env/env.h')
-rw-r--r--middleware/multicore/open-amp/porting/env/env.h76
1 files changed, 71 insertions, 5 deletions
diff --git a/middleware/multicore/open-amp/porting/env/env.h b/middleware/multicore/open-amp/porting/env/env.h
index 05b9e62..cfbbbb6 100644
--- a/middleware/multicore/open-amp/porting/env/env.h
+++ b/middleware/multicore/open-amp/porting/env/env.h
@@ -2,6 +2,7 @@
* Copyright (c) 2014, Mentor Graphics Corporation
* All rights reserved.
* Copyright (c) 2015 Xilinx, Inc. All rights reserved.
+ * Copyright (c) 2015 Freescale Semiconductor, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
@@ -68,15 +69,18 @@
* env_sleep_msec
* env_disable_interrupts
* env_restore_interrupts
+ * env_create_queue
+ * env_delete_queue
+ * env_put_queue
+ * env_get_queue
*
**************************************************************************/
#ifndef _ENV_H_
#define _ENV_H_
-#include <FreeRTOS.h>
-#include <task.h>
-#include "device_imx.h"
-#include "debug_console_imx.h"
+#include <stdio.h>
+#include "rpmsg_porting.h"
+
/**
* env_init
*
@@ -140,7 +144,8 @@ void env_strcpy(char *, const char *);
int env_strcmp(const char *, const char *);
void env_strncpy(char *, const char *, unsigned long);
int env_strncmp(char *, const char *, unsigned long);
-#define env_print(...) PRINTF(__VA_ARGS__)
+//#define env_print(...) printf(__VA_ARGS__)
+#define env_print(...)
/**
*-----------------------------------------------------------------------------
@@ -428,4 +433,65 @@ void env_disable_cache(void);
typedef void LOCK;
+/**
+ * env_create_queue
+ *
+ * Creates a message queue.
+ *
+ * @param queue - pointer to created queue
+ * @param length - maximum number of elements in the queue
+ * @param item_size - queue element size in bytes
+ *
+ * @return - status of function execution
+ */
+int env_create_queue(void **queue, int length , int element_size);
+
+/**
+ * env_delete_queue
+ *
+ * Deletes the message queue.
+ *
+ * @param queue - queue to delete
+ */
+
+void env_delete_queue(void *queue);
+
+/**
+ * env_put_queue
+ *
+ * Put an element in a queue.
+ *
+ * @param queue - queue to put element in
+ * @param msg - pointer to the message to be put into the queue
+ * @param timeout_ms - timeout in ms
+ *
+ * @return - status of function execution
+ */
+
+int env_put_queue(void *queue, void* msg, int timeout_ms);
+
+/**
+ * env_get_queue
+ *
+ * Get an element out of a queue.
+ *
+ * @param queue - queue to get element from
+ * @param msg - pointer to a memory to save the message
+ * @param timeout_ms - timeout in ms
+ *
+ * @return - status of function execution
+ */
+
+int env_get_queue(void *queue, void* msg, int timeout_ms);
+
+/**
+ * env_isr
+ *
+ * Invoke RPMSG/IRQ callback
+ *
+ * @param vector - RPMSG IRQ vector ID.
+ */
+
+void env_isr(int vector);
+
#endif /* _ENV_H_ */