Changeset 3519
- Timestamp:
- 11/27/07 09:24:57 (5 years ago)
- Location:
- trunk/src/target/gsm
- Files:
-
- 7 edited
-
include/gsmd/usock.h (modified) (2 diffs)
-
include/libgsmd/misc.h (modified) (1 diff)
-
include/libgsmd/phonebook.h (modified) (1 diff)
-
src/gsmd/usock.c (modified) (4 diffs)
-
src/libgsmd/libgsmd_phone.c (modified) (1 diff)
-
src/libgsmd/libgsmd_phonebook.c (modified) (1 diff)
-
src/util/shell.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/target/gsm/include/gsmd/usock.h
r3504 r3519 57 57 GSMD_PHONE_POWERUP = 1, 58 58 GSMD_PHONE_POWERDOWN = 2, 59 GSMD_PHONE_GET_IMSI = 3, 59 60 }; 60 61 … … 256 257 GSMD_PHONEBOOK_RETRIEVE_READRG = 9, 257 258 GSMD_PHONEBOOK_RETRIEVE_FIND = 10, 258 GSMD_PHONEBOOK_GET_IMSI = 11,259 259 }; 260 260 -
trunk/src/target/gsm/include/libgsmd/misc.h
r3449 r3519 78 78 /* TBD */ 79 79 80 /* Retrieve IMSI information */ 81 extern int lgsm_get_imsi(struct lgsm_handle *lh); 80 82 81 83 #endif -
trunk/src/target/gsm/include/libgsmd/phonebook.h
r3394 r3519 100 100 extern int lgsm_pb_retrieve_find(struct lgsm_handle *lh, int num); 101 101 102 /* Retrieve IMSI information */103 extern int lgsm_get_imsi(struct lgsm_handle *lh); // TODO this needs to go into a SIM specific file104 105 102 #endif -
trunk/src/target/gsm/src/gsmd/usock.c
r3449 r3519 264 264 } 265 265 266 static int get_imsi_cb(struct gsmd_atcmd *cmd, void *ctx, char *resp) 267 { 268 struct gsmd_user *gu = ctx; 269 struct gsmd_ucmd *ucmd; 270 271 DEBUGP("resp: %s\n", resp); 272 273 ucmd = gsmd_ucmd_fill(strlen(resp)+1, GSMD_MSG_PHONE, 274 GSMD_PHONE_GET_IMSI, 0); 275 if (!ucmd) 276 return -ENOMEM; 277 278 strcpy(ucmd->buf, resp); 279 280 usock_cmd_enqueue(ucmd, gu); 281 282 return 0; 283 } 284 266 285 static int usock_rcv_phone(struct gsmd_user *gu, struct gsmd_msg_hdr *gph, 267 286 int len) … … 280 299 gu->gsmd->dev_state.on = 0; 281 300 break; 301 case GSMD_PHONE_GET_IMSI: 302 cmd = atcmd_fill("AT+CIMI", 7 + 1, &get_imsi_cb, gu, 0, NULL); 303 break; 304 282 305 default: 283 306 return -EINVAL; 284 307 } 308 285 309 if (!cmd) 286 310 return -ENOMEM; … … 962 986 } 963 987 964 static int get_imsi_cb(struct gsmd_atcmd *cmd, void *ctx, char *resp)965 {966 struct gsmd_user *gu = ctx;967 struct gsmd_ucmd *ucmd;968 969 DEBUGP("resp: %s\n", resp);970 971 ucmd = gsmd_ucmd_fill(strlen(resp)+1, GSMD_MSG_PHONEBOOK,972 GSMD_PHONEBOOK_GET_IMSI, 0);973 if (!ucmd)974 return -ENOMEM;975 976 strcpy(ucmd->buf, resp);977 978 usock_cmd_enqueue(ucmd, gu);979 980 return 0;981 }982 983 988 984 989 static int usock_rcv_phonebook(struct gsmd_user *gu, … … 1157 1162 break; 1158 1163 1159 case GSMD_PHONEBOOK_GET_IMSI:1160 cmd = atcmd_fill("AT+CIMI", 7 + 1, &get_imsi_cb, gu, 0, NULL);1161 break;1162 1164 1163 1165 default: -
trunk/src/target/gsm/src/libgsmd/libgsmd_phone.c
r546 r3519 45 45 return lgsm_send_simple(lh, GSMD_MSG_PHONE, type); 46 46 } 47 48 int lgsm_get_imsi(struct lgsm_handle *lh) 49 { 50 return lgsm_send_simple(lh, GSMD_MSG_PHONE, GSMD_PHONE_GET_IMSI); 51 } 52 -
trunk/src/target/gsm/src/libgsmd/libgsmd_phonebook.c
r3497 r3519 247 247 } 248 248 249 int lgsm_get_imsi(struct lgsm_handle *lh) 250 { 251 return lgsm_send_simple(lh, GSMD_MSG_PHONEBOOK, GSMD_PHONEBOOK_GET_IMSI); 252 } 253 249 -
trunk/src/target/gsm/src/util/shell.c
r3498 r3519 131 131 132 132 nFIND = 0; 133 break;134 case GSMD_PHONEBOOK_GET_IMSI:135 payload = (char *)gmh + sizeof(*gmh);136 printf("imsi <%s>\n", payload);137 pending_responses --;138 133 break; 139 134 default: … … 348 343 return -EINVAL; 349 344 } 345 } 346 347 static int phone_msghandler(struct lgsm_handle *lh, struct gsmd_msg_hdr *gmh) { 348 char *payload; 349 switch (gmh->msg_subtype) { 350 case GSMD_PHONE_GET_IMSI: 351 payload = (char *)gmh + sizeof(*gmh); 352 printf("imsi <%s>\n", payload); 353 pending_responses --; 354 break; 355 default: 356 return -EINVAL; 357 } 358 return 0; 350 359 } 351 360 … … 406 415 lgsm_register_handler(lgsmh, GSMD_MSG_SMS, &sms_msghandler); 407 416 lgsm_register_handler(lgsmh, GSMD_MSG_NETWORK, &net_msghandler); 417 lgsm_register_handler(lgsmh, GSMD_MSG_PHONE, &phone_msghandler); 408 418 409 419 fcntl(0, F_SETFD, O_NONBLOCK);
Note: See TracChangeset
for help on using the changeset viewer.
