[T106][ZXW-22]7520V3SCV2.01.01.02P42U09_VEC_V0.8_AP_VEC origin source commit
Change-Id: Ic6e05d89ecd62fc34f82b23dcf306c93764aec4b
diff --git a/cp/ps/modem/psbase/inc/ms_hisr.h b/cp/ps/modem/psbase/inc/ms_hisr.h
new file mode 100644
index 0000000..d736850
--- /dev/null
+++ b/cp/ps/modem/psbase/inc/ms_hisr.h
@@ -0,0 +1,162 @@
+/************************************************************************
+* °æÈ¨ËùÓÐ (C)2007,ÖÐÐËͨѶ¹É·ÝÓÐÏÞ¹«Ë¾¡£
+*
+* ÎļþÃû³Æ£º ps_hisr.h
+* Îļþ±êʶ£º
+* ÄÚÈÝÕªÒª£º Ö÷ÒªÌæ»»nucleus½Ó¿ÚΪOSSÏà¹ØµÄ½Ó¿Ú
+*
+* ÐÞ¸ÄÈÕÆÚ °æ±¾ºÅ Ð޸ıê¼Ç ÐÞ¸ÄÈË ÐÞ¸ÄÄÚÈÝ
+* -----------------------------------------------------------------------
+* 2008/06/27 V0.5 ¹¨Òí ´´½¨
+************************************************************************/
+
+#ifndef MS_HISR
+#define MS_HISR
+
+/**************************************************************************
+ * Í·Îļþ°üº¬ *
+ **************************************************************************/
+ #include "base_api.h"
+
+/*****************************************************************************
+* Typedef hisr_type_f
+*****************************************************************************/
+typedef VOID (*hisr_type_f) (VOID);
+
+/*****************************************************************************
+* Typedef ms_hisr_t
+*****************************************************************************/
+typedef struct ms_hisr_s
+{
+ /* hisr handling */
+ volatile UINT32 event; /* event staring the hisr */
+ volatile UINT8 active; /* hisr is active */
+
+ NU_HISR hisr_cb; /* receive HISR structure */
+ VOID *hisr_device; /* must be placed directly after hisr_cb */
+ VOID *hisr_stack; /* enable with size */
+} ms_hisr_t;
+
+
+/*****************************************************************************
+ * Function: ms_hisr_create
+ *-----------------------------------------------------------------------------
+ * Purpose: create a new hisr
+ *
+ * Parameters: mshisr pointer to hisrtype
+ * name name
+ * size of the new hisr
+ * priority hisr priority
+ * hisr_type_f hisr function
+ * hisr_device device to call
+ *
+ * Returns: void
+ *
+ * Remarks:
+ *****************************************************************************/
+
+extern VOID ms_hisr_create(ms_hisr_t *mshisr, CHAR *name, SINT32 size,
+ SINT32 priority, hisr_type_f used_hisr,
+ VOID *hisr_device);
+
+
+/*****************************************************************************
+ * Function: ms_hisr_free
+ *-----------------------------------------------------------------------------
+ * Purpose: frees an created hisr
+ *
+ * Parameters: mshisr
+ *
+ * Returns:
+ *
+ * Remarks:
+ *****************************************************************************/
+
+// P98C-YXS extern VOID ms_hisr_free(ms_hisr_t *mshisr);
+
+
+/*****************************************************************************
+ * Function: ms_hisr_get_io_associated_to_hisr
+ *-----------------------------------------------------------------------------
+ * Purpose: Determines the io descriptor which contains the active HISR
+ *
+ * Parameters: None
+ *
+ * Returns: The UART descriptor
+ *
+ * Remarks: - NU_Current_HISR_Pointer() is a very simple Nucleus function
+ *****************************************************************************/
+
+// P98C-YXS extern VOID *ms_hisr_get_associated(VOID);
+
+
+/*****************************************************************************
+ * Function: ms_hisr_activate
+ *-----------------------------------------------------------------------------
+ * Purpose: activates the hisr
+ *
+ * Parameters: mshisr pointer to hisrtype
+ *
+ * Returns: void
+ *
+ * Remarks: none
+ *****************************************************************************/
+
+extern VOID ms_hisr_activate(ms_hisr_t *mshisr);
+
+/*****************************************************************************
+ * Function: ms_hisr_start
+ *-----------------------------------------------------------------------------
+ * Purpose: starts the hisr according to the settings of
+ * event and hisr_active. The event will be set
+ *
+ * Parameters: mshisr pointer to hisrtype
+ * event event which has been set
+ *
+ * Returns: void
+ *
+ * Remarks: none
+ *****************************************************************************/
+
+// P98C-YXS extern VOID ms_hisr_start(ms_hisr_t *mshisr, UINT32 event);
+
+
+/*****************************************************************************
+ * Function: ms_hisr_reset_event
+ *-----------------------------------------------------------------------------
+ * Purpose: resets the hisr event int the hisr
+ *
+ *
+ * Parameters: mshisr pointer to hisrtype
+ * event event which has been reset
+ *
+ * Returns: void
+ *
+ * Remarks: none
+ *****************************************************************************/
+
+// P98C-YXS extern VOID ms_hisr_reset_event(ms_hisr_t *mshisr, UINT32 event);
+
+
+/*****************************************************************************
+ * Function: ms_hisr_active
+ *-----------------------------------------------------------------------------
+ * Purpose: sets the hisr active flag according to the
+ * status of the hisr
+ *
+ * Parameters: mshisr pointer to hisrtype
+ * active 1 hisr is running
+ * 0 hisr is stopped
+ *
+ * Returns: void
+ *
+ * Remarks: none
+ *****************************************************************************/
+
+// P98C-YXS extern VOID ms_hisr_active(ms_hisr_t *mshisr, UINT8 active);
+
+extern VOID ms_hisr_wait_sem(ms_hisr_t *mshisr);
+
+#endif
+
+