I'm looking through the source code for the linux command "less" and I see some confusing syntax. Some functions have "public" in front and I thought public is only used in C++ for access permissions. Here's an example of what I saw.

public void ch_flush()

Is this valid in C and what is the purpose of it if it's not an object-oriented language?