FreeCalypso > hg > fc-pcsc-tools
view simtool/lndwrite.c @ 127:08ba6a5d8a3f
doc/Low-level-commands: INVALIDATE and REHABILITATE documented
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 20 Feb 2021 19:53:08 +0000 |
parents | 51f26fd967e2 |
children |
line wrap: on
line source
/* * This module implements lnd-write and lnd-erase commands. */ #include <sys/types.h> #include <string.h> #include <strings.h> #include <stdio.h> #include <stdlib.h> #include "curfile.h" cmd_lnd_write(argc, argv) char **argv; { int rc; u_char record[255], *fixp; rc = select_ef_lnd(); if (rc < 0) return(rc); memset(record, 0xFF, curfile_record_len); fixp = record + curfile_record_len - 14; rc = encode_phone_number_arg(argv[1], fixp, 0); if (rc < 0) return(rc); if (argv[2]) { rc = qstring_arg_to_gsm7(argv[2], record, curfile_record_len - 14); if (rc < 0) return(rc); } return update_rec_op(0, 0x03, record, curfile_record_len); } cmd_lnd_erase(argc, argv) char **argv; { int rc; u_char record[255]; unsigned count; rc = select_ef_lnd(); if (rc < 0) return(rc); memset(record, 0xFF, curfile_record_len); for (count = 0; count < curfile_record_count; count++) { rc = update_rec_op(0, 0x03, record, curfile_record_len); if (rc < 0) return(rc); } return(0); }