Porting code

The Interix subsystem is, at its base, a POSIX.1-conformant subsystem. It also supports a variety of features, including sockets, Berkeley Software Distribution (BSD) 4.4 interfaces, System V interprocess communication (IPC) mechanisms, pseudo terminals, and memory mapped files.

Applications are often written for one operating system and ported to another by using some combination of conditional compilation (#ifdef preprocessor commands) or wrapper functions. Porting software to the Interix subsystem involves:

Programs are usually ported by typing make(1) in the source directory. After you have done this, you can fix problems reported by the compiler. The following changes are some of the most common you might need to make:

This section covers: