call.h   call.h 
/** /**
* This file is part of libsamsung-ipc. * This file is part of libsamsung-ipc.
* *
* Copyright (C) 2010-2011 Joerie de Gram <j.de.gram@gmail.com> * Copyright (C) 2010-2011 Joerie de Gram <j.de.gram@gmail.com>
* *
* libsamsung-ipc is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or * the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version. * (at your option) any later version.
* *
* libsamsung-ipc is distributed in the hope that it will be useful, * libsamsung-ipc is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with libsamsung-ipc. If not, see <http://www.gnu.org/licenses/>. * along with libsamsung-ipc. If not, see <http://www.gnu.org/licenses/>.
* *
skipping to change at line 67 skipping to change at line 67
#define IPC_CALL_STATE_RELEASED 0x04 #define IPC_CALL_STATE_RELEASED 0x04
#define IPC_CALL_STATE_CONNECTING 0x05 #define IPC_CALL_STATE_CONNECTING 0x05
#define IPC_CALL_LIST_ENTRY_STATE_ACTIVE 0x01 #define IPC_CALL_LIST_ENTRY_STATE_ACTIVE 0x01
#define IPC_CALL_LIST_ENTRY_STATE_HOLDING 0x02 #define IPC_CALL_LIST_ENTRY_STATE_HOLDING 0x02
#define IPC_CALL_LIST_ENTRY_STATE_DIALING 0x03 #define IPC_CALL_LIST_ENTRY_STATE_DIALING 0x03
#define IPC_CALL_LIST_ENTRY_STATE_ALERTING 0x04 #define IPC_CALL_LIST_ENTRY_STATE_ALERTING 0x04
#define IPC_CALL_LIST_ENTRY_STATE_INCOMING 0x05 #define IPC_CALL_LIST_ENTRY_STATE_INCOMING 0x05
#define IPC_CALL_LIST_ENTRY_STATE_WAITING 0x06 #define IPC_CALL_LIST_ENTRY_STATE_WAITING 0x06
#define IPC_CALL_END_CAUSE_NORMAL 0x05
#define IPC_CALL_END_CAUSE_REJECTED 0x2F
#define IPC_CALL_END_CAUSE_UNSPECIFIED 0x10
#define IPC_CALL_TERM_MO 0x01 #define IPC_CALL_TERM_MO 0x01
#define IPC_CALL_TERM_MT 0x02 #define IPC_CALL_TERM_MT 0x02
#define IPC_CALL_DTMF_STATE_START 0x01 #define IPC_CALL_DTMF_STATE_START 0x01
#define IPC_CALL_DTMF_STATE_STOP 0x02 #define IPC_CALL_DTMF_STATE_STOP 0x02
struct ipc_message_info; struct ipc_message_info;
struct ipc_call_cont_dtmf { struct ipc_call_cont_dtmf {
unsigned char state; unsigned char state;
 End of changes. 2 change blocks. 
1 lines changed or deleted 5 lines changed or added


 disp.h   disp.h 
/** /**
* This file is part of libsamsung-ipc. * This file is part of libsamsung-ipc.
* *
* Copyright (C) 2010-2011 Joerie de Gram <j.de.gram@gmail.com> * Copyright (C) 2010-2011 Joerie de Gram <j.de.gram@gmail.com>
* *
* libsamsung-ipc is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or * the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version. * (at your option) any later version.
* *
* libsamsung-ipc is distributed in the hope that it will be useful, * libsamsung-ipc is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with libsamsung-ipc. If not, see <http://www.gnu.org/licenses/>. * along with libsamsung-ipc. If not, see <http://www.gnu.org/licenses/>.
* *
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 gen.h   gen.h 
/** /**
* This file is part of libsamsung-ipc. * This file is part of libsamsung-ipc.
* *
* Copyright (C) 2010-2011 Joerie de Gram <j.de.gram@gmail.com> * Copyright (C) 2010-2011 Joerie de Gram <j.de.gram@gmail.com>
* *
* libsamsung-ipc is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or * the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version. * (at your option) any later version.
* *
* libsamsung-ipc is distributed in the hope that it will be useful, * libsamsung-ipc is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with libsamsung-ipc. If not, see <http://www.gnu.org/licenses/>. * along with libsamsung-ipc. If not, see <http://www.gnu.org/licenses/>.
* *
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 gprs.h   gprs.h 
/** /**
* This file is part of libsamsung-ipc. * This file is part of libsamsung-ipc.
* *
* Copyright (C) 2011 Simon Busch <morphis@gravedo.de> * Copyright (C) 2011 Simon Busch <morphis@gravedo.de>
* *
* libsamsung-ipc is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or * the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version. * (at your option) any later version.
* *
* libsamsung-ipc is distributed in the hope that it will be useful, * libsamsung-ipc is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with libsamsung-ipc. If not, see <http://www.gnu.org/licenses/>. * along with libsamsung-ipc. If not, see <http://www.gnu.org/licenses/>.
* *
skipping to change at line 40 skipping to change at line 40
#define IPC_GPRS_MS_CLASS 0x0D07 #define IPC_GPRS_MS_CLASS 0x0D07
#define IPC_GPRS_3G_QUAL_SERVICE_PROFILE 0x0D08 #define IPC_GPRS_3G_QUAL_SERVICE_PROFILE 0x0D08
#define IPC_GPRS_IP_CONFIGURATION 0x0D09 #define IPC_GPRS_IP_CONFIGURATION 0x0D09
#define IPC_GPRS_DEFINE_SEC_PDP_CONTEXT 0x0D0A #define IPC_GPRS_DEFINE_SEC_PDP_CONTEXT 0x0D0A
#define IPC_GPRS_TFT 0x0D0B #define IPC_GPRS_TFT 0x0D0B
#define IPC_GPRS_HSDPA_STATUS 0x0D0C #define IPC_GPRS_HSDPA_STATUS 0x0D0C
#define IPC_GPRS_CURRENT_SESSION_DATA_COUNT 0x0D0D #define IPC_GPRS_CURRENT_SESSION_DATA_COUNT 0x0D0D
#define IPC_GPRS_DATA_DORMANT 0x0D0E #define IPC_GPRS_DATA_DORMANT 0x0D0E
#define IPC_GPRS_DUN_PIN_CTRL 0x0D0F #define IPC_GPRS_DUN_PIN_CTRL 0x0D0F
#define IPC_GPRS_CALL_STATUS 0x0D10 #define IPC_GPRS_CALL_STATUS 0x0D10
#define IPC_GPRS_PORT_LIST 0x0D11
#define IPC_GPRS_CALL_STATUS_TYPE_ON 0x0 #define IPC_GPRS_STATE_NOT_ENABLED 0x00
#define IPC_GPRS_CALL_STATUS_TYPE_OFF 0x3 #define IPC_GPRS_STATE_ENABLED 0x01
#define IPC_GPRS_STATE_DISABLED 0x03
#define IPC_GPRS_FAIL_INSUFFICIENT_RESOURCES 0x0004
#define IPC_GPRS_FAIL_MISSING_UKNOWN_APN 0x0005
#define IPC_GPRS_FAIL_UNKNOWN_PDP_ADDRESS_TYPE 0x0006
#define IPC_GPRS_FAIL_USER_AUTHENTICATION 0x0007
#define IPC_GPRS_FAIL_ACTIVATION_REJECT_GGSN 0x0008
#define IPC_GPRS_FAIL_ACTIVATION_REJECT_UNSPECIFIED 0x0009
#define IPC_GPRS_FAIL_SERVICE_OPTION_NOT_SUPPORTED 0x000A
#define IPC_GPRS_FAIL_SERVICE_OPTION_NOT_SUBSCRIBED 0x000B
#define IPC_GPRS_FAIL_SERVICE_OPTION_OUT_OF_ORDER 0x000C
#define IPC_GPRS_FAIL_NSAPI_IN_USE 0x000D
#define IPC_GPRS_ERROR_UNAVAILABLE 0x94 #define IPC_GPRS_PDP_CONTEXT_GET_DESC_COUNT 3
#define IPC_GPRS_ERROR_NOT_SUBSCRIBED 0x0B
struct ipc_gprs_define_pdp_context { struct ipc_gprs_define_pdp_context {
unsigned char unk0[3]; unsigned char enable;
unsigned char cid;
unsigned char unk;
unsigned char apn[124]; unsigned char apn[124];
}; };
struct ipc_gprs_pdp_context_set {
unsigned char enable;
unsigned char cid;
unsigned char unk0[4];
unsigned char username[32];
unsigned char password[32];
unsigned char unk1[32];
unsigned char unk2;
};
struct ipc_gprs_pdp_context_get_desc {
unsigned char cid;
unsigned char state;
};
struct ipc_gprs_pdp_context_get {
unsigned char unk;
struct ipc_gprs_pdp_context_get_desc desc[IPC_GPRS_PDP_CONTEXT_GET_DESC
_COUNT];
};
struct ipc_gprs_ip_configuration { struct ipc_gprs_ip_configuration {
unsigned char unk0; unsigned char cid;
unsigned char field_flag; unsigned char field_flag;
unsigned char unk1; unsigned char unk1;
unsigned char ip[4]; unsigned char ip[4];
unsigned char dns1[4]; unsigned char dns1[4];
unsigned char dns2[4]; unsigned char dns2[4];
unsigned char gateway[4]; unsigned char gateway[4];
unsigned char subnet_mask[4]; unsigned char subnet_mask[4];
unsigned char unk2[4]; unsigned char unk2[4];
}; };
struct ipc_gprs_ip_configuration_response {
unsigned char unk0[376];
};
struct ipc_gprs_call_status { struct ipc_gprs_call_status {
unsigned char cid; unsigned char cid;
unsigned char state; // IPC_GPRS_CALL_STATUS_TYPE_... unsigned char state;
unsigned short reason; unsigned short fail_cause;
}; };
struct ipc_gprs_hsdpa_status { struct ipc_gprs_hsdpa_status {
unsigned char unk; unsigned char reg_state;
};
struct ipc_gprs_pdp_context {
unsigned char unk0[6];
unsigned char username[32];
unsigned char password[32];
unsigned char unk1[32];
unsigned char unk2;
}; };
struct ipc_gprs_ps { struct ipc_gprs_ps {
unsigned char unk[2]; unsigned char unk[2];
}; };
struct ipc_gprs_current_session_data_counter { struct ipc_gprs_current_session_data_counter {
unsigned char unk[9]; unsigned char cid;
unsigned int rx_count;
unsigned int tx_count;
};
struct ipc_gprs_port_list {
unsigned char unk[804];
}; };
void ipc_gprs_pdp_context_setup(struct ipc_gprs_pdp_context *message, int a void ipc_gprs_port_list_setup(struct ipc_gprs_port_list *message);
ctivate, char *username, char *password); void ipc_gprs_pdp_context_setup(struct ipc_gprs_pdp_context_set *message,
void ipc_gprs_define_pdp_context_setup(struct ipc_gprs_define_pdp_context * unsigned char cid, int enable, char *username, char *password);
message, char *apn); void ipc_gprs_define_pdp_context_setup(struct ipc_gprs_define_pdp_context *
message,
unsigned char cid, int enable, char *apn);
#endif #endif
// vim:ts=4:sw=4:expandtab // vim:ts=4:sw=4:expandtab
 End of changes. 12 change blocks. 
27 lines changed or deleted 58 lines changed or added


 misc.h   misc.h 
/** /**
* This file is part of libsamsung-ipc. * This file is part of libsamsung-ipc.
* *
* Copyright (C) 2010-2011 Joerie de Gram <j.de.gram@gmail.com> * Copyright (C) 2010-2011 Joerie de Gram <j.de.gram@gmail.com>
* *
* libsamsung-ipc is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or * the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version. * (at your option) any later version.
* *
* libsamsung-ipc is distributed in the hope that it will be useful, * libsamsung-ipc is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with libsamsung-ipc. If not, see <http://www.gnu.org/licenses/>. * along with libsamsung-ipc. If not, see <http://www.gnu.org/licenses/>.
* *
skipping to change at line 35 skipping to change at line 35
#include "device/ipc-v4/misc.h" #include "device/ipc-v4/misc.h"
#elif defined(DEVICE_H1) #elif defined(DEVICE_H1)
#include "device/h1/misc.h" #include "device/h1/misc.h"
#endif #endif
struct ipc_message_info; struct ipc_message_info;
#define IPC_MISC_ME_VERSION 0x0A01 #define IPC_MISC_ME_VERSION 0x0A01
#define IPC_MISC_ME_IMSI 0x0A02 #define IPC_MISC_ME_IMSI 0x0A02
#define IPC_MISC_ME_SN 0x0A03 #define IPC_MISC_ME_SN 0x0A03
#define IPC_MISC_TIME_INFO 0x0A07 #define IPC_MISC_TIME_INFO 0x0A05
#define IPC_MISC_DEBUG_LEVEL 0x0A0C
#define IPC_MISC_ME_SN_SERIAL_NUM 0x01 #define IPC_MISC_ME_SN_SERIAL_NUM 0x01
#define IPC_MISC_ME_SN_SERIAL_NUM_SERIAL 0x04 #define IPC_MISC_ME_SN_SERIAL_NUM_SERIAL 0x04
#define IPC_MISC_ME_SN_SERIAL_NUM_MANUFACTURE_DATE 0x05 #define IPC_MISC_ME_SN_SERIAL_NUM_MANUFACTURE_DATE 0x05
#define IPC_MISC_ME_SN_SERIAL_NUM_BARCODE 0x06 #define IPC_MISC_ME_SN_SERIAL_NUM_BARCODE 0x06
struct ipc_misc_time_info { struct ipc_misc_time_info {
unsigned char tz_valid, daylight_valid; unsigned char tz_valid, daylight_valid;
unsigned char year, mon, day; unsigned char year, mon, day;
unsigned char hour, min, sec; unsigned char hour, min, sec;
unsigned char tz, dl, dv; char tz, dl, dv;
char plmn[6]; char plmn[6];
} __attribute__((__packed__)); } __attribute__((__packed__));
char* ipc_misc_me_imsi_response_get_imsi(struct ipc_message_info *response) ; char* ipc_misc_me_imsi_response_get_imsi(struct ipc_message_info *response) ;
#endif #endif
// vim:ts=4:sw=4:expandtab // vim:ts=4:sw=4:expandtab
 End of changes. 3 change blocks. 
3 lines changed or deleted 4 lines changed or added


 net.h   net.h 
/** /**
* This file is part of libsamsung-ipc. * This file is part of libsamsung-ipc.
* *
* Copyright (C) 2010-2011 Joerie de Gram <j.de.gram@gmail.com> * Copyright (C) 2010-2011 Joerie de Gram <j.de.gram@gmail.com>
* *
* libsamsung-ipc is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or * the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version. * (at your option) any later version.
* *
* libsamsung-ipc is distributed in the hope that it will be useful, * libsamsung-ipc is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with libsamsung-ipc. If not, see <http://www.gnu.org/licenses/>. * along with libsamsung-ipc. If not, see <http://www.gnu.org/licenses/>.
* *
skipping to change at line 66 skipping to change at line 66
#define IPC_NET_REGISTRATION_STATE_ROAMING 0x06 #define IPC_NET_REGISTRATION_STATE_ROAMING 0x06
#define IPC_NET_SERVICE_DOMAIN_GSM 0x02 #define IPC_NET_SERVICE_DOMAIN_GSM 0x02
#define IPC_NET_SERVICE_DOMAIN_GPRS 0x03 #define IPC_NET_SERVICE_DOMAIN_GPRS 0x03
#define IPC_NET_MODE_SEL_GSM_UMTS 0x01 #define IPC_NET_MODE_SEL_GSM_UMTS 0x01
#define IPC_NET_MODE_SEL_GSM_ONLY 0x02 #define IPC_NET_MODE_SEL_GSM_ONLY 0x02
#define IPC_NET_MODE_SEL_UMTS_ONLY 0x03 #define IPC_NET_MODE_SEL_UMTS_ONLY 0x03
struct ipc_net_regist_get { struct ipc_net_regist_get {
/* ignore, ipc_net_regist_get_setup will do for you */
unsigned char net; unsigned char net;
/* IPC_NET_SERVICE_DOMAIN_.. */
unsigned char domain; unsigned char domain;
} __attribute__((__packed__)); } __attribute__((__packed__));
struct ipc_net_regist { struct ipc_net_regist_response {
unsigned char act; // IPC_NET_ACCESS_TECHNOLOGY_... /* IPC_NET_ACCESS_TECHNOLOGY_... */
unsigned char domain; // IPC_NET_SERVICE_DOMAIN_... unsigned char act;
unsigned char reg_state; // IPC_NET_REGISTRATION_STATE_... /* IPC_NET_SERVICE_DOMAIN_... */
unsigned char domain;
/* IPC_NET_REGISTRATION_STATE_... */
unsigned char reg_state;
unsigned char edge; unsigned char edge;
unsigned short lac; unsigned short lac;
unsigned int cid; unsigned int cid;
char rej_cause; char rej_cause;
} __attribute__((__packed__)); } __attribute__((__packed__));
struct ipc_net_plmn_entry { struct ipc_net_plmn_entry {
unsigned char status; // IPC_NET_PLMN_STATUS_... unsigned char status; // IPC_NET_PLMN_STATUS_...
char plmn[6]; char plmn[6];
unsigned char type; unsigned char type;
skipping to change at line 105 skipping to change at line 110
struct ipc_net_plmn_sel_get { struct ipc_net_plmn_sel_get {
unsigned char plmn_sel; unsigned char plmn_sel;
} __attribute__((__packed__)); } __attribute__((__packed__));
struct ipc_net_plmn_sel_set { struct ipc_net_plmn_sel_set {
unsigned char mode; unsigned char mode;
char plmn[6]; // 5 plmn bytes + 1 '#' byte char plmn[6]; // 5 plmn bytes + 1 '#' byte
unsigned char act; // IPC_NET_ACCESS_TECHNOLOGY_... unsigned char act; // IPC_NET_ACCESS_TECHNOLOGY_...
} __attribute__((__packed__)); } __attribute__((__packed__));
void ipc_net_regist_setup(struct ipc_net_regist_get *message, unsigned char void ipc_net_regist_get_setup(struct ipc_net_regist_get *message, unsigned
domain); char domain);
void ipc_net_plmn_sel_setup(struct ipc_net_plmn_sel_set *message, unsigned void ipc_net_plmn_sel_set_setup(struct ipc_net_plmn_sel_set *message, unsig
char mode, char *plmn, unsigned char act); ned char mode, char *plmn, unsigned char act);
#endif #endif
// vim:ts=4:sw=4:expandtab // vim:ts=4:sw=4:expandtab
 End of changes. 5 change blocks. 
9 lines changed or deleted 14 lines changed or added


