~zulcss/ubuntu/lucid/likewise-open/likewise-open-sru

« back to all changes in this revision

Viewing changes to domainjoin/domainjoin-gui/carbon/DomainJoin/djitf.h

  • Committer: Bazaar Package Importer
  • Author(s): Rick Clark
  • Date: 2008-08-27 08:56:20 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20080827085620-5q0f58b9qtog9myq
Tags: 4.1.0.2956-0ubuntu1
* missing-likewise-logo.diff: removed
* fixed copyright notice
* updated Standards-Version to 3.8.0
* removed path from command in prerm
* removed stop in S runlevel

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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 -*- */
 
4
 
 
5
/*
 
6
 * Copyright (C) Centeris Corporation 2004-2007
 
7
 * Copyright (C) Likewise Software    2007-2008
 
8
 * All rights reserved.
 
9
 *
 
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.
 
14
 *
 
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.
 
19
 *
 
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/>.
 
23
 */
 
24
 
 
25
#ifndef __DJ_ITF_H__
 
26
#define __DJ_ITF_H__
 
27
 
 
28
#ifdef __cplusplus
 
29
extern "C" {
 
30
#endif
 
31
 
 
32
typedef struct __DOMAIN_JOIN_INFO
 
33
{
 
34
    char* pszName;
 
35
    char* pszDnsDomain;
 
36
    char* pszDomainName;      /* Null if not joined  */
 
37
    char* pszDomainShortName; /* Null if not joined  */
 
38
    char* pszLogFilePath;     /* Null if not logging */
 
39
 
 
40
} DOMAIN_JOIN_INFO, *PDOMAIN_JOIN_INFO;
 
41
 
 
42
typedef struct __DOMAIN_JOIN_ERROR
 
43
{
 
44
 
 
45
    int  code;
 
46
    char* pszShortError;
 
47
    char* pszLongError;
 
48
 
 
49
} DOMAIN_JOIN_ERROR, *PDOMAIN_JOIN_ERROR;
 
50
 
 
51
typedef int (*PFNJoinDomain)(
 
52
                const char*         pszDomainName,
 
53
                const char*         pszOU,
 
54
                const char*         pszUsername,
 
55
                const char*         pszPassword,
 
56
                short               bNoHosts,
 
57
                PDOMAIN_JOIN_ERROR* ppError
 
58
                );
 
59
 
 
60
typedef int (*PFNLeaveDomain)(
 
61
                const char*         pszUsername,
 
62
                const char*         pszPassword,
 
63
                PDOMAIN_JOIN_ERROR* ppError
 
64
                );
 
65
 
 
66
typedef int (*PFNSetComputerName)(
 
67
                const char*         pszComputerName,
 
68
                const char*         pszDomainName,
 
69
                PDOMAIN_JOIN_ERROR* ppError
 
70
                );
 
71
 
 
72
typedef int (*PFNQueryInformation)(
 
73
                PDOMAIN_JOIN_INFO*  ppDomainJoinInfo,
 
74
                PDOMAIN_JOIN_ERROR* ppError
 
75
                );
 
76
 
 
77
typedef int (*PFNIsDomainNameResolvable)(
 
78
                const char*         pszDomainName,
 
79
                short*              pbIsResolvable,
 
80
                PDOMAIN_JOIN_ERROR* ppszError
 
81
                ); 
 
82
 
 
83
typedef void (*PFNFreeDomainJoinInfo)(
 
84
                PDOMAIN_JOIN_INFO pDomainJoinInfo
 
85
                );
 
86
 
 
87
typedef void (*PFNFreeDomainJoinError)(
 
88
                PDOMAIN_JOIN_ERROR pError
 
89
                );
 
90
 
 
91
#ifdef __cplusplus
 
92
}
 
93
#endif
 
94
 
 
95
typedef struct __DJ_API_FUNCTION_TABLE
 
96
{
 
97
    PFNJoinDomain             pfnJoinDomain;
 
98
    PFNLeaveDomain            pfnLeaveDomain;
 
99
    PFNSetComputerName        pfnSetComputerName;
 
100
    PFNQueryInformation       pfnQueryInformation;
 
101
    PFNIsDomainNameResolvable pfnIsDomainNameResolvable;
 
102
    PFNFreeDomainJoinInfo     pfnFreeDomainJoinInfo;
 
103
    PFNFreeDomainJoinError    pfnFreeDomainJoinError;
 
104
 
 
105
} DJ_API_FUNCTION_TABLE, *PDJ_API_FUNCTION_TABLE;
 
106
 
 
107
#define DJ_INITIALIZE_JOIN_INTERFACE "DJInitJoinInterface"
 
108
 
 
109
typedef int (*PFNInitJoinInterface)(
 
110
                 PDJ_API_FUNCTION_TABLE* ppFuncTable
 
111
                 );
 
112
 
 
113
int
 
114
DJInitJoinInterface(
 
115
    PDJ_API_FUNCTION_TABLE* ppFuncTable
 
116
    );
 
117
 
 
118
#define DJ_SHUTDOWN_JOIN_INTERFACE   "DJShutdownJoinInterface"
 
119
 
 
120
typedef void (*PFNShutdownJoinInterface)(
 
121
                PDJ_API_FUNCTION_TABLE pFuncTable
 
122
                );
 
123
 
 
124
void
 
125
DJShutdownJoinInterface(
 
126
    PDJ_API_FUNCTION_TABLE pFuncTable
 
127
    );
 
128
 
 
129
#endif /* __DJ_ITF_H__ */
 
130