I don't really have a question in mind, but I'm thinking of the kind of things that are covered in APUE(2e) which is POSIX, SUS, etc. C API mostly. Obviously generalized C programming is not ontopic, but what about the Unix C API? It's obviously Unix, but is it too programming for here?
2 Answers
Unix's shell interfaces tend to be pretty close to the syscall interfaces. In particular shell utility errors are often straight lifts of system call errors. So people who understand the one often can help with the other. Therefore I think questions about the system interfaces (i.e. the C API) should be on-topic here, as long as they're about common unix interfaces (not necessarily POSIX, but excluding very different systems like Cocoa) and essentially language-agnostic.
Note that this answer only applies to questions about issues like signal delivery, terminal modes, sockets, … which are exposed in similar ways in most languages. It can apply to other low-level APIs associated with unix, e.g. X library calls (that map closely to the X11 protocol) or D-Bus communication. If the question is about an API that only programmers would encounter (e.g. the C string library functions, the Gtk object model, the Linux kernel driver APIs, …), it's off-topic here and should be asked on Stack Overflow instead (or migrated there if it's already been asked here).
The guideline is: will the question interest only programmers, or also users and administrators? A sysadmin debugging why a server won't start with truss
/strace
output is on-topic here. A programmer debugging why his kernel module is causing an OOPS is off-topic.
-
About page had a link for this question so I'll ask here, questions about writing linux device drivers on-topic here or on StackOverflow? Jul 31, 2013 at 13:28
-
7@AseemBansal Writing a device driver is development work, so it belongs on Stack Overflow. Basically, if you'd ask your system administrator or IT support, ask on Unix & Linux; if you'd ask a programmer, ask on Stack Overflow. Jul 31, 2013 at 15:50
Yes, the Unix APIs are definitely on-topic, as you need to understand the works to get anywhere: file descriptors, pipes, paths, permissions, sockets, processes... the list goes on and on.