Source code for plaso.helpers.macos.darwin

# -*- coding: utf-8 -*-
"""MacOS Darwin helpers."""


[docs] class DarwinSystemErrorHelper(object): """Darwin system error helper. Also see: https://github.com/apple/darwin-xnu/blob/main/bsd/sys/errno.h """ _ERROR_CODES = { -1: 'Restart syscall', -2: 'Don\'t modify regs, just return', -5: 'Restart lookup under heavy vnode pressure/recycling', -6: 'Red drive open', -7: 'Keep looking', -8: 'Data less', 0: 'Success', 1: 'Operation not permitted', 2: 'No such file or directory', 3: 'No such process', 4: 'Interrupted system call', 5: 'Input/Output error', 6: 'Device not configured', 7: 'Argument list too long', 8: 'Exec format error', 9: 'Bad file descriptor', 10: 'No child processes', 11: 'Resource deadlock avoided', 12: 'Cannot allocate memory', 13: 'Permission denied', 14: 'Bad address', 15: 'Block device required', 16: 'Device / Resource busy', 17: 'File exists', 18: 'Cross-device link', 19: 'Operation not supported by device', 20: 'Not a directory', 21: 'Is a directory', 22: 'Invalid argument', 23: 'Too many open files in system', 24: 'Too many open files', 25: 'Inappropriate ioctl for devices', 26: 'Text file busy', 27: 'File too large', 28: 'No space left on device', 29: 'Illegal seek', 30: 'Read-only filesystem', 31: 'Too many links', 32: 'Broken pipe', 33: 'Numerical argument out of domain', 34: 'Result too large', 35: 'Resource temporarily unavailable, operation would block', 36: 'Operation now in progress', 37: 'Operation already in progress', 38: 'Socket operation on non-socket', 39: 'Destination address required', 40: 'Message too long', 41: 'Protocol wrong type for socket', 42: 'Protocol not available', 43: 'Protocol not supported', 44: 'Socket type not supported', 45: 'Operation not supported, Operation not supported on socket', 46: 'Protocol family not supported', 47: 'Address family not supported by protocol family', 48: 'Address already in use', 49: 'Can\'t assign requested address', 50: 'Network is down', 51: 'Network is unreachable', 52: 'Network dropped connection on reset', 53: 'Software caused connection abort', 54: 'Connection reset by peer', 55: 'No buffer space available', 56: 'Socket is already connected', 57: 'Socket is not connected', 58: 'Can\'t send after socket shutdown', 59: 'Too many references: can\'t splice', 60: 'Operation timed out', 61: 'Connection refused', 62: 'Too many levels of symbolic links', 63: 'File name too long', 64: 'Host is down', 65: 'No route to host', 66: 'Directory not empty', 67: 'Too many processes', 68: 'Too many users', 69: 'Disc quota exceeded', 70: 'Stale NFS file handle', 71: 'Too many levels of remote in path', 72: 'RPC struct is bad', 73: 'RPC version wrong', 74: 'RPC prog. not avail', 75: 'Program version wrong', 76: 'Bad procedure for program', 77: 'No locks available', 78: 'Function not implemented', 79: 'Inappropriate file type or format', 80: 'Authentication error', 81: 'Need authenticator', 82: 'Device power is off', 83: 'Device error, e.g. paper out', 84: 'Value too large to be stored in data type', 85: 'Bad executable', 86: 'Bad CPU type in executable', 87: 'Shared library version mismatch', 88: 'Malformed Macho file', 89: 'Operation canceled', 90: 'Identifier removed', 91: 'No message of desired type', 92: 'Illegal byte sequence', 93: 'Attribute not found', 94: 'Bad message', 95: 'Reserved', 96: 'No message available on STREAM', 97: 'Reserved', 98: 'No STREAM resources', 99: 'Not a STREAM', 100: 'Protocol error', 101: 'STREAM ioctl timeout', 102: 'Operation not supported on socket', 103: 'No such policy registered', 104: 'State not recoverable', 105: 'Previous owner died', 106: 'Interface output queue is full, Must be equal largest errno'}
[docs] @classmethod def GetDescription(cls, error_code): """Retrieves the description of a specific error code. Args: error_code (int): error code. Returns: str: description of the error. """ return cls._ERROR_CODES.get(error_code, 'UNKNOWN: {0:d}'.format(error_code))