blob: 007bb7307604029d8fc95b4aa498de35fdd1ba67 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
/*
* msg.h
*
* DSP-BIOS Bridge driver support functions for TI OMAP processors.
*
* DSP/BIOS Bridge msg_ctrl Module.
*
* Copyright (C) 2005-2006 Texas Instruments, Inc.
*
* This package is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*/
#ifndef MSG_
#define MSG_
#include <dspbridge/devdefs.h>
#include <dspbridge/msgdefs.h>
/*
* ======== msg_create ========
* Purpose:
* Create an object to manage message queues. Only one of these objects
* can exist per device object. The msg_ctrl manager must be created before
* the IO Manager.
* Parameters:
* msg_man: Location to store msg_ctrl manager handle on output.
* hdev_obj: The device object.
* msg_callback: Called whenever an RMS_EXIT message is received.
* Returns:
* Requires:
* msg_mod_init(void) called.
* msg_man != NULL.
* hdev_obj != NULL.
* msg_callback != NULL.
* Ensures:
*/
extern int msg_create(OUT struct msg_mgr **msg_man,
struct dev_object *hdev_obj,
msg_onexit msg_callback);
/*
* ======== msg_delete ========
* Purpose:
* Delete a msg_ctrl manager allocated in msg_create().
* Parameters:
* hmsg_mgr: Handle returned from msg_create().
* Returns:
* Requires:
* msg_mod_init(void) called.
* Valid hmsg_mgr.
* Ensures:
*/
extern void msg_delete(struct msg_mgr *hmsg_mgr);
/*
* ======== msg_exit ========
* Purpose:
* Discontinue usage of msg_ctrl module.
* Parameters:
* Returns:
* Requires:
* msg_mod_init(void) successfully called before.
* Ensures:
* Any resources acquired in msg_mod_init(void) will be freed when last
* msg_ctrl client calls msg_exit(void).
*/
extern void msg_exit(void);
/*
* ======== msg_mod_init ========
* Purpose:
* Initialize the msg_ctrl module.
* Parameters:
* Returns:
* TRUE if initialization succeeded, FALSE otherwise.
* Ensures:
*/
extern bool msg_mod_init(void);
#endif /* MSG_ */
|