| 1 | /**
|
|---|
| 2 | * @author ETSI
|
|---|
| 3 | * @version $URL: svn+ssh://vcs.etsi.org/TTCN3/LIB/Ttcn3LibCommon/trunk/ttcn/LibCommon_TextStrings.ttcn $
|
|---|
| 4 | * $Id: LibCommon_TextStrings.ttcn 35 2009-06-11 12:23:24Z kremer $
|
|---|
| 5 | * @desc A collection of text string type and value definitions which
|
|---|
| 6 | * may be useful in the implementation of any TTCN-3 test
|
|---|
| 7 | * suite. "Text string" refers to TTCN-3 charstring and universal
|
|---|
| 8 | * charstring types.
|
|---|
| 9 | * @remark End users should be aware that any changes made to the in
|
|---|
| 10 | * definitions this module may be overwritten in future releases.
|
|---|
| 11 | * End users are encouraged to contact the distributers of this
|
|---|
| 12 | * module regarding their modifications or additions so that future
|
|---|
| 13 | * updates will include your changes.
|
|---|
| 14 | */
|
|---|
| 15 | module LibCommon_TextStrings {
|
|---|
| 16 |
|
|---|
| 17 | /**
|
|---|
| 18 | * @desc These constants can be used to add special characters into
|
|---|
| 19 | * TTCN-3 text strings by using the concatenation operator.
|
|---|
| 20 | * Example use:
|
|---|
| 21 | * var charstring v_text := "Hi!" & c_CRLF & "Hello!";
|
|---|
| 22 | */
|
|---|
| 23 | group usefulConstants {
|
|---|
| 24 |
|
|---|
| 25 | const charstring c_NUL := oct2char('00'O);
|
|---|
| 26 | const charstring c_SOH := oct2char('01'O);
|
|---|
| 27 | const charstring c_STX := oct2char('02'O);
|
|---|
| 28 | const charstring c_ETX := oct2char('03'O);
|
|---|
| 29 | const charstring c_EOT := oct2char('04'O);
|
|---|
| 30 | const charstring c_ENQ := oct2char('05'O);
|
|---|
| 31 | const charstring c_ACK := oct2char('06'O);
|
|---|
| 32 | const charstring c_BEL := oct2char('07'O);
|
|---|
| 33 | const charstring c_BS := oct2char('08'O);
|
|---|
| 34 | const charstring c_TAB := oct2char('09'O);
|
|---|
| 35 | const charstring c_LF := oct2char('0A'O);
|
|---|
| 36 | const charstring c_VT := oct2char('0B'O);
|
|---|
| 37 | const charstring c_FF := oct2char('0C'O);
|
|---|
| 38 | const charstring c_CR := oct2char('0D'O);
|
|---|
| 39 | const charstring c_SO := oct2char('0E'O);
|
|---|
| 40 | const charstring c_SI := oct2char('0F'O);
|
|---|
| 41 | const charstring c_DLE := oct2char('10'O);
|
|---|
| 42 | const charstring c_DC1 := oct2char('11'O);
|
|---|
| 43 | const charstring c_DC2 := oct2char('12'O);
|
|---|
| 44 | const charstring c_DC3 := oct2char('13'O);
|
|---|
| 45 | const charstring c_DC4 := oct2char('14'O);
|
|---|
| 46 | const charstring c_NAK := oct2char('15'O);
|
|---|
| 47 | const charstring c_SYN := oct2char('16'O);
|
|---|
| 48 | const charstring c_ETB := oct2char('17'O);
|
|---|
| 49 | const charstring c_CAN := oct2char('18'O);
|
|---|
| 50 | const charstring c_EM := oct2char('19'O);
|
|---|
| 51 | const charstring c_SUB := oct2char('1A'O);
|
|---|
| 52 | const charstring c_ESC := oct2char('1B'O);
|
|---|
| 53 | const charstring c_FS := oct2char('1C'O);
|
|---|
| 54 | const charstring c_GS := oct2char('1D'O);
|
|---|
| 55 | const charstring c_RS := oct2char('1E'O);
|
|---|
| 56 | const charstring c_US := oct2char('1F'O);
|
|---|
| 57 | const charstring c_DEL := oct2char('7F'O);
|
|---|
| 58 |
|
|---|
| 59 | const charstring c_CRLF := oct2char('0D'O) & oct2char('0A'O);
|
|---|
| 60 |
|
|---|
| 61 | } // end group usefulConstants
|
|---|
| 62 |
|
|---|
| 63 | /**
|
|---|
| 64 | * @remark Number in name indicates string length in number of
|
|---|
| 65 | * _characters_
|
|---|
| 66 | */
|
|---|
| 67 | group textStringSubTypes {
|
|---|
| 68 |
|
|---|
| 69 | type charstring String1 length(1) with { encode "length(1)"};
|
|---|
| 70 | type charstring String2 length(2) with { encode "length(2)"};
|
|---|
| 71 | type charstring String3 length(3) with { encode "length(3)"};
|
|---|
| 72 | type charstring String4 length(4) with { encode "length(4)"};
|
|---|
| 73 | type charstring String5 length(5) with { encode "length(5)"};
|
|---|
| 74 | type charstring String6 length(6) with { encode "length(6)"};
|
|---|
| 75 | type charstring String7 length(7) with { encode "length(7)"};
|
|---|
| 76 | type charstring String8 length(8) with { encode "length(8)"};
|
|---|
| 77 | type charstring String9 length(9) with { encode "length(9)"};
|
|---|
| 78 | type charstring String10 length(10) with { encode "length(10)"};
|
|---|
| 79 | type charstring String11 length(11) with { encode "length(11)"};
|
|---|
| 80 | type charstring String12 length(12) with { encode "length(12)"};
|
|---|
| 81 | type charstring String13 length(13) with { encode "length(13)"};
|
|---|
| 82 | type charstring String14 length(14) with { encode "length(14)"};
|
|---|
| 83 | type charstring String15 length(15) with { encode "length(15)"};
|
|---|
| 84 | type charstring String16 length(16) with { encode "length(16)"};
|
|---|
| 85 |
|
|---|
| 86 | type charstring String1To13 length(1..13) with {encode "length(1..13)"};
|
|---|
| 87 | type charstring String1To63 length(1..63) with {encode "length(1..63)"};
|
|---|
| 88 | type charstring String1To64 length(1..64) with {encode "length(1..64)"};
|
|---|
| 89 | type charstring String1To127 length(1..127) with {encode "length(1..127)"};
|
|---|
| 90 | type charstring String1To128 length(1..128) with {encode "length(1..128)"};
|
|---|
| 91 | type charstring String1to255 length(1..255) with {encode "length(1..255)"};
|
|---|
| 92 | type charstring String5to253 length (5..253) with {encode "length(5..253)"};
|
|---|
| 93 |
|
|---|
| 94 | } // end stringSubTypes
|
|---|
| 95 |
|
|---|
| 96 | group usefulTextStringTypes {
|
|---|
| 97 |
|
|---|
| 98 | type universal charstring UnicodeText;
|
|---|
| 99 |
|
|---|
| 100 | type universal charstring UnicodeText1to255 length(1..255)
|
|---|
| 101 | with {encode "length(1..255)"};
|
|---|
| 102 |
|
|---|
| 103 | /**
|
|---|
| 104 | * @desc Subtyping can not be used in this type definition to ensure
|
|---|
| 105 | * values of this type are really alphanumeric.
|
|---|
| 106 | * Instead either codecs or a template have
|
|---|
| 107 | * to be used for this purpose. The type is kept here to ensure
|
|---|
| 108 | * backward compatibility.
|
|---|
| 109 | * @see LibCommon_TextStrings.mw_isAlphaNum
|
|---|
| 110 | */
|
|---|
| 111 | type charstring AlphaNum with { encode "alphanumeric"};
|
|---|
| 112 | type AlphaNum AlphaNum2 length(2) with { encode "alphanumeric;length(2)"};
|
|---|
| 113 | type AlphaNum AlphaNum1To32 length(1..32) with {encode "alphanumeric;length(1..32)"};
|
|---|
| 114 |
|
|---|
| 115 | } // end group usefulTextStringTypes
|
|---|
| 116 |
|
|---|
| 117 | group usefulTextStringTemplates {
|
|---|
| 118 |
|
|---|
| 119 | template charstring mw_isAlphaNum := pattern "([0-9]|[a-z]|[A-Z])+";
|
|---|
| 120 |
|
|---|
| 121 | } // end group usefulTextStringTemplates
|
|---|
| 122 |
|
|---|
| 123 | } // end module LibCommon_TextStrings
|
|---|