Initial commit
add first helper: reclass-dump-params
diff --git a/reclass_tools/helpers/proc_enums.py b/reclass_tools/helpers/proc_enums.py
new file mode 100644
index 0000000..73518fc
--- /dev/null
+++ b/reclass_tools/helpers/proc_enums.py
@@ -0,0 +1,124 @@
+# Copyright 2016 Mirantis, Inc.
+#
+# 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.
+
+import enum
+
+
+@enum.unique
+class SigNum(enum.IntEnum):
+ SIGHUP = 1 # Hangup (POSIX).
+ SIGINT = 2 # Interrupt (ANSI).
+ SIGQUIT = 3 # Quit (POSIX).
+ SIGILL = 4 # Illegal instruction (ANSI).
+ SIGTRAP = 5 # Trace trap (POSIX).
+ SIGABRT = 6 # Abort (ANSI).
+ SIGBUS = 7 # BUS error (4.2 BSD).
+ SIGFPE = 8 # Floating-point exception (ANSI).
+ SIGKILL = 9 # Kill, unblockable (POSIX).
+ SIGUSR1 = 10 # User-defined signal 1 (POSIX).
+ SIGSEGV = 11 # Segmentation violation (ANSI).
+ SIGUSR2 = 12 # User-defined signal 2 (POSIX).
+ SIGPIPE = 13 # Broken pipe (POSIX).
+ SIGALRM = 14 # Alarm clock (POSIX).
+ SIGTERM = 15 # Termination (ANSI).
+ SIGSTKFLT = 16 # Stack fault.
+ SIGCHLD = 17 # Child status has changed (POSIX).
+ SIGCONT = 18 # Continue (POSIX).
+ SIGSTOP = 19 # Stop, unblockable (POSIX).
+ SIGTSTP = 20 # Keyboard stop (POSIX).
+ SIGTTIN = 21 # Background read from tty (POSIX).
+ SIGTTOU = 22 # Background write to tty (POSIX).
+ SIGURG = 23 # Urgent condition on socket (4.2 BSD).
+ SIGXCPU = 24 # CPU limit exceeded (4.2 BSD).
+ SIGXFSZ = 25 # File size limit exceeded (4.2 BSD).
+ SIGVTALRM = 26 # Virtual alarm clock (4.2 BSD).
+ SIGPROF = 27 # Profiling alarm clock (4.2 BSD).
+ SIGWINCH = 28 # Window size change (4.3 BSD, Sun).
+ SIGPOLL = 29 # Pollable event occurred (System V)
+ SIGPWR = 30 # Power failure restart (System V).
+ SIGSYS = 31 # Bad system call.
+
+ def __str__(self):
+ return "{name}<{value:d}(0x{value:02X})>".format(
+ name=self.name,
+ value=self.value
+ )
+
+
+@enum.unique
+class ExitCodes(enum.IntEnum):
+ EX_OK = 0 # successful termination
+
+ EX_INVALID = 0xDEADBEEF # uint32 debug value. Impossible for POSIX
+
+ EX_ERROR = 1 # general failure
+ EX_BUILTIN = 2 # Misuse of shell builtins (according to Bash)
+
+ EX_USAGE = 64 # command line usage error
+ EX_DATAERR = 65 # data format error
+ EX_NOINPUT = 66 # cannot open input
+ EX_NOUSER = 67 # addressee unknown
+ EX_NOHOST = 68 # host name unknown
+ EX_UNAVAILABLE = 69 # service unavailable
+ EX_SOFTWARE = 70 # internal software error
+ EX_OSERR = 71 # system error (e.g., can't fork)
+ EX_OSFILE = 72 # critical OS file missing
+ EX_CANTCREAT = 73 # can't create (user) output file
+ EX_IOERR = 74 # input/output error
+ EX_TEMPFAIL = 75 # temp failure; user is invited to retry
+ EX_PROTOCOL = 76 # remote error in protocol
+ EX_NOPERM = 77 # permission denied
+ EX_CONFIG = 78 # configuration error
+
+ EX_NOEXEC = 126 # If a command is found but is not executable
+ EX_NOCMD = 127 # If a command is not found
+
+ # Signal exits:
+ EX_SIGHUP = 128 + SigNum.SIGHUP
+ EX_SIGINT = 128 + SigNum.SIGINT
+ EX_SIGQUIT = 128 + SigNum.SIGQUIT
+ EX_SIGILL = 128 + SigNum.SIGILL
+ EX_SIGTRAP = 128 + SigNum.SIGTRAP
+ EX_SIGABRT = 128 + SigNum.SIGABRT
+ EX_SIGBUS = 128 + SigNum.SIGBUS
+ EX_SIGFPE = 128 + SigNum.SIGFPE
+ EX_SIGKILL = 128 + SigNum.SIGKILL
+ EX_SIGUSR1 = 128 + SigNum.SIGUSR1
+ EX_SIGSEGV = 128 + SigNum.SIGSEGV
+ EX_SIGUSR2 = 128 + SigNum.SIGUSR2
+ EX_SIGPIPE = 128 + SigNum.SIGPIPE
+ EX_SIGALRM = 128 + SigNum.SIGALRM
+ EX_SIGTERM = 128 + SigNum.SIGTERM
+ EX_SIGSTKFLT = 128 + SigNum.SIGSTKFLT
+ EX_SIGCHLD = 128 + SigNum.SIGCHLD
+ EX_SIGCONT = 128 + SigNum.SIGCONT
+ EX_SIGSTOP = 128 + SigNum.SIGSTOP
+ EX_SIGTSTP = 128 + SigNum.SIGTSTP
+ EX_SIGTTIN = 128 + SigNum.SIGTTIN
+ EX_SIGTTOU = 128 + SigNum.SIGTTOU
+ EX_SIGURG = 128 + SigNum.SIGURG
+ EX_SIGXCPU = 128 + SigNum.SIGXCPU
+ EX_SIGXFSZ = 128 + SigNum.SIGXFSZ
+ EX_SIGVTALRM = 128 + SigNum.SIGVTALRM
+ EX_SIGPROF = 128 + SigNum.SIGPROF
+ EX_SIGWINCH = 128 + SigNum.SIGWINCH
+ EX_SIGPOLL = 128 + SigNum.SIGPOLL
+ EX_SIGPWR = 128 + SigNum.SIGPWR
+ EX_SIGSYS = 128 + SigNum.SIGSYS
+
+ def __str__(self):
+ return "{name}<{value:d}(0x{value:02X})>".format(
+ name=self.name,
+ value=self.value
+ )