Applications can maintain information about many independent groups simultaneously. The maximum number of simultaneously active groups is currently set to 500 and is given by the symbolic constant GRP__MAXG. There is no limit on the number of names that a single group can contain (other than those imposed by system quotas).
The GRP system distinguishes between different groups by use of an identifier system. When a new group is created, it is assigned a “GRP identifier” or “group identifier”. This value is used to specify which group is to be acted upon by subsequent GRP calls. The symbolic constant GRP__NOID can be given in certain places where a GRP identifier would normally be given, in order to specify a “null” group. Note, identifiers in the GRP package cannot be “cloned” to produce alternative, independent channels for accessing the same group. If two integer variables contain identifiers for a single group, then the integer values stored in the two variables will always be equal.