-
Notifications
You must be signed in to change notification settings - Fork 2
/
nspi.go
50 lines (46 loc) · 1.5 KB
/
nspi.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
// The nspi package implements the NSPI client protocol.
//
// # Introduction
//
// The Name Service Provider Interface (NSPI) Protocol provides messaging clients a
// way to access and manipulate addressing data stored by a server. This protocol consists
// of an abstract data model and a single remote procedure call (RPC) interface to manipulate
// data in that model.
//
// # Overview
//
// Messaging clients that implement a browsable address book need a way to communicate
// with a data store that holds addressing data to access and manipulate that data.
// The NSPI Protocol enables communication between a messaging client and a data store.<1>
//
// The NSPI Protocol is a protocol layer that uses the remote procedure call (RPC) protocol
// as a transport, with a series of interface methods as specified in this document,
// that clients can use to communicate with an NSPI server.
//
// The following diagram is a graphical representation of a typical communication sequence
// between a messaging client and an NSPI server.
package nspi
import (
"context"
"fmt"
"strings"
"unicode/utf16"
dcerpc "github.com/oiweiwei/go-msrpc/dcerpc"
errors "github.com/oiweiwei/go-msrpc/dcerpc/errors"
uuid "github.com/oiweiwei/go-msrpc/midl/uuid"
ndr "github.com/oiweiwei/go-msrpc/ndr"
)
var (
_ = context.Background
_ = fmt.Errorf
_ = utf16.Encode
_ = strings.TrimPrefix
_ = ndr.ZeroString
_ = (*uuid.UUID)(nil)
_ = (*dcerpc.SyntaxID)(nil)
_ = (*errors.Error)(nil)
)
var (
// import guard
GoPackage = "nspi"
)