class_docstr: Linux inotify(7) API wrapper class.
  
  :param path:
      The directory path for which we want an inotify object.
  :type path:
      :class:`bytes`
  :param recursive:
      ``True`` if subdirectories should be monitored; ``False`` otherwise.
class_docstr_tok: ["Linux","inotify","(","7",")","API","wrapper","class",".",":","param","path",":","The","directory","path","for","which","we","want","an","inotify","object",".",":","type","path",":",":","class",":","`","bytes","`",":","param","recursive",":","``","True","``","if","subdirectories","should","be","monitored",";","``","False","``","otherwise","."]
docstr: Raises errors for inotify failures.
code: def _raise_error():
      """
      Raises errors for inotify failures.
      """
      err = ctypes.get_errno()
      if err == errno.ENOSPC:
          raise OSError("inotify watch limit reached")
      elif err == errno.EMFILE:
          raise OSError("inotify instance limit reached")
      else:
          raise OSError(os.strerror(err))
  
imports: from __future__ import with_statement
  import os
  import errno
  import struct
  import threading
  import ctypes
  import ctypes.util
  from functools import reduce
  from ctypes import c_int, c_char_p, c_uint32
  from wandb_watchdog.utils import has_attribute
  from wandb_watchdog.utils import UnsupportedLibc
label_desc: Use image node_id 15 for calling the Inotify obj's underlying member method code with example usage: obj._raise_error() without return types