z/OS Unicode Services User's Guide and Reference
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


64-bit mapping

z/OS Unicode Services User's Guide and Reference
SA38-0680-00

typedef struct tagCUN4BIPR {                                           
unsigned int   Version;                   /* Structure version number            */
unsigned int   Length;                    /* Length of  structure                */
                                          /* CCSID1 Info ---------------         */
 unsigned int   CCSID1;                   /* CCSID1                              */
struct {                                                               
   char Res1[2];                          /* Reserved                            */
   short int CCSID1_ES_ID;                /* Encoding Scheme ID                  */
   char CCSID1_ES_Name[28];               /* Encoding Scheme Name                */
 } CCSID1_ES;                             /* CCSID1 Encoding Scheme info         */
                                                                        
struct {                                                               
   unsigned char CCSID1_ES_Size_Min;      /* ES Size Min                         */
   unsigned char CCSID1_ES_Size_Max;      /* ES Size Max                         */
 } CCSID1_ES_Size;                        /* Encoding scheme size                */
char Res2[2];                             /* Reserved                            */
char CCSID1_Description[64];              /* CCSID1 Description                  */
struct {                                                               
  unsigned char CCSID1_Num_Subs_SBCS;     /* Num of Subs for SBCS                */
  unsigned char CCSID1_Num_Subs_DBCS;     /* Num of Subs for DBCS                */
  unsigned char CCSID1_Num_Subs_TBCS;     /* Num of Subs for TBCS                */
  unsigned char CCSID1_Num_Subs_QBCS;     /* Num of Subs for QBCS                */
  char Res3[4];                           /* Reserved                            */
 } CCSID1_Num_Subs;                       /* Num of Subs per Code Set            */             
                                                                        
struct {                                                               
   struct {                                                             
     char CCSID1_Sub_Char_SBCS_1[1];                                    
     char CCSID1_Sub_Char_SBCS_2[1];                                    
     } CCSID1_Sub_Char_SBCS;              /* SBCS subs chars - right aligned     */
                                                                        
   struct {                                                             
     char CCSID1_Sub_Char_DBCS_1[2];                                    
     char CCSID1_Sub_Char_DBCS_2[2];                                    
     } CCSID1_Sub_Char_DBCS;              /* DBCS subs chars - right aligned      */
                                                                        
   struct {                                                             
     char CCSID1_Sub_Char_TBCS_1[3];                                    
     char CCSID1_Sub_Char_TBCS_2[3];                                    
     } CCSID1_Sub_Char_TBCS;              /* TBCS subs chars - right aligned      */
                                                                        
   struct {                                                             
     char CCSID1_Sub_Char_QBCS_1[4];                                    
     char CCSID1_Sub_Char_QBCS_2[4];                                    
     } CCSID1_Sub_Char_QBCS;              /* QBCS subs chars - right aligned      */
    char Res4[4];                         /* Reserved                             */
 } CCSID1_Sub_Char;                       /* Substitution characters per CS       */
void *  CCSID1_subCCSIDs_Info_Ptr ;       /* Pointer to                           */
                                          /* CUN4BIPR_subCCSIDs_Info (Optional)   */
unsigned int  CCSID1_subCCSIDs_Info_ALET; /* ALET for                             */
                                          /* CCSID1_subCCSIDs_Info_Ptr            */
unsigned char CCSID1_subCCSIDs_Info_Num ; /* Num of subCCSIDs                     */
char          Res5[3];                    /* Reserved                             */
                                          /* CCSID2 Info ---------------          */
unsigned int   CCSID2;                    /* CCSID2                               */
struct {                                                               
   char Res1a[2];                         /* Reserved                             */
   short int CCSID2_ES_ID;                /* Encoding Scheme ID                   */
   char CCSID2_ES_Name[28];               /* Encoding Scheme Name                 */
 } CCSID2_ES;                             /* CCSID2 Encoding Scheme info          */
struct {                                                               
   unsigned char CCSID2_ES_Size_Min;      /* ES Size Min                          */
   unsigned char CCSID2_ES_Size_Max;      /* ES Size Max                          */
 } CCSID2_ES_Size;                        /* Encoding scheme size                 */
char Res2a[2];                            /* Reserved                             */
char CCSID2_Description[64];              /* CCSID2 Description                   */
 struct {                                                               
  unsigned char CCSID2_Num_Subs_SBCS;     /* Num of Subs for SBCS                 */
  unsigned char CCSID2_Num_Subs_DBCS;     /* Num of Subs for DBCS                 */
  unsigned char CCSID2_Num_Subs_TBCS;     /* Num of Subs for TBCS                 */
  unsigned char CCSID2_Num_Subs_QBCS;     /* Num of Subs for QBCS                 */
  char Res3a[4];                          /* Reserved                             */
 } CCSID2_Num_Subs;                       /* Num of Subs per Code Set             */             
struct {                                                               
   struct {                                                             
     char CCSID2_Sub_Char_SBCS_1[1];                                    
     char CCSID2_Sub_Char_SBCS_2[1];                                    
    } CCSID2_Sub_Char_SBCS;              /* SBCS subs chars - right aligned       */
                                                                        
   struct {                                                             
     char CCSID2_Sub_Char_DBCS_1[2];                                    
     char CCSID2_Sub_Char_DBCS_2[2];                                    
    } CCSID2_Sub_Char_DBCS;              /* DBCS subs chars - right aligned       */
                                                                        
   struct {                                                             
     char CCSID2_Sub_Char_TBCS_1[3];                                    
     char CCSID2_Sub_Char_TBCS_2[3];                                    
    } CCSID2_Sub_Char_TBCS;             /* TBCS subs chars - right aligned        */
                                                                        
   struct {                                                             
     char CCSID2_Sub_Char_QBCS_1[4];                                    
     char CCSID2_Sub_Char_QBCS_2[4];                                    
    } CCSID2_Sub_Char_QBCS;             /* QBCS subs chars - right aligned        */
   char Res4a[4];                       /* Reserved                               */
 } CCSID2_Sub_Char;                     /* Substitution characters per CS         */
void *   CCSID2_subCCSIDs_Info_Ptr ;    /* Pointer to                             */
                                        /* CUN4BIPR_subCCSIDs_Info (Optional)     */
unsigned int CCSID2_subCCSIDs_Info_ALET;/* ALET for                               */
                                        /* CCSID2_subCCSIDs_Info_Ptr              */
unsigned char CCSID2_subCCSIDs_Info_Num;/* Num of subCCSIDs                       */
char          Res5a[3];                 /* Reserved                               */
                                        /* Conversion Info -----------            */
struct {                                                               
  int  CCSID1_Supported    : 1,         /* CCSID1 Supported:                      */
                                        /* 0 - CCSID1 not supported               */
                                        /* 1 - CCSID1 supported                   */
                                        /* Note. Meaningful if CCSID1             */
                                        /*       was provided only                */
       CCSID2_Supported    : 1,         /* CCSID2 Supported:                      */
                                        /* 0 - CCSID2 not supported               */
                                        /* 1 - CCSID2 supported                   */
                                        /* Note. Meaningful if CCSID2             */
                                        /*       was provided only                */
       Conversion_Supported : 1,        /* Conversion From CCSID TO               */
                                        /* CCSID2 supported:                      */
                                        /*  0 =  No                               */
                                        /*  1 =  Yes                              */
                                        /* Note. Meaningful in case that          */
                                        /*    CCSID1 and CCSId2 are               */
                                        /*    provided                            */
                           : 5;         /* Reserved                               */
 } Gen_Flags_Out;                       /* Out Flags-Set by the Service           */
struct {                                                               
  int Get_Tech_Supp_fCCSID2_tCCSID1     /* Get techniques supported from          */
                           : 1,         /* CCSID2 to CCSID1                       */
                                        /* 0 - Do not obtain techniques           */
                                        /*     from CCSID2 to CCSID1              */
                                        /*     (default)                          */
                                        /* 1 - Obtaint techniques                 */
                                        /*     from CCSID2 to CCSID1              */
                           : 7;         /* Reserved                               */
 } Gen_Flags_In;                        /* In Flags-Set by the Caller             */
char Res6[6];                           /* Reserved                               */
char Conv_Tech_fCCSID1_tCCSID2[8];      /* Conversion techniques sup-             */
                                        /* ported From CCSID1 To                  */
                                        /* CCSID2                                 */
                                        /* Note. Meaningful in case that          */
                                        /*    Conversion_Supported is             */
                                        /*    Turned ON                           */
char Conv_Tech_fCCSID2_tCCSID1[8];      /* Conversion techniques sup-             */
                                        /* ported From CCSID2 To                  */
                                        /* CCSID1                                 */
                                        /* Note. Meaningful in case that          */
                                        /*    Conversion_Supported is             */
                                        /*    Turned ON                           */
                                        /* DDA Info ------------------            */
void *        DDA_Buf_Ptr;              /* Dynamic data area pointer              */
unsigned int  DDA_Buf_ALET;             /* Dynamic data area ALET                 */
unsigned int  DDA_Buf_Len;              /* Dynamic data area length               */
                                        /* RC / RS                                */
struct {                                                                 
int    Return_Code;                     /* Return_Code                            */
  int    Reason_Code;                   /* Reason_Code                            */
  } RC_RS;                              /* Return/Reason code                     */
 
/**********************************************************************************/
/* Additional information for Version 2 Parameter Area                            */
/**********************************************************************************/
 char CCSID1_SUFFIX[2];                 /* Suffix for CCSID1. The suffix          */
                                        /* for subCCSIDs are returned in          */
                                        /* subCCSIDs_info                         */
 char CCSID2_SUFFIX[2];                 /* Suffix for CCSID1. The suffix          */
                                        /* for subCCSIDs are returned in          */
                                        /* subCCSIDs_info                         */
 unsigned char  Conversion_Type;        /* type of conversion for                 */
                                        /* CCSID1 to CCSID2                       */
                                        /* 1 = direct conversion                  */
                                        /* 2 = indirect conversion                */
 char Resi1[3];                         /* Reserved                               */

 void *        CCSID1_CTLDEF_Ptr ;      /* Pointer to CTLF (optional)             */
 unsigned int  CCSID1_CTLDEF_ALET;      /* ALET for CTLF_Ptr                      */
 unsigned char CCSID1_CTLDEF_Num ;      /* Num of entries in CTLF                 */
 char Resi2[3];                         /* Reserved                               */

 void *        CCSID2_CTLDEF_Ptr ;      /* Pointer to CTLF                        */
 unsigned int  CCSID2_CTLDEF_ALET;      /* ALET for CTLF_Ptr                      */
 unsigned char CCSID2_CTLDEF_Num ;      /* Num of entries in CTLF                 */
 char Resi3[11];                        /* Reserved                               */
} CUN4BIPR;

