The criteria type indicates the kind of resource requirement the handler is handling. Usually, the external plugin handler only handles external resource requirement (string) which is specified through bsub command using the ‑extsched option.
In order to use -extsched, you must set LSF_ENABLE_EXTSCHEDULER=y in lsf.conf.
New() function parses the external resource requirement string, and stores the parsed resource to handler-specific data.
handler-specific data is a container used to store any data which is needed by the handler.
If the plugin needs to set a user specific pending reason, a pending reason ID needs to be defined. See lsb_reason_set() in sched_api.h for more information.