4 * Copyright (C) 2011-2012 Simon Busch <morphis@gravedo.de>
6 * libsamsung-ipc is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 2 of the License, or
9 * (at your option) any later version.
11 * libsamsung-ipc is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with libsamsung-ipc. If not, see <http://www.gnu.org/licenses/>.
21 [CCode (cheader_filename = "samsung-ipc.h")]
24 [CCode (cname = "int", cprefix = "IPC_CLIENT_TYPE_", has_type_id = false)]
25 public enum ClientType
31 [CCode (cname = "int", cprefix = "IPC_DEVICE_", has_type_id = false)]
32 public enum DeviceType
37 [CCode (cname = "int", cprefix = "IPC_TYPE_", has_type_id = false)]
38 public enum RequestType
47 [CCode (cname = "unsigned char", cprefix = "IPC_TYPE_", has_type_id = false)]
48 public enum ResponseType
55 [CCode (cname = "int", cprefix = "IPC_GROUP_", has_type_id = false)]
56 public enum MessageGroup
78 [CCode (cname = "unsigned short", cprefix = "IPC_", has_type_id = false)]
79 public enum MessageType
103 GPRS_DEFINE_PDP_CONTEXT,
108 GPRS_3G_QUAL_SERVICE_PROFILE,
109 GPRS_IP_CONFIGURATION,
110 GPRS_DEFINE_SEC_PDP_CONTEXT,
113 GPRS_CURRENT_SESSION_DATA_COUNT,
118 SAT_PROFILE_DOWNLOAD,
121 SAT_TERMINATE_USAT_SESSION,
123 SAT_PROVIDE_LOCAL_INFO,
126 SAT_SETUP_EVENT_LIST,
127 SAT_CALL_CONTROL_RESULT,
131 IMEI_CHECK_DEVICE_INFO,
147 SEC_CHANGE_LOCKING_PW,
161 NET_SERVICE_DOMAIN_CONFIG,
166 NET_CURRENT_RRC_STATUS,
180 SMS_STORED_MSG_COUNT,
186 SMS_STORED_MSG_STATUS,
189 SND_SPKR_VOLUME_CTRL,
192 SND_RINGBACK_TONE_CTRL,
198 /* ******************************************************************************** */
202 [CCode (cname = "gint16", cprefix = "IPC_PWR_PHONE_STATE_", has_type_id = false)]
203 public enum PhoneState
210 /* ******************************************************************************** */
214 [CCode (cname = "gint8", cprefix = "IPC_SEC_SIM_STATUS_", has_type_id = false)]
215 public enum SimStatus
232 [CCode (cname = "gint8", cprefix = "IPC_SEC_FACILITY_TYPE_", has_type_id = false)]
233 public enum FacilityType
243 [CCode (cname = "gint8", cprefix = "IPC_SEC_FACILITY_LOCK_TYPE_", has_type_id = false)]
244 public enum FacilityLockType
252 [CCode (cname = "gint8", cprefix = "IPC_SEC_PIN_TYPE_", has_type_id = false)]
259 [CCode (cname = "gint8", cprefix = "IPC_SEC_SIM_CARD_TYPE_", has_type_id = false)]
260 public enum SimCardType
267 [CCode (cname = "gint8", cprefix = "IPC_SEC_RSIM_COMMAND_", has_type_id = false)]
268 public enum RSimCommandType
276 [CCode (cname = "struct ipc_sec_sim_status_response", destroy_function = "")]
277 public struct SimStatusMessage
279 public SimStatus status;
280 public FacilityLockType facility_lock;
282 public unowned uint8[] data
286 unowned uint8[] res = (uint8[])(&this);
287 res.length = (int) sizeof( SimStatusMessage );
293 [CCode (cname = "struct ipc_sec_pin_status_set", destroy_function = "")]
294 public struct PinStatusSetMessage
297 public uint8 length1;
298 public uint8 length2;
299 [CCode (array_length_cname = "length1")]
300 public uint8[] pin1; // size = 8
301 [CCode (array_length_cname = "length2")]
302 public uint8[] pin2; // size = 8
304 [CCode (cname = "ipc_sec_pin_status_set_setup")]
305 public void setup(PinType pin_type, string pin1, string pin2);
307 public unowned uint8[] data
311 unowned uint8[] res = (uint8[])(&this);
312 res.length = (int) sizeof( PinStatusSetMessage );
318 [CCode (cname = "struct ipc_sec_phone_lock_get", destroy_function = "")]
319 public struct PhoneLockGetMessage
321 public FacilityType facility;
323 public unowned uint8[] data
327 unowned uint8[] res = (uint8[])(&this);
328 res.length = (int) sizeof( PhoneLockGetMessage );
334 [CCode (cname = "struct ipc_sec_phone_lock_response", destroy_function = "")]
335 public struct PhoneLockGetResponseMessage
337 public FacilityType facility;
340 public unowned uint8[] data
344 unowned uint8[] res = (uint8[])(&this);
345 res.length = (int) sizeof( PhoneLockGetResponseMessage );
351 [CCode (cname = "struct ipc_sec_rsim_access_get", destroy_function = "")]
352 public struct RSimAccessRequestMessage
354 public RSimCommandType command;
355 public uint16 fileid;
360 public unowned uint8[] data
364 unowned uint8[] res = (uint8[])(&this);
365 res.length = (int) sizeof( RSimAccessRequestMessage );
371 [CCode (cname = "struct ipc_sec_rsim_access_response", destroy_function = "")]
372 public struct RSimAccessResponseMessage
378 public unowned uint8[] data
382 unowned uint8[] res = (uint8[])(&this);
383 res.length = (int) sizeof( RSimAccessResponseMessage );
388 [CCode (cname = "ipc_sec_rsim_access_response_get_file_data")]
389 public static string get_file_data( Response response );
392 [CCode (cname = "struct ipc_sec_lock_info_get", destroy_function = "")]
393 public struct LockInfoRequestMessage
396 public PinType pin_type;
398 [CCode (cname = "ipc_sec_lock_info_get_setup")]
399 public void setup(PinType pin_type);
401 public unowned uint8[] data
405 unowned uint8[] res = (uint8[])(&this);
406 res.length = (int) sizeof( LockInfoRequestMessage );
412 [CCode (cname = "struct ipc_sec_lock_info_response", destroy_function = "")]
413 public struct LockInfoResponseMessage
418 public uint8 attempts;
420 public unowned uint8[] data
424 unowned uint8[] res = (uint8[])(&this);
425 res.length = (int) sizeof( LockInfoResponseMessage );
432 /* ******************************************************************************** */
436 [CCode (cname = "ipc_disp_icon_info", destroy_function = "")]
437 public struct IconInfoMessage
441 public uint8 battery;
445 public unowned uint8[] data
449 unowned uint8[] res = (uint8[])(&this);
450 res.length = (int) sizeof( IconInfoMessage );
456 [CCode (cname = "struct ipc_disp_rssi_info", destroy_function = "")]
457 public struct RssiInfoMessage
461 public unowned uint8[] data
465 unowned uint8[] res = (uint8[])(&this);
466 res.length = (int) sizeof( RssiInfoMessage );
473 /* ******************************************************************************** */
477 [CCode (cname = "gint8", cprefix = "IPC_NET_ACCESS_TECHNOLOGY_", has_type_id = false)]
478 public enum AccessTechnology
488 [CCode (cname = "gint8", cprefix = "IPC_NET_REGISTRATION_STATE_", has_type_id = false)]
489 public enum RegistrationState
499 [CCode (cname = "gint8", cprefix = "IPC_NET_PLMN_STATUS_", has_type_id = false)]
500 public enum PlmnStatus
507 [CCode (cname = "gint8", cprefix = "IPC_NET_PLMN_SEL_", has_type_id = false)]
508 public enum PlmnSelectionMode
514 [CCode (cname = "gint8", cprefix = "IPC_NET_MODE_SEL_", has_type_id = false)]
515 public enum NetworkSelectionMode
522 [CCode (cname = "gint8", cprefix = "IPC_NET_SERVICE_DOMAIN_", has_type_id = false)]
523 public enum ServiceDomain
529 [CCode (cname = "struct ipc_net_regist_response", destroy_function = "")]
530 public struct RegistrationMessage
532 public AccessTechnology act;
533 public ServiceDomain domain;
534 public RegistrationState reg_state;
538 public uint8 rej_cause;
540 public unowned uint8[] data
544 unowned uint8[] res = (uint8[])(&this);
545 res.length = (int) sizeof( RegistrationMessage );
551 [CCode (cname = "struct ipc_net_regist_get", destroy_function = "")]
552 public struct RegistrationGetMessage
555 public ServiceDomain domain;
557 [CCode (cname = "ipc_net_regist_get_setup")]
558 public void setup( ServiceDomain domain );
560 public unowned uint8[] data
564 unowned uint8[] res = (uint8[])(&this);
565 res.length = (int) sizeof( RegistrationGetMessage );
571 [CCode (cname = "struct ipc_net_current_plmn_response", destroy_function = "")]
572 public struct CurrentPlmnMessage
577 [CCode (array_length = false)]
582 public unowned uint8[] data
586 unowned uint8[] res = (uint8[])(&this);
587 res.length = (int) sizeof( CurrentPlmnMessage );
593 [CCode (cname = "struct ipc_net_plmn_entry", destroy_function = "")]
594 public struct PlmnEntryMessage
596 public PlmnStatus status;
597 [CCode (array_length = false)]
601 public unowned uint8[] data
605 unowned uint8[] res = (uint8[])(&this);
606 res.length = (int) sizeof( PlmnEntryMessage );
612 [CCode (cname = "struct ipc_net_plmn_entries", destroy_function = "")]
613 public struct PlmnEntriesMessage
617 public unowned PlmnEntryMessage? get_entry( Response response, uint pos )
619 unowned PlmnEntryMessage? entry = null;
624 uint8 *p = ((uint8*) response.data) + sizeof(PlmnEntriesMessage);
625 entry = (PlmnEntryMessage?) (p + pos * sizeof(PlmnEntryMessage));
630 public unowned uint8[] data
634 unowned uint8[] res = (uint8[])(&this);
635 res.length = (int) sizeof( PlmnEntriesMessage );
641 [CCode (cname = "struct ipc_net_plmn_sel_get", destroy_function = "")]
642 public struct PlmnSelectionGetMessage
644 [CCode (cname = "plmn_sel")]
645 public PlmnSelectionMode mode;
647 public unowned uint8[] data
651 unowned uint8[] res = (uint8[])(&this);
652 res.length = (int) sizeof( PlmnSelectionGetMessage );
659 [CCode (cname = "struct ipc_net_plmn_sel_set", destroy_function = "")]
660 public struct PlmnSelectionSetMessage
662 public PlmnSelectionMode mode;
664 public AccessTechnology act;
666 [CCode (cname = "ipc_net_plmn_sel_set_setup")]
667 public void setup(uint8 mode, string plmn, AccessTechnology act);
669 public unowned uint8[] data
673 unowned uint8[] res = (uint8[])(&this);
674 res.length = (int) sizeof( PlmnSelectionSetMessage );
681 /* ******************************************************************************** */
685 [CCode (cname = "int", cprefix = "IPC_CALL_TYPE_", has_type_id = false)]
692 [CCode (cname = "gint8", cprefix = "IPC_CALL_IDENTITY_", has_type_id = false)]
700 [CCode (cname = "gint8", cprefix = "IPC_CALL_PREFIX_", has_type_id = false)]
707 [CCode (cname = "gint8", cprefix = "IPC_CALL_STATE_", has_type_id = false)]
711 IGNORING_INCOMING_STATUS,
717 [CCode (cname = "gint8", cprefix = "IPC_CALL_LIST_ENTRY_STATE_", has_type_id = false)]
728 [CCode (cname = "int", cprefix = "IPC_CALL_TERM_", has_type_id = false)]
729 public enum Termination
735 [CCode (cname = "uint8", cprefix = "IPC_CALL_DTMF_STATE_", has_type_id = false)]
736 public enum DtmfState
742 [CCode (cname = "struct ipc_call_outgoing", destroy_function = "")]
743 public struct OutgoingMessage
746 public Identity identity;
748 public Prefix prefix;
749 public uint8[] number;
751 [CCode (cname = "ipc_call_outgoing_setup")]
752 public void setup(Type type, Identity identity, Prefix prefix, string number);
754 public unowned uint8[] data
758 unowned uint8[] res = (uint8[])(&this);
759 res.length = (int) sizeof( OutgoingMessage );
765 [CCode (cname = "struct ipc_call_incoming", destroy_function = "")]
766 public struct IncomingMessage
772 public unowned uint8[] data
776 unowned uint8[] res = (uint8[])(&this);
777 res.length = (int) sizeof( IncomingMessage );
783 [CCode (cname = "struct ipc_message_info", destroy_function = "")]
784 public struct ListResponseMessage
786 [CCode (cname = "ipc_call_list_response_get_num_entries")]
787 public uint get_num_entries();
788 [CCode (cname = "ipc_call_list_response_get_entry")]
789 public ListEntry* get_entry(uint num);
790 [CCode (cname = "ipc_call_list_response_get_entry_number")]
791 public string get_entry_number(uint num);
795 [CCode (cname = "struct ipc_call_list_entry", destroy_function = "")]
796 public struct ListEntry
800 public Termination term;
803 public uint8 number_len;
807 [CCode (cname = "struct ipc_call_status", destroy_function = "")]
808 public struct StatusMessage
814 public uint8 end_cause;
816 public unowned uint8[] data
820 unowned uint8[] res = (uint8[])(&this);
821 res.length = (int) sizeof( StatusMessage );
827 [CCode (cname = "struct ipc_call_cont_dtmf", destroy_function = "")]
828 public struct ContDtmfMessage
830 public DtmfState state;
833 [CCode (cname = "ipc_call_cont_dtmf_burst_pack")]
834 public uint8[] pack(uint8[] burst);
836 public unowned uint8[] data
840 unowned uint8[] res = (uint8[])(&this);
841 res.length = (int) sizeof( ContDtmfMessage );
848 /* ******************************************************************************** */
852 [CCode (cname = "struct ipc_gen_phone_res", destroy_function = "")]
853 public struct PhoneResponseMessage
860 public unowned uint8[] data
864 unowned uint8[] res = (uint8[])(&this);
865 res.length = (int) sizeof( PhoneResponseMessage );
872 /* ******************************************************************************** */
876 [CCode (cname = "ipc_parse_misc_me_imsi")]
877 public string parse_imsi(uint8[] data);
879 [CCode (cname = "struct ipc_misc_me_version", destroy_function = "", free_function = "")]
880 public struct VersionMessage
882 [CCode (array_length = false)]
883 public uint8[] sw_version;
884 [CCode (array_length = false)]
885 public uint8[] hw_version;
886 [CCode (array_length = false)]
887 public uint8[] cal_date;
888 [CCode (array_length = false)]
891 public unowned uint8[] data
895 unowned uint8[] res = (uint8[])(&this);
896 res.length = (int) sizeof( VersionMessage );
902 [CCode (cname = "gint8", cprefix = "IPC_MISC_ME_SN_SERIAL_NUM_", has_type_id = false)]
903 public enum SerialNumberType
910 [CCode (cname = "struct ipc_misc_me_sn")]
911 public struct SerialNumberResponseMessage
913 public SerialNumberType type;
918 [CCode (cname = "struct ipc_message_info")]
919 public struct MeResponseMessage
921 [CCode (cname = "ipc_misc_me_imsi_response_get_imsi")]
922 public static string get_imsi( Response response );
925 [CCode (cname = "struct ipc_misc_time_info", destroy_function = "")]
926 public struct TimeInfoMessage
928 public uint8 tz_valid;
929 public uint8 daylight_valid;
941 public unowned uint8[] data
945 unowned uint8[] res = (uint8[])(&this);
946 res.length = (int) sizeof( TimeInfoMessage );
953 /* ******************************************************************************** */
957 [CCode (cname = "IPC_GPRS_PDP_CONTEXT_GET_DESC_COUNT")]
958 public uint MAX_PDP_CONTEXT_COUNT;
960 [CCode (cname = "gint8", cprefix = "IPC_GPRS_STATE_", has_type_id = false)]
968 [CCode (cname = "gint8", cprefix = "IPC_GPRS_FAIL_", has_type_id = false)]
971 INSUFFICIENT_RESOURCES,
973 UNKNOWN_PDP_ADDRESS_TYPE,
975 ACTIVATION_REJECT_CGSN,
976 ACTIVATION_REJECT_UNSPECIFIED,
977 SERVICE_OPTION_NOT_SUPPORTED,
978 SERVICE_OPTION_NOT_SUBSCRIBED,
979 SERVICE_OPTION_OUT_OF_ORDER,
983 [CCode (cname = "struct ipc_gprs_define_pdp_context", destroy_function = "")]
984 public struct DefinePdpContextMessage
991 [CCode (cname = "ipc_gprs_define_pdp_context_setup")]
992 public void setup(uint8 cid, bool enable, string apn);
994 public unowned uint8[] data
998 unowned uint8[] res = (uint8[])(&this);
999 res.length = (int) sizeof( DefinePdpContextMessage );
1005 [CCode (cname = "struct ipc_gprs_ip_configuration", destroy_function = "")]
1006 public struct IpConfigurationMessage
1009 public uint8 field_flag;
1011 [CCode (array_length = false)]
1013 [CCode (array_length = false)]
1014 public uint8[] dns1;
1015 [CCode (array_length = false)]
1016 public uint8[] dns2;
1017 [CCode (array_length = false)]
1018 public uint8[] gateway;
1019 [CCode (array_length = false)]
1020 public uint8[] subnet_mask;
1021 [CCode (array_length = false)]
1022 public uint8[] unk2;
1024 public unowned uint8[] data
1028 unowned uint8[] res = (uint8[])(&this);
1029 res.length = (int) sizeof( IpConfigurationMessage );
1035 [CCode (name = "struct ipc_gprs_pdp_context_get_desc", destroy_function = "")]
1036 public struct PdpContextGetDescMessage
1041 public unowned uint8[] data
1045 unowned uint8[] res = (uint8[])(&this);
1046 res.length = (int) sizeof( PdpContextGetDescMessage );
1052 [CCode (name = "struct ipc_gprs_pdp_context_get", destroy_function = "")]
1053 public struct PdpContextGetMessage
1056 public PdpContextGetDescMessage[] desc;
1058 public unowned uint8[] data
1062 unowned uint8[] res = (uint8[])(&this);
1063 res.length = (int) sizeof( PdpContextGetMessage );
1070 [CCode (name = "struct ipc_gprs_call_status", destroy_function = "")]
1071 public struct CallStatusMessage
1074 public State status;
1075 public uint16 fail_status;
1077 public unowned uint8[] data
1081 unowned uint8[] res = (uint8[])(&this);
1082 res.length = (int) sizeof( CallStatusMessage );
1088 [CCode (cname = "struct ipc_gprs_hsdpa_status", destroy_function = "")]
1089 public struct HsdpaStatusMessage
1093 public unowned uint8[] data
1097 unowned uint8[] res = (uint8[])(&this);
1098 res.length = (int) sizeof( HsdpaStatusMessage );
1104 [CCode (cname = "struct ipc_gprs_pdp_context_set", destroy_function = "")]
1105 public struct PdpContextSetMessage
1107 public uint8 enable;
1109 public uint8[] unk0;
1110 public uint8[] username;
1111 public uint8[] password;
1112 public uint8[] unk1;
1115 [CCode (cname = "ipc_gprs_pdp_context_setup")]
1116 public void setup(int cid, bool activate, string? username, string? password);
1118 public unowned uint8[] data
1122 unowned uint8[] res = (uint8[])(&this);
1123 res.length = (int) sizeof( PdpContextSetMessage );
1129 [CCode (cname = "struct ipc_gprs_ps", destroy_function = "")]
1130 public struct PsMessage
1134 public unowned uint8[] data
1138 unowned uint8[] res = (uint8[])(&this);
1139 res.length = (int) sizeof( PsMessage );
1145 [CCode (cname = "struct ipc_gprs_current_session_data_counter", destroy_function = "")]
1146 public struct CurrentSessionDataCounterMessage
1149 public uint8[] rx_count;
1150 public uint8[] tx_count;
1152 public unowned uint8[] data
1156 unowned uint8[] res = (uint8[])(&this);
1157 res.length = (int) sizeof( CurrentSessionDataCounterMessage );
1163 [CCode (cname = "struct ipc_gprs_port_list")]
1164 public struct PortListMessage
1168 [CCode (cname = "ipc_gprs_port_list_setup")]
1169 public void setup();
1171 public unowned uint8[] data
1175 unowned uint8[] res = (uint8[])(&this);
1176 res.length = (int) sizeof( PortListMessage );
1183 /* ******************************************************************************** */
1187 [CCode (cname = "gint8", cprefix = "IPC_SMS_MSG_", has_type_id = false)]
1188 public enum MessageAmountType
1194 [CCode (cname = "gint8", cprefix = "IPC_SMS_TYPE_", has_type_id = false)]
1195 public enum MessageType
1202 [CCode (cname = "gint16", cprefix = "IPC_SMS_ACK_", has_type_id = false)]
1203 public enum AcknowledgeErrorType
1207 MAILFORMED_REQ_ERROR,
1211 [CCode (cname = "struct ipc_sms_incoming_msg")]
1212 public struct IncomingMessage
1214 public uint8 msg_type;
1216 public uint16 sim_index;
1217 public uint8 msg_tpid;
1218 public uint8 length;
1220 public unowned uint8[] data
1224 unowned uint8[] res = (uint8[])(&this);
1225 res.length = (int) sizeof( IncomingMessage );
1230 public uint8[] unpack_pdu( Response response )
1232 uint8[] pdu = new uint8[this.length];
1233 uint8 *pdu_start = ((uint8*) response.data) + sizeof( IncomingMessage );
1234 GLib.Memory.copy(pdu, pdu_start, this.length);
1239 [CCode (cname = "struct ipc_sms_send_msg_request")]
1240 public struct SendMessage
1242 public MessageType type;
1243 public MessageAmountType msg_type;
1244 public uint8 length;
1245 public uint8 smsc_len;
1247 public uint8[] pack(string smsc, uint8[] pdu);
1249 public unowned uint8[] data
1253 unowned uint8[] res = (uint8[])(&this);
1254 res.length = (int) sizeof( SendMessage );
1260 [CCode (cname = "struct ipc_sms_send_msg_response")]
1261 public struct DeliverReportMessage
1263 public MessageType type;
1264 public AcknowledgeErrorType error;
1265 public uint8 msg_tpid;
1268 public unowned uint8[] data
1272 unowned uint8[] res = (uint8[])(&this);
1273 res.length = (int) sizeof( DeliverReportMessage );
1280 /* ******************************************************************************** */
1284 [CCode (cname = "gint8", cprefix = "IPC_SND_VOLUME_TYPE_", has_type_id = false)]
1285 public enum VolumeType
1293 [CCode (cname = "gint8", cprefix = "IPC_SND_AUDIO_PATH_", has_type_id = false)]
1294 public enum AudioPath
1304 [CCode (cname = "struct ipc_snd_spkr_volume_ctrl")]
1305 public struct SpeakerVolumeControlMessage
1307 public VolumeType type;
1308 public uint8 volume;
1310 public unowned uint8[] data
1314 unowned uint8[] res = (uint8[])(&this);
1315 res.length = (int) sizeof( SpeakerVolumeControlMessage );
1322 /* ******************************************************************************** */
1326 [CCode (cname = "ipc_rfs_send_io_confirm_for_nv_read_item")]
1327 public void send_io_confirm_for_nv_read_item(Client client, Response req);
1328 [CCode (cname = "ipc_rfs_send_io_confirm_for_nv_write_item")]
1329 public void send_io_confirm_for_nv_write_item(Client client, Response req);
1332 /* ******************************************************************************** */
1334 [CCode (cname = "struct ipc_message_info", destroy_function = "", free_function = "")]
1335 public struct Request
1341 public RequestType type;
1342 public uint32 length;
1343 [CCode (array_length_cname = "length")]
1344 public uint8[] data;
1346 public MessageType command
1348 get { return (MessageType) ((group << 8) | index); }
1349 set { group = value >> 8; index = value & 0xff; }
1353 [CCode (cname = "struct ipc_message_info", destroy_function = "", free_function = "", copy_function = "")]
1354 public struct Response
1360 public ResponseType type;
1361 public uint32 length;
1362 [CCode (array_length_cname = "length")]
1363 public uint8[] data;
1365 public MessageType command
1367 get { return (MessageType) ((group << 8) | index); }
1368 set { group = value >> 8; index = value & 0xff; }
1372 public delegate int TransportCb(uint8[] data);
1373 public delegate void LogHandlerCb(string message);
1376 [CCode (cname = "struct ipc_client", cprefix = "ipc_client_")]
1379 public Client(ClientType client_type);
1380 public Client.for_device(DeviceType device_type, ClientType client_type);
1381 [CCode (delagate_target_pos = 0.9)]
1382 public int set_log_handler(LogHandlerCb log_cb);
1383 public int set_io_handlers(TransportCb write_cb, TransportCb read_cb);
1384 public int bootstrap_modem();
1387 public int power_on();
1388 public int power_off();
1389 public int recv(out Response response);
1390 public void send(MessageType command, RequestType type, uint8[] data, uint8 mseq);
1391 public void send_get(MessageType command, uint8 aseq);
1392 public void send_exec(MessageType command, uint8 aseq);
1393 public void set_handlers_common_data_fd(int fd);
1394 public int get_handlers_common_data_fd();
1395 public int create_handlers_common_data();