OSI/FTAM Programming Guide

NonStop FTAM Programming Examples
HP NonStop OSI/FTAM Programming Guide528612-001
5-25
Reading a File: C Programming Example
852 /*************************************************************/
853 /* Call FTM_DATA_IND_ to receive data from the remote system,*/
854 /* and then write data to the local Guardian file. */
855 /* The required number of calls to FTM_DATA_IND_ can be */
856 /* reduced by increasing MAX_BUF. */
857 /*************************************************************/
858
859 more_data = 1;
860 start_position = 0;
861
862 while ( more_data != 0 )
863 {
864 error = FTM_DATA_IND_ ( cepi
865 , (long) MAX_BUF
866 , (char *) &data_value_ptr
867 , (long *) &more_data
868 , (long *) &next_position
869 , start_position );
870 if ( error != ZAPS_ERR_OK )
871 {
872 printf ( "FTM_DATA_IND_ FAILED\n" );
873 check_error ();
874 }
875
876 data_hdr = (zaps_ddl_data_hdr_def *) data_value_ptr;
877 element_hdr = (zaps_ddl_data_element_hdr_def *)
878 ( (char *) data_hdr
879 + sizeof (zaps_ddl_data_hdr_def) );
880 data_len = (int) element_hdr->zlen;
881 data_ptr = (char *)
882 ( (char *) element_hdr
883 + sizeof (zaps_ddl_data_element_hdr_def) );
884
885
886 for ( i = 1; i <= data_hdr->znum_elements; i++ )
887 {
888 if ( WRITEX ( local_fn, data_ptr, data_len ) != CCE )
889 {
890 FILEINFO ( local_fn, (int *) &error );