Dialogic 6.2 ユーザーズマニュアル

ページ / 441
Developing a Fax Application
November 2009
74
BT_ZERO(args_fax);
 
args_fax.local_id = "Id_string";
 
BfvFaxSetLocalID(lp,&args_fax);
Sets the local ID to transmit to the sending machine.
BT_ZERO(args_fax);
 
BfvFaxBeginReceive(lp, &args_fax);
Begins the Phase B handshaking procedure.
BfvFaxGetRemoteInfo (lp, &args_fax);
Waits for the remote to send its ID and capabilities. 
Note: 
The previous phone call is terminated by the application if the 
remote fax machine's ID does not match the expected value.
BfvFaxWaitForTraining (lp, &args_fax);
Waits for the completion of the Phase B handshaking process.
do
 
{
 
    BT_ZERO(args_fax);
 
    args_fax.buf = buf;
 
    args_fax.size = size;
    /* receive data into buffer */
 
    if (BfvFaxReceiveData(lp,&args_fax) <= 0)
 
        break;
    /* Process buffer contents */
 
    Process(buf);
 
}
Keeping track of the resolution of each page is the application's 
responsibility. 
When the function returns a 0 at exit from the loop, the application 
must determine, from the value of args_fax.expect_another, if 
there is another page to receive. 
BfvFaxEndReception(lp, &args_fax);
Call this function when there are no more pages to receive.
BT_ZERO(args_admin);
 
BfvLineDetach (lp, &args_admin);
Frees all the memory for the attached line and closes the device.