M1x22_atdp – Maxim Integrated 73M1822/73M1922 Control Module User Manual

Page 38

Advertising
background image

73M1822/73M1922 Control Module User Guide

UG_1x22_053

38

Rev. 1.0

6.3.4 M1X22_ATDP

Description

Performs pulse dialing on the modem 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 the M1X22_ATDP_CANCEL IOCTL. If done before its
completion, the driver stops the dialing and sends the M1X22_DIAL_ABORTED event. However, upon a
successful completion of the dialing, the driver sends an M1X22_DIAL_COMPLETE event to notify the
application layer of the status. It is recommended that the application monitor the pulse dial status event
(M1X22_DIAL_COMPLETE or M1X22_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
M1X22_ATDP_CANCEL

.


#define M1X22_ATDP

_IOWR(0xA4,0xA3,unsigned int)


Prototype

int ioctl (

int chan_fd,

int M1X22_ATDP,

unsigned long param );


Parameters

Data Type

Name

Description

int

chan_fd

Channel descriptor.

int

M1X22_ATDP

I/O control identifier for this operation.

unsigned long

param

Pointer to the M1X22_PULSE_DIAL_t structure.


Return Values

Data Type

Description

int

Always returns 0.


Advertising