POINTER{(*PROC)}

The POINTER keyword is used in a free-form definition to indicate that the item has type basing pointer or type procedure pointer.

It must be the first keyword.

The parameter is optional. If the parameter is specified, it must be *PROC, indicating that the item is a procedure pointer.

If the parameter is not specified, the item is a basing pointer.

In the following example
  • Field userspace is defined as a basing pointer field
  • Field callback is defined as a procedure-pointer field.

  DCL-S userspace POINTER;

  DCL-S callback POINTER(*PROC);