The generic type creates a context for binding names used by applications.
A generic context is similar to a service context except it can have a different reference type. The -r option is used to specify the reference type for the generic context being created. If it is omitted, the reference type is inherited from its parent generic context or, if the parent context is not a generic context, the reference type used is a default generic reference type.
Like a service context, there is no restriction on what type of references may be bound in a generic context. The policies depend on the applications that use the generic context.
# fncreate -t generic -r WIDC_comm org/sales/service/extcomm
creates a generic context with the WIDC_comm reference type under the service context of the organization sales. Names such as org/sales/service/extcomm/modem can then be bound in this generic context.
The generic context supports a hierarchical namespace, with slash-separated left-to-right names, which allows an application to partition its namespace for different services. Continuing with the example above, a generic subcontext for modem can be created running the command
# fncreate -t generic org/sales/service/extcomm/modem
Names such as org/sales/service/extcomm/modem/secure and org/sales/service/extcomm/modem/public could then be bound under the modem context.
The generic context created is owned by the administrator who ran the fncreate command.