 pwr.h   pwr.h 
/** /**
* This file is part of libsamsung-ipc. * This file is part of libsamsung-ipc.
* *
* Copyright (C) 2010-2011 Joerie de Gram <j.de.gram@gmail.com> * Copyright (C) 2010-2011 Joerie de Gram <j.de.gram@gmail.com>
* 2011 Simon Busch <morphis@gravedo.de> * 2011 Simon Busch <morphis@gravedo.de>
* *
* libsamsung-ipc is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or * the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version. * (at your option) any later version.
* *
* libsamsung-ipc is distributed in the hope that it will be useful, * libsamsung-ipc is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with libsamsung-ipc. If not, see <http://www.gnu.org/licenses/>. * along with libsamsung-ipc. If not, see <http://www.gnu.org/licenses/>.
* *
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 radio.h   radio.h 
/** /**
* This file is part of libsamsung-ipc. * This file is part of libsamsung-ipc.
* *
* Copyright (C) 2010-2011 Joerie de Gram <j.de.gram@gmail.com> * Copyright (C) 2010-2011 Joerie de Gram <j.de.gram@gmail.com>
* *
* libsamsung-ipc is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or * the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version. * (at your option) any later version.
* *
* libsamsung-ipc is distributed in the hope that it will be useful, * libsamsung-ipc is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with libsamsung-ipc. If not, see <http://www.gnu.org/licenses/>. * along with libsamsung-ipc. If not, see <http://www.gnu.org/licenses/>.
* *
*/ */
#ifndef __RADIO_H__ #ifndef __RADIO_H__
#define __RADIO_H__ #define __RADIO_H__
#include <stdint.h> #include <stdint.h>
#include "types.h" #include "types.h"
#include "util.h"
#define IPC_CLIENT_TYPE_FMT 0 #define IPC_CLIENT_TYPE_FMT 0
#define IPC_CLIENT_TYPE_RFS 1 #define IPC_CLIENT_TYPE_RFS 1
#define IPC_COMMAND(f) ((f->group << 8) | f->index) #define IPC_COMMAND(f) ((f->group << 8) | f->index)
#define IPC_GROUP(m) (m >> 8) #define IPC_GROUP(m) (m >> 8)
#define IPC_INDEX(m) (m & 0xff) #define IPC_INDEX(m) (m & 0xff)
struct ipc_header { struct ipc_header {
unsigned short length; unsigned short length;
unsigned char mseq, aseq; unsigned char mseq, aseq;
unsigned char group, index, type; unsigned char group, index, type;
} __attribute__((__packed__)); } __attribute__((__packed__));
struct ipc_message_info { struct ipc_message_info {
unsigned char mseq; unsigned char mseq;
unsigned char aseq; unsigned char aseq;
unsigned char group; unsigned char group;
unsigned char index; unsigned char index;
unsigned short cmd;
unsigned char type; unsigned char type;
unsigned int length; unsigned int length;
unsigned char *data; unsigned char *data;
}; };
struct ipc_client; struct ipc_client;
struct ipc_handlers; struct ipc_handlers;
struct ipc_client_gprs_capabilities {
int port_list;
int cid_max;
};
typedef void (*ipc_client_log_handler_cb)(const char *message, void *user_d ata); typedef void (*ipc_client_log_handler_cb)(const char *message, void *user_d ata);
typedef int (*ipc_io_handler_cb)(void *data, unsigned int size, void *io_da ta); typedef int (*ipc_io_handler_cb)(void *data, unsigned int size, void *io_da ta);
typedef int (*ipc_handler_cb)(void *io_data); typedef int (*ipc_handler_cb)(void *io_data);
struct ipc_client* ipc_client_new(int client_type); struct ipc_client* ipc_client_new(int client_type);
struct ipc_client *ipc_client_new_for_device(int device_type, int client_ty pe); struct ipc_client *ipc_client_new_for_device(int device_type, int client_ty pe);
int ipc_client_free(struct ipc_client *client); int ipc_client_free(struct ipc_client *client);
int ipc_client_set_log_handler(struct ipc_client *client, ipc_client_log_ha ndler_cb log_handler_cb, void *user_data); int ipc_client_set_log_handler(struct ipc_client *client, ipc_client_log_ha ndler_cb log_handler_cb, void *user_data);
int ipc_client_set_handlers(struct ipc_client *client, struct ipc_handlers *handlers); int ipc_client_set_handlers(struct ipc_client *client, struct ipc_handlers *handlers);
int ipc_client_set_io_handlers(struct ipc_client *client, int ipc_client_set_io_handlers(struct ipc_client *client,
ipc_io_handler_cb read, void *read_data, ipc_io_handler_cb read, void *read_data,
ipc_io_handler_cb write, void *write_data); ipc_io_handler_cb write, void *write_data);
int ipc_client_set_handlers_common_data(struct ipc_client *client, void *da ta); int ipc_client_set_handlers_common_data(struct ipc_client *client, void *da ta);
void *ipc_client_get_handlers_common_data(struct ipc_client *client); void *ipc_client_get_handlers_common_data(struct ipc_client *client);
int ipc_client_create_handlers_common_data(struct ipc_client *client); int ipc_client_create_handlers_common_data(struct ipc_client *client);
int ipc_client_destroy_handlers_common_data(struct ipc_client *client); int ipc_client_destroy_handlers_common_data(struct ipc_client *client);
int ipc_client_set_handlers_common_data_fd(struct ipc_client *client, int f d); int ipc_client_set_handlers_common_data_fd(struct ipc_client *client, int f d);
int ipc_client_get_handlers_common_data_fd(struct ipc_client *client); int ipc_client_get_handlers_common_data_fd(struct ipc_client *client);
int ipc_client_bootstrap_modem(struct ipc_client *client); int ipc_client_bootstrap_modem(struct ipc_client *client);
int ipc_client_open(struct ipc_client *client); int ipc_client_open(struct ipc_client *client);
int ipc_client_close(struct ipc_client *client); int ipc_client_close(struct ipc_client *client);
int ipc_client_power_on(struct ipc_client *client); int ipc_client_power_on(struct ipc_client *client);
int ipc_client_power_off(struct ipc_client *client); int ipc_client_power_off(struct ipc_client *client);
int ipc_client_gprs_handlers_available(struct ipc_client *client);
int ipc_client_gprs_activate(struct ipc_client *client, int cid);
int ipc_client_gprs_deactivate(struct ipc_client *client, int cid);
char *ipc_client_gprs_get_iface(struct ipc_client *client, int cid);
int ipc_client_gprs_get_capabilities(struct ipc_client *client, struct ipc_
client_gprs_capabilities *cap);
int ipc_client_recv(struct ipc_client *client, struct ipc_message_info *res ponse); int ipc_client_recv(struct ipc_client *client, struct ipc_message_info *res ponse);
void ipc_client_response_free(struct ipc_client *client, struct ipc_message _info *response);
/* Convenience functions for ipc_send */ /* Convenience functions for ipc_send */
void ipc_client_send(struct ipc_client *client, const unsigned short comman d, const char type, unsigned char *data, void ipc_client_send(struct ipc_client *client, const unsigned short comman d, const char type, unsigned char *data,
const int length, unsigned char mseq); const int length, unsigned char mseq);
void ipc_client_send_get(struct ipc_client *client, const unsigned short co mmand, unsigned char mseq); void ipc_client_send_get(struct ipc_client *client, const unsigned short co mmand, unsigned char mseq);
void ipc_client_send_exec(struct ipc_client *client, const unsigned short c ommand, unsigned char mseq); void ipc_client_send_exec(struct ipc_client *client, const unsigned short c ommand, unsigned char mseq);
/* Utility functions */ /* Utility functions */
void ipc_client_log_recv(struct ipc_client *client,
struct ipc_message_info *response, const char *prefix);
void ipc_client_log_send(struct ipc_client *client,
struct ipc_message_info *request, const char *prefix);
const char *ipc_response_type_to_str(int type); const char *ipc_response_type_to_str(int type);
const char *ipc_request_type_to_str(int type); const char *ipc_request_type_to_str(int type);
const char *ipc_command_to_str(int command); const char *ipc_command_to_str(int command);
void ipc_hex_dump(struct ipc_client *client, void *data, int size);
void *ipc_mtd_read(struct ipc_client *client, char *mtd_name, int size, int void ipc_client_hex_dump(struct ipc_client *client, void *data, int size);
block_size); void *ipc_client_mtd_read(struct ipc_client *client, char *mtd_name, int si
void *ipc_file_read(struct ipc_client *client, char *file_name, int size, i ze, int block_size);
nt block_size); void *ipc_client_file_read(struct ipc_client *client, char *file_name, int
size, int block_size);
#endif #endif
// vim:ts=4:sw=4:expandtab // vim:ts=4:sw=4:expandtab
 End of changes. 9 change blocks. 
7 lines changed or deleted 25 lines changed or added


