    # File lib/ffi/library.rb, line 437
        def enum(*args)
          name, values = if args[0].kind_of?(Symbol) && args[1].kind_of?(Array)
            [ args[0], args[1] ]
          elsif args[0].kind_of?(Array)
            [ nil, args[0] ]
          else
            [ nil, args ]
          end
          @ffi_enums = FFI::Enums.new unless defined?(@ffi_enums)
          @ffi_enums << (e = FFI::Enum.new(values, name))

          # If called as enum :foo, [ :zero, :one, :two ], add a typedef alias
          typedef(e, name) if name
          e
        end