28 #if !defined(_SPANDSP_PRIVATE_T30_H_) 29 #define _SPANDSP_PRIVATE_T30_H_ int far_dis_dtc_len
The length of the last DIS or DTC message received form the far end.
Definition: private/t30.h:161
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:203
uint8_t next_rx_step
The FCF for the next receive step.
Definition: private/t30.h:278
uint8_t dcs_frame[T30_MAX_DIS_DTC_DCS_LEN]
The preparation buffer for the DCS message to be transmitted.
Definition: private/t30.h:151
int remote_interrupts_allowed
True if remote T.30 procedural interrupts are allowed.
Definition: private/t30.h:82
int supported_compressions
A bit mask of the currently supported image compression modes.
Definition: private/t30.h:54
void() t30_real_time_frame_handler_t(t30_state_t *s, void *user_data, int direction, const uint8_t msg[], int len)
T.30 real time frame handler.
Definition: t30.h:191
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:118
const char * model
The model of the remote machine, if known, else NULL.
Definition: private/t30.h:93
char tx_file[256]
Image file name to be sent.
Definition: private/t30.h:284
int output_encoding
The image coding being used for output files.
Definition: private/t30.h:228
void * send_hdlc_user_data
An opaque pointer passed to the transmitted HDLC frame handler.
Definition: private/t30.h:134
int() t30_document_handler_t(t30_state_t *s, void *user_data, int status)
T.30 document handler.
Definition: t30.h:204
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:200
int current_fallback
The current fallback step for the fast message transfer modem.
Definition: private/t30.h:181
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:71
int calling_party
True if behaving as the calling party.
Definition: private/t30.h:47
int rx_stop_page
The last page we are prepared accept for a received image file. -1 means no restriction.
Definition: private/t30.h:282
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:259
Definition: private/t30.h:35
uint8_t min_scan_time_code
The current DCS message minimum scan time code.
Definition: private/t30.h:230
uint8_t ecm_data[256][260]
The ECM partial page buffer.
Definition: private/t30.h:250
void * real_time_frame_user_data
An opaque pointer supplied in real time frame callbacks.
Definition: private/t30.h:114
int ecm_frames
The number of frames in the current block number, in ECM mode.
Definition: private/t30.h:263
int next_tx_step
The transmission step queued to follow the one in progress.
Definition: private/t30.h:276
int16_t ecm_len[256]
The lengths of the frames in the ECM partial page buffer.
Definition: private/t30.h:252
t4_image_width_t image_width
The width of the current image, in pixels.
Definition: private/t30.h:236
int tx_stop_page
The last page to be sent from the image file. -1 means no restriction.
Definition: private/t30.h:288
int header_overlays_image
True for FAX page headers to overlay (i.e. replace) the beginning of the page image....
Definition: private/t30.h:75
int supported_resolutions
A bit mask of the currently supported image resolutions.
Definition: private/t30.h:56
int rtp_events
The number of RTP events.
Definition: private/t30.h:301
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:159
int timer_t7
This is only used in full duplex (e.g. ISDN) modes.
Definition: private/t30.h:213
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:107
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:174
int ecm_block
The current block number, in ECM mode.
Definition: private/t30.h:261
int line_encoding
The image coding being used on the line.
Definition: private/t30.h:226
int short_train
True if the short training sequence should be used.
Definition: private/t30.h:166
int timer_t6
This is only used in full duplex (e.g. ISDN) modes.
Definition: private/t30.h:211
int() t30_phase_b_handler_t(t30_state_t *s, void *user_data, int result)
T.30 phase B callback handler.
Definition: t30.h:161
int local_dis_dtc_len
The length of the DIS or DTC message to be transmitted.
Definition: private/t30.h:157
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:68
int rx_ecm_block_ok
True if all frames of the current received ECM block are now OK.
Definition: private/t30.h:295
void() t30_phase_e_handler_t(t30_state_t *s, void *user_data, int completion_code)
T.30 phase E callback handler.
Definition: t30.h:180
int local_interrupt_pending
True if a local T.30 interrupt is pending.
Definition: private/t30.h:224
t30_set_handler_t * set_tx_type_handler
The handler for changes to the transmit mode.
Definition: private/t30.h:127
int y_resolution
The Y direction resolution of the current image, in pixels per metre.
Definition: private/t30.h:234
int rx_trained
True if a modem has trained correctly.
Definition: private/t30.h:187
#define T30_MAX_DIS_DTC_DCS_LEN
Definition: t30.h:142
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:112
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:273
int() t30_phase_d_handler_t(t30_state_t *s, void *user_data, int result)
T.30 phase D callback handler.
Definition: t30.h:171
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:155
int rtn_events
The number of RTN events.
Definition: private/t30.h:303
t30_exchanged_info_t rx_info
The information fields received.
Definition: private/t30.h:85
union t30_state_s::@57 t4
T.4 context for reading or writing image data.
int current_status
The current completion status.
Definition: private/t30.h:290
logging_state_t logging
Error and flow logging control.
Definition: private/t30.h:306
int current_permitted_modems
The subset of supported modems allowed at the current time, allowing for negotiation.
Definition: private/t30.h:183
int current_rx_type
Current reception mode.
Definition: private/t30.h:192
int image_carrier_attempted
True if an image carrier appears to have been received, even if it did not successfully train.
Definition: private/t30.h:170
char rx_file[256]
Image file name for image reception.
Definition: private/t30.h:280
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:102
int octets_per_ecm_frame
The number of octets to be used per ECM frame.
Definition: private/t30.h:248
void * set_rx_type_user_data
An opaque pointer passed to the handler for changes to the receive mode.
Definition: private/t30.h:125
int error_correcting_mode_retries
The number of HDLC frame retries, if error correcting mode is used.
Definition: private/t30.h:242
int operation_in_progress
The type of FAX operation currently in progress.
Definition: private/t30.h:44
int supported_modems
A bit mask of the currently supported modem types.
Definition: private/t30.h:52
int current_tx_type
Current transmission mode.
Definition: private/t30.h:194
int step
The step in sending a sequence of HDLC frames.
Definition: private/t30.h:148
int ppr_count
The current count of consecutive T30_PPR messages.
Definition: private/t30.h:244
int phase
The current T.30 phase.
Definition: private/t30.h:142
Definition: private/timezone.h:81
void * phase_e_user_data
An opaque pointer supplied in event E callbacks.
Definition: private/t30.h:109
#define T30_MAX_PAGE_HEADER_INFO
Definition: t30.h:146
int rx_signal_present
True if a carrier is present. Otherwise false.
Definition: private/t30.h:185
void * phase_b_user_data
An opaque pointer supplied in event B callbacks.
Definition: private/t30.h:99
int far_end_detected
True once the far end FAX entity has been detected.
Definition: private/t30.h:218
t4_image_width_t
Definition: t4_rx.h:124
int retries
Current number of retries of the action in progress.
Definition: private/t30.h:238
int ecm_allowed
True is ECM mode handling is enabled.
Definition: private/t30.h:62
void * phase_d_user_data
An opaque pointer supplied in event D callbacks.
Definition: private/t30.h:104
int x_resolution
The X direction resolution of the current image, in pixels per metre.
Definition: private/t30.h:232
int next_phase
The T.30 phase to change to when the current phase ends.
Definition: private/t30.h:144
void * set_tx_type_user_data
An opaque pointer passed to the handler for changes to the transmit mode.
Definition: private/t30.h:129
int 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:270
Definition: private/logging.h:33
const char * country
The country of origin of the remote machine, if known, else NULL.
Definition: private/t30.h:89
int dcs_len
The length of the DCS message to be transmitted.
Definition: private/t30.h:153
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:257
int timer_t5
This is only used in error correcting mode.
Definition: private/t30.h:209
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:139
uint8_t ecm_frame_map[3+32]
A bit map of the OK ECM frames, constructed as a PPR frame.
Definition: private/t30.h:254
t30_send_hdlc_handler_t * send_hdlc_handler
The transmitted HDLC frame handler.
Definition: private/t30.h:132
int timer_t3
Procedural interrupt timeout (in audio samples).
Definition: private/t30.h:207
uint8_t last_pps_fcf2
the FCF2 field of the last PPS message we received.
Definition: private/t30.h:293
int timer_t2_t4_is
A value specifying which of the possible timers is currently running in timer_t2_t4.
Definition: private/t30.h:205
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:97
tz_t tz
Optional per instance time zone for the FAX page header timestamp.
Definition: private/t30.h:79
t30_set_handler_t * set_rx_type_handler
The handler for changes to the receive mode.
Definition: private/t30.h:123
void() t30_send_hdlc_handler_t(void *user_data, const uint8_t msg[], int len)
T.30 send HDLC handler.
Definition: t30.h:224
int error_correcting_mode
True if error correcting mode is used.
Definition: private/t30.h:240
int use_own_tz
Use private timezone if true.
Definition: private/t30.h:77
int end_of_procedure_detected
True once the end of procedure condition has been detected.
Definition: private/t30.h:221
int supported_t30_features
A bit mask of the currently supported T.30 special features.
Definition: private/t30.h:60
int ecm_current_tx_frame
The current ECM frame, during ECM transmission.
Definition: private/t30.h:267
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:265
int iaf
Internet aware FAX mode bit mask.
Definition: private/t30.h:50
const char * vendor
The vendor of the remote machine, if known, else NULL.
Definition: private/t30.h:91
int tcf_most_zeros
The maximum consecutive received zero bits seen to date, during the trainability test.
Definition: private/t30.h:178
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:215
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:298
int rx_frame_received
True if a valid HDLC frame has been received in the current reception period.
Definition: private/t30.h:189
int supported_image_sizes
A bit mask of the currently supported image sizes.
Definition: private/t30.h:58
int dis_received
True if a valid DIS has been received from the far end.
Definition: private/t30.h:163
Definition: private/t4_tx.h:35
void * document_user_data
An opaque pointer supplied in document callbacks.
Definition: private/t30.h:120
int receiver_not_ready_count
The current count of consecutive T30_RNR messages.
Definition: private/t30.h:246
int retransmit_capable
True if we are capable of retransmitting pages.
Definition: private/t30.h:64
t30_exchanged_info_t tx_info
The information fields to be transmitted.
Definition: private/t30.h:87
int tx_start_page
The first page to be sent from the image file. -1 means no restriction.
Definition: private/t30.h:286
int timer_t8
This is only used in full duplex (e.g. ISDN) modes.
Definition: private/t30.h:215
int state
The current state of the T.30 state machine.
Definition: private/t30.h:146
int tcf_current_zeros
The current count of consecutive received zero bits, during the trainability test.
Definition: private/t30.h:176