1
/* Editor Settings: expandtabs and use 4 spaces for indentation
2
* ex: set softtabstop=4 tabstop=8 expandtab shiftwidth=4: *
3
* -*- mode: c, c-basic-offset: 4 -*- */
6
* Copyright (C) Centeris Corporation 2004-2007
7
* Copyright (C) Likewise Software 2007-2008
10
* This program is free software; you can redistribute it and/or modify
11
* it under the terms of the GNU Lesser General Public License as
12
* published by the Free Software Foundation; either version 2.1 of
13
* the License, or (at your option) any later version.
15
* This library is distributed in the hope that it will be useful,
16
* but WITHOUT ANY WARRANTY; without even the implied warranty of
17
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
* GNU Lesser General Public License for more details.
20
* You should have received a copy of the GNU Lesser General Public
21
* License along with this program. If not, see
22
* <http://www.gnu.org/licenses/>.
32
typedef struct __DOMAIN_JOIN_INFO
36
char* pszDomainName; /* Null if not joined */
37
char* pszDomainShortName; /* Null if not joined */
38
char* pszLogFilePath; /* Null if not logging */
40
} DOMAIN_JOIN_INFO, *PDOMAIN_JOIN_INFO;
42
typedef struct __DOMAIN_JOIN_ERROR
49
} DOMAIN_JOIN_ERROR, *PDOMAIN_JOIN_ERROR;
51
typedef int (*PFNJoinDomain)(
52
const char* pszDomainName,
54
const char* pszUsername,
55
const char* pszPassword,
57
PDOMAIN_JOIN_ERROR* ppError
60
typedef int (*PFNLeaveDomain)(
61
const char* pszUsername,
62
const char* pszPassword,
63
PDOMAIN_JOIN_ERROR* ppError
66
typedef int (*PFNSetComputerName)(
67
const char* pszComputerName,
68
const char* pszDomainName,
69
PDOMAIN_JOIN_ERROR* ppError
72
typedef int (*PFNQueryInformation)(
73
PDOMAIN_JOIN_INFO* ppDomainJoinInfo,
74
PDOMAIN_JOIN_ERROR* ppError
77
typedef int (*PFNIsDomainNameResolvable)(
78
const char* pszDomainName,
79
short* pbIsResolvable,
80
PDOMAIN_JOIN_ERROR* ppszError
83
typedef void (*PFNFreeDomainJoinInfo)(
84
PDOMAIN_JOIN_INFO pDomainJoinInfo
87
typedef void (*PFNFreeDomainJoinError)(
88
PDOMAIN_JOIN_ERROR pError
95
typedef struct __DJ_API_FUNCTION_TABLE
97
PFNJoinDomain pfnJoinDomain;
98
PFNLeaveDomain pfnLeaveDomain;
99
PFNSetComputerName pfnSetComputerName;
100
PFNQueryInformation pfnQueryInformation;
101
PFNIsDomainNameResolvable pfnIsDomainNameResolvable;
102
PFNFreeDomainJoinInfo pfnFreeDomainJoinInfo;
103
PFNFreeDomainJoinError pfnFreeDomainJoinError;
105
} DJ_API_FUNCTION_TABLE, *PDJ_API_FUNCTION_TABLE;
107
#define DJ_INITIALIZE_JOIN_INTERFACE "DJInitJoinInterface"
109
typedef int (*PFNInitJoinInterface)(
110
PDJ_API_FUNCTION_TABLE* ppFuncTable
115
PDJ_API_FUNCTION_TABLE* ppFuncTable
118
#define DJ_SHUTDOWN_JOIN_INTERFACE "DJShutdownJoinInterface"
120
typedef void (*PFNShutdownJoinInterface)(
121
PDJ_API_FUNCTION_TABLE pFuncTable
125
DJShutdownJoinInterface(
126
PDJ_API_FUNCTION_TABLE pFuncTable
129
#endif /* __DJ_ITF_H__ */