Can you explain what extern means and some other things?
I know that extern C means the function should be compiled in C style however what does just extern function_datatype functionname mean?

    extern void sharelog(const char *rem_host, const char *username,
		     const char *, const char *,
		     const char *, const char *);

What does extern without "C" mean? 

Also, in almost every program's header files i see something along the lines of

    void sharelog(const char *rem_host, const char *username,
		     const char *, const char *,
		     const char *, const char *);

Why declare the function again if it's been done in the .c/.cpp file?
It's also sometimes declared without it's argument just

    int Function;

Also, some functions can be written like this:

    int CSomething::Somefunction() const

Why add const after the function?

I've also stumbled across functions which have these mysterious dots

    void function(int prio, const char *fmt, ...)

There were a lot of other things i also wanted to ask, however it seems i already asked enough.
I know some of you will probably say to go learn C/C++, however believe me, these stuff are not discussed for beginners.
Can you explain what extern means and some other things?
===

I know that extern C means the function should be compiled in C style however what does just extern function_datatype functionname mean?

    extern void sharelog(const char *rem_host, const char *username,
		     const char *, const char *,
		     const char *, const char *);

What does extern without "C" mean? 

Also, in almost every program's header files i see something along the lines of

    void sharelog(const char *rem_host, const char *username,
		     const char *, const char *,
		     const char *, const char *);

Why declare the function again if it's been done in the .c/.cpp file?
It's also sometimes declared without it's argument just

    int Function;

Also, some functions can be written like this:

    int CSomething::Somefunction() const

Why add const after the function?

I've also stumbled across functions which have these mysterious dots

    void function(int prio, const char *fmt, ...)

There were a lot of other things i also wanted to ask, however it seems i already asked enough.
I know some of you will probably say to go learn C/C++, however believe me, these stuff are not discussed for beginners.