win-pvdrivers

view liblfds.6/src/single_dir_for_windows_kernel/freelist_internal.h @ 1025:aa2e51f67f7c

Fix hibernate under Win8. Change debugprints.
author James Harper <james.harper@bendigoit.com.au>
date Tue Feb 19 15:14:53 2013 +1100 (2013-02-19)
parents 6300617040e0
children
line source
1 /***** the library wide include file *****/
2 #include "liblfds_internal.h"
4 /***** defines *****/
5 #define FREELIST_POINTER 0
6 #define FREELIST_COUNTER 1
7 #define FREELIST_PAC_SIZE 2
9 /***** structures *****/
10 #pragma pack( push, ALIGN_DOUBLE_POINTER )
12 struct freelist_state
13 {
14 struct freelist_element
15 *volatile top[FREELIST_PAC_SIZE];
17 int
18 (*user_data_init_function)( void **user_data, void *user_state );
20 void
21 *user_state;
23 atom_t
24 aba_counter,
25 element_count;
26 };
28 struct freelist_element
29 {
30 struct freelist_element
31 *next[FREELIST_PAC_SIZE];
33 void
34 *user_data;
35 };
37 #pragma pack( pop )
39 /***** private prototypes *****/
40 atom_t freelist_internal_new_element( struct freelist_state *fs, struct freelist_element **fe );
41 void freelist_internal_validate( struct freelist_state *fs, struct validation_info *vi, enum data_structure_validity *freelist_validity );