Well, I'd say it depends on the function, but coding conventions say:
```
* Any function must return one of the following values: 
 * logical value (zero or not zero)
 * an error code (given as a negative number or zero) or a positive status value
 * the count of read or written bytes/values for I/O functions
 * the position or address (for search functions)
 * a pointer
* NULL indicates an error case, too.
```