ReactOS 0.4.15-dev-7958-gcd0bb1a
handle.h
Go to the documentation of this file.
1/*
2 * dlls/rsaenh/handle.h
3 * Support code to manage HANDLE tables.
4 *
5 * Copyright 1998 Alexandre Julliard
6 * Copyright 2002-2004 Mike McCormack for CodeWeavers
7 * Copyright 2004 Michael Jung
8 *
9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Lesser General Public
11 * License as published by the Free Software Foundation; either
12 * version 2.1 of the License, or (at your option) any later version.
13 *
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 * Lesser General Public License for more details.
18 *
19 * You should have received a copy of the GNU Lesser General Public
20 * License along with this library; if not, write to the Free Software
21 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
22 */
23
24#ifndef __WINE_HANDLE_H
25#define __WINE_HANDLE_H
26
27#include <wincrypt.h>
28
29#ifdef __cplusplus
30extern "C" {
31#endif
32
33#define TABLE_SIZE_INCREMENT 32
34
35struct tagOBJECTHDR;
36typedef struct tagOBJECTHDR OBJECTHDR;
39{
43};
44
46{
48 unsigned int iNextFree;
49};
50
52{
53 unsigned int iEntries;
54 unsigned int iFirstFree;
57};
58
63BOOL lookup_handle (struct handle_table *lpTable, HCRYPTKEY handle, DWORD dwType, OBJECTHDR **lplpObject) DECLSPEC_HIDDEN;
65
66HCRYPTKEY new_object (struct handle_table *lpTable, size_t cbSize, DWORD dwType, DESTRUCTOR destructor,
67 OBJECTHDR **ppObject) DECLSPEC_HIDDEN;
68
69#ifdef __cplusplus
70}
71#endif
72
73#endif /* __WINE_HANDLE_H */
INT copy(TCHAR source[MAX_PATH], TCHAR dest[MAX_PATH], INT append, DWORD lpdwFlags, BOOL bTouch)
Definition: copy.c:51
#define DECLSPEC_HIDDEN
Definition: precomp.h:8
void init_handle_table(struct handle_table *lpTable) DECLSPEC_HIDDEN
Definition: handle.c:53
BOOL is_valid_handle(struct handle_table *lpTable, HCRYPTKEY handle, DWORD dwType) DECLSPEC_HIDDEN
Definition: handle.c:96
BOOL release_handle(struct handle_table *lpTable, HCRYPTKEY handle, DWORD dwType) DECLSPEC_HIDDEN
Definition: handle.c:230
HCRYPTKEY new_object(struct handle_table *lpTable, size_t cbSize, DWORD dwType, DESTRUCTOR destructor, OBJECTHDR **ppObject) DECLSPEC_HIDDEN
Definition: handle.c:353
void(* DESTRUCTOR)(OBJECTHDR *object)
Definition: handle.h:37
void destroy_handle_table(struct handle_table *lpTable) DECLSPEC_HIDDEN
Definition: handle.c:72
BOOL lookup_handle(struct handle_table *lpTable, HCRYPTKEY handle, DWORD dwType, OBJECTHDR **lplpObject) DECLSPEC_HIDDEN
Definition: handle.c:275
BOOL copy_handle(struct handle_table *lpTable, HCRYPTKEY handle, DWORD dwType, HCRYPTKEY *copy) DECLSPEC_HIDDEN
Definition: handle.c:310
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
long LONG
Definition: pedump.c:60
Definition: handle.h:46
OBJECTHDR * pObject
Definition: handle.h:47
unsigned int iNextFree
Definition: handle.h:48
CRITICAL_SECTION mutex
Definition: handle.h:56
unsigned int iFirstFree
Definition: handle.h:54
struct handle_table_entry * paEntries
Definition: handle.h:55
unsigned int iEntries
Definition: handle.h:53
DWORD dwType
Definition: handle.h:40
LONG refcount
Definition: handle.h:41
DESTRUCTOR destructor
Definition: handle.h:42
ULONG_PTR HCRYPTKEY
Definition: wincrypt.h:49