#ifndef _NCP_ENDPOINT_H_ #define _NCP_ENDPOINT_H_ /* * Common NCP endpoint and provider vocabulary. * * This header is intentionally declarative first. It gives audits, future * endpoint tables, and later dispatcher cleanup patches one shared set of * names without changing the current switch/return-value behaviour. */ typedef enum ncp_provider_e { NCP_PROVIDER_UNKNOWN = 0, NCP_PROVIDER_NWCONN, NCP_PROVIDER_NWBIND, NCP_PROVIDER_BINDERY, NCP_PROVIDER_QUEUE, NCP_PROVIDER_NWFS, NCP_PROVIDER_NAMESPACE, NCP_PROVIDER_SEMAPHORE, NCP_PROVIDER_MESSAGE, NCP_PROVIDER_SERVERMGMT, NCP_PROVIDER_TRANSPORT, NCP_PROVIDER_DIRECTORY, NCP_PROVIDER_NWNDS, NCP_PROVIDER_NCP_EXTENSION, NCP_PROVIDER_AFP, NCP_PROVIDER_ACCOUNTING, NCP_PROVIDER_AUTH, NCP_PROVIDER_LEGACY_STUB } NcpProvider; /* * Current nwconn dispatcher compatibility values. * * Only the relevant nwconn dispatch path gives -1/-2 the handoff meaning * described here. Other functions may still return -1 as a normal local error. */ typedef enum ncp_dispatch_result_e { NCP_DISPATCH_DONE = 0, NCP_DISPATCH_FORWARD_NWBIND = -1, NCP_DISPATCH_FORWARD_NWBIND_POST = -2, NCP_DISPATCH_NOT_IMPLEMENTED = 1, NCP_DISPATCH_BAD_REQUEST = 2, NCP_DISPATCH_INTERNAL_ERROR = 3 } NcpDispatchResult; typedef enum ncp_endpoint_flag_e { NCP_ENDPOINT_LOCAL = 1U << 0, NCP_ENDPOINT_FORWARDED = 1U << 1, NCP_ENDPOINT_NEEDS_POSTPROCESS = 1U << 2, NCP_ENDPOINT_PROVIDER_BUILDS_REPLY = 1U << 3, NCP_ENDPOINT_NETWARE3 = 1U << 4, NCP_ENDPOINT_NETWARE4_GUARDED = 1U << 5, NCP_ENDPOINT_REFERENCE_ONLY = 1U << 6, NCP_ENDPOINT_LEGACY_STUB = 1U << 7 } NcpEndpointFlag; /* * Future normalized provider handoff reply kind. These are internal MARS * results, not client-visible NCP completion codes. The provider always * returns a formal internal handoff reply object; NO_CLIENT_REPLY means only * that nwconn must not send a client-visible NCP reply. */ typedef enum nw_handoff_reply_kind_e { NW_HANDOFF_REPLY = 0, NW_HANDOFF_NO_CLIENT_REPLY, NW_HANDOFF_DEFERRED, NW_HANDOFF_FORWARD, NW_HANDOFF_ERROR } NwHandoffReplyKind; #endif