 rfs.h   rfs.h 
/** /**
* This file is part of libsamsung-ipc. * This file is part of libsamsung-ipc.
* *
* Copyright (C) 2011 Paul Kocialkowski <contact@paulk.fr> * Copyright (C) 2011 Paul Kocialkowski <contact@paulk.fr>
* *
* libsamsung-ipc is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or * the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version. * (at your option) any later version.
* *
* libsamsung-ipc is distributed in the hope that it will be useful, * libsamsung-ipc is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with libsamsung-ipc. If not, see <http://www.gnu.org/licenses/>. * along with libsamsung-ipc. If not, see <http://www.gnu.org/licenses/>.
* *
skipping to change at line 30 skipping to change at line 30
#ifndef __RFS_H__ #ifndef __RFS_H__
#define __RFS_H__ #define __RFS_H__
struct ipc_client; struct ipc_client;
struct ipc_message_info; struct ipc_message_info;
#define IPC_RFS_NV_READ_ITEM 0x4201 #define IPC_RFS_NV_READ_ITEM 0x4201
#define IPC_RFS_NV_WRITE_ITEM 0x4202 #define IPC_RFS_NV_WRITE_ITEM 0x4202
#define NV_DATA_MD5_SECRET "Samsung_Android_RIL" #define NV_DATA_PATH_DEFAULT "/efs/nv_data.bin"
#define NV_DATA_SIZE 0x200000 #define NV_DATA_MD5_PATH_DEFAULT "/efs/nv_data.bin.md5"
#define NV_DATA_BAK_PATH_DEFAULT "/efs/.nv_data.bak"
#define NV_DATA_MD5_BAK_PATH_DEFAULT "/efs/.nv_data.bak.md5"
#define NV_STATE_PATH_DEFAULT "/efs/.nv_state"
#define NV_DATA_SECRET_DEFAULT "Samsung_Android_RIL"
#define NV_DATA_SIZE_DEFAULT 0x200000
#define NV_DATA_CHUNK_SIZE_DEFAULT 0x1000
#define MD5_STRING_SIZE MD5_DIGEST_LENGTH * 2 + 1 #define MD5_STRING_SIZE MD5_DIGEST_LENGTH * 2 + 1
struct ipc_rfs_io { struct ipc_rfs_io {
unsigned int offset; unsigned int offset;
unsigned int length; unsigned int length;
} __attribute__((__packed__)); } __attribute__((__packed__));
struct ipc_rfs_io_confirm { struct ipc_rfs_io_confirm {
unsigned char confirm; unsigned char confirm;
unsigned int offset; unsigned int offset;
unsigned int length; unsigned int length;
} __attribute__((__packed__)); } __attribute__((__packed__));
void md5hash2string(char *out, uint8_t *in); void md5hash2string(char *out, uint8_t *in);
char *nv_data_path(struct ipc_client *client);
char *nv_data_md5_path(struct ipc_client *client);
char *nv_data_bak_path(struct ipc_client *client);
char *nv_data_md5_bak_path(struct ipc_client *client);
char *nv_state_path(struct ipc_client *client);
char *nv_data_secret(struct ipc_client *client);
int nv_data_size(struct ipc_client *client);
int nv_data_chunk_size(struct ipc_client *client);
void nv_data_generate(struct ipc_client *client); void nv_data_generate(struct ipc_client *client);
void nv_data_md5_compute(void *data_p, int size, void *hash); void nv_data_md5_compute(void *data_p, int size, char *secret, void *hash);
void nv_data_md5_generate(struct ipc_client *client); void nv_data_md5_generate(struct ipc_client *client);
void nv_data_backup_create(struct ipc_client *client); void nv_data_backup_create(struct ipc_client *client);
void nv_data_backup_restore(struct ipc_client *client); void nv_data_backup_restore(struct ipc_client *client);
void nv_data_check(struct ipc_client *client); int nv_data_check(struct ipc_client *client);
void nv_data_md5_check(struct ipc_client *client); int nv_data_md5_check(struct ipc_client *client);
int nv_data_read(struct ipc_client *client, int offset, int length, char *b uf); int nv_data_read(struct ipc_client *client, int offset, int length, char *b uf);
int nv_data_write(struct ipc_client *client, int offset, int length, char * buf); int nv_data_write(struct ipc_client *client, int offset, int length, char * buf);
void ipc_rfs_send_io_confirm_for_nv_write_item(struct ipc_client *client, s truct ipc_message_info *info); void ipc_rfs_send_io_confirm_for_nv_write_item(struct ipc_client *client, s truct ipc_message_info *info);
void ipc_rfs_send_io_confirm_for_nv_read_item(struct ipc_client *client, st ruct ipc_message_info *info); void ipc_rfs_send_io_confirm_for_nv_read_item(struct ipc_client *client, st ruct ipc_message_info *info);
#endif #endif
// vim:ts=4:sw=4:expandtab // vim:ts=4:sw=4:expandtab
 End of changes. 5 change blocks. 
6 lines changed or deleted 20 lines changed or added


 sec.h   sec.h 
/** /**
* This file is part of libsamsung-ipc. * This file is part of libsamsung-ipc.
* *
* Copyright (C) 2010-2011 Joerie de Gram <j.de.gram@gmail.com> * Copyright (C) 2010-2011 Joerie de Gram <j.de.gram@gmail.com>
* Copyright (C) 2011 Paul Kocialkowski <contact@paulk.fr> * Copyright (C) 2011 Paul Kocialkowski <contact@paulk.fr>
* *
* libsamsung-ipc is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or * the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version. * (at your option) any later version.
* *
* libsamsung-ipc is distributed in the hope that it will be useful, * libsamsung-ipc is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with libsamsung-ipc. If not, see <http://www.gnu.org/licenses/>. * along with libsamsung-ipc. If not, see <http://www.gnu.org/licenses/>.
* *
*/ */
#ifndef __SEC_H__ #ifndef __SEC_H__
#define __SEC_H__ #define __SEC_H__
struct ipc_message_info; struct ipc_message_info;
#define IPC_SEC_PIN_STATUS 0x0501 /* Possible SEC related IPC message types */
#define IPC_SEC_PHONE_LOCK 0x0502 #define IPC_SEC_SIM_STATUS 0x0501
#define IPC_SEC_CHANGE_LOCKING_PW 0x0503 #define IPC_SEC_PHONE_LOCK 0x0502
#define IPC_SEC_SIM_LANG 0x0504 #define IPC_SEC_CHANGE_LOCKING_PW 0x0503
#define IPC_SEC_RSIM_ACCESS 0x0505 #define IPC_SEC_SIM_LANG 0x0504
#define IPC_SEC_GSIM_ACCESS 0x0506 #define IPC_SEC_RSIM_ACCESS 0x0505
#define IPC_SEC_SIM_ICC_TYPE 0x0507 #define IPC_SEC_GSIM_ACCESS 0x0506
#define IPC_SEC_LOCK_INFO 0x0508 #define IPC_SEC_SIM_ICC_TYPE 0x0507
#define IPC_SEC_ISIM_AUTH 0x0509 #define IPC_SEC_LOCK_INFO 0x0508
#define IPC_SEC_ISIM_AUTH 0x0509
#define IPC_SEC_PIN_SIM_INITIALIZING 0x00
#define IPC_SEC_PIN_SIM_SIM_LOCK_REQUIRED 0x01 /* SIM status */
#define IPC_SEC_PIN_SIM_INSIDE_PF_ERROR 0x02 #define IPC_SEC_SIM_STATUS_READY 0x00
#define IPC_SEC_PIN_SIM_LOCK_SC 0x03 #define IPC_SEC_SIM_STATUS_SIM_LOCK_REQUIRED 0x01
#define IPC_SEC_PIN_SIM_LOCK_FD 0x04 #define IPC_SEC_SIM_STATUS_INSIDE_PF_ERROR 0x02
#define IPC_SEC_PIN_SIM_LOCK_PN 0x05 #define IPC_SEC_SIM_STATUS_LOCK_SC 0x03
#define IPC_SEC_PIN_SIM_LOCK_PU 0x06 #define IPC_SEC_SIM_STATUS_LOCK_FD 0x04
#define IPC_SEC_PIN_SIM_LOCK_PP 0x07 #define IPC_SEC_SIM_STATUS_LOCK_PN 0x05
#define IPC_SEC_PIN_SIM_LOCK_PC 0x08 #define IPC_SEC_SIM_STATUS_LOCK_PU 0x06
#define IPC_SEC_PIN_SIM_CARD_NOT_PRESENT 0x80 #define IPC_SEC_SIM_STATUS_LOCK_PP 0x07
#define IPC_SEC_PIN_SIM_CARD_ERROR 0x81 #define IPC_SEC_SIM_STATUS_LOCK_PC 0x08
#define IPC_SEC_PIN_SIM_INIT_COMPLETE 0x82 #define IPC_SEC_SIM_STATUS_CARD_NOT_PRESENT 0x80
#define IPC_SEC_PIN_SIM_PB_INIT_COMPLETE 0x83 #define IPC_SEC_SIM_STATUS_CARD_ERROR 0x81
#define IPC_SEC_SIM_STATUS_INIT_COMPLETE 0x82
/* Key types for the SIM card (SC) facility */ #define IPC_SEC_SIM_STATUS_PB_INIT_COMPLETE 0x83
#define IPC_SEC_PIN_SIM_LOCK_SC_PIN1_REQ 0x01
#define IPC_SEC_PIN_SIM_LOCK_SC_PUK_REQ 0x02 /* SIM/Network facility types */
#define IPC_SEC_PIN_SIM_LOCK_SC_CARD_BLOCKED 0x05 #define IPC_SEC_FACILITY_TYPE_SC 0x03
#define IPC_SEC_FACILITY_TYPE_FD 0x04
#define IPC_SEC_PIN_TYPE_PIN1 0x03 #define IPC_SEC_FACILITY_TYPE_PN 0x05
#define IPC_SEC_PIN_TYPE_PIN2 0x09 #define IPC_SEC_FACILITY_TYPE_PU 0x06
#define IPC_SEC_FACILITY_TYPE_PP 0x07
#define IPC_SEC_SIM_CARD_TYPE_UNKNOWN 0x00 #define IPC_SEC_FACILITY_TYPE_PC 0x08
#define IPC_SEC_SIM_CARD_TYPE_SIM 0x01
#define IPC_SEC_SIM_CARD_TYPE_USIM 0x02 /* SIM card (SC) facility lock types */
#define IPC_SEC_FACILITY_LOCK_TYPE_SC_UNLOCKED 0x00
#define IPC_SEC_RSIM_COMMAND_READ_BINARY 0xb0 #define IPC_SEC_FACILITY_LOCK_TYPE_SC_PIN1_REQ 0x01
#define IPC_SEC_RSIM_COMMAND_READ_RECORD 0xc0 #define IPC_SEC_FACILITY_LOCK_TYPE_SC_PUK_REQ 0x02
#define IPC_SEC_RSIM_COMMAND_UPDATE_BINARY 0xd6 #define IPC_SEC_FACILITY_LOCK_TYPE_SC_CARD_BLOCKED 0x05
#define IPC_SEC_RSIM_COMMAND_STATUS 0xf2
/* PIN type */
#define IPC_SEC_PIN_TYPE_PIN1 0x03
#define IPC_SEC_PIN_TYPE_PIN2 0x09
/* Type of the used SIM card */
#define IPC_SEC_SIM_CARD_TYPE_UNKNOWN 0x00
#define IPC_SEC_SIM_CARD_TYPE_SIM 0x01
#define IPC_SEC_SIM_CARD_TYPE_USIM 0x02
/* Possible RSIM commads (see TS 27.00.1 8.18) */
#define IPC_SEC_RSIM_COMMAND_READ_BINARY 0xb0
#define IPC_SEC_RSIM_COMMAND_READ_RECORD 0xb2
#define IPC_SEC_RSIM_COMMAND_GET_RESPONSE 0xc0
#define IPC_SEC_RSIM_COMMAND_UPDATE_BINARY 0xd6
#define IPC_SEC_RSIM_COMMAND_UPDATE_RECORD 0xdc
#define IPC_SEC_RSIM_COMMAND_STATUS 0xf2
#define IPC_SEC_RSIM_COMMAND_RETRIEVE_DATA 0xcb
#define IPC_SEC_RSIM_COMMAND_SET_DATA 0xdb
struct ipc_sec_pin_status_response { #define IPC_SEC_RSIM_FILE_STRUCTURE_TRANSPARENT 0x83
unsigned char type; #define IPC_SEC_RSIM_FILE_STRUCTURE_LINEAR_FIXED 0x00
unsigned char key;
struct ipc_sec_sim_status_response {
/* IPC_SEC_SIM_STATUS_... */
unsigned char status;
/* IPC_SEC_FACILITY_LOCK_TYPE_... */
unsigned char facility_lock;
} __attribute__((__packed__)); } __attribute__((__packed__));
struct ipc_sec_pin_status_set { struct ipc_sec_pin_status_set {
/* IPC_SEC_SIM_STATUS_... */
unsigned char type; unsigned char type;
unsigned char length1; unsigned char length1;
unsigned char length2; unsigned char length2;
unsigned char pin1[8]; unsigned char pin1[8];
unsigned char pin2[8]; unsigned char pin2[8];
} __attribute__((__packed__)); } __attribute__((__packed__));
struct ipc_sec_phone_lock_set { struct ipc_sec_phone_lock_set {
unsigned char type; // IPC_SEC_PIN_SIM_LOCK_... /* IPC_SEC_SIM_STATUS_... */
unsigned char lock; unsigned char type;
unsigned char lock; /* 1: lock, 0: unlock */
unsigned char length; unsigned char length;
unsigned char password[39]; unsigned char password[39];
} __attribute__((__packed__)); } __attribute__((__packed__));
struct ipc_sec_phone_lock_get { struct ipc_sec_phone_lock_get {
unsigned char type; // IPC_SEC_PIN_SIM_LOCK_... /* IPC_SEC_FACILITY_TYPE_... */
unsigned char facility;
} __attribute__((__packed__)); } __attribute__((__packed__));
struct ipc_sec_phone_lock_response { struct ipc_sec_phone_lock_response {
unsigned char type; /* IPC_SEC_FACILITY_TYPE_... */
unsigned char status; unsigned char facility;
unsigned char status; /* 1: active, 0: not active */
} __attribute__((__packed__)); } __attribute__((__packed__));
struct ipc_sec_change_locking_pw { struct ipc_sec_change_locking_pw_set {
unsigned char type; // IPC_SEC_PIN_SIM_LOCK_... /* IPC_SEC_FACILITY_TYPE_... */
unsigned char facility;
unsigned char length_old; unsigned char length_old;
unsigned char length_new; unsigned char length_new;
unsigned char password_old[39]; unsigned char password_old[39];
unsigned char password_new[39]; unsigned char password_new[39];
} __attribute__((__packed__)); } __attribute__((__packed__));
struct ipc_sec_rsim_access_request { struct ipc_sec_rsim_access_get {
/* IPC_SEC_RSIM_COMMAND_... */
unsigned char command; unsigned char command;
unsigned short fileid; unsigned short fileid;
unsigned char p1, p2, p3; unsigned char p1, p2, p3;
} __attribute__((__packed__)); } __attribute__((__packed__));
struct ipc_sec_rsim_access_response { struct ipc_sec_rsim_access_response {
unsigned char sw1, sw2; unsigned char sw1, sw2;
unsigned char len; unsigned char len;
} __attribute__((__packed__)); } __attribute__((__packed__));
struct ipc_sec_lock_info_request { // This is the data structure for SIM ICC type != 1
unsigned char unk0; struct ipc_sec_rsim_access_response_data {
unsigned char unk1[3];
unsigned char offset;
unsigned char unk2[2];
unsigned char file_structure;
unsigned char record_length;
} __attribute__((__packed__));
struct ipc_sec_lock_info_get {
unsigned char unk0; /* needs to be "1" */
/* IPC_SEC_PIN_TYPE_... */
unsigned char pin_type; unsigned char pin_type;
} __attribute__((__packed__)); } __attribute__((__packed__));
struct ipc_sec_lock_info_response { struct ipc_sec_lock_info_response {
unsigned char num; unsigned char num;
/* IPC_SEC_PIN_TYPE_... */
unsigned char type; unsigned char type;
unsigned char key; unsigned char key;
unsigned char attempts; unsigned char attempts;
} __attribute__((__packed__)); } __attribute__((__packed__));
struct ipc_sec_sim_icc_type { struct ipc_sec_sim_icc_type {
unsigned char type; unsigned char type;
} __attribute__((__packed__)); } __attribute__((__packed__));
void ipc_sec_pin_status_set_setup(struct ipc_sec_pin_status_set *message, void ipc_sec_pin_status_set_setup(struct ipc_sec_pin_status_set *message,
unsigned char pin_type, char *pin1, char *pin2); unsigned char pin_type, char *pin1, char *pin2);
void ipc_sec_lock_info_get_setup(struct ipc_sec_lock_info_get *message,
unsigned char pin_type);
void ipc_sec_phone_lock_set_setup(struct ipc_sec_phone_lock_set *message,
int pin_type, int enable, char *passwd);
char* ipc_sec_rsim_access_response_get_file_data(struct ipc_message_info *r esponse); char* ipc_sec_rsim_access_response_get_file_data(struct ipc_message_info *r esponse);
void ipc_sec_change_locking_pw_set_setup(struct ipc_sec_change_locking_pw_s
et *message,
int type, char *passwd_old, char *
passwd_new);
#endif #endif
// vim:ts=4:sw=4:expandtab // vim:ts=4:sw=4:expandtab
 End of changes. 13 change blocks. 
54 lines changed or deleted 105 lines changed or added


