~ubuntu-branches/debian/lenny/fpc/lenny

« back to all changes in this revision

Viewing changes to fpcsrc/packages/base/winunits/jwalmconfig.pas

  • Committer: Bazaar Package Importer
  • Author(s): Mazen Neifer, Torsten Werner, Mazen Neifer
  • Date: 2008-05-17 17:12:11 UTC
  • mfrom: (3.1.9 intrepid)
  • Revision ID: james.westby@ubuntu.com-20080517171211-9qi33xhd9evfa0kg
Tags: 2.2.0-dfsg1-9
[ Torsten Werner ]
* Add Mazen Neifer to Uploaders field.

[ Mazen Neifer ]
* Moved FPC sources into a version dependent directory from /usr/share/fpcsrc
  to /usr/share/fpcsrc/${FPCVERSION}. This allow installing more than on FPC
  release.
* Fixed far call issue in compiler preventing building huge binearies.
  (closes: #477743)
* Updated building dependencies, recomennded and suggested packages.
* Moved fppkg to fp-utils as it is just a helper tool and is not required by
  compiler.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
{******************************************************************************}
 
2
{                                                                              }
 
3
{ Lan Manager Config API interface Unit for Object Pascal                      }
 
4
{                                                                              }
 
5
{ Portions created by Microsoft are Copyright (C) 1995-2001 Microsoft          }
 
6
{ Corporation. All Rights Reserved.                                            }
 
7
{                                                                              }
 
8
{ The original file is: lmconfig.h, released November 2001. The original Pascal}
 
9
{ code is: LmConfig.pas, released Februari 2002. The initial developer of the  }
 
10
{ Pascal code is Marcel van Brakel (brakelm att chello dott nl).               }
 
11
{                                                                              }
 
12
{ Portions created by Marcel van Brakel are Copyright (C) 1999-2001            }
 
13
{ Marcel van Brakel. All Rights Reserved.                                      }
 
14
{                                                                              }
 
15
{ Obtained through: Joint Endeavour of Delphi Innovators (Project JEDI)        }
 
16
{                                                                              }
 
17
{ You may retrieve the latest version of this file at the Project JEDI         }
 
18
{ APILIB home page, located at http://jedi-apilib.sourceforge.net              }
 
19
{                                                                              }
 
20
{ The contents of this file are used with permission, subject to the Mozilla   }
 
21
{ Public License Version 1.1 (the "License"); you may not use this file except }
 
22
{ in compliance with the License. You may obtain a copy of the License at      }
 
23
{ http://www.mozilla.org/MPL/MPL-1.1.html                                      }
 
24
{                                                                              }
 
25
{ Software distributed under the License is distributed on an "AS IS" basis,   }
 
26
{ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for }
 
27
{ the specific language governing rights and limitations under the License.    }
 
28
{                                                                              }
 
29
{ Alternatively, the contents of this file may be used under the terms of the  }
 
30
{ GNU Lesser General Public License (the  "LGPL License"), in which case the   }
 
31
{ provisions of the LGPL License are applicable instead of those above.        }
 
32
{ If you wish to allow use of your version of this file only under the terms   }
 
33
{ of the LGPL License and not to allow others to use your version of this file }
 
34
{ under the MPL, indicate your decision by deleting  the provisions above and  }
 
35
{ replace  them with the notice and other provisions required by the LGPL      }
 
36
{ License.  If you do not delete the provisions above, a recipient may use     }
 
37
{ your version of this file under either the MPL or the LGPL License.          }
 
38
{                                                                              }
 
39
{ For more information about the LGPL: http://www.gnu.org/copyleft/lesser.html }
 
40
{                                                                              }
 
41
{******************************************************************************}
 
42
 
 
43
// $Id: JwaLmConfig.pas,v 1.11 2005/09/07 09:54:54 marquardt Exp $
 
44
 
 
45
{$IFNDEF JWA_INCLUDEMODE}
 
46
 
 
47
unit JwaLmConfig;
 
48
 
 
49
{$I jediapilib.inc}
 
50
 
 
51
{$WEAKPACKAGEUNIT}
 
52
 
 
53
interface
 
54
 
 
55
uses
 
56
  JwaWindows, JwaLmCons;
 
57
 
 
58
{$ENDIF !JWA_INCLUDEMODE}
 
59
 
 
60
{$IFDEF JWA_INTERFACESECTION}
 
61
 
 
62
{$HPPEMIT ''}
 
63
{$HPPEMIT '#include "lmconfig.h"'}
 
64
{$HPPEMIT ''}
 
65
 
 
66
{$DEFINE LM_REVISED_CONFIG_APIS}
 
67
 
 
68
//
 
69
// Function Prototypes - Config
 
70
//
 
71
 
 
72
{$IFDEF LM_REVISED_CONFIG_APIS}
 
73
 
 
74
function NetConfigGet(server, component, parameter: LPCWSTR; var bufptr: LPBYTE): NET_API_STATUS; stdcall;
 
75
{$EXTERNALSYM NetConfigGet}
 
76
 
 
77
function NetConfigGetAll(server, component: LPCWSTR; var bufptr: LPBYTE): NET_API_STATUS; stdcall;
 
78
{$EXTERNALSYM NetConfigGetAll}
 
79
 
 
80
{$ELSE}
 
81
 
 
82
function NetConfigGet(server, component, parameter: LPCWSTR; var bufptr: LPBYTE; totalavailable: LPDWORD): NET_API_STATUS; stdcall;
 
83
{$EXTERNALSYM NetConfigGet}
 
84
 
 
85
function NetConfigGetAll(server, component: LPCWSTR; var bufptr: LPBYTE; totalavailable: LPDWORD): NET_API_STATUS; stdcall;
 
86
{$EXTERNALSYM NetConfigGetAll}
 
87
 
 
88
{$ENDIF LM_REVISED_CONFIG_APIS}
 
89
 
 
90
function NetConfigSet(server, reserved1, component: LPCWSTR; level, reserved2: DWORD; buf: LPBYTE; reserved3: DWORD): NET_API_STATUS; stdcall;
 
91
{$EXTERNALSYM NetConfigSet}
 
92
 
 
93
function NetRegisterDomainNameChangeNotification(NotificationEventHandle: PHANDLE): NET_API_STATUS; stdcall;
 
94
{$EXTERNALSYM NetRegisterDomainNameChangeNotification}
 
95
 
 
96
function NetUnregisterDomainNameChangeNotification(NotificationEventHandle: HANDLE): NET_API_STATUS; stdcall;
 
97
{$EXTERNALSYM NetUnregisterDomainNameChangeNotification}
 
98
 
 
99
//
 
100
// Data Structures - Config
 
101
//
 
102
 
 
103
type
 
104
  _CONFIG_INFO_0 = record
 
105
    cfgi0_key: LPWSTR;
 
106
    cfgi0_data: LPWSTR;
 
107
  end;
 
108
  {$EXTERNALSYM _CONFIG_INFO_0}
 
109
  CONFIG_INFO_0 = _CONFIG_INFO_0;
 
110
  {$EXTERNALSYM CONFIG_INFO_0}
 
111
  PCONFIG_INFO_0 = ^CONFIG_INFO_0;
 
112
  {$EXTERNALSYM PCONFIG_INFO_0}
 
113
  LPCONFIG_INFO_0 = ^CONFIG_INFO_0;
 
114
  {$EXTERNALSYM LPCONFIG_INFO_0}
 
115
  TConfigInfo0 = CONFIG_INFO_0;
 
116
  PConfigInfo0 = PCONFIG_INFO_0;  
 
117
 
 
118
{$ENDIF JWA_INTERFACESECTION}
 
119
 
 
120
{$IFNDEF JWA_INCLUDEMODE}
 
121
 
 
122
implementation
 
123
 
 
124
uses
 
125
  JwaWinDLLNames;
 
126
 
 
127
{$ENDIF !JWA_INCLUDEMODE}
 
128
 
 
129
{$IFDEF JWA_IMPLEMENTATIONSECTION}
 
130
 
 
131
{$IFDEF DYNAMIC_LINK}
 
132
 
 
133
var
 
134
  _NetConfigGet: Pointer;
 
135
 
 
136
function NetConfigGet;
 
137
begin
 
138
  GetProcedureAddress(_NetConfigGet, netapi32, 'NetConfigGet');
 
139
  asm
 
140
        MOV     ESP, EBP
 
141
        POP     EBP
 
142
        JMP     [_NetConfigGet]
 
143
  end;
 
144
end;
 
145
 
 
146
var
 
147
  _NetConfigGetAll: Pointer;
 
148
 
 
149
function NetConfigGetAll;
 
150
begin
 
151
  GetProcedureAddress(_NetConfigGetAll, netapi32, 'NetConfigGetAll');
 
152
  asm
 
153
        MOV     ESP, EBP
 
154
        POP     EBP
 
155
        JMP     [_NetConfigGetAll]
 
156
  end;
 
157
end;
 
158
 
 
159
var
 
160
  _NetConfigSet: Pointer;
 
161
 
 
162
function NetConfigSet;
 
163
begin
 
164
  GetProcedureAddress(_NetConfigSet, netapi32, 'NetConfigSet');
 
165
  asm
 
166
        MOV     ESP, EBP
 
167
        POP     EBP
 
168
        JMP     [_NetConfigSet]
 
169
  end;
 
170
end;
 
171
 
 
172
var
 
173
  _NetRegisterDomainNameChangeNotification: Pointer;
 
174
 
 
175
function NetRegisterDomainNameChangeNotification;
 
176
begin
 
177
  GetProcedureAddress(_NetRegisterDomainNameChangeNotification, netapi32, 'NetRegisterDomainNameChangeNotification');
 
178
  asm
 
179
        MOV     ESP, EBP
 
180
        POP     EBP
 
181
        JMP     [_NetRegisterDomainNameChangeNotification]
 
182
  end;
 
183
end;
 
184
 
 
185
var
 
186
  _NetUnregisterDomainNameChangeNotification: Pointer;
 
187
 
 
188
function NetUnregisterDomainNameChangeNotification;
 
189
begin
 
190
  GetProcedureAddress(_NetUnregisterDomainNameChangeNotification, netapi32, 'NetUnregisterDomainNameChangeNotification');
 
191
  asm
 
192
        MOV     ESP, EBP
 
193
        POP     EBP
 
194
        JMP     [_NetUnregisterDomainNameChangeNotification]
 
195
  end;
 
196
end;
 
197
 
 
198
{$ELSE}
 
199
 
 
200
function NetConfigGet; external netapi32 name 'NetConfigGet';
 
201
function NetConfigGetAll; external netapi32 name 'NetConfigGetAll';
 
202
function NetConfigSet; external netapi32 name 'NetConfigSet';
 
203
function NetRegisterDomainNameChangeNotification; external netapi32 name 'NetRegisterDomainNameChangeNotification';
 
204
function NetUnregisterDomainNameChangeNotification; external netapi32 name 'NetUnregisterDomainNameChangeNotification';
 
205
 
 
206
{$ENDIF DYNAMIC_LINK}
 
207
 
 
208
{$ENDIF JWA_IMPLEMENTATIONSECTION}
 
209
 
 
210
{$IFNDEF JWA_INCLUDEMODE}
 
211
end.
 
212
{$ENDIF !JWA_INCLUDEMODE}