summaryrefslogtreecommitdiff
path: root/ioreplay/src/opcodes.h
diff options
context:
space:
mode:
authorPaul Bütow <pbuetow@mimecast.com>2018-03-01 11:21:26 +0000
committerPaul Bütow <pbuetow@mimecast.com>2018-03-01 11:21:26 +0000
commit56f8cdff9aaa9bf00c5dc9441a7569374f2cbafb (patch)
treeb5b440b504b9879e241733fa38d19089fb3377b2 /ioreplay/src/opcodes.h
initial commit0.1
Diffstat (limited to 'ioreplay/src/opcodes.h')
-rw-r--r--ioreplay/src/opcodes.h103
1 files changed, 103 insertions, 0 deletions
diff --git a/ioreplay/src/opcodes.h b/ioreplay/src/opcodes.h
new file mode 100644
index 0000000..3d5c114
--- /dev/null
+++ b/ioreplay/src/opcodes.h
@@ -0,0 +1,103 @@
+// Copyright 2018 Mimecast Ltd.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#ifndef OPCODES_H
+#define OPCODES_H
+
+typedef enum {
+ // stat() syscalls
+ FSTAT = 0,
+ FSTAT_AT,
+ FSTATFS,
+ FSTATFS64,
+ LSTAT,
+ STAT,
+ STATFS,
+ STATFS64,
+
+ // read() syscalls
+ READ = 10,
+ READV,
+ READAHEAD,
+ READDIR,
+ READLINK,
+ READLINK_AT,
+
+ // write() syscalls
+ WRITE = 20,
+ WRITEV,
+
+ // open() and other syscalls which may create files
+ OPEN = 30,
+ OPEN_AT,
+ CREAT,
+ MKDIR,
+ MKDIR_AT,
+ NAME_TO_HANDLE_AT,
+ OPEN_BY_HANDLE_AT,
+
+ // rename() syscalls
+ RENAME = 40,
+ RENAME_AT,
+ RENAME_AT2,
+
+ // close() and unlink() syscalls
+ CLOSE = 50,
+ UNLINK,
+ UNLINK_AT,
+ RMDIR,
+
+ // sync() syscalls
+ FSYNC = 60,
+ FDATASYNC,
+ SYNC,
+ SYNCFS,
+ SYNC_FILE_RANGE,
+
+ // other syscalls
+ FCNTL = 70,
+ GETDENTS,
+ LSEEK,
+
+ // mmap syscalls
+ MMAP2 = 80,
+ MUNMAP,
+ REMAP,
+ MSYNC,
+
+ // chmod() syscalls
+ CHMOD = 100,
+ FCHMOD,
+ FCHMODAT,
+
+ // chown() syscalls
+ CHOWN = 110,
+ CHOWN16,
+ LCHOWN,
+ LCOWN16,
+ FCHOWN,
+ FCHOWN16,
+ FCHOWNAT,
+
+ // Meta operations (I/O replay internal use only)
+ // A single thread terminates
+ META_EXIT = 900,
+ // All threads of a process termiate (process termination)
+ META_EXIT_GROUP,
+ // Meta operation for lamport synchronisation (currently unused)
+ META_TIMELINE
+
+} opcode_e;
+
+#endif // OPCODES_H