 sms.h   sms.h 
/** /**
* This file is part of libsamsung-ipc. * This file is part of libsamsung-ipc.
* *
* Copyright (C) 2010-2011 Joerie de Gram <j.de.gram@gmail.com> * Copyright (C) 2010-2011 Joerie de Gram <j.de.gram@gmail.com>
* *
* libsamsung-ipc is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or * the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version. * (at your option) any later version.
* *
* libsamsung-ipc is distributed in the hope that it will be useful, * libsamsung-ipc is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with libsamsung-ipc. If not, see <http://www.gnu.org/licenses/>. * along with libsamsung-ipc. If not, see <http://www.gnu.org/licenses/>.
* *
skipping to change at line 55 skipping to change at line 55
#define IPC_SMS_PARAM_COUNT 0x0410 #define IPC_SMS_PARAM_COUNT 0x0410
#define IPC_SMS_PARAM 0x0411 #define IPC_SMS_PARAM 0x0411
#define IPC_SMS_MSG_MULTIPLE 1 #define IPC_SMS_MSG_MULTIPLE 1
#define IPC_SMS_MSG_SINGLE 2 #define IPC_SMS_MSG_SINGLE 2
#define IPC_SMS_TYPE_POINT_TO_POINT 1 #define IPC_SMS_TYPE_POINT_TO_POINT 1
#define IPC_SMS_TYPE_STATUS_REPORT 2 #define IPC_SMS_TYPE_STATUS_REPORT 2
#define IPC_SMS_TYPE_OUTGOING 2 #define IPC_SMS_TYPE_OUTGOING 2
unsigned char* ipc_sms_send_msg_pack(struct ipc_sms_send_msg *msg, char *sm sc, unsigned char *pdu, int length); unsigned char* ipc_sms_send_msg_pack(struct ipc_sms_send_msg_request *msg, char *smsc, unsigned char *pdu, int length);
#endif #endif
// vim:ts=4:sw=4:expandtab // vim:ts=4:sw=4:expandtab
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 snd.h   snd.h 
/** /**
* This file is part of libsamsung-ipc. * This file is part of libsamsung-ipc.
* *
* Copyright (C) 2011 Paul Kocialkowski <contact@oaulk.fr> * Copyright (C) 2011 Paul Kocialkowski <contact@oaulk.fr>
* *
* libsamsung-ipc is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or * the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version. * (at your option) any later version.
* *
* libsamsung-ipc is distributed in the hope that it will be useful, * libsamsung-ipc is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with libsamsung-ipc. If not, see <http://www.gnu.org/licenses/>. * along with libsamsung-ipc. If not, see <http://www.gnu.org/licenses/>.
* *
*/ */
#ifndef __SND_H__ #ifndef __SND_H__
#define __SND_H__ #define __SND_H__
struct ipc_message_info; struct ipc_message_info;
#define IPC_SND_SPKR_VOLUME_CTRL 0x0901 #define IPC_SND_SPKR_VOLUME_CTRL 0x0901
#define IPC_SND_MIC_MUTE_CTRL 0x0902 #define IPC_SND_MIC_MUTE_CTRL 0x0902
#define IPC_SND_AUDIO_PATH_CTRL 0x0903 #define IPC_SND_AUDIO_PATH_CTRL 0x0903
#define IPC_SND_AUDIO_SOURCE_CTRL 0x0904
#define IPC_SND_LOOPBACK_CTRL 0x0905
#define IPC_SND_VOICE_RECORDING_CTRL 0x0906
#define IPC_SND_VIDEO_CALL_CTRL 0x0907
#define IPC_SND_RINGBACK_TONE_CTRL 0x0908 #define IPC_SND_RINGBACK_TONE_CTRL 0x0908
#define IPC_SND_CLOCK_CTRL 0x0909 #define IPC_SND_CLOCK_CTRL 0x0909
#define IPC_SND_WB_AMR_STATUS 0x090A
#define IPC_SND_VOLUME_TYPE_VOICE 0x01 #define IPC_SND_VOLUME_TYPE_VOICE 0x01
#define IPC_SND_VOLUME_TYPE_SPEAKER 0x11 #define IPC_SND_VOLUME_TYPE_SPEAKER 0x11
#define IPC_SND_VOLUME_TYPE_HEADSET 0x31 #define IPC_SND_VOLUME_TYPE_HEADSET 0x31
#define IPC_SND_VOLUME_TYPE_BTVOICE 0x41 #define IPC_SND_VOLUME_TYPE_BTVOICE 0x41
#define IPC_SND_AUDIO_PATH_HANDSET 0x01 #define IPC_SND_AUDIO_PATH_HANDSET 0x01
#define IPC_SND_AUDIO_PATH_HEADSET 0x02 #define IPC_SND_AUDIO_PATH_HEADSET 0x02
#define IPC_SND_AUDIO_PATH_SPEAKER 0x06 #define IPC_SND_AUDIO_PATH_SPEAKER 0x06
#define IPC_SND_AUDIO_PATH_BLUETOOTH 0x04 #define IPC_SND_AUDIO_PATH_BLUETOOTH 0x04
 End of changes. 3 change blocks. 
1 lines changed or deleted 6 lines changed or added


