spandsp 3.0.0
private/t30.h
Go to the documentation of this file.
1/*
2 * SpanDSP - a series of DSP components for telephony
3 *
4 * private/t30.h - definitions for T.30 fax processing
5 *
6 * Written by Steve Underwood <steveu@coppice.org>
7 *
8 * Copyright (C) 2003 Steve Underwood
9 *
10 * All rights reserved.
11 *
12 * This program is free software; you can redistribute it and/or modify
13 * it under the terms of the GNU Lesser General Public License version 2.1,
14 * as published by the Free Software Foundation.
15 *
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU Lesser General Public License for more details.
20 *
21 * You should have received a copy of the GNU Lesser General Public
22 * License along with this program; if not, write to the Free Software
23 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
24 */
25
26/*! \file */
27
28#if !defined(_SPANDSP_PRIVATE_T30_H_)
29#define _SPANDSP_PRIVATE_T30_H_
30
31/*!
32 T.30 FAX channel descriptor. This defines the state of a single working
33 instance of a T.30 FAX channel.
34*/
36{
37 /*! \brief T.4 context for reading or writing image data. */
38 union
39 {
42 } t4;
43 /*! \brief The type of FAX operation currently in progress */
45
46 /*! \brief True if behaving as the calling party */
48
49 /*! \brief True if bad quality pages should be kept */
51
52 /*! \brief Internet aware FAX mode bit mask. */
53 int iaf;
54 /*! \brief A bit mask of the currently supported modem types. */
56 /*! \brief A bit mask of the currently supported image compression modes for use
57 between FAX entities. */
59 /*! \brief A bit mask of the currently supported image compression modes for the output
60 of received page images. */
62 /*! \brief A bit mask of the currently supported bi-level image resolutions. */
64 /*! \brief A bit mask of the currently supported gray-scale and colour image resolutions. */
66 /*! \brief A bit mask of the currently supported image sizes. */
68 /*! \brief A bit mask of the currently supported T.30 special features. */
70 /*! \brief True is ECM mode handling is enabled. */
72 /*! \brief True if we are capable of retransmitting pages */
74
75 /*! \brief The received DCS, formatted as an ASCII string, for inclusion
76 in the TIFF file. */
78 /*! \brief The text which will be used in FAX page header. No text results
79 in no header line. */
81 /*! \brief True for FAX page headers to overlay (i.e. replace) the beginning of the
82 page image. False for FAX page headers to add to the overall length of
83 the page. */
85 /*! \brief Use private timezone if true */
87 /*! \brief Optional per instance time zone for the FAX page header timestamp. */
88 tz_t tz;
89
90 /*! \brief True if remote T.30 procedural interrupts are allowed. */
92
93 /*! \brief The information fields received. */
95 /*! \brief The information fields to be transmitted. */
97 /*! \brief The country of origin of the remote machine, if known, else NULL. */
98 const char *country;
99 /*! \brief The vendor of the remote machine, if known, else NULL. */
100 const char *vendor;
101 /*! \brief The model of the remote machine, if known, else NULL. */
102 const char *model;
103
104 /*! \brief A pointer to a callback routine to be called when phase B events
105 occur. */
107 /*! \brief An opaque pointer supplied in event B callbacks. */
109 /*! \brief A pointer to a callback routine to be called when phase D events
110 occur. */
112 /*! \brief An opaque pointer supplied in event D callbacks. */
114 /*! \brief A pointer to a callback routine to be called when phase E events
115 occur. */
117 /*! \brief An opaque pointer supplied in event E callbacks. */
119 /*! \brief A pointer to a callback routine to be called when frames are
120 exchanged. */
122 /*! \brief An opaque pointer supplied in real time frame callbacks. */
124
125 /*! \brief A pointer to a callback routine to be called when document events
126 (e.g. end of transmitted document) occur. */
128 /*! \brief An opaque pointer supplied in document callbacks. */
130
131 /*! \brief The handler for changes to the receive mode */
133 /*! \brief An opaque pointer passed to the handler for changes to the receive mode */
135 /*! \brief The handler for changes to the transmit mode */
137 /*! \brief An opaque pointer passed to the handler for changes to the transmit mode */
139
140 /*! \brief The transmitted HDLC frame handler. */
142 /*! \brief An opaque pointer passed to the transmitted HDLC frame handler. */
144
145 /*! \brief The document send handler. */
147 /*! \brief An opaque pointer passed to the document send handler. */
149 /*! \brief The document delivery handler. */
151 /*! \brief An opaque pointer passed to the document delivery handler. */
153
154 /*! \brief The DIS code for the minimum scan row time we require. This is usually 0ms,
155 but if we are trying to simulate another type of FAX machine, we may need a non-zero
156 value here. */
158
159 /*! \brief The current T.30 phase. */
160 int phase;
161 /*! \brief The T.30 phase to change to when the current phase ends. */
163 /*! \brief The current state of the T.30 state machine. */
164 int state;
165 /*! \brief The step in sending a sequence of HDLC frames. */
166 int step;
167
168 /*! \brief The preparation buffer for the DCS message to be transmitted. */
170 /*! \brief The length of the DCS message to be transmitted. */
172 /*! \brief The preparation buffer for DIS or DTC message to be transmitted. */
174 /*! \brief The length of the DIS or DTC message to be transmitted. */
176 /*! \brief The last DIS or DTC message received form the far end. */
178 /*! \brief True if a valid DIS has been received from the far end. */
180
181 /*! \brief True if the short training sequence should be used. */
183
184 /*! \brief True if an image carrier appears to have been received, even if it did not successfully
185 train. */
187
188 /*! \brief A count of the number of bits in the trainability test. This counts down to zero when
189 sending TCF, and counts up when receiving it. */
191 /*! \brief The current count of consecutive received zero bits, during the trainability test. */
193 /*! \brief The maximum consecutive received zero bits seen to date, during the trainability test. */
195
196 /*! \brief The current fallback step for the fast message transfer modem. */
198 /*! \brief The subset of supported modems allowed at the current time, allowing for negotiation. */
200 /*! \brief True if a carrier is present. Otherwise false. */
202 /*! \brief True if a modem has trained correctly. */
204 /*! \brief True if a valid HDLC frame has been received in the current reception period. */
206
207 /*! \brief Current reception mode. */
209 /*! \brief Current transmission mode. */
211
212 /*! \brief T0 is the answer timeout when calling another FAX machine.
213 Placing calls is handled outside the FAX processing, but this timeout keeps
214 running until V.21 modulation is sent or received.
215 T1 is the remote terminal identification timeout (in audio samples). */
217 /*! \brief T2, T2A and T2B are the HDLC command timeouts.
218 T4, T4A and T4B are the HDLC response timeouts (in audio samples). */
220 /*! \brief A value specifying which of the possible timers is currently running in timer_t2_t4 */
222 /*! \brief Procedural interrupt timeout (in audio samples). */
224 /*! \brief This is only used in error correcting mode. */
226 /*! \brief This is only used in full duplex (e.g. ISDN) modes. */
228 /*! \brief This is only used in full duplex (e.g. ISDN) modes. */
230 /*! \brief This is only used in full duplex (e.g. ISDN) modes. */
232
233 /*! \brief True once the far end FAX entity has been detected. */
235
236 /*! \brief True once the end of procedure condition has been detected. */
238
239 /*! \brief True if a local T.30 interrupt is pending. */
241 /*! \brief The common ground in compression schemes between the local and far ends. */
243 /*! \brief The common group of supported bi-level image resolutions. */
245 /*! \brief The common group of supported colour image resolutions. */
247 /*! \brief The common group of supported image sizes. */
249 /*! \brief The image coding being used on the line. */
251 /*! \brief The image type being used on the line. */
253 /*! \brief The width code for the image on the line. */
255 /*! \brief The current DCS message minimum scan time code. */
257 /*! \brief The X direction resolution of the current image, in pixels per metre. */
259 /*! \brief The Y direction resolution of the current image, in pixels per metre. */
261 /*! \brief The resolution code for the current page. */
263 /*! \brief The width of the current image, in pixels. */
265 /*! \brief Current number of retries of the action in progress. */
267 /*! \brief True if error correcting mode is used. */
269 /*! \brief The number of HDLC frame retries, if error correcting mode is used. */
271 /*! \brief The current count of consecutive T30_PPR messages. */
273 /*! \brief The current count of consecutive T30_RNR messages. */
275 /*! \brief The number of octets to be used per ECM frame. */
277 /*! \brief The ECM partial page buffer. */
278 uint8_t ecm_data[256][260];
279 /*! \brief The lengths of the frames in the ECM partial page buffer. */
280 int16_t ecm_len[256];
281 /*! \brief A bit map of the OK ECM frames, constructed as a PPR frame. */
282 uint8_t ecm_frame_map[3 + 32];
283
284 /*! \brief The current page number for receiving, in ECM or non-ECM mode. This is reset at the start of a call. */
286 /*! \brief The current page number for sending, in ECM or non-ECM mode. This is reset at the start of a call. */
288 /*! \brief The current block number, in ECM mode */
290 /*! \brief The number of frames in the current block number, in ECM mode */
292 /*! \brief The number of frames sent in the current burst of image transmission, in ECM mode */
294 /*! \brief The current ECM frame, during ECM transmission. */
296 /*! \brief True if we are at the end of an ECM page to se sent - i.e. there are no more
297 partial pages still to come. */
299
300 /*! \brief The last result for a received non-ECM page - T30_MPS, T30_RTP, or T30_RTN. */
302 /*! \brief The transmission step queued to follow the one in progress. */
304 /*! \brief The FCF for the next receive step. */
306 /*! \brief Image file name for image reception. */
307 char rx_file[256];
308 /*! \brief The last page we are prepared accept for a received image file. -1 means no restriction. */
310 /*! \brief Image file name to be sent. */
311 char tx_file[256];
312 /*! \brief The first page to be sent from the image file. -1 means no restriction. */
314 /*! \brief The last page to be sent from the image file. -1 means no restriction. */
316 /*! \brief The current completion status. */
318
319 /*! \brief the FCF2 field of the last PPS message we received. */
321 /*! \brief True if all frames of the current received ECM block are now OK */
323 /*! \brief A count of successfully received ECM frames, to assess progress as a basis for
324 deciding whether to continue error correction when PPRs keep repeating. */
326
327 /*! \brief The number of RTP events */
329 /*! \brief The number of RTN events */
331
332 /*! \brief Error and flow logging control */
334};
335
336#endif
337/*- End of file ------------------------------------------------------------*/
struct logging_state_s logging_state_t
Definition logging.h:72
Definition t30.h:417
Definition private/t30.h:36
uint8_t min_scan_time_code
The current DCS message minimum scan time code.
Definition private/t30.h:256
char tx_file[256]
Image file name to be sent.
Definition private/t30.h:311
int error_correcting_mode_retries
The number of HDLC frame retries, if error correcting mode is used.
Definition private/t30.h:270
int timer_t8
This is only used in full duplex (e.g. ISDN) modes.
Definition private/t30.h:231
char header_info[T30_MAX_PAGE_HEADER_INFO+1]
The text which will be used in FAX page header. No text results in no header line.
Definition private/t30.h:80
int mutual_bilevel_resolutions
The common group of supported bi-level image resolutions.
Definition private/t30.h:244
int rx_page_number
The current page number for receiving, in ECM or non-ECM mode. This is reset at the start of a call.
Definition private/t30.h:285
t30_exchanged_info_t tx_info
The information fields to be transmitted.
Definition private/t30.h:96
int16_t ecm_len[256]
The lengths of the frames in the ECM partial page buffer.
Definition private/t30.h:280
int line_width_code
The width code for the image on the line.
Definition private/t30.h:254
void * document_put_user_data
An opaque pointer passed to the document delivery handler.
Definition private/t30.h:152
t4_image_width_t image_width
The width of the current image, in pixels.
Definition private/t30.h:264
t30_set_handler_t set_tx_type_handler
The handler for changes to the transmit mode.
Definition private/t30.h:136
bool image_carrier_attempted
True if an image carrier appears to have been received, even if it did not successfully train.
Definition private/t30.h:186
int ecm_frames
The number of frames in the current block number, in ECM mode.
Definition private/t30.h:291
int tcf_test_bits
A count of the number of bits in the trainability test. This counts down to zero when sending TCF,...
Definition private/t30.h:190
uint8_t last_pps_fcf2
the FCF2 field of the last PPS message we received.
Definition private/t30.h:320
int current_fallback
The current fallback step for the fast message transfer modem.
Definition private/t30.h:197
int phase
The current T.30 phase.
Definition private/t30.h:160
int timer_t6
This is only used in full duplex (e.g. ISDN) modes.
Definition private/t30.h:227
void * phase_d_user_data
An opaque pointer supplied in event D callbacks.
Definition private/t30.h:113
int ecm_progress
A count of successfully received ECM frames, to assess progress as a basis for deciding whether to co...
Definition private/t30.h:325
int tx_stop_page
The last page to be sent from the image file. -1 means no restriction.
Definition private/t30.h:315
int octets_per_ecm_frame
The number of octets to be used per ECM frame.
Definition private/t30.h:276
int receiver_not_ready_count
The current count of consecutive T30_RNR messages.
Definition private/t30.h:274
uint8_t ecm_frame_map[3+32]
A bit map of the OK ECM frames, constructed as a PPR frame.
Definition private/t30.h:282
bool far_end_detected
True once the far end FAX entity has been detected.
Definition private/t30.h:234
int timer_t2_t4
T2, T2A and T2B are the HDLC command timeouts. T4, T4A and T4B are the HDLC response timeouts (in aud...
Definition private/t30.h:219
int retries
Current number of retries of the action in progress.
Definition private/t30.h:266
bool header_overlays_image
True for FAX page headers to overlay (i.e. replace) the beginning of the page image....
Definition private/t30.h:84
int rtn_events
The number of RTN events.
Definition private/t30.h:330
uint8_t dcs_frame[T30_MAX_DIS_DTC_DCS_LEN]
The preparation buffer for the DCS message to be transmitted.
Definition private/t30.h:169
int ecm_frames_this_tx_burst
The number of frames sent in the current burst of image transmission, in ECM mode.
Definition private/t30.h:293
t30_phase_d_handler_t phase_d_handler
A pointer to a callback routine to be called when phase D events occur.
Definition private/t30.h:111
int x_resolution
The X direction resolution of the current image, in pixels per metre.
Definition private/t30.h:258
int current_status
The current completion status.
Definition private/t30.h:317
tz_t tz
Optional per instance time zone for the FAX page header timestamp.
Definition private/t30.h:88
int supported_modems
A bit mask of the currently supported modem types.
Definition private/t30.h:55
bool ecm_allowed
True is ECM mode handling is enabled.
Definition private/t30.h:71
const char * country
The country of origin of the remote machine, if known, else NULL.
Definition private/t30.h:98
int iaf
Internet aware FAX mode bit mask.
Definition private/t30.h:53
int last_rx_page_result
The last result for a received non-ECM page - T30_MPS, T30_RTP, or T30_RTN.
Definition private/t30.h:301
bool end_of_procedure_detected
True once the end of procedure condition has been detected.
Definition private/t30.h:237
int timer_t7
This is only used in full duplex (e.g. ISDN) modes.
Definition private/t30.h:229
int next_phase
The T.30 phase to change to when the current phase ends.
Definition private/t30.h:162
int timer_t0_t1
T0 is the answer timeout when calling another FAX machine. Placing calls is handled outside the FAX p...
Definition private/t30.h:216
int timer_t5
This is only used in error correcting mode.
Definition private/t30.h:225
void * real_time_frame_user_data
An opaque pointer supplied in real time frame callbacks.
Definition private/t30.h:123
t30_phase_b_handler_t phase_b_handler
A pointer to a callback routine to be called when phase B events occur.
Definition private/t30.h:106
int supported_t30_features
A bit mask of the currently supported T.30 special features.
Definition private/t30.h:69
int timer_t3
Procedural interrupt timeout (in audio samples).
Definition private/t30.h:223
bool use_own_tz
Use private timezone if true.
Definition private/t30.h:86
t30_exchanged_info_t rx_info
The information fields received.
Definition private/t30.h:94
int tx_page_number
The current page number for sending, in ECM or non-ECM mode. This is reset at the start of a call.
Definition private/t30.h:287
logging_state_t logging
Error and flow logging control.
Definition private/t30.h:333
uint8_t far_dis_dtc_frame[T30_MAX_DIS_DTC_DCS_LEN]
The last DIS or DTC message received form the far end.
Definition private/t30.h:177
void * document_user_data
An opaque pointer supplied in document callbacks.
Definition private/t30.h:129
bool local_interrupt_pending
True if a local T.30 interrupt is pending.
Definition private/t30.h:240
int supported_colour_resolutions
A bit mask of the currently supported gray-scale and colour image resolutions.
Definition private/t30.h:65
int ppr_count
The current count of consecutive T30_PPR messages.
Definition private/t30.h:272
union t30_state_s::@315317354310271241273125147117126143174231223363 t4
T.4 context for reading or writing image data.
int current_page_resolution
The resolution code for the current page.
Definition private/t30.h:262
bool rx_ecm_block_ok
True if all frames of the current received ECM block are now OK.
Definition private/t30.h:322
t30_phase_e_handler_t phase_e_handler
A pointer to a callback routine to be called when phase E events occur.
Definition private/t30.h:116
void * phase_b_user_data
An opaque pointer supplied in event B callbacks.
Definition private/t30.h:108
char rx_file[256]
Image file name for image reception.
Definition private/t30.h:307
int current_rx_type
Current reception mode.
Definition private/t30.h:208
void * document_get_user_data
An opaque pointer passed to the document send handler.
Definition private/t30.h:148
t30_document_put_handler_t document_put_handler
The document delivery handler.
Definition private/t30.h:150
void * set_tx_type_user_data
An opaque pointer passed to the handler for changes to the transmit mode.
Definition private/t30.h:138
int rtp_events
The number of RTP events.
Definition private/t30.h:328
bool short_train
True if the short training sequence should be used.
Definition private/t30.h:182
bool calling_party
True if behaving as the calling party.
Definition private/t30.h:47
int timer_t2_t4_is
A value specifying which of the possible timers is currently running in timer_t2_t4.
Definition private/t30.h:221
t30_send_hdlc_handler_t send_hdlc_handler
The transmitted HDLC frame handler.
Definition private/t30.h:141
int current_tx_type
Current transmission mode.
Definition private/t30.h:210
uint8_t ecm_data[256][260]
The ECM partial page buffer.
Definition private/t30.h:278
char rx_dcs_string[T30_MAX_DIS_DTC_DCS_LEN *3+1]
The received DCS, formatted as an ASCII string, for inclusion in the TIFF file.
Definition private/t30.h:77
int rx_stop_page
The last page we are prepared accept for a received image file. -1 means no restriction.
Definition private/t30.h:309
bool rx_frame_received
True if a valid HDLC frame has been received in the current reception period.
Definition private/t30.h:205
int next_tx_step
The transmission step queued to follow the one in progress.
Definition private/t30.h:303
bool rx_trained
True if a modem has trained correctly.
Definition private/t30.h:203
uint8_t local_min_scan_time_code
The DIS code for the minimum scan row time we require. This is usually 0ms, but if we are trying to s...
Definition private/t30.h:157
int line_image_type
The image type being used on the line.
Definition private/t30.h:252
int line_compression
The image coding being used on the line.
Definition private/t30.h:250
int supported_compressions
A bit mask of the currently supported image compression modes for use between FAX entities.
Definition private/t30.h:58
int ecm_block
The current block number, in ECM mode.
Definition private/t30.h:289
int operation_in_progress
The type of FAX operation currently in progress.
Definition private/t30.h:44
bool error_correcting_mode
True if error correcting mode is used.
Definition private/t30.h:268
t30_document_get_handler_t document_get_handler
The document send handler.
Definition private/t30.h:146
int local_dis_dtc_len
The length of the DIS or DTC message to be transmitted.
Definition private/t30.h:175
bool keep_bad_pages
True if bad quality pages should be kept.
Definition private/t30.h:50
bool remote_interrupts_allowed
True if remote T.30 procedural interrupts are allowed.
Definition private/t30.h:91
int supported_image_sizes
A bit mask of the currently supported image sizes.
Definition private/t30.h:67
bool retransmit_capable
True if we are capable of retransmitting pages.
Definition private/t30.h:73
int step
The step in sending a sequence of HDLC frames.
Definition private/t30.h:166
void * send_hdlc_user_data
An opaque pointer passed to the transmitted HDLC frame handler.
Definition private/t30.h:143
int supported_output_compressions
A bit mask of the currently supported image compression modes for the output of received page images.
Definition private/t30.h:61
bool ecm_at_page_end
True if we are at the end of an ECM page to se sent - i.e. there are no more partial pages still to c...
Definition private/t30.h:298
uint8_t next_rx_step
The FCF for the next receive step.
Definition private/t30.h:305
int supported_bilevel_resolutions
A bit mask of the currently supported bi-level image resolutions.
Definition private/t30.h:63
void * set_rx_type_user_data
An opaque pointer passed to the handler for changes to the receive mode.
Definition private/t30.h:134
t30_real_time_frame_handler_t real_time_frame_handler
A pointer to a callback routine to be called when frames are exchanged.
Definition private/t30.h:121
int ecm_current_tx_frame
The current ECM frame, during ECM transmission.
Definition private/t30.h:295
t30_set_handler_t set_rx_type_handler
The handler for changes to the receive mode.
Definition private/t30.h:132
const char * model
The model of the remote machine, if known, else NULL.
Definition private/t30.h:102
int y_resolution
The Y direction resolution of the current image, in pixels per metre.
Definition private/t30.h:260
int tcf_most_zeros
The maximum consecutive received zero bits seen to date, during the trainability test.
Definition private/t30.h:194
bool rx_signal_present
True if a carrier is present. Otherwise false.
Definition private/t30.h:201
int mutual_image_sizes
The common group of supported image sizes.
Definition private/t30.h:248
uint8_t local_dis_dtc_frame[T30_MAX_DIS_DTC_DCS_LEN]
The preparation buffer for DIS or DTC message to be transmitted.
Definition private/t30.h:173
int state
The current state of the T.30 state machine.
Definition private/t30.h:164
void * phase_e_user_data
An opaque pointer supplied in event E callbacks.
Definition private/t30.h:118
int dcs_len
The length of the DCS message to be transmitted.
Definition private/t30.h:171
t30_document_handler_t document_handler
A pointer to a callback routine to be called when document events (e.g. end of transmitted document) ...
Definition private/t30.h:127
int mutual_compressions
The common ground in compression schemes between the local and far ends.
Definition private/t30.h:242
int mutual_colour_resolutions
The common group of supported colour image resolutions.
Definition private/t30.h:246
bool dis_received
True if a valid DIS has been received from the far end.
Definition private/t30.h:179
const char * vendor
The vendor of the remote machine, if known, else NULL.
Definition private/t30.h:100
int current_permitted_modems
The subset of supported modems allowed at the current time, allowing for negotiation.
Definition private/t30.h:199
int tcf_current_zeros
The current count of consecutive received zero bits, during the trainability test.
Definition private/t30.h:192
int tx_start_page
The first page to be sent from the image file. -1 means no restriction.
Definition private/t30.h:313
void(* t30_phase_e_handler_t)(void *user_data, int completion_code)
T.30 phase E callback handler.
Definition t30.h:177
#define T30_MAX_PAGE_HEADER_INFO
Definition t30.h:146
int(* t30_phase_d_handler_t)(void *user_data, int result)
T.30 phase D callback handler.
Definition t30.h:169
#define T30_MAX_DIS_DTC_DCS_LEN
Definition t30.h:142
void(* t30_real_time_frame_handler_t)(void *user_data, bool direction, const uint8_t msg[], int len)
T.30 real time frame handler.
Definition t30.h:187
void(* t30_send_hdlc_handler_t)(void *user_data, const uint8_t msg[], int len)
T.30 send HDLC handler.
Definition t30.h:218
int(* t30_phase_b_handler_t)(void *user_data, int result)
T.30 phase B callback handler.
Definition t30.h:160
void(* t30_set_handler_t)(void *user_data, int type, int bit_rate, int short_train, int use_hdlc)
T.30 set a receive or transmit type handler.
Definition t30.h:209
int(* t30_document_get_handler_t)(void *user_data, uint8_t msg[], int len)
T.30 send document handler.
Definition t30.h:228
int(* t30_document_handler_t)(void *user_data, int status)
T.30 document handler.
Definition t30.h:198
int(* t30_document_put_handler_t)(void *user_data, const uint8_t msg[], int len)
T.30 deliver handler.
Definition t30.h:238
t4_image_width_t
Definition t4_rx.h:227
struct t4_rx_state_s t4_rx_state_t
Definition t4_rx.h:358
struct t4_tx_state_s t4_tx_state_t
Definition t4_tx.h:40