SQLite Forum

Explanation about C code style
(Just underscoring Stephan's response here.)

If you see a declaration in sqlite3.h prefixed with SQLITE_API, it is part of the 
"public" API. (There is no private API, so "public" is surplusage.)

The prefix SQLITE_PRIVATE on that other function, found within sqlite3.c and not otherwise exposed, is both a clue with respect to your 2nd question and an identifier which is used to confine scope to the compilation unit.