Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(175)

Side by Side Diff: native_client_sdk/src/libraries/nacl_io/pepper_interface.cc

Issue 22587003: [NaCl SDK] Add UDP and TCP Sockets (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixes Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
11 ScopedResource::ScopedResource(PepperInterface* ppapi, PP_Resource resource) 11 ScopedResource::ScopedResource(PepperInterface* ppapi, PP_Resource resource)
12 : ppapi_(ppapi), 12 : ppapi_(ppapi),
13 resource_(resource) { 13 resource_(resource) {
14 } 14 }
15 15
16 ScopedResource::~ScopedResource() { 16 ScopedResource::~ScopedResource() {
17 if (resource_) 17 if (resource_)
18 ppapi_->ReleaseResource(resource_); 18 ppapi_->ReleaseResource(resource_);
19 } 19 }
20 20
21 PP_Resource ScopedResource::Release() { 21 PP_Resource ScopedResource::Release() {
22 PP_Resource result = resource_; 22 PP_Resource result = resource_;
23 resource_ = 0; 23 resource_ = 0;
24 return result; 24 return result;
25 } 25 }
26 26
27 int PPErrorToErrno(int32_t err) { 27 int PPErrorToErrno(int32_t err) {
28 // If not an error, then just return it.
29 if (err >= PP_OK)
30 return err;
31
28 switch (err) { 32 switch (err) {
29 case PP_OK: return 0;
30 case PP_OK_COMPLETIONPENDING: return 0; 33 case PP_OK_COMPLETIONPENDING: return 0;
31 case PP_ERROR_FAILED: return EPERM; 34 case PP_ERROR_FAILED: return EPERM;
32 case PP_ERROR_ABORTED: return EPERM; 35 case PP_ERROR_ABORTED: return EPERM;
33 case PP_ERROR_BADARGUMENT: return EINVAL; 36 case PP_ERROR_BADARGUMENT: return EINVAL;
34 case PP_ERROR_BADRESOURCE: return EBADF; 37 case PP_ERROR_BADRESOURCE: return EBADF;
35 case PP_ERROR_NOINTERFACE: return ENOSYS; 38 case PP_ERROR_NOINTERFACE: return ENOSYS;
36 case PP_ERROR_NOACCESS: return EACCES; 39 case PP_ERROR_NOACCESS: return EACCES;
37 case PP_ERROR_NOMEMORY: return ENOMEM; 40 case PP_ERROR_NOMEMORY: return ENOMEM;
38 case PP_ERROR_NOSPACE: return ENOSPC; 41 case PP_ERROR_NOSPACE: return ENOSPC;
39 case PP_ERROR_NOQUOTA: return ENOSPC; 42 case PP_ERROR_NOQUOTA: return ENOSPC;
40 case PP_ERROR_INPROGRESS: return EBUSY; 43 case PP_ERROR_INPROGRESS: return EBUSY;
41 case PP_ERROR_NOTSUPPORTED: return ENOSYS; 44 case PP_ERROR_NOTSUPPORTED: return ENOSYS;
42 case PP_ERROR_BLOCKS_MAIN_THREAD: return EPERM; 45 case PP_ERROR_BLOCKS_MAIN_THREAD: return EPERM;
43 case PP_ERROR_FILENOTFOUND: return ENOENT; 46 case PP_ERROR_FILENOTFOUND: return ENOENT;
44 case PP_ERROR_FILEEXISTS: return EEXIST; 47 case PP_ERROR_FILEEXISTS: return EEXIST;
45 case PP_ERROR_FILETOOBIG: return EFBIG; 48 case PP_ERROR_FILETOOBIG: return EFBIG;
46 case PP_ERROR_FILECHANGED: return EINVAL; 49 case PP_ERROR_FILECHANGED: return EINVAL;
47 case PP_ERROR_TIMEDOUT: return EBUSY; 50 case PP_ERROR_TIMEDOUT: return EBUSY;
48 case PP_ERROR_USERCANCEL: return EPERM; 51 case PP_ERROR_USERCANCEL: return EPERM;
49 case PP_ERROR_NO_USER_GESTURE: return EPERM; 52 case PP_ERROR_NO_USER_GESTURE: return EPERM;
50 case PP_ERROR_CONTEXT_LOST: return EPERM; 53 case PP_ERROR_CONTEXT_LOST: return EPERM;
51 case PP_ERROR_NO_MESSAGE_LOOP: return EPERM; 54 case PP_ERROR_NO_MESSAGE_LOOP: return EPERM;
52 case PP_ERROR_WRONG_THREAD: return EPERM; 55 case PP_ERROR_WRONG_THREAD: return EPERM;
56 case PP_ERROR_CONNECTION_ABORTED: return ECONNABORTED;
57 case PP_ERROR_CONNECTION_REFUSED: return ECONNREFUSED;
58 case PP_ERROR_CONNECTION_FAILED: return ECONNREFUSED;
59 case PP_ERROR_CONNECTION_TIMEDOUT: return ETIMEDOUT;
60 case PP_ERROR_ADDRESS_UNREACHABLE: return ENETUNREACH;
61 case PP_ERROR_ADDRESS_IN_USE: return EADDRINUSE;
53 } 62 }
54 63
55 return EINVAL; 64 return EINVAL;
56 } 65 }
57 66
58 } // namespace nacl_io 67 } // namespace nacl_io
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698