Mir
mir_platform_message.h
Go to the documentation of this file.
1 /*
2  * Copyright © 2014 Canonical Ltd.
3  *
4  * This program is free software: you can redistribute it and/or modify it
5  * under the terms of the GNU Lesser General Public License version 3,
6  * as published by the Free Software Foundation.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU Lesser General Public License for more details.
12  *
13  * You should have received a copy of the GNU Lesser General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  *
16  */
17 
18 #ifndef MIR_TOOLKIT_MIR_PLATFORM_MESSAGE_H_
19 #define MIR_TOOLKIT_MIR_PLATFORM_MESSAGE_H_
20 
21 #include <sys/types.h>
22 
23 #ifdef __cplusplus
24 
28 extern "C" {
29 #endif
30 
31 struct MirPlatformMessage;
32 
33 typedef struct
34 {
35  void const* const data;
36  size_t const size;
38 
39 typedef struct
40 {
41  int const* const fds;
42  size_t const num_fds;
44 
55 
62 
72 void mir_platform_message_set_data(MirPlatformMessage* message, void const* data, size_t data_size);
73 
89 void mir_platform_message_set_fds(MirPlatformMessage* message, int const* fds, size_t num_fds);
90 
97 unsigned int mir_platform_message_get_opcode(MirPlatformMessage const* message);
98 
110 
126 
127 #ifdef __cplusplus
128 }
130 #endif
131 
132 #endif
MirPlatformMessage * mir_platform_message_create(unsigned int opcode)
Create a platform message to use with mir_connection_platform_operation().
Definition: mir_platform_message_api.cpp:31
size_t const size
Definition: mir_platform_message.h:36
void mir_platform_message_set_data(MirPlatformMessage *message, void const *data, size_t data_size)
Set the data associated with a message.
Definition: mir_platform_message_api.cpp:41
int const *const fds
Definition: mir_platform_message.h:41
size_t const num_fds
Definition: mir_platform_message.h:42
void mir_platform_message_release(MirPlatformMessage const *message)
Release a platform message.
Definition: mir_platform_message_api.cpp:36
void const *const data
Definition: mir_platform_message.h:35
struct MirPlatformMessage MirPlatformMessage
Definition: client_types.h:59
MirPlatformMessageFds mir_platform_message_get_fds(MirPlatformMessage const *message)
Gets the fds associated with a message.
Definition: mir_platform_message_api.cpp:62
unsigned int mir_platform_message_get_opcode(MirPlatformMessage const *message)
Get the opcode of a message.
Definition: mir_platform_message_api.cpp:52
Definition: mir_platform_message.h:39
Definition: mir_platform_message.h:33
MirPlatformMessageData mir_platform_message_get_data(MirPlatformMessage const *message)
Get the data associated with a message.
Definition: mir_platform_message_api.cpp:57
void mir_platform_message_set_fds(MirPlatformMessage *message, int const *fds, size_t num_fds)
Sets the fds associated with a message.
Definition: mir_platform_message_api.cpp:47

Copyright © 2012,2013 Canonical Ltd.
Generated on Tue Mar 24 16:15:19 UTC 2015