| OLD | NEW | 
|   1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |   1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 
|   2 // Use of this source code is governed by a BSD-style license that can be |   2 // Use of this source code is governed by a BSD-style license that can be | 
|   3 // found in the LICENSE file. |   3 // found in the LICENSE file. | 
|   4  |   4  | 
|   5 #ifndef BASE_LINUX_UTIL_H_ |   5 #ifndef BASE_LINUX_UTIL_H_ | 
|   6 #define BASE_LINUX_UTIL_H_ |   6 #define BASE_LINUX_UTIL_H_ | 
|   7 #pragma once |   7 #pragma once | 
|   8  |   8  | 
|   9 #include <stdint.h> |   9 #include <stdint.h> | 
|  10 #include <sys/types.h> |  10 #include <sys/types.h> | 
|  11  |  11  | 
|  12 #include <string> |  12 #include <string> | 
|  13  |  13  | 
|  14 #include "base/base_api.h" |  14 #include "base/base_export.h" | 
|  15  |  15  | 
|  16 namespace base { |  16 namespace base { | 
|  17  |  17  | 
|  18 static const char kFindInodeSwitch[] = "--find-inode"; |  18 static const char kFindInodeSwitch[] = "--find-inode"; | 
|  19  |  19  | 
|  20 // This is declared here so the crash reporter can access the memory directly |  20 // This is declared here so the crash reporter can access the memory directly | 
|  21 // in compromised context without going through the standard library. |  21 // in compromised context without going through the standard library. | 
|  22 BASE_API extern char g_linux_distro[]; |  22 BASE_EXPORT extern char g_linux_distro[]; | 
|  23  |  23  | 
|  24 // Get the Linux Distro if we can, or return "Unknown". |  24 // Get the Linux Distro if we can, or return "Unknown". | 
|  25 BASE_API std::string GetLinuxDistro(); |  25 BASE_EXPORT std::string GetLinuxDistro(); | 
|  26  |  26  | 
|  27 // Set the Linux Distro string. |  27 // Set the Linux Distro string. | 
|  28 BASE_API void SetLinuxDistro(const std::string& distro); |  28 BASE_EXPORT void SetLinuxDistro(const std::string& distro); | 
|  29  |  29  | 
|  30 // Return the inode number for the UNIX domain socket |fd|. |  30 // Return the inode number for the UNIX domain socket |fd|. | 
|  31 BASE_API bool FileDescriptorGetInode(ino_t* inode_out, int fd); |  31 BASE_EXPORT bool FileDescriptorGetInode(ino_t* inode_out, int fd); | 
|  32  |  32  | 
|  33 // Find the process which holds the given socket, named by inode number. If |  33 // Find the process which holds the given socket, named by inode number. If | 
|  34 // multiple processes hold the socket, this function returns false. |  34 // multiple processes hold the socket, this function returns false. | 
|  35 BASE_API bool FindProcessHoldingSocket(pid_t* pid_out, ino_t socket_inode); |  35 BASE_EXPORT bool FindProcessHoldingSocket(pid_t* pid_out, ino_t socket_inode); | 
|  36  |  36  | 
|  37 // For a given process |pid|, look through all its threads and find the first |  37 // For a given process |pid|, look through all its threads and find the first | 
|  38 // thread with /proc/[pid]/task/[thread_id]/syscall whose first N bytes matches |  38 // thread with /proc/[pid]/task/[thread_id]/syscall whose first N bytes matches | 
|  39 // |expected_data|, where N is the length of |expected_data|. |  39 // |expected_data|, where N is the length of |expected_data|. | 
|  40 // Returns the thread id or -1 on error.  If |syscall_supported| is |  40 // Returns the thread id or -1 on error.  If |syscall_supported| is | 
|  41 // set to false the kernel does not support syscall in procfs. |  41 // set to false the kernel does not support syscall in procfs. | 
|  42 BASE_API pid_t FindThreadIDWithSyscall(pid_t pid, |  42 BASE_EXPORT pid_t FindThreadIDWithSyscall(pid_t pid, | 
|  43                                        const std::string& expected_data, |  43                                           const std::string& expected_data, | 
|  44                                        bool* syscall_supported); |  44                                           bool* syscall_supported); | 
|  45  |  45  | 
|  46 }  // namespace base |  46 }  // namespace base | 
|  47  |  47  | 
|  48 #endif  // BASE_LINUX_UTIL_H_ |  48 #endif  // BASE_LINUX_UTIL_H_ | 
| OLD | NEW |