This chapter describes how to modify UNIX source code to compile on Microsoft Interix.
Because Interix is designed to be similar to UNIX, few changes are needed to recompile code under Interix. However, there are differences between Interixand UNIX, which mainly arise from the underlying differences in operating system kernels and environments. As a result, some code changes are needed. This chapter discusses how to change those areas that are different.
This chapter first addresses how to convert code. The bulk of this chapter coversthe same coding categories as Chapter 9, Win32 Code Conversion. As Chapter 9 describes, many coding changes are needed for the Microsoft Win32 environment. For Interix, only the following categories change, and only they are discussed here:
Processes
Signals and signal handling
Threads
Memory management
Users, groups, and security
File and data access
Interprocess communication
Sockets and networking
Process environment
Daemons and services
Miscellaneous APIs
Within each category, this chapter s sections:
Describe the coding differences.
Outline options for converting the code.
Illustrate options with source code examples.
The information presented here is a guide to help developers choose the solution appropriate to an application. Examples are presented as a basis for migrating code.
It is the intention of this guide to give sufficient information to choose the best method for converting the code. After choosing a method, refer to the standard documentation for details of the Microsoft Interix functions and application programming interfaces (APIs).