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


Calling the normalization service

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

This is a general description of how the normalization services have to be called.

The 31 bit caller has to provide:
  • Source buffer pointer (31-bit pointer), ALET (4 byte), and length (8 byte)
  • Target buffer pointer (31-bit pointer), ALET (4 byte), and length (8 byte)
  • Work buffer pointer (31-bit pointer), ALET (4 byte), and length (8 byte)
  • Normalization form (NFC, NFD, NFKD or NFKC)
  • Dynamic data area pointer (31-bit pointer), ALET (4 byte), and length (8 byte)
  • Flags
  • Unicode Version
The 64-bit caller has to provide:
  • Source buffer pointer (64-bit pointer), ALET (4 byte), and length (8 byte)
  • Target buffer pointer (64-bit pointer), ALET (4 byte), and length (8 byte)
  • Work buffer pointer (64-bit pointer), ALET (4 byte), and length (8 byte)
  • Normalization form (NFC, NFD, NFKD or NFKC)
  • Dynamic data area pointer (64-bit pointer), ALET (4 byte), and length (8 byte)
  • Flags
  • Unicode Version
Note: A dynamic data area (DDA) must always be specified. The required length is defined by constant CUNBNPRM_DDA_Req for AMODE (31) and CUN4BNPR_DDA_Req for AMODE (64).

On a successful return from the normalization service, the data area pointed by the target buffer pointer as long as the target, source buffer pointers and lengths are updated. The caller can see how many bytes were normalized and how much of the target buffer is filled up. In case of any error, return codes and reason codes are updated with necessary information.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014