[-Wmissing-prototypes]
[metze/wireshark/wip.git] / asn1 / smrse / smrse.cnf
1 # smrse.cnf
2 # SMRSE conformation file
3
4 # $Id$
5
6 #.MODULE_IMPORT
7
8 #.EXPORTS
9
10 #.NO_EMIT
11 SemiOctetString
12 #.END
13
14 #.PDU
15
16 #.TYPE_RENAME
17
18 #.FIELD_RENAME
19
20 #.FN_BODY SMS-Address/address-value/octet-format
21         char *strp,tmpstr[21];
22         guint32 i, start_offset;
23         gint8 ber_class;
24         gboolean pc, ind;
25         gint32 tag;
26         guint32 len;
27         static char n2a[16] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
28
29         start_offset=offset;
30
31         /* skip the tag and length */
32         offset=dissect_ber_identifier(actx->pinfo, tree, tvb, offset, &ber_class, &pc, &tag);
33         offset=dissect_ber_length(actx->pinfo, tree, tvb, offset, &len, &ind);
34         if(len>10){
35                 len=10;
36         }
37         strp=tmpstr;
38         for(i=0;i<len;i++){
39                 *strp++=n2a[tvb_get_guint8(tvb, offset)&0x0f];
40                 *strp++=n2a[(tvb_get_guint8(tvb, offset)>>4)&0x0f];
41                 offset++;
42         }
43         *strp=0;
44
45         proto_tree_add_string(tree, hf_smrse_Octet_Format, tvb, start_offset, offset-start_offset, tmpstr);
46
47         return offset;
48
49 #.END
50
51