Files
mars-nwe/include/ncp_endpoint.h
OpenAI 38714c63b5
All checks were successful
Source release / source-package (push) Successful in 1m24s
0445 docs: make handoff no-client-reply explicit
2026-06-13 06:59:41 +02:00

74 lines
2.1 KiB
C

#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