diff options
author | Simon Busch <morphis@gravedo.de> | 2011-08-24 17:29:26 +0200 |
---|---|---|
committer | Simon Busch <morphis@gravedo.de> | 2011-08-24 17:32:13 +0200 |
commit | acce400b447396de34f51b03fb464c3e070deba2 (patch) | |
tree | a746a47e590d683470440f2269429333943d5265 /samsung-ipc/ipc.c | |
parent | b6ae4aed46ab885604526471417be1a0da72a221 (diff) | |
download | external_libsamsung-ipc-acce400b447396de34f51b03fb464c3e070deba2.zip external_libsamsung-ipc-acce400b447396de34f51b03fb464c3e070deba2.tar.gz external_libsamsung-ipc-acce400b447396de34f51b03fb464c3e070deba2.tar.bz2 |
Add missing source files
Diffstat (limited to 'samsung-ipc/ipc.c')
-rw-r--r-- | samsung-ipc/ipc.c | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/samsung-ipc/ipc.c b/samsung-ipc/ipc.c new file mode 100644 index 0000000..441a130 --- /dev/null +++ b/samsung-ipc/ipc.c @@ -0,0 +1,53 @@ +/** + * This file is part of libsamsung-ipc. + * + * Copyright (C) 2010-2011 Joerie de Gram <j.de.gram@gmail.com> + * + * libsamsung-ipc is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * libsamsung-ipc is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with libsamsung-ipc. If not, see <http://www.gnu.org/licenses/>. + * + */ + +#include <stdlib.h> +#include <stdio.h> +#include <string.h> + +#include <radio.h> + +/* Convenience functions for ipc_send */ +inline void ipc_msg_send_get(const int command, unsigned char aseq) +{ + ipc_msg_send(command, IPC_TYPE_GET, 0, 0, aseq); +} + +inline void ipc_msg_send_exec(const int command, unsigned char aseq) +{ + ipc_msg_send(command, IPC_TYPE_EXEC, 0, 0, aseq); +} + +/* Wrapper for ipc_send */ +void ipc_msg_send(const int command, const int type, unsigned char *data, const int length, unsigned char mseq) +{ + struct ipc_request request; + + request.mseq = mseq; + request.aseq = 0xff; + request.group = IPC_GROUP(command); + request.index = IPC_INDEX(command); + request.type = type; + request.length = length; + request.data = data; + + ipc_send(&request); +} + |