typedef struct tagCUN4BIPR_CTLF {
                                        /* Control Function Definitions           */
 unsigned int  CF_CCSID;                /* CCSID or subCCSID                      */
char          resCF1[4];                /* reserved                               */
 struct {                               /* CF_DEFS                                */
    unsigned char   CF_SP_State;        /* space character state                  */
    unsigned char   CF_SP_Num;          /* number of space character              */
    short int       CF_SP_Width;        /* space character width                  */
    struct {                            /* space character code point             */
        char    CF_SP_2[2];             /* UCS-2: single wide space char          */
        struct {                        /* UCS-2: double wide space char          */
            char    CF_SP_S2[1];        /* second single wide space char          */
            char    CF_SP_S1[1];        /* first single wide space char           */
        } CF_SP_1;                      /* first double wide space char           */
    } CF_SP_Code;

    unsigned char   CF_SUB_State;       /* sub character state                    */
    unsigned char   CF_SUB_Num;         /* number of sub character                */
    short int       CF_SUB_Width;       /* sub character width                    */
    struct {                            /* sub character code point               */
        char    CF_SUB_2[2];            /* UCS-2: single wide sub char            */
        struct {                        /* UCS-2: double wide sub char            */
            char    CF_SUB_S2[1];       /* second single wide sub char            */
            char    CF_SUB_S1[1];       /* first single wide sub char             */
        } CF_SUB_1;                     /* first double wide sub char             */
    } CF_SUB_Code;

    unsigned char   CF_NL_State;        /* New Line character state               */
    char            resNL[1];           /* reserved                               */
    short int       CF_NL_Width;        /* New Line character width               */
    char            CF_NL_Code[4];      /* New Line character Code point          */
    unsigned char   CF_LF_State;        /* Line Feed character state              */
    char            resLF[1];           /* reserved                               */
    short int       CF_LF_Width;        /* Line Feed character width              */
    char            CF_LF_Code[4];      /* Line Feed character Code point         */
    unsigned char   CF_CR_State;        /* Carriage Return state                  */
    char            resCR[1];           /* reserved                               */
    short int       CF_CR_Width;        /* Carriage Return width                  */
    char            CF_CR_Code[4];      /* Carriage Return code point             */
    unsigned char   CF_EOF_State;       /* End-Of-File character state            */
    char            resEOF[1];          /* reserved                               */
    short int       CF_EOF_Width;       /* EOF  character width                   */
    char            CF_EOF_Code[4];     /* EOF character Code point               */
 } CF_DEFS;

 char          resCF2[8];               /* reserved                               */
 } CUN4BIPR_CTLF;                                                            

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014