Error codes

Error codes

In progress -- not yet implemented

In response for the need for better error return codes (see this string)

We'll add return code information. Prior technique was to try and map POSIX error messages onto a few error conditions, often with inconsistent results. Now we'll have a list of known error return conditions. Although the context may make some return codes impossible in some conditions, it makes sense to have a unified list.

 The error code will be a number in the 32-bit range. We'll use a dense allocation to allow the error codes to be a property in the filesystem hierarchy.

General catagories:
  • No Error (success) 
  • Legacy errors
    • EACCES =13
    • EADDRINUSE =98
    • EADDRNOTAVAIL =99
    • EAGAIN =11
    • EBADFS =9
    • EBADMSG =74
    • EBUSY =16
    • ECONNABORTED =103
    • EFAULT =14
    • EINTR =4
    • EINVAL =22
    • EIO =5
    • EISDIR =21
    • ELOOP =40
    • EMSGSIZE =90
    • ENAMETOOLONG =36
    • ENOBUFS =105
    • ENODEV =19
    • ENOENT =2
    • ENOMEM =12
    • ENOMSG =42
    • ENOTDIR =20
    • ENOTSUP =95
    • ERANGE =34
    • EROFS =30
  • Program startup problems-
    • command line parameters invalid=1
    • a device could not be opened=3
    • network could not be opened=6
    • Avahi library could not be loaded =7
    • Bonjour library could not be loaded=8
    • zeroconf communication problem=10
    • memory could not be allocated=15
  • Program general functioning problem 
    • not initialized=17
    • not yet ready=18
    • closing=23
    • closed=24
    • cannot close=25
  • Path error
    • input path too long=26
    • bad path syntax=27
    • extra text in path =77
  • Device error
    • Device name bad CRC8=28
    • Unrecognized device name or alias=29
    • alias name too long=31
    • unrecognized device property=32
    • device property not an array=33
    • device property should be an array=35
    • device not a bit field=37
    • array index out of range=38
    • device property not a subpath=39
    • device not found=41
    • other device error=43
  • Bus error
    • bus short=44
    • no such bus=45
    • bus not appropriate=46
    • bus not responding=47
    • bus being reset=48
    • bus closed=49
    • bus could not be opened=50
    • communication error on bus=51
    • communication timeout=52
    • telnet error=53
    • tcp error=54
    • bus is local=55
    • bus is remote=56
  • Read-specific error
    • data too large=57
    • data communication error=58
    • not a property=59
    • not a readable property=60
  • Write-specific error
    • data too large=61
    • data too small=62
    • data wrong format=63
    • not a property=64
    • not a writable property=65
    • read-only mode=66
    • data communication error=67
  • Directory-specific error
    • output path too long=68
    • not a directory=69
  • Presence-specific error
    • not a device=70
  • Unknown query=71
  • OWSERVER protocol errors
    • socket problem=72
    • timeout=73
    • version mismatch=75
    • packet size error=76
  • Internal errors
    • Unexpected null pointer =78
    • Unable to allocate memory =79