#include "MPSServer_defs.h"

#define BLOCK_LIST_ITEM_DATATYPE process_search_data
#define BLOCK_LIST_KEY_DATATYPE u_long

#undef BLOCK_LIST_PRINT_ERROR_MSG

#define BLOCK_LIST_CREATE_CALLBACK process_list_Create_Callback
#define BLOCK_LIST_DELETE_CALLBACK process_list_Delete_Callback

#define BLOCK_LIST_ITEM_KEY .process_id
#define BLOCK_LIST_PREFIX process_list

#define BLOCK_LIST process_list_Block_List
#define _BLOCK_LIST_ _process_list_Block_List_

#define BLOCK_LIST_KEY(m,n) ( (m).Entries[n].process_id )

#define BLOCK_LIST_FIND_BLOCK process_list_FindBlock
#define BLOCK_LIST_FIND_ENTRY_IN_BLOCK process_list_FindEntryInBlock
#define BLOCK_LIST_FIND_ENTRY_EQUAL process_list_FindEntryEqual
#undef BLOCK_LIST_FIND_ENTRY_EQUAL_OR_HIGHER
#undef BLOCK_LIST_FIND_ENTRY_EQUAL_OR_LOWER
#undef BLOCK_LIST_FIND_ENTRY_FIRST
#undef BLOCK_LIST_FIND_ENTRY_HIGHER
#undef BLOCK_LIST_FIND_ENTRY_LAST
#define BLOCK_LIST_FIND_INDEX process_list_FindIndex
#undef BLOCK_LIST_FOREACH
#define BLOCK_LIST_INSERT_ENTRY_INTO_BLOCK process_list_InsertEntryIntoBlock
#define BLOCK_LIST_INSERT process_list_Insert
#define BLOCK_LIST_DELETE process_list_Delete
#define BLOCK_LIST_DELETE_ALL process_list_DeleteAll

	#include "block_list_inc.h"

#undef BLOCK_LIST_ITEM_DATATYPE
#undef BLOCK_LIST_KEY_DATATYPE

#undef BLOCK_LIST_PRINT_ERROR_MSG

#undef BLOCK_LIST_CREATE_CALLBACK
#undef BLOCK_LIST_DELETE_CALLBACK

#undef BLOCK_LIST_ITEM_KEY
#undef BLOCK_LIST_PREFIX

#undef BLOCK_LIST
#undef _BLOCK_LIST_

#undef BLOCK_LIST_KEY

#undef BLOCK_LIST_FIND_BLOCK
#undef BLOCK_LIST_FIND_ENTRY_IN_BLOCK
#undef BLOCK_LIST_FIND_ENTRY_EQUAL
#undef BLOCK_LIST_FIND_ENTRY_EQUAL_OR_HIGHER
#undef BLOCK_LIST_FIND_ENTRY_EQUAL_OR_LOWER
#undef BLOCK_LIST_FIND_ENTRY_FIRST
#undef BLOCK_LIST_FIND_ENTRY_HIGHER
#undef BLOCK_LIST_FIND_ENTRY_LAST
#undef BLOCK_LIST_FIND_INDEX
#undef BLOCK_LIST_FOREACH
#undef BLOCK_LIST_INSERT_ENTRY_INTO_BLOCK
#undef BLOCK_LIST_INSERT
#undef BLOCK_LIST_DELETE
#undef BLOCK_LIST_DELETE_ALL
