faxclient

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 30, 2024 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// Syntax UUID
	FaxclientSyntaxUUID = &uuid.UUID{TimeLow: 0x6099fc12, TimeMid: 0x3eff, TimeHiAndVersion: 0x11d0, ClockSeqHiAndReserved: 0xab, ClockSeqLow: 0xd0, Node: [6]uint8{0x0, 0xc0, 0x4f, 0xd9, 0x1a, 0x4e}}
	// Syntax ID
	FaxclientSyntaxV3_0 = &dcerpc.SyntaxID{IfUUID: FaxclientSyntaxUUID, IfVersionMajor: 3, IfVersionMinor: 0}
)
View Source
var (
	// import guard
	GoPackage = "fax"
)

Functions

func FaxclientServerHandle

func FaxclientServerHandle(ctx context.Context, o FaxclientServer, opNum int, r ndr.Reader) (dcerpc.Operation, error)

func NewFaxclientServerHandle

func NewFaxclientServerHandle(o FaxclientServer) dcerpc.ServerHandle

func RegisterFaxclientServer

func RegisterFaxclientServer(conn dcerpc.Conn, o FaxclientServer, opts ...dcerpc.Option)

Types

type ClientEventQueueExRequest

type ClientEventQueueExRequest struct {
	// hClientContext: A fax data type indicating a context handle for this call.
	ClientContext *fax.Fax `idl:"name:hClientContext;pointer:ref" json:"client_context"`
	// lpbData: A pointer to a FAX_EVENT_EX (section 2.2.67) or FAX_EVENT_EX_1 (section
	// 2.2.68) structure. The data is serialized. Pointers to variable size data (such as
	// strings) are replaced with offsets from the beginning of the buffer. Since the client
	// is to be notified of each event separately, in this case ORing of events is not allowed.
	//
	// If the client requested extended events by calling FAX_StartServerNotificationEx,
	// the client MUST use a FAX_EVENT_EX. If the client called FAX_StartServerNotificationEx2
	// to receive these events, the client MUST use a FAX_EVENT_EX_1.
	Data []byte `idl:"name:lpbData;size_is:(dwDataSize);pointer:ref" json:"data"`
	// dwDataSize: A DWORD ([MS-DTYP] section 2.2.9) containing the size of the buffer pointed
	// to by the lpbData parameter.
	//
	// This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise, it MUST
	// return one of the following error codes, one of the fax-specific errors that are
	// defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+---------------------------------+----------------------------------------------------------------------------------+
	//	|             RETURN              |                                                                                  |
	//	|           VALUE/CODE            |                                   DESCRIPTION                                    |
	//	|                                 |                                                                                  |
	//	+---------------------------------+----------------------------------------------------------------------------------+
	//	+---------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_DATA 0x0000000D   | The hClientContext handle is not a valid subscription context handle returned by |
	//	|                                 | FAX_StartServerNotificationEx or FAX_StartServerNotificationEx2.<218>            |
	//	+---------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_OUTOFMEMORY 0x0000000E    | The fax client needs to make a copy of the data provided by the fax server in    |
	//	|                                 | the lpbData buffer, and the fax client failed to allocate dwDataSize bytes to    |
	//	|                                 | hold this copy.                                                                  |
	//	+---------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INTERNAL_ERROR 0x0000054F | The fax client failed to recognize the custom marshaled FAX_EVENT_EX or          |
	//	|                                 | FAX_EVENT_EX_1 provided by the fax server in the lpbData buffer.                 |
	//	+---------------------------------+----------------------------------------------------------------------------------+
	DataSize uint32 `idl:"name:dwDataSize" json:"data_size"`
}

ClientEventQueueExRequest structure represents the FAX_ClientEventQueueEx operation request

func (*ClientEventQueueExRequest) MarshalNDR

func (o *ClientEventQueueExRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ClientEventQueueExRequest) UnmarshalNDR

