What encoding used when invoke fopen or open?

c, fopen, linux, system-calls

Solution

It's a byte string, the interpretation is up to the particular filesystem.

Problem

When we invoke system call in linux like '`open`' or stdio function like '`fopen`' we must provide a '`const char * filename`'. My question is what is the encoding used here? It's utf-8 or ascii or iso8859-x? Does it depend on the system or environment setting? I know in MS Windows there is a `_wopen` which accept utf-16.

Original source