Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
dspmsg.h
Go to the documentation of this file.
1 /*
2  * dspmsg.h
3  *
4  * DSP-BIOS Bridge driver support functions for TI OMAP processors.
5  *
6  * Declares the upper edge message class library functions required by
7  * all Bridge driver / DSP API interface tables. These functions are
8  * implemented by every class of Bridge driver channel library.
9  *
10  * Notes:
11  * Function comment headers reside in dspdefs.h.
12  *
13  * Copyright (C) 2005-2006 Texas Instruments, Inc.
14  *
15  * This package is free software; you can redistribute it and/or modify
16  * it under the terms of the GNU General Public License version 2 as
17  * published by the Free Software Foundation.
18  *
19  * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
20  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
21  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
22  */
23 
24 #ifndef DSPMSG_
25 #define DSPMSG_
26 
27 #include <dspbridge/msgdefs.h>
28 
29 extern int bridge_msg_create(struct msg_mgr **msg_man,
30  struct dev_object *hdev_obj,
31  msg_onexit msg_callback);
32 
33 extern int bridge_msg_create_queue(struct msg_mgr *hmsg_mgr,
34  struct msg_queue **msgq,
35  u32 msgq_id, u32 max_msgs, void *arg);
36 
37 extern void bridge_msg_delete(struct msg_mgr *hmsg_mgr);
38 
39 extern void bridge_msg_delete_queue(struct msg_queue *msg_queue_obj);
40 
41 extern int bridge_msg_get(struct msg_queue *msg_queue_obj,
42  struct dsp_msg *pmsg, u32 utimeout);
43 
44 extern int bridge_msg_put(struct msg_queue *msg_queue_obj,
45  const struct dsp_msg *pmsg, u32 utimeout);
46 
47 extern int bridge_msg_register_notify(struct msg_queue *msg_queue_obj,
48  u32 event_mask,
50  struct dsp_notification
51  *hnotification);
52 
53 extern void bridge_msg_set_queue_id(struct msg_queue *msg_queue_obj,
54  u32 msgq_id);
55 
56 #endif /* DSPMSG_ */