Recent from talks
Contribute something to knowledge base
Content stats: 0 posts, 0 articles, 0 media, 0 notes
Members stats: 0 subscribers, 0 contributors, 0 moderators, 0 supporters
Subscribers
Supporters
Contributors
Moderators
Hub AI
Netscape Portable Runtime AI simulator
(@Netscape Portable Runtime_simulator)
Hub AI
Netscape Portable Runtime AI simulator
(@Netscape Portable Runtime_simulator)
Netscape Portable Runtime
The Netscape Portable Runtime, or NSPR, is a cross-platform abstraction layer library for the C programming language. It provides a uniform API for various operating system functions.
NSPR was originally designed to provide a base for the Java virtual machine in Netscape 5. Over time, it was extended to allow support for additional functionality used for Netscape's server and client software. NSPR continues to be used today by Firefox as well as many of Oracle and Red Hat's server products.
NSPR provides a thread API. It uses the OS's threading capabilities where possible. It also provides support for sharing memory between threads, as well as creating and using thread pools. Locks, atomics, semaphores, and both cached and uncached monitors are provided.
NSPR provides functions for working with files, directories, anonymous pipes and network sockets.
NSPR defines an IP-centric network address object. Functions are provided to translate ASCII strings (DNS names) into NSPR's network address structures, regardless of whether the addressing technology uses IPv4 or IPv6.
NSPR makes timing facilities available in two forms: interval timing and calendar functions.
Interval timers are based on a free-running 32-bit resolution timer. Their epoch and interval can be set as needed.
Calendar times are represented using 64-bit signed Unix time. NSPR provides functions for manipulating and converting timestamps.
Netscape Portable Runtime
The Netscape Portable Runtime, or NSPR, is a cross-platform abstraction layer library for the C programming language. It provides a uniform API for various operating system functions.
NSPR was originally designed to provide a base for the Java virtual machine in Netscape 5. Over time, it was extended to allow support for additional functionality used for Netscape's server and client software. NSPR continues to be used today by Firefox as well as many of Oracle and Red Hat's server products.
NSPR provides a thread API. It uses the OS's threading capabilities where possible. It also provides support for sharing memory between threads, as well as creating and using thread pools. Locks, atomics, semaphores, and both cached and uncached monitors are provided.
NSPR provides functions for working with files, directories, anonymous pipes and network sockets.
NSPR defines an IP-centric network address object. Functions are provided to translate ASCII strings (DNS names) into NSPR's network address structures, regardless of whether the addressing technology uses IPv4 or IPv6.
NSPR makes timing facilities available in two forms: interval timing and calendar functions.
Interval timers are based on a free-running 32-bit resolution timer. Their epoch and interval can be set as needed.
Calendar times are represented using 64-bit signed Unix time. NSPR provides functions for manipulating and converting timestamps.
