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

Unified Diff: mojo/public/c/system/core.h

Issue 307533002: Mojo: Move common type/constant definitions from mojo/public/c/system/core.h to .../types.h. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « mojo/mojo_public.gypi ('k') | mojo/public/c/system/types.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/public/c/system/core.h
diff --git a/mojo/public/c/system/core.h b/mojo/public/c/system/core.h
index 8a5116e696d312003e77d3374a44e5f67296a45c..97afd700c6f55cee6410c98075461efb153f8c35 100644
--- a/mojo/public/c/system/core.h
+++ b/mojo/public/c/system/core.h
@@ -11,158 +11,11 @@
#include "mojo/public/c/system/macros.h"
#include "mojo/public/c/system/system_export.h"
+#include "mojo/public/c/system/types.h"
// Types/constants -------------------------------------------------------------
-// TODO(vtl): Notes: Use of undefined flags will lead to undefined behavior
-// (typically they'll be ignored), not necessarily an error.
-
-// |MojoTimeTicks|: Used to specify time ticks. Value is in microseconds.
-
-typedef int64_t MojoTimeTicks;
-
-// |MojoHandle|: Handles to Mojo objects.
-// |MOJO_HANDLE_INVALID| - A value that is never a valid handle.
-
-typedef uint32_t MojoHandle;
-
-#ifdef __cplusplus
-const MojoHandle MOJO_HANDLE_INVALID = 0;
-#else
-#define MOJO_HANDLE_INVALID ((MojoHandle) 0)
-#endif
-
-// |MojoResult|: Result codes for Mojo operations. Non-negative values are
-// success codes; negative values are error/failure codes.
-// |MOJO_RESULT_OK| - Not an error; returned on success. Note that positive
-// |MojoResult|s may also be used to indicate success.
-// |MOJO_RESULT_CANCELLED| - Operation was cancelled, typically by the caller.
-// |MOJO_RESULT_UNKNOWN| - Unknown error (e.g., if not enough information is
-// available for a more specific error).
-// |MOJO_RESULT_INVALID_ARGUMENT| - Caller specified an invalid argument. This
-// differs from |MOJO_RESULT_FAILED_PRECONDITION| in that the former
-// indicates arguments that are invalid regardless of the state of the
-// system.
-// |MOJO_RESULT_DEADLINE_EXCEEDED| - Deadline expired before the operation
-// could complete.
-// |MOJO_RESULT_NOT_FOUND| - Some requested entity was not found (i.e., does
-// not exist).
-// |MOJO_RESULT_ALREADY_EXISTS| - Some entity or condition that we attempted
-// to create already exists.
-// |MOJO_RESULT_PERMISSION_DENIED| - The caller does not have permission to
-// for the operation (use |MOJO_RESULT_RESOURCE_EXHAUSTED| for rejections
-// caused by exhausting some resource instead).
-// |MOJO_RESULT_RESOURCE_EXHAUSTED| - Some resource required for the call
-// (possibly some quota) has been exhausted.
-// |MOJO_RESULT_FAILED_PRECONDITION| - The system is not in a state required
-// for the operation (use this if the caller must do something to rectify
-// the state before retrying).
-// |MOJO_RESULT_ABORTED| - The operation was aborted by the system, possibly
-// due to a concurrency issue (use this if the caller may retry at a
-// higher level).
-// |MOJO_RESULT_OUT_OF_RANGE| - The operation was attempted past the valid
-// range. Unlike |MOJO_RESULT_INVALID_ARGUMENT|, this indicates that the
-// operation may be/become valid depending on the system state. (This
-// error is similar to |MOJO_RESULT_FAILED_PRECONDITION|, but is more
-// specific.)
-// |MOJO_RESULT_UNIMPLEMENTED| - The operation is not implemented, supported,
-// or enabled.
-// |MOJO_RESULT_INTERNAL| - Internal error: this should never happen and
-// indicates that some invariant expected by the system has been broken.
-// |MOJO_RESULT_UNAVAILABLE| - The operation is (temporarily) currently
-// unavailable. The caller may simply retry the operation (possibly with a
-// backoff).
-// |MOJO_RESULT_DATA_LOSS| - Unrecoverable data loss or corruption.
-// |MOJO_RESULT_BUSY| - One of the resources involved is currently being used
-// (possibly on another thread) in a way that prevents the current
-// operation from proceeding, e.g., if the other operation may result in
-// the resource being invalidated.
-// |MOJO_RESULT_SHOULD_WAIT| - The request cannot currently be completed
-// (e.g., if the data requested is not yet available). The caller should
-// wait for it to be feasible using |MojoWait()| or |MojoWaitMany()|.
-//
-// Note that positive values are also available as success codes.
-//
-// The codes from |MOJO_RESULT_OK| to |MOJO_RESULT_DATA_LOSS| come from
-// Google3's canonical error codes.
-//
-// TODO(vtl): Add a |MOJO_RESULT_UNSATISFIABLE|?
-
-typedef int32_t MojoResult;
-
-#ifdef __cplusplus
-const MojoResult MOJO_RESULT_OK = 0;
-const MojoResult MOJO_RESULT_CANCELLED = -1;
-const MojoResult MOJO_RESULT_UNKNOWN = -2;
-const MojoResult MOJO_RESULT_INVALID_ARGUMENT = -3;
-const MojoResult MOJO_RESULT_DEADLINE_EXCEEDED = -4;
-const MojoResult MOJO_RESULT_NOT_FOUND = -5;
-const MojoResult MOJO_RESULT_ALREADY_EXISTS = -6;
-const MojoResult MOJO_RESULT_PERMISSION_DENIED = -7;
-const MojoResult MOJO_RESULT_RESOURCE_EXHAUSTED = -8;
-const MojoResult MOJO_RESULT_FAILED_PRECONDITION = -9;
-const MojoResult MOJO_RESULT_ABORTED = -10;
-const MojoResult MOJO_RESULT_OUT_OF_RANGE = -11;
-const MojoResult MOJO_RESULT_UNIMPLEMENTED = -12;
-const MojoResult MOJO_RESULT_INTERNAL = -13;
-const MojoResult MOJO_RESULT_UNAVAILABLE = -14;
-const MojoResult MOJO_RESULT_DATA_LOSS = -15;
-const MojoResult MOJO_RESULT_BUSY = -16;
-const MojoResult MOJO_RESULT_SHOULD_WAIT = -17;
-#else
-#define MOJO_RESULT_OK ((MojoResult) 0)
-#define MOJO_RESULT_CANCELLED ((MojoResult) -1)
-#define MOJO_RESULT_UNKNOWN ((MojoResult) -2)
-#define MOJO_RESULT_INVALID_ARGUMENT ((MojoResult) -3)
-#define MOJO_RESULT_DEADLINE_EXCEEDED ((MojoResult) -4)
-#define MOJO_RESULT_NOT_FOUND ((MojoResult) -5)
-#define MOJO_RESULT_ALREADY_EXISTS ((MojoResult) -6)
-#define MOJO_RESULT_PERMISSION_DENIED ((MojoResult) -7)
-#define MOJO_RESULT_RESOURCE_EXHAUSTED ((MojoResult) -8)
-#define MOJO_RESULT_FAILED_PRECONDITION ((MojoResult) -9)
-#define MOJO_RESULT_ABORTED ((MojoResult) -10)
-#define MOJO_RESULT_OUT_OF_RANGE ((MojoResult) -11)
-#define MOJO_RESULT_UNIMPLEMENTED ((MojoResult) -12)
-#define MOJO_RESULT_INTERNAL ((MojoResult) -13)
-#define MOJO_RESULT_UNAVAILABLE ((MojoResult) -14)
-#define MOJO_RESULT_DATA_LOSS ((MojoResult) -15)
-#define MOJO_RESULT_BUSY ((MojoResult) -16)
-#define MOJO_RESULT_SHOULD_WAIT ((MojoResult) -17)
-#endif
-
-// |MojoDeadline|: Used to specify deadlines (timeouts), in microseconds (except
-// for |MOJO_DEADLINE_INDEFINITE|).
-// |MOJO_DEADLINE_INDEFINITE| - Used to indicate "forever".
-
-typedef uint64_t MojoDeadline;
-
-#ifdef __cplusplus
-const MojoDeadline MOJO_DEADLINE_INDEFINITE = static_cast<MojoDeadline>(-1);
-#else
-#define MOJO_DEADLINE_INDEFINITE ((MojoDeadline) -1)
-#endif
-
-// |MojoWaitFlags|: Used to specify the state of a handle to wait on (e.g., the
-// ability to read or write to it).
-// |MOJO_WAIT_FLAG_NONE| - No flags. |MojoWait()|, etc. will return
-// |MOJO_RESULT_FAILED_PRECONDITION| if you attempt to wait on this.
-// |MOJO_WAIT_FLAG_READABLE| - Can read (e.g., a message) from the handle.
-// |MOJO_WAIT_FLAG_WRITABLE| - Can write (e.g., a message) to the handle.
-// |MOJO_WAIT_FLAG_EVERYTHING| - All flags.
-
-typedef uint32_t MojoWaitFlags;
-
-#ifdef __cplusplus
-const MojoWaitFlags MOJO_WAIT_FLAG_NONE = 0;
-const MojoWaitFlags MOJO_WAIT_FLAG_READABLE = 1 << 0;
-const MojoWaitFlags MOJO_WAIT_FLAG_WRITABLE = 1 << 1;
-const MojoWaitFlags MOJO_WAIT_FLAG_EVERYTHING = ~0;
-#else
-#define MOJO_WAIT_FLAG_NONE ((MojoWaitFlags) 0)
-#define MOJO_WAIT_FLAG_READABLE ((MojoWaitFlags) 1 << 0)
-#define MOJO_WAIT_FLAG_WRITABLE ((MojoWaitFlags) 1 << 1)
-#define MOJO_WAIT_FLAG_EVERYTHING (~((MojoWaitFlags) 0))
-#endif
+// TODO(vtl): Split these into their own header files.
// Message pipe:
« no previous file with comments | « mojo/mojo_public.gypi ('k') | mojo/public/c/system/types.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698