1251881Speter/* 2251881Speter * Copyright (c) 2009 Apple Inc. All rights reserved. 3251881Speter * 4251881Speter * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5251881Speter * 6251881Speter * This file contains Original Code and/or Modifications of Original Code 7251881Speter * as defined in and that are subject to the Apple Public Source License 8251881Speter * Version 2.0 (the 'License'). You may not use this file except in 9251881Speter * compliance with the License. The rights granted to you under the License 10251881Speter * may not be used to create, or enable the creation or redistribution of, 11251881Speter * unlawful or unlicensed copies of an Apple operating system, or to 12251881Speter * circumvent, violate, or enable the circumvention or violation of, any 13251881Speter * terms of an Apple operating system software license agreement. 14251881Speter * 15251881Speter * Please obtain a copy of the License at 16251881Speter * http://www.opensource.apple.com/apsl/ and read it before using this file. 17251881Speter * 18251881Speter * The Original Code and all software distributed under the License are 19251881Speter * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 20251881Speter * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 21251881Speter * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 22251881Speter * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 23251881Speter * Please see the License for the specific language governing rights and 24251881Speter * limitations under the License. 25251881Speter * 26251881Speter * @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 27251881Speter */ 28251881Speter 29251881Speter#ifndef _VM_VM_MAP_STORE_H_RB 30251881Speter#define _VM_VM_MAP_STORE_H_RB 31251881Speter 32251881Speter#include <vm/vm_map_store.h> 33251881Speter 34251881SpeterRB_PROTOTYPE_SC(__private_extern__, rb_head, vm_map_store, entry, rb_node_compare); 35251881Speter 36251881Spetervoid vm_map_store_init_rb( struct vm_map_header* ); 37251881Speterint rb_node_compare(struct vm_map_store *, struct vm_map_store *); 38251881Spetervoid vm_map_store_walk_rb( struct _vm_map*, struct vm_map_entry**, struct vm_map_entry**); 39251881Speterboolean_t vm_map_store_lookup_entry_rb( struct _vm_map*, vm_map_offset_t, struct vm_map_entry**); 40251881Spetervoid vm_map_store_entry_link_rb( struct vm_map_header*, struct vm_map_entry*, struct vm_map_entry*); 41251881Spetervoid vm_map_store_entry_unlink_rb( struct vm_map_header*, struct vm_map_entry*); 42251881Spetervoid vm_map_store_copy_insert_rb( struct _vm_map*, struct vm_map_entry*, struct vm_map_copy*); 43251881Spetervoid vm_map_store_copy_reset_rb( struct vm_map_copy*, struct vm_map_entry*, int); 44251881Spetervoid update_first_free_rb(struct _vm_map*, struct vm_map_entry*); 45251881Speter 46251881Speter#endif /* _VM_VM_MAP_STORE_RB_H */ 47251881Speter