OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #include "nacl_io/pepper_interface.h" | 5 #include "nacl_io/pepper_interface.h" |
6 #include <errno.h> | 6 #include <errno.h> |
7 #include <ppapi/c/pp_errors.h> | 7 #include <ppapi/c/pp_errors.h> |
8 | 8 |
9 namespace nacl_io { | 9 namespace nacl_io { |
10 | 10 |
(...skipping 15 matching lines...) Expand all Loading... |
26 ppapi_->ReleaseResource(resource_); | 26 ppapi_->ReleaseResource(resource_); |
27 } | 27 } |
28 | 28 |
29 PP_Resource ScopedResource::Release() { | 29 PP_Resource ScopedResource::Release() { |
30 PP_Resource result = resource_; | 30 PP_Resource result = resource_; |
31 resource_ = 0; | 31 resource_ = 0; |
32 return result; | 32 return result; |
33 } | 33 } |
34 | 34 |
35 int PPErrorToErrno(int32_t err) { | 35 int PPErrorToErrno(int32_t err) { |
| 36 // If not an error, then just return it. |
| 37 if (err >= PP_OK) |
| 38 return err; |
| 39 |
36 switch (err) { | 40 switch (err) { |
37 case PP_OK: return 0; | |
38 case PP_OK_COMPLETIONPENDING: return 0; | 41 case PP_OK_COMPLETIONPENDING: return 0; |
39 case PP_ERROR_FAILED: return EPERM; | 42 case PP_ERROR_FAILED: return EPERM; |
40 case PP_ERROR_ABORTED: return EPERM; | 43 case PP_ERROR_ABORTED: return EPERM; |
41 case PP_ERROR_BADARGUMENT: return EINVAL; | 44 case PP_ERROR_BADARGUMENT: return EINVAL; |
42 case PP_ERROR_BADRESOURCE: return EBADF; | 45 case PP_ERROR_BADRESOURCE: return EBADF; |
43 case PP_ERROR_NOINTERFACE: return ENOSYS; | 46 case PP_ERROR_NOINTERFACE: return ENOSYS; |
44 case PP_ERROR_NOACCESS: return EACCES; | 47 case PP_ERROR_NOACCESS: return EACCES; |
45 case PP_ERROR_NOMEMORY: return ENOMEM; | 48 case PP_ERROR_NOMEMORY: return ENOMEM; |
46 case PP_ERROR_NOSPACE: return ENOSPC; | 49 case PP_ERROR_NOSPACE: return ENOSPC; |
47 case PP_ERROR_NOQUOTA: return ENOSPC; | 50 case PP_ERROR_NOQUOTA: return ENOSPC; |
48 case PP_ERROR_INPROGRESS: return EBUSY; | 51 case PP_ERROR_INPROGRESS: return EBUSY; |
49 case PP_ERROR_NOTSUPPORTED: return ENOSYS; | 52 case PP_ERROR_NOTSUPPORTED: return ENOSYS; |
50 case PP_ERROR_BLOCKS_MAIN_THREAD: return EPERM; | 53 case PP_ERROR_BLOCKS_MAIN_THREAD: return EPERM; |
51 case PP_ERROR_FILENOTFOUND: return ENOENT; | 54 case PP_ERROR_FILENOTFOUND: return ENOENT; |
52 case PP_ERROR_FILEEXISTS: return EEXIST; | 55 case PP_ERROR_FILEEXISTS: return EEXIST; |
53 case PP_ERROR_FILETOOBIG: return EFBIG; | 56 case PP_ERROR_FILETOOBIG: return EFBIG; |
54 case PP_ERROR_FILECHANGED: return EINVAL; | 57 case PP_ERROR_FILECHANGED: return EINVAL; |
55 case PP_ERROR_TIMEDOUT: return EBUSY; | 58 case PP_ERROR_TIMEDOUT: return EBUSY; |
56 case PP_ERROR_USERCANCEL: return EPERM; | 59 case PP_ERROR_USERCANCEL: return EPERM; |
57 case PP_ERROR_NO_USER_GESTURE: return EPERM; | 60 case PP_ERROR_NO_USER_GESTURE: return EPERM; |
58 case PP_ERROR_CONTEXT_LOST: return EPERM; | 61 case PP_ERROR_CONTEXT_LOST: return EPERM; |
59 case PP_ERROR_NO_MESSAGE_LOOP: return EPERM; | 62 case PP_ERROR_NO_MESSAGE_LOOP: return EPERM; |
60 case PP_ERROR_WRONG_THREAD: return EPERM; | 63 case PP_ERROR_WRONG_THREAD: return EPERM; |
| 64 case PP_ERROR_CONNECTION_ABORTED: return ECONNABORTED; |
| 65 case PP_ERROR_CONNECTION_REFUSED: return ECONNREFUSED; |
| 66 case PP_ERROR_CONNECTION_FAILED: return ECONNREFUSED; |
| 67 case PP_ERROR_CONNECTION_TIMEDOUT: return ETIMEDOUT; |
| 68 case PP_ERROR_ADDRESS_UNREACHABLE: return ENETUNREACH; |
| 69 case PP_ERROR_ADDRESS_IN_USE: return EADDRINUSE; |
61 } | 70 } |
62 | 71 |
63 return EINVAL; | 72 return EINVAL; |
64 } | 73 } |
65 | 74 |
66 } // namespace nacl_io | 75 } // namespace nacl_io |
OLD | NEW |