FTAM/9000 Programmer's Guide

324 Chapter 8
Transferring HP FTAM/9000 Data
Ending Data Transfer
Ending Data Transfer
Use ft_edata() and ft_etransfer() to terminate data transfers in an
orderly manner. Use ft_cancel() to prematurely terminate a data transfer
after issuing an ft_read() or ft_write() request, and use ft_rcancel() to
respond to a cancel indication.
ft_edata()
#include %</opt/ftam/include/map.h>
#include %</opt/ftam/include/mapftam.h>
Return_code
ft_edata (connection_id, return_event_name, input_dcb,
inout_dcb)
Connection_id connection_id;
Local_event_name return_event_name;
char *input_dcb;
struct Ft_edata_out_dcb **inout_dcb;
After issuing the necessary number of ft_sdata() functions, call ft_edata()
to signal the responder you are no longer sending data (i.e., you
completed sending the data unit).
You must call ft_edata() before calling ft_etransfer(); after calling
ft_edata(), you can no longer call ft_sdata() until you call ft_etransfer()
followed by ft_write().
Invoke ft_edata() in the Data Transfer regime; you do not move to
another regime.
Ft_edata_in_dcb
struct Ft_edata_in_dcb {
enum Ft_action_result action_result;
struct Ft_diagnostic *diagnostic;
};
Ft_edata_out_dcb
struct Ft_edata_out_dcb {
Uint32 size;
struct Api_rc result;
enum Ft_action_result action_result;
struct Ft_diagnostic *diagnostic;
};