Go to main content
Index
A
- ABI See
application binary interface
- accept()
Local Name Binding
Binding Local Names
- advisory locking
Cautions About Mandatory Locking
- application binary interface (ABI)
- ABI differences from API
What Is the Oracle Solaris ABI?
- apptrace tool
Oracle Solaris ABI Tools
- defined
Defining the Oracle Solaris ABI
What Is the Oracle Solaris ABI?
- Preflight checker tool
Oracle Solaris ABI Tools
- apptrace tool
Using apptrace for Application Verification
Oracle Solaris ABI Tools
- asynchronous execution mode
Asynchronous Execution Mode
- asynchronous I/O
- aio_result_t structure
Asynchronous I/O Behavior
- behavior
Asynchronous I/O Behavior
- endpoint service
Making the Endpoint Asynchronous
- guaranteeing buffer state
Asynchronous I/O Behavior
- listen for network connection
Asynchronous Use of a Connection
- making connection request
Asynchronous Use of a Connection
- notification of data arrival
Asynchronous Network Transfers
- opening a file
Asynchronous Open
- asynchronous safe
- limitations
What Are XTI and TLI?
- asynchronous socket
Interrupt-Driven Socket I/O
Asynchronous Socket I/O
- attributes
- finding in an SDP session structure
Finding an Attribute in an SDP Session Structure
B
- bind()
Local Name Binding
Binding Local Names
- binding
- socket address
Address Binding
- sockets
Local Name Binding
- blocking mode
- defined
Kernel Priority Inversion
- finite time quantum
Dispatch Priorities for Scheduling Classes
- priority inversion
Kernel Priority Inversion
- time-sharing process
Priority Inversion
- brk()
Using brk and sbrk
- broadcasting
- sending message to SOCK_DGRAM
Broadcasting and Determining Network Configuration
- supported in IPv4
Broadcasting and Determining Network Configuration
- BSD socket interfaces
Interface Sets
C
- calloc()
Dynamic Memory Allocation
- chmod command
Selecting Advisory or Mandatory Locking
- class
- definition
Scheduling Classes
- priority queue
Kernel Dispatch Queue
- scheduling algorithm
Dispatch Priorities for Scheduling Classes
- scheduling priorities
Scheduling Classes
- client-server model
- sockets and
Client-Server Programs
- close()
Closing Sockets
- connect()
Local Name Binding
Connection Establishment
Binding Local Names
- connectimg
- sockets
Connectionless Communication Using Datagram Sockets
- connecting
- using sockets
Establishing a Connection
- connection-mode
- asynchronous network service
Asynchronous Connection-Mode Service
- asynchronously connecting
Asynchronously Establishing a Connection
- definition
Modes of Networking
- using asynchronous connection
Asynchronous Use of a Connection
- connectionless mode
- asynchronous network service
Asynchronous Connectionless-Mode Service
- definition
Modes of Networking
- context switch
- preempting a process
Process Preemption
- controlling
- semaphores
Controlling Semaphores
- creating
- sockets
Creating Sockets
- creation flags
- IPC
IPC Interfaces, Key Arguments, and Creation Flags
D
- /dev/zero mapping
Creating and Using Mappings
- daemons
- inetd
inetd Daemon
Socket Options
Client-Server Programs
- datagram
- socket
Connectionless Servers
Datagram Sockets
Socket Types
- deadlocks
- avoiding when locking
Deadlock Handling
- debugging dynamic memory
- Oracle Developer Studio
Dynamic Memory Debugging
- dispatch latency
Dispatch Latency
- dispatch priorities
Scheduling Classes
- dispatch table
- configuring
Dispatcher Parameter Table
- kernel
Dispatch Queue
- doors
- overview
Doors Overview
- dynamic memory
- allocating
Dynamic Memory Allocation
- debugging
Dynamic Memory Debugging
E
- EWOULDBLOCK error
Setting a Nonblocking Socket
Read/Write Results in a Pipe
F
- F_GETLK identifying data locks
Getting Lock Information
- F_SETOWN command
Signals and Process Group ID
- F_TEST testing for locks
Printing Locked Segments of a File
- fcntl()
Setting a File Lock
- file descriptors
- passing to another process
Transferring a File Descriptor
- transferring
Transferring a File Descriptor
- file systems
- contiguous
Real-time Files
- opening dynamically
Asynchronous Open
- files
- /usr/include/netinet/in.h
Sockets and Servers
- locking
Using File and Record Locking
- mapping
Creating and Using Mappings
- net/if.h
Broadcasting and Determining Network Configuration
- select.h
Input/Output Multiplexing
- setting a lock
Setting a File Lock
- sys/sem.h
Semaphore Operations
- sys/socket.h
Socket Creation
- tiuser.h
What Are XTI and TLI?
- versioning in linker
Symbol Versioning in Oracle Solaris Libraries
- xti.h
What Are XTI and TLI?
- forking
- locks and
Process Forking and Locks
- free()
Dynamic Memory Allocation
G
- gethostbyaddr()
Host Names – hostent
- gethostbyname()
Host Names – hostent
- gethostent()
Host Names – hostent
- getpeername()
inetd Daemon
- getservbyname()
Service Names – servent
- getservbyport()
Service Names – servent
- getservent()
Service Names – servent
- getsockopt()
Socket Options
H
- handles
- socket
Local Name Binding
- sockets, for
Binding Local Names
- host name mapping
Host Names – hostent
- hostent structure
Host Names – hostent
I
- I/O See
asynchronous I/O or synchronous I/O
- inet_ntoa()
Host Names – hostent
- inetd daemon
inetd Daemon
Socket Options
Client-Server Programs
- init command and scheduler
Using the init Command
- initializing
- message queues
Initializing a Message Queue
- semaphore set
Initializing a Semaphore Set
- interfaces
- advanced I/O
Advanced File I/O
- basic I/O
Basic File I/O
- IPC
Interprocess Communication
- list file system control
File System Control
- POSIX IPC
POSIX Interprocess Communication
- socket sets
Interface Sets
- sockets
Socket Interfaces
- System V IPC
System V IPC
- terminal I/O
Terminal I/O Functions
- Internet
- host name mapping
Host Names – hostent
- port numbers
Address Binding
- well known address
Sockets and Servers
Service Names – servent
- Interprocess Communication (IPC)
- doors
Doors Overview
- named pipes
Pipes, Named Pipes, and Message Queues
Named Pipes
- pipes
Pipes, Named Pipes, and Message Queues
- semaphores
Using Semaphores
- shared memory
Shared Memory
- sockets
Sockets Overview
- ioctls
- SIOCATMARK
Out-of-Band Data
- SIOCGIFCONF
Broadcasting and Determining Network Configuration
- SIOCGIFFLAGS
Showing the Contents of net/if.h
- SIOGGIFBRDADDR
Obtaining the Broadcast Address of an Interface
- IPC (interprocess communication)
- creation flags
IPC Interfaces, Key Arguments, and Creation Flags
- interfaces
IPC Interfaces, Key Arguments, and Creation Flags
- messages
System V Messages
- multiprocess applications and
Interprocess Communication
- permissions
Permissions for Messages, Semaphores, and Shared Memory
- POSIX style
POSIX Interprocess Communication
- semaphores
System V Semaphores
- shared memory
System V Shared Memory
- System V style
System V IPC
- IPC_RMID argument
Controlling Message Queues
- IPC_SET argument
Controlling Message Queues
- IPC_STAT argument
Controlling Message Queues
- IPPORT_RESERVED port numbers
Address Binding
K
- kernel
- class independent
Dispatch Priorities for Scheduling Classes
- context switch
Process Preemption
- dispatch table
Dispatch Queue
- preempting current process
Process Preemption
- queue
Asynchronous I/O Behavior
L
- lgroups
Locality Group APIs
- lgrp library
Using the Locality Group API
- libadimalloc library
Using Application Data Integrity (ADI)
Dynamic Memory Debugging
- libcommputil library
Session Description Protocol API
- libcpc library
API Additions to libcpc
- libmemcontext library
Shared Memory
- libnsl library
What Are XTI and TLI?
- libraries
- lgrp
Using the Locality Group API
- libadimalloc
Using Application Data Integrity (ADI)
Dynamic Memory Debugging
- libcommputil
Session Description Protocol API
- libcpc
API Additions to libcpc
- libmemcontext
Shared Memory
- libnsl
What Are XTI and TLI?
- libsocket.so
Socket Libraries
- libumem
Dynamic Memory Debugging
- libxnet
What Are XTI and TLI?
- obsolete name-to-address translation
Name-to-Address Mapping
- socket runtime routines
Other Socket Routines
- sockets
Socket Libraries
- straddr.so library
straddr.so Library
- versioning
Symbol Versioning in Oracle Solaris Libraries
- libsocket.so library
Socket Libraries
- libumem library
Dynamic Memory Debugging
- libxnet library
What Are XTI and TLI?
- locality groups
Locality Group APIs
- lockf()
Printing Locked Segments of a File
- locking
- advisory
Cautions About Mandatory Locking
- considerations
Cautions About Mandatory Locking
- deadlock detection
Deadlock Handling
- F_GETLK
Getting Lock Information
- fcntl()
Setting a File Lock
- files
Setting a File Lock
Using File and Record Locking
- finding
Getting Lock Information
- mandatory
Cautions About Mandatory Locking
- memory in realtime
Memory Locking
- opening a file for
Opening a File for Locking
- process forking and
Process Forking and Locks
- records
Setting and Removing Record Locks
Using File and Record Locking
- removing from records
Setting and Removing Record Locks
- setting a file lock
Setting a File Lock
- setting on records
Setting and Removing Record Locks
- supported file systems
Supported File Systems
- testing
Getting Lock Information
- ls command
Selecting Advisory or Mandatory Locking
M
- malloc()
Dynamic Memory Allocation
- mandatory locking
- considerations
Cautions About Mandatory Locking
- mapping
- /dev/zero
Creating and Using Mappings
- files
Memory Management Interfaces
- library mapfile
Symbol Versioning in Oracle Solaris Libraries
- names to addresses
Transport Selection and Name-to-Address Mapping
- useful files
Creating and Using Mappings
- media
- finding in an SDP session structure
Finding Media in an SDP Session Structure
- media format
- finding in an SDP session structure
Finding a Media Format in an SDP Session Structure
- memalign()
Dynamic Memory Allocation
- memory
- dynamic
Dynamic Memory Allocation
- locking
Memory Locking
- locking a page
Locking a Page
- locking all pages
Locking All Pages
- number of locked pages
Memory Locking
- sticky locks
Recovering Sticky Locks
- unlocking a page
Unlocking a Page
- memory management
- brk()
Using brk and sbrk
- dynamic allocation
Dynamic Memory Allocation
- interfaces
Memory Management Interfaces
- mlock()
Using mlock and munlock
- mlockall()
Using mlockall and
munlockall
- mmap()
Creating and Using Mappings
Memory Management Interfaces
- mprotect()
Using mprotect
- msync()
Using msync
- munmap()
Removing Mappings
- sbrk()
Using brk and sbrk
- sysconf()
Using sysconf
- message queues
- initializing
Initializing a Message Queue
- messages
- IPC
System V Messages
- POSIX IPC
POSIX Messages
- supported broadcasting
Broadcasting and Determining Network Configuration
- mlock()
Using mlock and munlock
- mlockall()
Using mlockall and
munlockall
- mmap()
Creating and Using Mappings
Memory Management Interfaces
- mprotect()
Using mprotect
- MSG_DONTROUTE flag
Data Transfer
- MSG_OOB flag
Data Transfer
- MSG_PEEK flag
Out-of-Band Data
Data Transfer
- msgget()
Initializing a Message Queue
System V Messages
- msqid argument
Initializing a Message Queue
- msync()
Using msync
- multiple connect (TLI)
Advanced XTI/TLI Programming Example
- multiplexing
- socket requests
Input/Output Multiplexing
- multithread safe
- name-to-address translation
Transport Selection
- POSIX IPC
POSIX Interprocess Communication
- TLI interfaces
What Are XTI and TLI?
- XTI interfaces
What Are XTI and TLI?
- munmap()
Removing Mappings
N
- name-to-address translation
- inet
Name-to-Address Libraries
- mapping routines
Using the Name-to-Address Mapping Routines
- multithread safe
Transport Selection
- nis.so library
Name-to-Address Mapping
- obsolete libraries
Name-to-Address Mapping
- overview
Name-to-Address Mapping
- straddr.so library
straddr.so Library
- switch.so library
Name-to-Address Mapping
- tcpip.so library
Name-to-Address Mapping
- named pipes
- FIFO
Named Pipes
- IPC
Pipes, Named Pipes, and Message Queues
- naming
- sockets
Local Name Binding
- net/if.h file
Broadcasting and Determining Network Configuration
- netdir_free()
Using the Name-to-Address Mapping Routines
Using the Name-to-Address Mapping Routines
- netdir_getbyaddr()
Using the Name-to-Address Mapping Routines
- netdir_getbyname()
Using the Name-to-Address Mapping Routines
- netdir_options()
netdir_free Routines
- netdir_perror()
Values for netdir_options
- netdir_sperror()
Values for netdir_options
- netent structure
Network Names – netent
- network
- asynchronous connection
Asynchronous Network Communication
Asynchronous Networking
- asynchronous service
Asynchronous Connectionless-Mode Service
- asynchronous transfers
Asynchronous Network Transfers
- asynchronous use
Networking Programming Models
- connection-mode service
Modes of Networking
- connectionless-mode service
Modes of Networking
- programming models for real-time
Networking Programming Models
- services under realtime
Modes of Networking
Modes of Networking
- using STREAMS asynchronously
Asynchronous Network Communication
Asynchronous Networking
- using TLI
Asynchronous Networking
- nice() function
Using the nice Interface
- nice command
Using the nice Interface
- nis.so library
Name-to-Address Mapping
- non-blocking mode
- configuring endpoint connections
Asynchronously Establishing a Connection
- defined
Asynchronous Networking
- endpoint bound to service address
Asynchronous Use of a Connection
- network service
Asynchronous Connectionless-Mode Service
- polling for notification
Asynchronous Connectionless-Mode Service
- service requests
Networking Programming Models
- TLI
Asynchronous Networking
- using t_connect()
Asynchronously Establishing a Connection
- nonblocking sockets
Nonblocking Sockets
O
- operating on
- semaphore sets
Semaphore Operations
- optmgmt return value
Connection Mode State: Part 1
Connection Establishment State
Outgoing Events
- Oracle Developer Studio
Dynamic Memory Debugging
- out-of-band data
Out-of-Band Data
P
- performance
- scheduler and
Scheduling and System Performance
- tradeoffs in scheduling
Process State Transition Diagram
- permissions in IPC
Permissions for Messages, Semaphores, and Shared Memory
- pipes
- IPC
Pipes, Named Pipes, and Message Queues
- pollfd structure
Processing Connection Requests
Establishing an Endpoint (Convertible to Multiple Connections)
- polling
- accessing asynchronous processes
Asynchronous Execution Mode
- for a connection request
Asynchronous Use of a Connection
- notification of data
Asynchronous Connectionless-Mode Service
- using poll()
Asynchronous Network Transfers
- port numbers for Internet
Address Binding
- port to service mapping
Service Names – servent
- porting from TLI to XTI
What Are XTI and TLI?
- POSIX IPC
- messages
POSIX Messages
- multithread safe
POSIX Interprocess Communication
- overview
POSIX Interprocess Communication
- semaphores
POSIX Semaphores
- shared memory
POSIX Shared Memory
- Preflight checker
Oracle Solaris ABI Tools
- priocntl command
priocntl Command
- priority inversion
- defined
Priority Inversion
- synchronization
Kernel Priority Inversion
- priority queue
- linear linked list
Dispatch Queue
- process
- defined for realtime
Basic Rules of Real-time Applications
- dispatching
Dispatching Processes
Dispatching Processes
- highest priority
Basic Rules of Real-time Applications
- preemption
Process Preemption
- residence in memory
Memory Locking
- runaway
Runaway Real-time Processes
- scheduling for realtime
Dispatch Priorities for Scheduling Classes
- setting priorities
priocntl Command
- process priority
- global
Overview of the Scheduler
- setting and retrieving
priocntl Command
- process scheduler See
scheduler
- protocols
- independent transport in TLI
Guidelines to Protocol Independence
- sockets, for
Socket Creation
- protoent structure
Protocol Names –
protoent
R
- raw socket
Socket Types
- real-time class
- scheduling
Real-time Class
- real-time programming
Real-time Programming and Administration
- realloc()
Dynamic Memory Allocation
- records
- locking
Using File and Record Locking
- removing locks
Setting and Removing Record Locks
- setting locks
Setting and Removing Record Locks
- recvfrom()
Connectionless Communication Using Datagram Sockets
- removing
- record locks
Setting and Removing Record Locks
- response time
- blocking processes
Priority Inversion
- bounds to I/O
Synchronous I/O Calls
- degrading
Factors that Degrade Response Time
- inheriting priority
Priority Inversion
- servicing interrupts
Interrupt Servicing
- sharing libraries
Shared Libraries
- sticky locks
Sticky Locks
- reversing operations for semaphores
System V Semaphores
- rpcbind command
straddr.so Library
- Run Time Checking (RTC)
Dynamic Memory Debugging
- rwho command
Connectionless Servers
S
- sbrk()
Using brk and sbrk
- scheduler
- classes
Dispatch Priorities for Scheduling Classes
- configuring
Configuring Scheduling
- init command and
Using the init Command
- overview
Overview of the Scheduler
- performance and
Scheduling and System Performance
- priority
Scheduling Classes
- real-time
Real-Time Scheduler
- real-time policy
Real-time Class
- scheduling classes
Scheduling Classes
- setting and retrieving process priority
priocntl Command
- system class
System Class
- system policy
System Class
- time-sharing policy
Time-Sharing Class
- tradeoffs in performance
Process State Transition Diagram
- using system calls
Interface Calls That Control Scheduling
- using utilities
Utilities That Control Scheduling
- SDP session structure
- finding an attribute in
Finding an Attribute in an SDP Session Structure
- finding media format in
Finding a Media Format in an SDP Session Structure
- finding media in
Finding Media in an SDP Session Structure
- sdp_add_attribute()
Adding an Attribute Field to the SDP Session Structure
- sdp_add_bandwidth()
Adding a Bandwidth Field to the SDP Session Structure
- sdp_add_connection()
Adding a Connection Field to the SDP Session Structure
- sdp_add_email()
Adding an Email Field to the SDP Session Structure
- sdp_add_information()
Adding an Information Field to the SDP Session Structure
- sdp_add_key()
Adding a Key Field to the SDP Session Structure
- sdp_add_media()
Adding a Media Field to the SDP Session Structure
- sdp_add_name()
Adding a Name Field to the SDP Session Structure
- sdp_add_origin()
Adding an Origin Field to the SDP Session Structure
- sdp_add_phone()
Adding a Telephone Field to the SDP Session Structure
- sdp_add_repeat()
Adding a Repeat Field to the SDP Session Structure
- sdp_add_time()
Adding a Time Field to the SDP Session Structure
- sdp_add_uri()
Adding a URI Field to the SDP Session Structure
- sdp_add_zone()
Adding a Zone Field to the SDP Session Structure
- sdp_clone_session()
Cloning an Existing SDP Session Structure
- sdp_delete_all_field()
Deleting Fields From the SDP Session Structure
- sdp_delete_all_media_field()
Deleting Fields From the SDP Media Structure
- sdp_delete_attribute()
Deleting an Attribute From the SDP Media Structure
- sdp_delete_media()
Deleting Media From the SDP Media Structure
- sdp_find_attribute()
Finding an Attribute in an SDP Session Structure
- sdp_find_media()
Finding Media in an SDP Session Structure
- sdp_find_media_rtpmap()
Finding a Media Format in an SDP Session Structure
- sdp_free_session()
Deleting an Attribute From the SDP Media Structure
- sdp_new_session()
Creating a New SDP Session Structure
- sdp_parse()
Parsing the SDP Session Structure
- sdp_session_to_str()
Converting an SDP Session Structure to a String
- select.h file
Input/Output Multiplexing
- selecting
- sockets
Out-of-Band Data
Input/Output Multiplexing
- specific socket protocols
Selecting Specific Protocols
- transport
Transport Selection and Name-to-Address Mapping
- SEM_UNDO structure
System V Semaphores
- semaphores
- controlling
Controlling Semaphores
- initializing a set
Initializing a Semaphore Set
- IPC
Using Semaphores
System V Semaphores
- operating on sets
Semaphore Operations
- POSIX IPC
POSIX Semaphores
- reversing operations and SEM_UNDO
System V Semaphores
- SEM_UNDO structure
System V Semaphores
- updates
System V Semaphores
- semctl()
Controlling Semaphores
System V Semaphores
- semget()
Initializing a Semaphore Set
System V Semaphores
- semop()
Semaphore Operations
System V Semaphores
- sending SOCK_DGRAM
Connectionless Communication Using Datagram Sockets
- SEQ socket
Socket Types
Socket Types
- servent structure
Service Names – servent
- servers
- connectionless and sockets
Connectionless Servers
- service to port mapping
Service Names – servent
- Session Description Protocol API
- API framework
Session Description API Overview
- attribute field
Adding an Attribute Field to the SDP Session Structure
- bandwidth field
Adding a Bandwidth Field to the SDP Session Structure
- cloning a session
Cloning an Existing SDP Session Structure
- connection field
Adding a Connection Field to the SDP Session Structure
- converting a session to string
Converting an SDP Session Structure to a String
- creating a new session structure
Creating the SDP Session Structure
- deleting attributes
Deleting an Attribute From the SDP Media Structure
- deleting fields
Deleting Fields From the SDP Session Structure
- deleting media
Deleting Media From the SDP Media Structure
- deleting media fields
Deleting Fields From the SDP Media Structure
- email field
Adding an Email Field to the SDP Session Structure
- finding an attribute
Finding an Attribute in an SDP Session Structure
- finding media
Finding Media in an SDP Session Structure
- finding media format
Finding a Media Format in an SDP Session Structure
- freeing a session
Deleting an Attribute From the SDP Media Structure
- information field
Adding an Information Field to the SDP Session Structure
- key field
Adding a Key Field to the SDP Session Structure
- library functions
SDP Library Functions
- media field
Adding a Media Field to the SDP Session Structure
- name field
Adding a Name Field to the SDP Session Structure
- origin field
Adding an Origin Field to the SDP Session Structure
- parsing a structure
Parsing the SDP Session Structure
- repeat field
Adding a Repeat Field to the SDP Session Structure
- sdp_new_session()
Creating a New SDP Session Structure
- searching the SDP session structure
Searching the SDP Session Structure
- shutting down a session structure
Shutting Down the SDP Session Structure
- telephone field
Adding a Telephone Field to the SDP Session Structure
- time field
Adding a Time Field to the SDP Session Structure
- URI field
Adding a URI Field to the SDP Session Structure
- utility functions
SDP API Utility Functions
- zone field
Adding a Zone Field to the SDP Session Structure
- setsockopt()
Socket Options
- setting
- per socket properties
Socket Level Properties
- record locks
Setting and Removing Record Locks
- socket type
Socket Options
- shared memory
- accessing segment
Accessing a Shared Memory Segment
- controlling segment
Controlling a Shared Memory Segment
- IPC
Shared Memory
System V Shared Memory
- POSIX IPC
POSIX Shared Memory
- shmctl()
Controlling a Shared Memory Segment
- shmget()
Accessing a Shared Memory Segment
System V Shared Memory
- shutdown command
Closing Sockets
- SIGIO signal
Interrupt-Driven Socket I/O
- SIGURG signal
Signals and Process Group ID
- SIOCATMARK ioctl
Out-of-Band Data
- SIOCGIFCONF ioctl
Broadcasting and Determining Network Configuration
- SIOCGIFFLAGS ioctl
Showing the Contents of net/if.h
- SIOGGIFBRDADDR ioctl
Obtaining the Broadcast Address of an Interface
- SOCK_DGRAM socket
- setting
Socket Options
- UDP and
Socket Types
- SOCK_RAW socket
Socket Creation
Socket Types
- SOCK_STREAM socket
Socket Types- inetd and
inetd Daemon
- structure
Selecting Specific Protocols
- socket types
- defined
Socket Creation
- supported byAF* Internet families
Socket Creation
- sockets
- address binding
Address Binding
- AF_INET6
- examples
Connectionless Communication Using Datagram Sockets
Connection-Oriented Communication Using
Stream Sockets
- types supported
Socket Creation
- using in host-name-to-address mapping
Host Names – hostent
- AF_INET
- creating datagram
Creating Sockets
- getservbyport()
Service Names – servent
- getservent()
Service Names – servent
- hostent return
Host Names – hostent
- types supported
Socket Creation
- AF_UNIX
- binding
Local Name Binding
Binding Local Names
- creating
Creating Sockets
- deleting
Local Name Binding
- types supported
Socket Creation
- approximate equivalents in XTI/TLI
Socket-to-XTI/TLI Equivalents
- asynchronous
Interrupt-Driven Socket I/O
Asynchronous Socket I/O
- basic interfaces
Socket Basics
- binding
Local Name Binding
- binding example
Binding Local Names
- binding local names
Binding Local Names
- client processes and
Sockets and Clients
- client-server model and
Client-Server Programs
- closing
Closing Sockets
- connecting stream
Connecting Stream Sockets
- creating
Creating Sockets
Socket Creation
- datagram
Datagram Sockets
Socket Types
- establishing connection
Establishing a Connection
- families
Socket Creation
- handle
Local Name Binding
Binding Local Names
- initiating connection
Connection Establishment
- interfaces
Socket Interfaces
- libraries
Socket Libraries
- multiplexing requests
Input/Output Multiplexing
- naming
Local Name Binding
- nonblocking
Nonblocking Sockets
- options
Socket Options
- out-of-band data
Out-of-Band Data
Data Transfer
- overview
Overview of Sockets
Sockets Overview
- protocol types
Socket Creation
- raw
Socket Types
- runtime library routines
Other Socket Routines
- selecting
Out-of-Band Data
Input/Output Multiplexing
- selecting protocols
Selecting Specific Protocols
- SEQ
Socket Types
- servers and
Sockets and Servers
- sets
Interface Sets
- setting options
Socket Options
- setting per socket properties
Socket Level Properties
- shutting down
Closing Sockets
- SIOCGIFCONF ioctl
Broadcasting and Determining Network Configuration
- SIOCGIFFLAGS ioctl
Showing the Contents of net/if.h
- SOCK_DGRAM
- connecting
Connectionless Communication Using Datagram Sockets
- connectionless
Connectionless Servers
- sending
Connectionless Communication Using Datagram Sockets
- using recvfrom()
Connectionless Communication Using Datagram Sockets
- using SIOCATMARK
Out-of-Band Data
- SOCK_RAW
Socket Types
- SOCK_STREAM
- F_GETOWN command
Signals and Process Group ID
- F_SETOWN command
Signals and Process Group ID
- handling out-of-band
Out-of-Band Data
- interrupts
Interrupt-Driven Socket I/O
- shutting down
Closing Sockets
- SIGIO signal
Signals and Process Group ID
- SIGURG signal
Signals and Process Group ID
- structure
Selecting Specific Protocols
- stream
Socket Types
- TCP port
Runtime Library Routines
- types
Socket Types
- UDP port
Runtime Library Routines
- UNIX domain
UNIX Domain Sockets
- Solaris library symbol versioning See
symbol versioning
- straddr.so library
straddr.so Library
- stream
- connection examples
Connecting Stream Sockets
- SOCK_DGRAM
- handling out-of-band
Out-of-Band Data
- socket
Data Transfer
Socket Types
- switch.so library
Name-to-Address Mapping
- symbol versioning
Symbol Versioning in Oracle Solaris Libraries
- synchronous I/O
- blocking
High Performance I/O
- critical timing
Synchronous I/O Calls
- sys/sem.h file
Semaphore Operations
- sys/socket.h file
Socket Creation
- sysconf()
Using sysconf
- system processes
- scheduling
System Class
- System V IPC
- messages
System V Messages
- overview
System V IPC
- semaphores
System V Semaphores
T
- t_accept()
TLI and Socket Equivalent Functions
- t_alloc()
TLI and Socket Equivalent Functions
Guidelines to Protocol Independence
- t_bind()
TLI and Socket Equivalent Functions
Guidelines to Protocol Independence
- t_close()
TLI and Socket Equivalent Functions
State Tables
- t_connect()
TLI and Socket Equivalent Functions
- T_DATAXFER
Connection Mode State: Part 2
- t_error()
TLI and Socket Equivalent Functions
- t_free()
TLI and Socket Equivalent Functions
- t_getinfo()
TLI and Socket Equivalent Functions
Guidelines to Protocol Independence
- t_getstate()
TLI and Socket Equivalent Functions
- t_listen()
TLI and Socket Equivalent Functions
Guidelines to Protocol Independence
Asynchronous Execution Mode
- t_look()
TLI and Socket Equivalent Functions
- t_open()
TLI and Socket Equivalent Functions
Guidelines to Protocol Independence
Asynchronous Execution Mode
- t_optmgmt()
TLI and Socket Equivalent Functions
- t_rcv()
TLI and Socket Equivalent Functions
- t_rcvconnect()
TLI and Socket Equivalent Functions
- t_rcvdis()
TLI and Socket Equivalent Functions
Guidelines to Protocol Independence
- t_rcvrel()
TLI and Socket Equivalent Functions
Guidelines to Protocol Independence
- t_rcvuderr()
TLI and Socket Equivalent Functions
Guidelines to Protocol Independence
- t_rcvv()
Additions to the XTI Interface
- t_rcvvudata()
Additions to the XTI Interface
- t_snd()
TLI and Socket Equivalent Functions
- t_snddis()
TLI and Socket Equivalent Functions
Write Data
- t_sndrel()
TLI and Socket Equivalent Functions
Guidelines to Protocol Independence
- t_sndreldata()
Additions to the XTI Interface
- t_sndudata()
TLI and Socket Equivalent Functions
- t_sndv()
Additions to the XTI Interface
- t_sndvudata()
Additions to the XTI Interface
- t_sync()
TLI and Socket Equivalent Functions
- t_sysconf()
Additions to the XTI Interface
- t_unbind()
TLI and Socket Equivalent Functions
- TCP port
Runtime Library Routines
- tcpip.so library
Name-to-Address Mapping
- time-sharing
- scheduler class
Time-Sharing Class
- scheduler parameter table
Time-Sharing Class
- timers
- elapsed time
Timing Facilities
- for applications
Timing Facilities
- interval timing
Timing Facilities
- one-shot type
Interval Timer Interfaces
- periodic type
Interval Timer Interfaces
- tirdwr module
TLI and Socket Equivalent Functions
XTI/TLI Read/Write Interface
- tiuser.h file
What Are XTI and TLI?
- TLI
- asynchronous endpoint
Making the Endpoint Asynchronous
- asynchronous mode
Asynchronous Execution Mode
- broadcast address
XTI/TLI Interfaces Compared to Socket Interfaces
- function equivalents to sockets
Socket-to-XTI/TLI Equivalents
- incoming events
Incoming Events
- multiple connection requests
Advanced XTI/TLI Programming Example
- multithread safe
What Are XTI and TLI?
- opaque addresses
XTI/TLI Interfaces Compared to Socket Interfaces
- outgoing events
Outgoing Events
- privileged ports
XTI/TLI Interfaces Compared to Socket Interfaces
- protocol independence
Guidelines to Protocol Independence
- queue requests
Establishing an Endpoint (Convertible to Multiple Connections)
- read/write interface
XTI/TLI Read/Write Interface
- socket comparison
XTI/TLI Interfaces Compared to Socket Interfaces
- state transitions
State Tables
- states
XTI/TLI States
- Transport Layer Interface
Programming With XTI and TLI
- types of sockets
- datagram
Socket Types
- raw
Socket Types
- SEQ
Socket Types
- stream
Socket Types
U
- /usr/include/netinet/in.h file
Sockets and Servers
- UDP port
Runtime Library Routines
- UNIX domain sockets
UNIX Domain Sockets
- unlink()
Local Name Binding
- updating
- semaphores
System V Semaphores
- user priority
Time-Sharing Class
V
- valloc()
Dynamic Memory Allocation
- versioning
- file
Symbol Versioning in Oracle Solaris Libraries
- symbol
Symbol Versioning in Oracle Solaris Libraries
- virtual memory
Using brk and sbrk
W
- watchmalloc()
Dynamic Memory Allocation
X
- XNS 5 socket interfaces
Interface Sets
- XTI
- function equivalents to sockets
Socket-to-XTI/TLI Equivalents
- interface additions
Additions to the XTI Interface
- multithread safe
What Are XTI and TLI?
- porting from TLI to XTI
What Are XTI and TLI?
- utility interfaces
Additions to the XTI Interface
- variables, getting
Additions to the XTI Interface
- X/Open Transport Interface
Programming With XTI and TLI
- xti.h file
What Are XTI and TLI?
Z
- zero-filled virtual memory
Creating and Using Mappings