As many API error codes are not name space formally reserved for APIs, they will clash with newly assigned protocol result codes. Since protocol codes must be non-negative, I've changed all API error codes to be negative values. This change will break applications which rely on specific codes instead of macro names. Kurt