`glibc` doesn't know anything about MIME types; the API functions live at the level of desktop environment APIs, and the `freedesktop.org` recognize that harmonizing them is an impossible task so they only specify the shell-level interface. You either use that via `popen()` or code for a particular desktop environment.