M1966_atdp – Maxim Integrated 73M1866B/73M1966B Reference Driver User Manual
Page 48

73M1866B/73M1966B Reference Driver User Guide
UG_1x66B_015
48
Rev. 2.7
6.3.4 M1966_ATDP
Description
Performs pulse dialing on the FXO channel. As a pulse dial procedure can take more than a second per
digit, it is absolutely essential that this session be carried out transparently in the background without
locking up the caller during the process. Therefore, this IOCTL is a non-blocking call and it returns
immediately after scheduling the background process to start the pulse dialing. For that reason, the
return code does not reflect the status of the pulse dial, but rather the status of the scheduling of the
pulse dial session.
An active dial session can be aborted using M1966_ATDP_CANCEL IOCTL. If done before its completion,
the driver stops the dialing and sends the M1966_DIAL_ABORTED event. However, upon a successful
completion of the dialing, the driver sends an M1966_DIAL_COMPLETE event to notify the application
layer of the status. It is recommended that the application monitor the pulse dial status event
(M1966_DIAL_COMPLETE or M1966_DIAL_ABORTED) to synchronize with the driver as to when the dial
session is completed.
Note: The driver rejects all IOCTLs while this pulse dial session is in progress, except
M1966_ATDP_CANCEL
#define M1966_ATDP
_IOWR(0xA4,0xA3,unsigned int)
Prototype
int ioctl (
int chan_fd,
int M1966_ATDP,
unsigned long param );
Parameters
Data Type
Name
Description
int
chan_fd
Channel descriptor.
int
M1966_ATDP
I/O control identifier for this operation.
unsigned long
param
Pointer to the M1966_PULSE_DIAL_t structure.
Return Values
Data Type
Description
int
Always returns 0.