_Rpgmdev() — Set Default Program Device

Format

#include <recio.h>
int _Rpgmdev(_RFILE *fp, char *dev);

Language Level: ILE C Extension

Threadsafe: No.

Job CCSID Interface: All character data sent to this function is expected to be in the CCSID of the job. All character data returned by this function is in the CCSID of the job. See Understanding CCSIDs and Locales for more information.

Description

The _Rpgmdev() function sets the current program device for the file that is associated with fp to dev. You must specify the device in uppercase.

The dev parameter is a null-ended C string.

The _Rpgmdev() function is valid for display, ICF, and printer files.

Return Value

The _Rpgmdev() function returns 1 if the operation is successful or zero if the device specified has not been acquired for the file. See Table 12 and Table 14 for errno settings.

Example that uses _Rpgmdev()

#include <stdio.h>
#include <recio.h>
#include <string.h>
#include <stdlib.h>
 
typedef struct {
    char name[20];
    char address[25];
} format1 ;
 
typedef struct {
    char name[8];
    char password[10];
} format2 ;
 
typedef union {
    format1 fmt1;
    format2 fmt2;
} formats ;
 
int main(void)
{
    _RFILE   *fp; /* File pointer                                     */
    _RIOFB_T *rfb; /*Pointer to the file's feedback structure         */
    formats  buf, in_buf, out_buf; /* Buffers to hold data            */
 
    /* Open the device file.                                          */
    if (( fp = _Ropen ( "MYLIB/T1677RD2", "ar+" )) == NULL )
    {
        printf ( "Could not open file\n" );
        exit ( 1 );
    }
 
    _Rpgmdev ( fp,"DEVICE2" );/* Change the default program device.   */
                              /* Replace with actual device name.     */
 
    _Rformat ( fp,"FORMAT2" );   /* Set the record format for the     */
                                 /* display file.                     */
 
    rfb = _Rwrite ( fp, "", 0 );   /* Set up the display.             */
    rfb = _Rwriterd ( fp, &buf, sizeof(buf) );
 
    rfb = _Rwrread ( fp, &in_buf, sizeof(in_buf), &out_buf,
                     sizeof(out_buf ));
 
    /* Continue processing.                                           */
 
 
    _Rclose ( fp );
}

Related Information



[ Top of Page | Previous Page | Next Page | Contents | Index ]