func (o *ClientEventQueueExRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type ClientEventQueueExResponse

type ClientEventQueueExResponse struct {
	// Return: The FAX_ClientEventQueueEx return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

ClientEventQueueExResponse structure represents the FAX_ClientEventQueueEx operation response

func (*ClientEventQueueExResponse) MarshalNDR

func (o *ClientEventQueueExResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ClientEventQueueExResponse) UnmarshalNDR

func (o *ClientEventQueueExResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type ClientEventQueueRequest

type ClientEventQueueRequest struct {
	// FaxPortHandle: A fax data type that indicates a context handle for this call.
	FaxPort *fax.Fax `idl:"name:FaxPortHandle" json:"fax_port"`
	// FaxEvent: A FAX_EVENT (section 2.2.66) structure that contains the contents of an
	// I/O completion packet. The fax server sends the completion packet to notify a fax
	// client application about an asynchronous fax server event. Since the client is to
	// be notified of each event separately, in this case ORing of events is not allowed.
	//
	// This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise, it MUST
	// return one of the following error codes, one of the fax-specific errors that are
	// defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------+
	//	|               RETURN               |                                                          |
	//	|             VALUE/CODE             |                       DESCRIPTION                        |
	//	|                                    |                                                          |
	//	+------------------------------------+----------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------+
	//	| ERROR_NOT_ENOUGH_MEMORY 0x00000008 | Not enough storage is available to process this command. |
	//	+------------------------------------+----------------------------------------------------------+
	FaxEvent *fax.CompletionEvent `idl:"name:FaxEvent" json:"fax_event"`
}

ClientEventQueueRequest structure represents the FAX_ClientEventQueue operation request

func (*ClientEventQueueRequest) MarshalNDR

func (o *ClientEventQueueRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ClientEventQueueRequest) UnmarshalNDR

func (o *ClientEventQueueRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type ClientEventQueueResponse

type ClientEventQueueResponse struct {
	// Return: The FAX_ClientEventQueue return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

ClientEventQueueResponse structure represents the FAX_ClientEventQueue operation response

func (*ClientEventQueueResponse) MarshalNDR

func (o *ClientEventQueueResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ClientEventQueueResponse) UnmarshalNDR

func (o *ClientEventQueueResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type CloseConnectionRequest

type CloseConnectionRequest struct {
	// FaxHandle: A pointer to an RPC_FAX_HANDLE that indicates a context handle to close.
	// For more information about RPC_FAX_HANDLE, see FAX Data Types (section 2.2.74).
	Fax *fax.Fax `idl:"name:FaxHandle" json:"fax"`
}

CloseConnectionRequest structure represents the FAX_CloseConnection operation request

func (*CloseConnectionRequest) MarshalNDR

func (o *CloseConnectionRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*CloseConnectionRequest) UnmarshalNDR

func (o *CloseConnectionRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type CloseConnectionResponse

type CloseConnectionResponse struct {
	// FaxHandle: A pointer to an RPC_FAX_HANDLE that indicates a context handle to close.
	// For more information about RPC_FAX_HANDLE, see FAX Data Types (section 2.2.74).
	Fax *fax.Fax `idl:"name:FaxHandle" json:"fax"`
	// Return: The FAX_CloseConnection return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

CloseConnectionResponse structure represents the FAX_CloseConnection operation response

func (*CloseConnectionResponse) MarshalNDR

func (o *CloseConnectionResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*CloseConnectionResponse) UnmarshalNDR

func (o *CloseConnectionResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type FaxclientClient

type FaxclientClient interface {

	// The FAX_OpenConnection (Opnum 0) method returns the context handle that is supplied
	// by the FAX_StartServerNotification family of calls. This is done to provide a security
	// layer, by verifying that the notifications are coming from an expected source.
	//
	// Exceptions Thrown: No exceptions are thrown except those thrown by the underlying
	// RPC protocol, [MS-RPCE].
	//
	// The returned PRPC_FAX_HANDLE is the Context parameter cast to a HANDLE.
	//
	// The FAX_OpenConnection method returns the context handle supplied by the FAX_StartServerNotification
	// family of calls. This is done to provide a security layer, by verifying that the
	// notifications are coming from an expected source.
	OpenConnection(context.Context, *OpenConnectionRequest, ...dcerpc.CallOption) (*OpenConnectionResponse, error)

	// The FAX_ClientEventQueue (Opnum 1) method is called by the fax server (acting as
	// an RPC client for this call) when it needs to deliver a legacy fax event to the fax
	// client (acting as an RPC server for this call). The fax client registers for notifications
	// of legacy events with the fax server by calling FAX_StartServerNotification (section
	// 3.1.4.1.100) or FAX_StartServerNotificationEx (section 3.1.4.1.101). In this call,
	// the fax client MUST pass a fax client notification context, which the fax server
	// MUST pass back to the fax client when it sends an event. This is done to provide
	// a security layer, by verifying that the notifications are coming from an expected
	// source.
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	ClientEventQueue(context.Context, *ClientEventQueueRequest, ...dcerpc.CallOption) (*ClientEventQueueResponse, error)

	// The FAX_CloseConnection (Opnum 2) method is called by the fax server (acting as an
	// RPC client for this call) when it needs to release the connection to the fax client
	// (acting as an RPC server for this call). When the fax client calls FAX_EndServerNotification
	// (section 3.1.4.1.17), the fax server MUST release the RPC connection to the fax client
	// through this call.
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	CloseConnection(context.Context, *CloseConnectionRequest, ...dcerpc.CallOption) (*CloseConnectionResponse, error)

	// The FAX_ClientEventQueueEx (Opnum 3) method is called by the fax server (acting as
	// an RPC client for this call) when it needs to deliver an extended fax event to the
	// fax client (acting as an RPC server for this call). The fax client registers for
	// notifications with the fax server by calling either FAX_StartServerNotificationEx
	// (section 3.1.4.1.101) or FAX_StartServerNotificationEx2 (section 3.1.4.1.102). In
	// this call, the fax client MUST pass a fax client notification context, which the
	// fax server MUST pass back to the fax client when it sends an event. This is done
	// to provide a security layer, by verifying that the notifications are coming from
	// an expected source.
	//
	// Data in FAX_ClientEventQueueEx is serialized. Pointers to variable-size data (such
	// as strings) are replaced with offsets from the beginning of the buffer.
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	//
	// Data in FAX_ClientEventQueueEx is serialized. Pointers to variable size data (such
	// as strings) are replaced with offsets from the beginning of the buffer.
	ClientEventQueueEx(context.Context, *ClientEventQueueExRequest, ...dcerpc.CallOption) (*ClientEventQueueExResponse, error)

	// AlterContext alters the client context.
	AlterContext(context.Context, ...dcerpc.Option) error
}

faxclient interface.

func NewFaxclientClient

func NewFaxclientClient(ctx context.Context, cc dcerpc.Conn, opts ...dcerpc.Option) (FaxclientClient, error)

type FaxclientServer

type FaxclientServer interface {

	// The FAX_OpenConnection (Opnum 0) method returns the context handle that is supplied
	// by the FAX_StartServerNotification family of calls. This is done to provide a security
	// layer, by verifying that the notifications are coming from an expected source.
	//
	// Exceptions Thrown: No exceptions are thrown except those thrown by the underlying
	// RPC protocol, [MS-RPCE].
	//
	// The returned PRPC_FAX_HANDLE is the Context parameter cast to a HANDLE.
	//
	// The FAX_OpenConnection method returns the context handle supplied by the FAX_StartServerNotification
	// family of calls. This is done to provide a security layer, by verifying that the
	// notifications are coming from an expected source.
	OpenConnection(context.Context, *OpenConnectionRequest) (*OpenConnectionResponse, error)

	// The FAX_ClientEventQueue (Opnum 1) method is called by the fax server (acting as
	// an RPC client for this call) when it needs to deliver a legacy fax event to the fax
	// client (acting as an RPC server for this call). The fax client registers for notifications
	// of legacy events with the fax server by calling FAX_StartServerNotification (section
	// 3.1.4.1.100) or FAX_StartServerNotificationEx (section 3.1.4.1.101). In this call,
	// the fax client MUST pass a fax client notification context, which the fax server
	// MUST pass back to the fax client when it sends an event. This is done to provide
	// a security layer, by verifying that the notifications are coming from an expected
	// source.
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	ClientEventQueue(context.Context, *ClientEventQueueRequest) (*ClientEventQueueResponse, error)

	// The FAX_CloseConnection (Opnum 2) method is called by the fax server (acting as an
	// RPC client for this call) when it needs to release the connection to the fax client
	// (acting as an RPC server for this call). When the fax client calls FAX_EndServerNotification
	// (section 3.1.4.1.17), the fax server MUST release the RPC connection to the fax client
	// through this call.
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	CloseConnection(context.Context, *CloseConnectionRequest) (*CloseConnectionResponse, error)

	// The FAX_ClientEventQueueEx (Opnum 3) method is called by the fax server (acting as
	// an RPC client for this call) when it needs to deliver an extended fax event to the
	// fax client (acting as an RPC server for this call). The fax client registers for
	// notifications with the fax server by calling either FAX_StartServerNotificationEx
	// (section 3.1.4.1.101) or FAX_StartServerNotificationEx2 (section 3.1.4.1.102). In
	// this call, the fax client MUST pass a fax client notification context, which the
	// fax server MUST pass back to the fax client when it sends an event. This is done
	// to provide a security layer, by verifying that the notifications are coming from
	// an expected source.
	//
	// Data in FAX_ClientEventQueueEx is serialized. Pointers to variable-size data (such
	// as strings) are replaced with offsets from the beginning of the buffer.
	//
	// Exceptions Thrown: No exceptions are thrown except those that are thrown by the underlying
	// RPC protocol, [MS-RPCE].
	//
	// Data in FAX_ClientEventQueueEx is serialized. Pointers to variable size data (such
	// as strings) are replaced with offsets from the beginning of the buffer.
	ClientEventQueueEx(context.Context, *ClientEventQueueExRequest) (*ClientEventQueueExResponse, error)
}

faxclient server interface.

type OpenConnectionRequest

type OpenConnectionRequest struct {
	// Context: A ULONG64 ([MS-DTYP] section 2.2.51) containing a context information handle.
	// This handle SHOULD match the one supplied to the server when using the FAX_StartServerNotification
	// family of calls. For more information, see the following topics:
	//
	// §  FAX_StartServerNotification
	//
	// * *FAX_StartServerNotificationEx*
	//
	// * *FAX_StartServerNotificationEx2*
	Context uint64 `idl:"name:Context" json:"context"`
}

OpenConnectionRequest structure represents the FAX_OpenConnection operation request

func (*OpenConnectionRequest) MarshalNDR

func (o *OpenConnectionRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*OpenConnectionRequest) UnmarshalNDR

func (o *OpenConnectionRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type OpenConnectionResponse

type OpenConnectionResponse struct {
	// FaxHandle: A pointer to an RPC_FAX_HANDLE indicating a context handle to open. This
	// value is used in other fax client calls.
	//
	// This method MUST return 0x00000000 (ERROR_SUCCESS) for success; otherwise, it MUST
	// return one of the following error codes, one of the fax-specific errors that are
	// defined in section 2.2.52, or one of the other standard errors defined in [MS-ERREF]
	// section 2.2.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_ACCESS_DENIED 0x00000005     | The method requires at least packet-level privacy. The server                    |
	//	|                                    | checks the authentication level of the client. If it is less than                |
	//	|                                    | RPC_C_AUTHN_LEVEL_PKT_PRIVACY, refuse access. Or there are other access-related  |
	//	|                                    | problems.                                                                        |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| ERROR_INVALID_PARAMETER 0x00000057 | An invalid AssyncInfo structure is pointed to by the Context parameter or there  |
	//	|                                    | are parameter-related problems.                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	Fax *fax.Fax `idl:"name:FaxHandle" json:"fax"`
	// Return: The FAX_OpenConnection return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

OpenConnectionResponse structure represents the FAX_OpenConnection operation response

func (*OpenConnectionResponse) MarshalNDR

func (o *OpenConnectionResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*OpenConnectionResponse) UnmarshalNDR

func (o *OpenConnectionResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL