ILE C/C++ Language Reference

ILE Type Qualifiers

OS/400 The following type qualifiers have been introduced into C and C++ as language extensions to address needs that are specific to the iSeries platform.

See chapter 23 "Using iSeries Pointers in a Program" and chapter 28 "Using Teraspace" in ILE C/C++ Programmer's Guide for more information.

Related References

The __ptr128 Qualifier

OS/400 The keyword __ptr128 is a qualifier that can be applied to an iSeries pointer type to explicitly specify its size as 16 bytes and a 16-byte alignment. This language extension is provided to facilitate porting applications to the iSeries system and, more specifically, to allow applications to take advantage of the teraspace storage model and run-time environment.

The __ptr128 qualifier specifies a traditional iSeries pointer, as opposed to a process local pointer, which is 8 bytes and has no special alignment requirement. A process local pointer is used to access teraspace storage. The __ptr128 keyword can appear in the declarator part of a pointer declaration, wherever a C++ cv-qualifier can be used.

For example,

      int * __ptr128 p;

declares p to be a 16-byte pointer to int.

      int * __ptr128 const r;

declares r to be a const 16-byte pointer.

See chapter 23 "Using iSeries Pointers in a Program" and chapter 28 "Using Teraspace" in ILE C/C++ Programmer's Guide for more information.

Related References

The __ptr64 Qualifier

OS/400 The keyword __ptr64 is a qualifier that can be applied to an iSeries pointer type to constrain its size to 8 bytes. An 8-byte pointer, also referred to as a process local pointer, is used to access teraspace storage. The language extension is provided to facilitate porting applications to the iSeries system and, more specifically, to allow applications to take advantage of the teraspace storage model and run-time environment. The ILE C/C++ compiler silently performs one level of conversion between 8-byte and 16-byte pointers during an assignment operation or parameter association.

The __ptr64 qualifier specifies a process local pointer, which is 8 bytes and has no special alignment requirement. The __ptr64 keyword can appear in the declarator part of a pointer declaration, wherever a C++ cv-qualifier can be used.

See chapter 23 "Using iSeries Pointers in a Program" and chapter 28 "Using Teraspace" in ILE C/C++ Programmer's Guide for more information.

Related References


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