Wireshark 4.5.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
packet-docsis-tlv.h
1/* packet-docsis-tlv.h
2 * Contains Definitions for Configuration types
3 * Copyright 2002, Anand V. Narwani <anand[AT]narwani.org>
4 *
5 * Wireshark - Network traffic analyzer
6 * By Gerald Combs <[email protected]>
7 * Copyright 1998 Gerald Combs
8 *
9 * SPDX-License-Identifier: GPL-2.0-or-later
10 */
11
12
13/* Define Top Level TLV Types
14 * Please see http://www.cablemodem.com/Specs/SP-RFIv1.1-I08-020301.pdf
15 * Appendix C.
16 */
17#ifndef __PACKET_TLV_H__
18#define __PACKET_TLV_H__
19#define TLV_DOWN_FREQ 1
20#define TLV_CHNL_ID 2
21#define TLV_NET_ACCESS 3
22#define TLV_COS 4
23#define TLV_MODEM_CAP 5
24#define TLV_CM_MIC 6
25#define TLV_CMTS_MIC 7
26#define TLV_VENDOR_ID 8
27#define TLV_SW_UPG_FILE 9
28#define TLV_SNMP_WRITE_CTRL 10
29#define TLV_SNMP_OBJECT 11
30#define TLV_MODEM_IP 12
31#define TLV_SVC_UNAVAIL 13
32#define TLV_ETHERNET_MAC 14
33#define TLV_TEL_SETTINGS 15
34#define TLV_BPI_CONFIG 17
35#define TLV_MAX_CPES 18
36#define TLV_TFTP_TIME 19
37#define TLV_TFTP_MODEM_ADDRESS 20
38#define TLV_SW_UPG_SRVR 21
39#define TLV_UPSTREAM_CLASSIFIER 22
40#define TLV_DOWN_CLASSIFIER 23
41#define TLV_UPSTREAM_SERVICE_FLOW 24
42#define TLV_DOWN_SERVICE_FLOW 25
43#define TLV_PHS 26
44#define TLV_HMAC_DIGEST 27
45#define TLV_MAX_CLASSIFIERS 28
46#define TLV_PRIVACY_ENABLE 29
47#define TLV_AUTH_BLOCK 30
48#define TLV_KEY_SEQ_NUM 31
49#define TLV_MFGR_CVC 32
50#define TLV_COSIGN_CVC 33
51#define TLV_SNMPV3_KICKSTART 34
52#define TLV_SUBS_MGMT_CTRL 35
53#define TLV_SUBS_MGMT_CPE 36
54#define TLV_SUBS_MGMT_FLTR 37
55#define TLV_SNMPV3_NTFY_RCVR 38
56#define TLV_ENABLE_20_MODE 39
57#define TLV_ENABLE_TEST_MODES 40
58#define TLV_DS_CH_LIST 41
59#define TLV_MC_MAC_ADDRESS 42
60#define TLV_DOCSIS_EXTENSION_FIELD 43
61#define TLV_VENDOR_SPEC 44
62#define TLV_DUT_FILTER 45
63#define TLV_TCC 46
64#define TLV_SID_CL 47
65#define TLV_RCP 48
66#define TLV_RCC 49
67#define TLV_DSID 50
68#define TLV_SEC_ASSOC 51
69#define TLV_INIT_CH_TIMEOUT 52
70#define TLV_SNMPV1V2_COEX 53
71#define TLV_SNMPV3_ACC_VIEW 54
72#define TLV_SNMP_CPE_ACC_CTRL 55
73#define TLV_CH_ASGN 56
74#define TLV_CM_INIT_REASON 57
75#define TLV_SW_UPG_SRVR_IPV6 58
76#define TLV_TFTP_PROV_CM_IPV6_ADDR 59
77#define TLV_US_DROP_CLFY 60
78#define TLV_SUBS_MGMT_IPV6_LST 61
79#define TLV_US_DROP_CLFY_GROUP_ID 62
80#define TLV_SUBS_MGMT_CTRL_MAX_CPE_IPV6 63
81#define TLV_CMTS_MC_SESS_ENC 64
82#define TLV_L2VPN_MAC_AGING 65
83#define TLV_MGMT_EVENT_CTRL 66
84#define TLV_EM_MODE_INDICATOR 75
85#define TLV_EM_ID_LIST_FOR_CM 78
86#define TLV_FDX_TG_ASSIGNMENT 85
87#define TLV_FDX_RESET 86
88#define TLV_END 255
89
90/* Define DOCSIS 1.0 Class Of Service Configuration Types
91 * These are subtypes of TLV_COS (4)
92 */
93#define COS_CLASSID 1
94#define COS_MAX_DOWN 2
95#define COS_MAX_UP 3
96#define COS_UP_CH_PRIO 4
97#define COS_MIN_UP_RATE 5
98#define COS_MAX_UP_BURST 6
99#define COS_BP_ENABLE 7
100
101/* Define SNMPV3 KickStart subtypes
102 * These are subtypes of TLV_SNMPV3_KICKSTART (34)
103 */
104#define SNMPV3_SEC_NAME 1
105#define SNMPV3_MGR_PUB_NUM 2
106
107/* Define Modem Capabilities Subtypes
108 * These are subtypes of TLV_MODEM_CAP (5)
109 */
110#define CAP_CONCAT 1
111#define CAP_DOCSIS_VER 2
112#define CAP_FRAG 3
113#define CAP_PHS 4
114#define CAP_IGMP 5
115#define CAP_PRIVACY 6
116#define CAP_DOWN_SAID 7
117#define CAP_UP_SID 8
118#define CAP_OPT_FILT 9
119#define CAP_XMIT_EQPERSYM 10
120#define CAP_NUM_XMIT_EQ_TAPS 11
121#define CAP_DCC 12
122#define CAP_IP_FILTERS 13
123#define CAP_LLC_FILTERS 14
124#define CAP_EXP_UNICAST_SID 15
125#define CAP_RNG_HOFF 16
126#define CAP_L2VPN 17
127#define CAP_L2VPN_ESAFE 18
128#define CAP_DUT_FILTERING 19
129#define CAP_US_FREQ_RNG 20
130#define CAP_US_SRATE 21
131#define CAP_SAC 22
132#define CAP_CODE_HOP_M2 23
133#define CAP_MTC 24
134#define CAP_512_MSPS_UTC 25
135#define CAP_256_MSPS_UTC 26
136#define CAP_TOTAL_SID_CLUST 27
137#define CAP_SID_PER_SF 28
138#define CAP_MRC 29
139#define CAP_TOTAL_DSID 30
140#define CAP_RESEQ_DSID 31
141#define CAP_MC_DSID 32
142#define CAP_MC_DSID_FWD 33
143#define CAP_FCTYPE_FWD 34
144#define CAP_DPV 35
145#define CAP_UGS 36
146#define CAP_MAP_UCD 37
147#define CAP_UDC 38
148#define CAP_IPV6 39
149#define CAP_EXT_US_TRNS_PWR 40
150#define CAP_EM 44
151#define CAP_CM_STATUS_ACK 46
152#define CAP_EM_PREF 47
153#define CAP_EXT_PKT_LEN_SUP_CAP 48
154#define CAP_OFDM_MULT_RECV_CHAN_SUP 49
155#define CAP_OFDMA_MULT_TRANS_CHAN_SUP 50
156#define CAP_DOWN_OFDM_PROF_SUP 51
157#define CAP_DOWN_OFDM_CHAN_SUBC_QAM_MOD_SUP 52
158#define CAP_UP_OFDMA_CHAN_SUBC_QAM_MOD_SUP 53
159#define CAP_DOWN_LOWER_BAND_EDGE_CONF 54
160#define CAP_DOWN_UPPER_BAND_EDGE_CONF 55
161#define CAP_DIPL_UP_UPPER_BAND_EDGE_CONF 56
162#define CAP_DOCSIS_TIME_PROT_MODE 57
163#define CAP_DOCSIS_TIME_PROT_PERF_SUP 58
164#define CAP_PMAX 59
165#define CAP_DIPL_DOWN_LOWER_BAND_EDGE 60
166#define CAP_DIPL_DOWN_UPPER_BAND_EDGE 61
167#define CAP_DIPL_UP_UPPER_BAND_EDGE 62
168#define CAP_ADVANCED_BAND_PLAN 63
169#define CAP_EXTENDED_SF_SID_CLUSTER_ASSIGN 74
170#define CAP_LOW_LATENCY_SUP 76
171#define CAP_ADVANCED_DOWN_LOWER_BAND_EDGE_CONF 79
172#define CAP_ADVANCED_DOWN_UPPER_BAND_EDGE_CONF 80
173#define CAP_ADVANCED_UP_UPPER_BAND_EDGE_CONF 81
174#define CAP_ADVANCED_DOWN_LOWER_BAND_EDGE_OPTIONS_LIST 82
175#define CAP_ADVANCED_DOWN_UPPER_BAND_EDGE_OPTIONS_LIST 83
176#define CAP_ADVANCED_UP_UPPER_BAND_EDGE_OPTIONS_LIST 84
177#define CAP_EXTENDED_POWER_OPTIONS 85
178
179
180/* Define Classifier subtypes
181 * These are subtypes of either:
182 * TLV_UPSTREAM_CLASSIFIER (22)
183 * TLV_DOWN_CLASSIFIER (23)
184 */
185#define CFR_REF 1
186#define CFR_ID 2
187#define CFR_SFLOW_REF 3
188#define CFR_SFLOW_ID 4
189#define CFR_RULE_PRI 5
190#define CFR_ACT_STATE 6
191#define CFR_DSA_ACTION 7
192#define CFR_ERROR 8
193#define CFR_IP_CLASSIFIER 9
194#define CFR_ETH_CLASSIFIER 10
195#define CFR_8021Q_CLASSIFIER 11
196#define CFR_IP6_CLASSIFIER 12
197#define CFR_VENDOR_SPEC 43
198
199/* Define Classifier Error sub-subtypes
200 * These are subtypes of CFR_ERROR ([22/23].8)
201 */
202#define CFR_ERR_PARAM 1
203#define CFR_ERR_CODE 2
204#define CFR_ERR_MSG 3
205
206/* Define IP Classifier sub-subtypes
207 * These are subtypes of CFR_IP_CLASSIFIER ([22/23].9)
208 */
209#define CFR_IP_TOS_RANGE_MASK 1
210#define CFR_IP_PROTO 2
211#define CFR_IP_SOURCE_ADDR 3
212#define CFR_IP_SOURCE_MASK 4
213#define CFR_IP_DEST_ADDR 5
214#define CFR_IP_DEST_MASK 6
215#define CFR_IP_SRCPORT_START 7
216#define CFR_IP_SRCPORT_END 8
217#define CFR_IP_DSTPORT_START 9
218#define CFR_IP_DSTPORT_END 10
219
220/* Define IPv6 Classifier sub-subtypes
221 * These are subtypes of CFR_IP_CLASSIFIER ([22/23].12)
222 */
223#define CFR_IP6_TRAFFIC_CLASS 1
224#define CFR_IP6_FLOW_LABEL 2
225#define CFR_IP6_NEXT_HEADER 3
226#define CFR_IP6_SOURCE_ADDR 4
227#define CFR_IP6_SOURCE_PREFIX_LENGTH 5
228#define CFR_IP6_DESTINATION_ADDR 6
229#define CFR_IP6_DESTINATION_PREFIX_LENGTH 7
230
231/* Define Ethertype Classifier sub-subtypes
232 * These are subtypes of CFR_ETH_CLASSIFIER ([22/23].10)
233 */
234#define CFR_ETH_DST_MAC 1
235#define CFR_ETH_SRC_MAC 2
236#define CFR_ETH_DSAP 3
237
238/* Define 802.1P/Q Classifier sub-subtypes
239 * These are subtypes of CFR_8021Q_CLASSIFIER ([22/23].11)
240 */
241#define CFR_D1Q_USER_PRI 1
242#define CFR_D1Q_VLAN_ID 2
243#define CFR_D1Q_VENDOR_SPEC 43
244
245/* Define Upstream/Downstream Service flow subtypes
246 * These are subtypes of:
247 * TLV_UPSTREAM_SERVICE_FLOW (24)
248 * TLV_DOWN_SERVICE_FLOW (25)
249 */
250#define SFW_REF 1
251#define SFW_ID 2
252#define SFW_SID 3
253#define SFW_SERVICE_CLASS_NAME 4
254#define SFW_ERRORS 5
255#define SFW_QOS_SET_TYPE 6
256#define SFW_TRAF_PRI 7
257#define SFW_MAX_SUSTAINED 8
258#define SFW_MAX_BURST 9
259#define SFW_MIN_RSVD_TRAF 10
260#define SFW_MIN_RSVD_PACKETSIZE 11
261#define SFW_ACTIVE_QOS_TIMEOUT 12
262#define SFW_ADMITT_QOS_TIMEOUT 13
263#define SFW_IP_TOS_OVERWRITE 23
264#define SFW_PEAK_TRAFFIC_RATE 27
265#define SFW_REQUIRED_ATTRIBUTE_MASK 31
266#define SFW_FORBIDDEN_ATTRIBUTE_MASK 32
267#define SFW_ATTRIBUTE_AGGREGATION_RULE_MASK 33
268#define SFW_VENDOR_SPEC 43
269/* The following types only apply to
270 * TLV_UPSTREAM_SERVICE_FLOW (24)
271 */
272#define SFW_MAX_CONCAT_BURST 14
273#define SFW_SCHEDULING_TYPE 15
274#define SFW_REQ_XMIT_POL 16
275#define SFW_NOM_POLL_INT 17
276#define SFW_POLL_JTTR_TOL 18
277#define SFW_UG_SIZE 19
278#define SFW_NOM_GRNT_INTV 20
279#define SFW_GRNT_JTTR_TOL 21
280#define SFW_GRNTS_PER_INTV 22
281#define SFW_UG_TIME_REF 24
282#define SFW_CONTENTION_REQ_BACKOFF_WINDOW_MULT 25
283#define SFW_NUM_OF_BYTES_REQUESTED_MULT 26
284
285/* The following types only apply to
286 * TLV_DOWN_SERVICE_FLOW (25)
287 */
288#define SFW_MAX_DOWN_LAT 14
289#define SFW_DOWN_RESEQ 17
290
291/* Define Service Flow Error sub-subtypes
292 * These are subtypes of
293 * SFW_ERRORS ([24/25].5)
294 */
295#define SFW_ERR_PARAM 1
296#define SFW_ERR_CODE 2
297#define SFW_ERR_MSG 3
298
299
300/* Define Payload Header Suppression subtypes
301 * These are subtypes of TLV_PHS (26)
302 */
303#define PHS_CLSFR_REF 1
304#define PHS_CLSFR_ID 2
305#define PHS_SFLOW_REF 3
306#define PHS_SFLOW_ID 4
307#define PHS_DSC_ACTION 5
308#define PHS_ERRORS 6
309#define PHS_FIELD 7
310#define PHS_INDEX 8
311#define PHS_MASK 9
312#define PHS_SUP_SIZE 10
313#define PHS_VERIFICATION 11
314#define PHS_DBC_ACTION 13
315#define PHS_VENDOR_SPEC 43
316
317/* Define PHS Error sub-subtypes
318 * These are subtypes of PHS_ERRORS (26.6)
319 */
320#define PHS_ERR_PARAM 1
321#define PHS_ERR_CODE 2
322#define PHS_ERR_MSG 3
323
324
325/* Define DS Channel List sub-types
326 * These are subtypes of TLV_DS_CHANNEL_LIST (41)
327 */
328#define DS_CH_LIST_SINGLE 1
329#define DS_CH_LIST_RANGE 2
330#define DS_CH_LIST_DEFAULT_TIMEOUT 3
331
332/* Define Singe Downstream Channel sub-types
333 * These are subtypes of DS_CH_LIST_SINGLE (41.1)
334 */
335#define SINGLE_CH_TIMEOUT 1
336#define SINGLE_CH_FREQ 2
337
338/* Define Singe Downstream Channel sub-types
339 * These are subtypes of DS_CH_LIST_RANGE (41.2)
340 */
341#define FREQ_RNG_TIMEOUT 1
342#define FREQ_RNG_START 2
343#define FREQ_RNG_END 3
344#define FREQ_RNG_STEP 4
345
346/* Define DUT sub-types
347 * These are subtypes of TLV_DUT_FILTER (45)
348 */
349#define DUT_CONTROL 1
350#define DUT_CMIM 2
351
352/* Define TCC sub-types
353 * These are subtypes of TLV_TCC (46)
354 */
355#define TLV_TCC_REFID 1
356#define TLV_TCC_US_CH_ACTION 2
357#define TLV_TCC_US_CH_ID 3
358#define TLV_TCC_NEW_US_CH_ID 4
359#define TLV_TCC_UCD 5
360#define TLV_TCC_RNG_SID 6
361#define TLV_TCC_INIT_TECH 7
362#define TLV_TCC_RNG_PARMS 8
363#define TLV_TCC_DYN_RNG_WIN 9
364#define TLV_TCC_P1_6HI 10
365#define TLV_TCC_ASSIGN_OFDMA_UP_DATA_PROF 11
366#define TLV_TCC_EXTENDED_DRW 14
367#define TLV_TCC_EXTENDED_US_RNG_PWR 15
368#define TLV_TCC_OUDP_SOUNDING_SID 16
369#define TLV_TCC_ERR 254
370
371/* Define TLV_TCC_RNG_PARMS sub-types
372 * These are subtypes of TLV_TCC_RNG_PARMS (46.8)
373 */
374#define RNG_PARMS_US_CH_ID 1
375#define RNG_PARMS_TIME_OFF_INT 2
376#define RNG_PARMS_TIME_OFF_FRAC 3
377#define RNG_PARMS_POWER_OFF 4
378#define RNG_PARMS_FREQ_OFF 5
379
380/* Define TLV_TCC_ERR sub-types
381 * These are subtypes of TLV_TCC_ERR (46.254)
382 */
383#define TCC_ERR_SUBTYPE 1
384#define TCC_ERR_CODE 2
385#define TCC_ERR_MSG 3
386
387/* Define TLV_SID_CLUSTER sub-types
388 * These are subtypes of TLV_SID_CLUSTER (47)
389 */
390#define SID_CL_SF_ID 1
391#define SID_CL_ENC 2
392#define SID_CL_SO_CRIT 3
393
394/* Define SID_CL_ENC sub-types
395 * These are subtypes of SID_CL_ENC (47.2)
396 */
397#define SID_CL_ENC_ID 1
398#define SID_CL_ENC_MAP 2
399
400/* Define SID_CL_ENC_MAP sub-types
401 * These are subtypes of SID_CL_ENC_MAP (47.2.2)
402 */
403#define SID_CL_MAP_US_CH_ID 1
404#define SID_CL_MAP_SID 2
405#define SID_CL_MAP_ACTION 3
406
407/* Define SID_CL_SO_CRIT sub-types
408 * These are subtypes of SID_CL_SO_CRIT (47.3)
409 */
410#define SID_CL_SO_MAX_REQ 1
411#define SID_CL_SO_MAX_OUT_BYTES 2
412#define SID_CL_SO_MAX_REQ_BYTES 3
413#define SID_CL_SO_MAX_TIME 4
414
415/* Define TLV_RCP sub-types
416 * These are subtypes of TLV_RCP (48)
417 */
418#define TLV_RCP_ID 1
419#define TLV_RCP_NAME 2
420#define TLV_RCP_FREQ_SPC 3
421#define TLV_RCP_RCV_MOD_ENC 4
422#define TLV_RCP_RCV_CH 5
423#define TLV_RCP_VEN_SPEC 43
424#define TLV_RCC_ERR 254
425
426/* Define TLV_RCC sub-types
427 * These are subtypes of TLV_RCP (49), and not common with TLV_RCP (48)
428 */
429#define TLV_RCC_PARTIAL_SERV_DOWN_CHAN 6
430#define TLV_RCC_SRCC 7
431#define TLV_RCC_PRIM_DOWN_CHAN 8
432
433/* Define TLV_RCC_SRCC sub-types (49.7)
434 */
435#define RCC_SRCC_PRIM_DS_CHAN_ASSIGN 1
436#define RCC_SRCC_DS_CHAN_ASSIGN 2
437#define RCC_SRCC_DS_PROF_ASSIGN 3
438
439/* Define TLV_RCC_SRCC_DS_PROF_ASSIGN sub-types (49.7.3)
440 */
441#define RCC_SRCC_DS_PROF_ASSIGN_DCID 1
442#define RCC_SRCC_DS_PROF_ASSIGN_PROF_LIST 2
443
444/* Define TLV_RCP_RCV_MOD_ENC sub-types
445 * These are subtypes of TLV_RCP_RCV_MOD_ENC (48.4)
446 */
447#define RCV_MOD_ENC_IDX 1
448#define RCV_MOD_ENC_ADJ_CH 2
449#define RCV_MOD_ENC_CH_BL_RNG 3
450#define RCV_MOD_ENC_CTR_FREQ_ASGN 4
451#define RCV_MOD_ENC_RSQ_CH_SUBS_CAP 5
452#define RCV_MOD_ENC_CONN 6
453#define RCV_MOD_ENC_PHY_LAYR_PARMS 7
454
455/* Define RCV_MOD_ENC_CH_BL_RNG sub-types
456 * These are subtypes of RCV_MOD_ENC_CH_BL_RNG (48.4.3)
457 */
458#define CH_BL_RNG_MIN_CTR_FREQ 1
459#define CH_BL_RNG_MAX_CTR_FREQ 2
460
461/* Define TLV_RCP_RCV_CH sub-types
462 * These are subtypes of TLV_RCP_RCV_CH (48.5)
463 */
464#define RCV_CH_IDX 1
465#define RCV_CH_CONN 2
466#define RCV_CH_CONN_OFF 3
467#define RCV_CH_CTR_FREQ_ASGN 4
468#define RCV_CH_PRIM_DS_CH_IND 5
469
470/* Define TLV_RCC_ERR sub-types
471 * These are subtypes of TLV_RCC_ERR (49.254)
472 */
473#define RCC_ERR_MOD_OR_CH 1
474#define RCC_ERR_IDX 2
475#define RCC_ERR_PARAM 3
476#define RCC_ERR_CODE 4
477#define RCC_ERR_MSG 5
478
479
480/* Define TLV_DSID sub-types
481 * These are subtypes of TLV_DSID (50)
482 */
483#define TLV_DSID_ID 1
484#define TLV_DSID_ACTION 2
485#define TLV_DSID_DS_RESEQ 3
486#define TLV_DSID_MC 4
487
488/* Define TLV_DSID_DS_RESEQ sub-types
489 * These are subtypes of TLV_DSID_DS_RESEQ (50.3)
490 */
491#define DS_RESEQ_DSID 1
492#define DS_RESEQ_CH_LST 2
493#define DS_RESEQ_WAIT_TIME 3
494#define DS_RESEQ_WARN_THRESH 4
495#define DS_RESEQ_HO_TIMER 5
496
497/* Define TLV_DSID_MC sub-types
498 * These are subtypes of TLV_DSID_DS_MC (50.4)
499 */
500
501#define TLV_DSID_MC_ADDR 1
502#define TLV_DSID_MC_CMIM 2
503#define TLV_DSID_MC_GROUP 3
504#define TLV_DSID_MC_PHS 26
505
506/* Define TLV_DSID_MC_ADDR sub-types
507 * These are subtypes of TLV_DSID_MC_ADDR (50.4.1)
508 */
509#define MC_ADDR_ACTION 1
510#define MC_ADDR_ADDR 2
511
512/* Define TLV_SEC_ASSOC sub-types
513 * These are subtypes of TLV_SEC_ASSOC (51)
514 */
515#define TLV_SEC_ASSOC_ACTION 1
516#define TLV_SEC_ASSOC_DESC 2
517
518/* Define TLV_CH_ASGN sub-types
519 * These are subtypes of TLV_CH_ASGN (56)
520 */
521#define TLV_CH_ASGN_US_CH_ID 1
522#define TLV_CH_ASGN_RX_FREQ 2
523
524/* Define TLV_CMTS_MC_SESS_ENC sub-types
525 * These are subtypes of TLV_CMTS_MC_SESS_ENC (64)
526 */
527#define CMTS_MC_SESS_ENC_GRP 1
528#define CMTS_MC_SESS_ENC_SRC 2
529#define CMTS_MC_SESS_ENC_CMIM 3
530
531/* Define TLV_FDX_TG_ASSIGNMENT sub-types
532 * These are subtypes of TLV_FDX_TG_ASSIGNMENT (85)
533 */
534#define TLV_FDX_TG_ASSIGNMENT_TG_ID 1
535#define TLV_FDX_TG_ASSIGNMENT_RBA_TYPE 2
536#define TLV_FDX_TG_ASSIGNMENT_RBA_MESSAGE 3
537
538extern value_string_ext docsis_conf_code_ext;
539
540#endif
Definition value_string.h:169