VxWorks
Application Programmer's Guide, 6.9
xviii
A.2.4 Eliminating Hardware Access ......................................................................... 337
A.2.5 Eliminating Interrupt Contexts In Processes ................................................. 338
POSIX Signals .................................................................................................... 338
Watchdogs .......................................................................................................... 338
Drivers ................................................................................................................ 339
A.2.6 Redirecting I/O ................................................................................................. 339
A.2.7 Process and Task API Differences ................................................................... 340
Task Naming ...................................................................................................... 340
Differences in Scope Between Kernel and User Modes ............................... 341
Private and Public Objects ............................................................................... 341
A.2.8 Semaphore Differences ..................................................................................... 341
A.2.9 POSIX Signal Differences ................................................................................. 342
Signal Generation .............................................................................................. 342
Signal Delivery .................................................................................................. 342
Scope Of Signal Handlers ................................................................................ 342
Default Handling Of Signals ........................................................................... 343
Default Signal Mask for New Tasks ............................................................... 343
Signals Sent to Blocked Tasks .......................................................................... 343
Signal API Behavior .......................................................................................... 343
A.2.10 Networking Issues ........................................................................................... 344
Socket APIs ......................................................................................................... 344
routeAdd( ) ......................................................................................................... 344
A.2.11 Header File Differences .................................................................................... 344
A.2.12 Object IDs as Pointers to Memory .................................................................. 345
A.3 Differences in Kernel and RTP APIs ........................................................................... 345
A.3.1 APIs Not Present in User Mode ...................................................................... 345
A.3.2 APIs Added for User Mode Only ................................................................... 346
A.3.3 APIs that Work Differently in Processes ........................................................ 346
A.3.4 Kernel Calls Require Kernel Facilities ............................................................ 346
A.3.5 Other API Differences ....................................................................................... 347
B Porting C Code from 32-Bit to 64-Bit ........................................................ 349
B.1 Introduction ...................................................................................................................... 349
B.2 About the VxWorks 32-Bit and 64-Bit Data Models ................................................. 349
B.3 Using the Compiler to Identify Porting Issues ......................................................... 351
B.4 Making C Code 32-bit/64-Bit Portable ........................................................................ 352
B.4.1 Check int and long Declarations ..................................................................... 353
B.4.2 Check All Assignments .................................................................................... 353
B.4.3 Check for Data Type Promotion ...................................................................... 353