Index: sandbox/linux/seccomp/maps.h |
=================================================================== |
--- sandbox/linux/seccomp/maps.h (revision 57969) |
+++ sandbox/linux/seccomp/maps.h (working copy) |
@@ -1,94 +0,0 @@ |
-// Copyright (c) 2010 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef MAPS_H__ |
-#define MAPS_H__ |
- |
-#include <elf.h> |
-#include <functional> |
-#include <map> |
-#include <string> |
- |
-#include "allocator.h" |
- |
-#if defined(__x86_64__) |
-typedef Elf64_Addr Elf_Addr; |
-#elif defined(__i386__) |
-typedef Elf32_Addr Elf_Addr; |
-#else |
-#error Undefined target platform |
-#endif |
- |
-namespace playground { |
- |
-class Library; |
-class Maps { |
- friend class Library; |
- public: |
- typedef std::basic_string<char, std::char_traits<char>, |
- SystemAllocator<char> > string; |
- |
- Maps(int proc_self_maps); |
- ~Maps() { } |
- |
- protected: |
- // A map with all the libraries currently loaded into the application. |
- // The key is a unique combination of device number, inode number, and |
- // file name. It should be treated as opaque. |
- typedef std::map<string, Library, std::less<string>, |
- SystemAllocator<std::pair<const string, |
- Library> > > LibraryMap; |
- friend class Iterator; |
- class Iterator { |
- friend class Maps; |
- |
- protected: |
- explicit Iterator(Maps* maps); |
- Iterator(Maps* maps, bool at_beginning, bool at_end); |
- Maps::LibraryMap::iterator& getIterator() const; |
- |
- public: |
- Iterator begin(); |
- Iterator end(); |
- Iterator& operator++(); |
- Iterator operator++(int i); |
- Library* operator*() const; |
- bool operator==(const Iterator& iter) const; |
- bool operator!=(const Iterator& iter) const; |
- string name() const; |
- |
- protected: |
- mutable LibraryMap::iterator iter_; |
- Maps *maps_; |
- bool at_beginning_; |
- bool at_end_; |
- }; |
- |
- public: |
- typedef class Iterator const_iterator; |
- |
- const_iterator begin() { |
- return begin_iter_; |
- } |
- |
- const_iterator end() { |
- return end_iter_; |
- } |
- |
- char* allocNearAddr(char *addr, size_t size, int prot) const; |
- |
- char* vsyscall() const { return vsyscall_; } |
- |
- protected: |
- const int proc_self_maps_; |
- const Iterator begin_iter_; |
- const Iterator end_iter_; |
- |
- LibraryMap libs_; |
- char* vsyscall_; |
-}; |
- |
-} // namespace |
- |
-#endif // MAPS_H__ |