user3284469
user3284469

Reputation:

Can system calls be invoked in source code, without a library that doesn't come with the OS?

System call functions are offered by an OS directly. Some libraries (e.g. the GNU C library) offer functions that wrap the system calls of the OS, but are not offered by the OS directly.

In Linux, can I invoke system call functions in my C code, without a library (e.g. GNU C Library) that isn't offer by the OS directly? Does the OS offer a library for its system calls?

For example, if I want to directly invoke the system call function read() in my C program, which header file should I include? Do I have to use some library?

Upvotes: 9

Views: 2181

Answers (1)

Borealid
Borealid

Reputation: 98559

Yes, you can.

The headers you want are usually in /usr/include/linux.

The lowest-level way to make a syscall is with the INT 0x80 assembler instruction directly, which is of course available to you without any libraries at all.

Upvotes: 6

Related Questions