beautypg.com

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

Page 48

background image

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.