 ss.h   ss.h 
/** /**
* This file is part of libsamsung-ipc. * This file is part of libsamsung-ipc.
* *
* Copyright (C) 2010-2011 Joerie de Gram <j.de.gram@gmail.com> * Copyright (C) 2010-2011 Joerie de Gram <j.de.gram@gmail.com>
* Copyright (C) 2012 Paul Kocialkowski <contact@oaulk.fr> * Copyright (C) 2012 Paul Kocialkowski <contact@oaulk.fr>
* *
* libsamsung-ipc is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or * the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version. * (at your option) any later version.
* *
* libsamsung-ipc is distributed in the hope that it will be useful, * libsamsung-ipc is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with libsamsung-ipc. If not, see <http://www.gnu.org/licenses/>. * along with libsamsung-ipc. If not, see <http://www.gnu.org/licenses/>.
* *
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 types.h   types.h 
/** /**
* This file is part of libsamsung-ipc. * This file is part of libsamsung-ipc.
* *
* Copyright (C) 2010-2011 Joerie de Gram <j.de.gram@gmail.com> * Copyright (C) 2010-2011 Joerie de Gram <j.de.gram@gmail.com>
* *
* libsamsung-ipc is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or * the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version. * (at your option) any later version.
* *
* libsamsung-ipc is distributed in the hope that it will be useful, * libsamsung-ipc is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with libsamsung-ipc. If not, see <http://www.gnu.org/licenses/>. * along with libsamsung-ipc. If not, see <http://www.gnu.org/licenses/>.
* *
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/