c and c generals
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 1499
Config::General 2.32
Config::General is a perl module opens a config file and parses its contents for you. more>>
Config::General is a perl module opens a config file and parses its contents for you.
Config::General library provides variable interpolation, saving of configs (kinda serializer), an OOP-Interface and much more.
The format of config files supported by Config::General is inspired by the well known apache config format, in fact, this module is 100% compatible to apache configs(read-only), but you can also just use simple name/value pairs in your config files.
In addition to the capabilities of an apache config file it supports some enhancements such as here-documents, C-style comments or multiline options.
Installation:
To install, type:
perl Makefile.PL
make
make test
make install
To read the complete documentation, type:
perldoc Config::General
perldoc Config::General::Extended
perldoc Config::General::Interpolated
See some example config files which can be parsed with Config::Genreal in the subdirectory t/cfg.*
Enhancements:
- A number of bugs were fixed and unit tests were improved.
<<lessConfig::General library provides variable interpolation, saving of configs (kinda serializer), an OOP-Interface and much more.
The format of config files supported by Config::General is inspired by the well known apache config format, in fact, this module is 100% compatible to apache configs(read-only), but you can also just use simple name/value pairs in your config files.
In addition to the capabilities of an apache config file it supports some enhancements such as here-documents, C-style comments or multiline options.
Installation:
To install, type:
perl Makefile.PL
make
make test
make install
To read the complete documentation, type:
perldoc Config::General
perldoc Config::General::Extended
perldoc Config::General::Interpolated
See some example config files which can be parsed with Config::Genreal in the subdirectory t/cfg.*
Enhancements:
- A number of bugs were fixed and unit tests were improved.
Download (0.042MB)
Added: 2007-02-27 License: Artistic License Price:
970 downloads
IPv4/IPv6 DNS and DHCP config generator 0.1.1
IPv4/IPv6 DNS and DHCP config generator is a tool that can be used to generate DNS and DHCP configuration files. more>>
IPv4/IPv6 DNS and DHCP config generator is a tool that can be used to generate DNS and DHCP configuration files from a central configuration file.
IPv4/IPv6 DNS and DHCP config generator supports IPv4 and IPv6 addresses and reverse zones and multiple IPv4 networks, and generates one reverse DNS zone for each /24 network.
Main features:
- Multiple Subnets resp. DHCP configuration files are supported
- Multiple IPv4 networks are supported. addrconf will generate one reverse DNS-Zone for each /24 network.
- One IPv6 reverse DNS-zone is supported. Preferably with a /48 prefix.
- addrconf does not create complete config files. For the DHCP config files it created only the "host asdf {... }" stancas and for the DNS zonefiles it generates only the A, AAAA, and PTR records. These generated files can be included in the DNS and DHCP config files.
Enhancements:
- The need to change the Perl script for configuration changes was removed.
- General configuration options can now be specified inside the (hosts) configuration file.
- Multiple configuration files are now supported.
<<lessIPv4/IPv6 DNS and DHCP config generator supports IPv4 and IPv6 addresses and reverse zones and multiple IPv4 networks, and generates one reverse DNS zone for each /24 network.
Main features:
- Multiple Subnets resp. DHCP configuration files are supported
- Multiple IPv4 networks are supported. addrconf will generate one reverse DNS-Zone for each /24 network.
- One IPv6 reverse DNS-zone is supported. Preferably with a /48 prefix.
- addrconf does not create complete config files. For the DHCP config files it created only the "host asdf {... }" stancas and for the DNS zonefiles it generates only the A, AAAA, and PTR records. These generated files can be included in the DNS and DHCP config files.
Enhancements:
- The need to change the Perl script for configuration changes was removed.
- General configuration options can now be specified inside the (hosts) configuration file.
- Multiple configuration files are now supported.
Download (0.007MB)
Added: 2006-01-25 License: GPL (GNU General Public License) Price:
1389 downloads
MIBA Consulting General System Library 1.0
MIBA Consulting General System Library is a collection of cross-platform C++ class libraries. more>>
MIBA Consulting General System Library is a collection of cross-platform C++ class libraries. Provides thread, IPC, file, network, SNMP (net-snmp) and Database (MySQL) interfaces. Comes with the usual array of utility classes - smart pointers, singletons, registries, serialization etc.
Installation:
The dist (or debug) directory contains everything you need apart from the NSPR library (and NETSNMP and STLPORT iostream library if you choose to use these), and two header files from NSPR. To get a complete kit use
make install INSTALL_PATH=path
where path is where you want the kit installed. If you have doxygen the documentation will be created by the install target, or you can make it independently with "make doc". In either case the documentation will get copied to the install path too.
<<lessInstallation:
The dist (or debug) directory contains everything you need apart from the NSPR library (and NETSNMP and STLPORT iostream library if you choose to use these), and two header files from NSPR. To get a complete kit use
make install INSTALL_PATH=path
where path is where you want the kit installed. If you have doxygen the documentation will be created by the install target, or you can make it independently with "make doc". In either case the documentation will get copied to the install path too.
Download (0.20MB)
Added: 2005-10-06 License: LGPL (GNU Lesser General Public License) Price:
1480 downloads
Games::Sudoku::General 0.007
Games::Sudoku::General is a Perl module that can solve sudoku-like puzzles. more>>
Games::Sudoku::General is a Perl module that can solve sudoku-like puzzles.
SYNOPSIS
$su = Games::Sudoku::General->new ();
print $su->problem(<<less
SYNOPSIS
$su = Games::Sudoku::General->new ();
print $su->problem(<<less
Download (0.040MB)
Added: 2007-08-13 License: Perl Artistic License Price:
803 downloads
LGeneral 1.2 Beta12
LGeneral is a turn-based strategy engine heavily inspired by Panzer General. more>>
LGeneral is a turn-based strategy engine heavily inspired by Panzer General. With LGeneral you play single scenarios or whole campaigns turn by turn against a human player or the AI.
Entrenchment, rugged defense, defensive fire, surprise contacts, surrender, unit supply, weather influence, reinforcements and other implementations contribute to the tactical and strategic depth of the game.
The engine itself has no playable data but there is a converter for Panzer General (DOS version).
<<lessEntrenchment, rugged defense, defensive fire, surprise contacts, surrender, unit supply, weather influence, reinforcements and other implementations contribute to the tactical and strategic depth of the game.
The engine itself has no playable data but there is a converter for Panzer General (DOS version).
Download (1.2MB)
Added: 2006-06-01 License: GPL (GNU General Public License) Price:
1246 downloads
EasyEclipse for Ruby and Rails 1.2.2
EasyEclipse for Ruby and Rails is for Ruby and Ruby On Rails development. more>>
EasyEclipse for Ruby and Rails is for Ruby and Ruby On Rails development.
This distribution includes the following plugins:
Core components:
- Eclipse Platform 3.2.1 - Shared platform services from Eclipse.
- Eclipse Tools 3.2.1 - Common libraries for various Eclipse projects.
- Java for Windows 1.5.0.09 - Run Java application on Sun Java(tm) runtime, packaged for Eclipse use. (Windows only)
- Java for Linux 1.5.0.09 - Run Java application on Sun Java(tm) runtime, packaged for Eclipse use. (Linux only)
Tools for general Java development:
- Eclipse Java Development Tools 3.2.1 - Edit, compile, run, debug, test, refactor, document and deploy Java applications.
Some essential utilities:
- AnyEdit Tools 1.5.6.2 - Useful right-click menus in editors: "Open file under cursor", "Open type under cursor", et cetera.
- Eclipse Utils Plugins 1.0.0.1 - Save the cursor position of editors when closing and re-opening a file. Access common team actions with explorer buttons.
- Color Editor 1.2.4 - Edit with syntax highlighting over 100+ file formats.
IDEs for Ruby and Ruby on Rails:
- Ruby Development Tools 0.8.1 - Edit, test, run and debug Ruby applications.
- RadRails 0.7.1.patch-01 - Create, test and deploy Ruby on Rails applications.
Database management tool:
- QuantumDB 3.0.3 - Access, manage and query SQL relational database and servers access using standard JDBC drivers.
Version Control tools (note that CVS support is included in the Eclipse Platform):
- Subclipse 1.1.8 - Access and manage Subversion repositories within Eclipse.
<<lessThis distribution includes the following plugins:
Core components:
- Eclipse Platform 3.2.1 - Shared platform services from Eclipse.
- Eclipse Tools 3.2.1 - Common libraries for various Eclipse projects.
- Java for Windows 1.5.0.09 - Run Java application on Sun Java(tm) runtime, packaged for Eclipse use. (Windows only)
- Java for Linux 1.5.0.09 - Run Java application on Sun Java(tm) runtime, packaged for Eclipse use. (Linux only)
Tools for general Java development:
- Eclipse Java Development Tools 3.2.1 - Edit, compile, run, debug, test, refactor, document and deploy Java applications.
Some essential utilities:
- AnyEdit Tools 1.5.6.2 - Useful right-click menus in editors: "Open file under cursor", "Open type under cursor", et cetera.
- Eclipse Utils Plugins 1.0.0.1 - Save the cursor position of editors when closing and re-opening a file. Access common team actions with explorer buttons.
- Color Editor 1.2.4 - Edit with syntax highlighting over 100+ file formats.
IDEs for Ruby and Ruby on Rails:
- Ruby Development Tools 0.8.1 - Edit, test, run and debug Ruby applications.
- RadRails 0.7.1.patch-01 - Create, test and deploy Ruby on Rails applications.
Database management tool:
- QuantumDB 3.0.3 - Access, manage and query SQL relational database and servers access using standard JDBC drivers.
Version Control tools (note that CVS support is included in the Eclipse Platform):
- Subclipse 1.1.8 - Access and manage Subversion repositories within Eclipse.
Download (130MB)
Added: 2007-06-19 License: Eclipse Public License Price:
858 downloads
Obfuscated Tiny C Compiler
Obfuscated Tiny C Compiler (OTCC) is a very small C compiler. more>>
Obfuscated Tiny C Compiler (OTCC) is a very small C compiler I wrote in order to win the International Obfuscated C Code Contest (IOCCC) in 2002.
My goal was to write the smallest C compiler which is able to compile itself. I choose a subset of C which was general enough to write a small C compiler. Then I extended the C subset until I reached the maximum size authorized by the contest: 2048 bytes of C source excluding the ;, {, } and space characters.
I choose to generate i386 code. The original OTCC code could only run on i386 Linux because it relied on endianness and unaligned access. It generated the program in memory and launched it directly. External symbols were resolved with dlsym().
In order to have a portable version of OTCC, I made a variant called OTCCELF. It is only a little larger than OTCC, but it generates directly a dynamically linked i386 ELF executable from a C source without relying on any binutils tools! OTCCELF was tested succesfully on i386 Linux and on Sparc Solaris.
NOTE: My other project TinyCC which is a fully featured ISOC99 C compiler was written by starting from the source code of OTCC !
Compilation:
gcc -O2 otcc.c -o otcc -ldl
gcc -O2 otccelf.c -o otccelf
Self-compilation:
./otccelf otccelf.c otccelf1
<<lessMy goal was to write the smallest C compiler which is able to compile itself. I choose a subset of C which was general enough to write a small C compiler. Then I extended the C subset until I reached the maximum size authorized by the contest: 2048 bytes of C source excluding the ;, {, } and space characters.
I choose to generate i386 code. The original OTCC code could only run on i386 Linux because it relied on endianness and unaligned access. It generated the program in memory and launched it directly. External symbols were resolved with dlsym().
In order to have a portable version of OTCC, I made a variant called OTCCELF. It is only a little larger than OTCC, but it generates directly a dynamically linked i386 ELF executable from a C source without relying on any binutils tools! OTCCELF was tested succesfully on i386 Linux and on Sparc Solaris.
NOTE: My other project TinyCC which is a fully featured ISOC99 C compiler was written by starting from the source code of OTCC !
Compilation:
gcc -O2 otcc.c -o otcc -ldl
gcc -O2 otccelf.c -o otccelf
Self-compilation:
./otccelf otccelf.c otccelf1
Download (0.004MB)
Added: 2006-03-29 License: GPL (GNU General Public License) Price:
1318 downloads
TOAD C++ GUI Library 0.64.1
TOAD C++ GUI Library is a library for creating graphical user interfaces. more>>
TOAD C++ GUI Library aims to make GUI development being more fun.
The TOAD C++ GUI Library is a set of C++ classes for developing X Window applications. Since there are so many other GUI libraries around (the living ones: GTK+, Qt, LessTif, Motif, fltk, Xclasses, notif, OpenLook, wxWindows, Fox and the dead ones: SUIT, Andrew Toolkit, InterViews, Fresco, XForms, ET++, Common Point and many more) you may ask yourself why one should use the TOAD C++ GUI Library? Take a look at it and you will see the answer (or not ;) ).
The TOAD C++ GUI Library is free software under the terms of the GNU Lesser General Public License 2.1 (LGPL).
Main features:
- UTF-8 text encoding
- True Color and color dithering on 4 to 8 bit display depths
- Platform independent font specification via fontconfig (for both X11 and FreeType fonts)
- Pluggable Layout Managers
- 2D vector graphic editor and PostScript(TM) output
- Minimal HTML Viewer for Online Documentation
- ISO C++ Template based Signal & Slot alike callbacks with optional closures
- Model-View Architecture
- Decoupled Menubar
- Methods and the menubar/toolbar are connected automatically over the window hierarchy.
- Decoupled Undo Management
- Undo objects and undomangers/menubars are connected automatically over the window hierarchy.
- Runtime Layout Editor
- Layouts of dialogs, menubars, formlayouts, etc. can be configured at runtime.
- ATV based Object Serialisation
<<lessThe TOAD C++ GUI Library is a set of C++ classes for developing X Window applications. Since there are so many other GUI libraries around (the living ones: GTK+, Qt, LessTif, Motif, fltk, Xclasses, notif, OpenLook, wxWindows, Fox and the dead ones: SUIT, Andrew Toolkit, InterViews, Fresco, XForms, ET++, Common Point and many more) you may ask yourself why one should use the TOAD C++ GUI Library? Take a look at it and you will see the answer (or not ;) ).
The TOAD C++ GUI Library is free software under the terms of the GNU Lesser General Public License 2.1 (LGPL).
Main features:
- UTF-8 text encoding
- True Color and color dithering on 4 to 8 bit display depths
- Platform independent font specification via fontconfig (for both X11 and FreeType fonts)
- Pluggable Layout Managers
- 2D vector graphic editor and PostScript(TM) output
- Minimal HTML Viewer for Online Documentation
- ISO C++ Template based Signal & Slot alike callbacks with optional closures
- Model-View Architecture
- Decoupled Menubar
- Methods and the menubar/toolbar are connected automatically over the window hierarchy.
- Decoupled Undo Management
- Undo objects and undomangers/menubars are connected automatically over the window hierarchy.
- Runtime Layout Editor
- Layouts of dialogs, menubars, formlayouts, etc. can be configured at runtime.
- ATV based Object Serialisation
Download (1.0MB)
Added: 2007-07-04 License: LGPL (GNU Lesser General Public License) Price:
515 downloads
Template::Plugin::Config::General 0.01
Template::Plugin::Config::General is a template toolkit plugin which implements wrapper around Config::General module. more>>
Template::Plugin::Config::General is a template toolkit plugin which implements wrapper around Config::General module.
SYNOPSIS
# Config file format
; app.cfg - common configuration for scripts and both
; static and dynamic template pages.
base_url = /~liol
images_url = $base_url/images
< news >
title = Top News
url = $base_url/news
images_url = $url/images
< /news >
< admin >
title = Admin area
url = $base_url/admin
images_url = $url/images
< /admin >
include specific.cfg
# Reading configuration from code
use Config::General;
$plConfig = new Config::General(
-ConfigFile => app.cfg,
-ConfigPath => [ /web/etc ]
-InterPolateVars => 1,
-UseApacheInclude => 1,
);
my %cfg = $plConfig->getall;
# Reading configuration from template
[%-
USE plConfig = Config::General(
ConfigFile = app.cfg,
ConfigPath = [ /web/etc ]
InterPolateVars = 1,
UseApacheInclude = 1,
);
cfg = plConfig.getall;
-%]
[% cfg.news.title %]
[% cfg.admin.images_url %]
This module implements interface wrapper around Config::General. The task of easy access to configuration items from both code and templates may appear in applications which uses configuration files which are saved apart from code and templates. This module would help to avoid data doubling. To access configuration from code we can use Config::General module which parses apache-like config files. This plugin makes the same thing for templates. So we can use the same file in both code, "dynamic" templates and "static" templates. There is no difference what application uses template - ttree or other script. Plugin would provide proper configuration.
<<lessSYNOPSIS
# Config file format
; app.cfg - common configuration for scripts and both
; static and dynamic template pages.
base_url = /~liol
images_url = $base_url/images
< news >
title = Top News
url = $base_url/news
images_url = $url/images
< /news >
< admin >
title = Admin area
url = $base_url/admin
images_url = $url/images
< /admin >
include specific.cfg
# Reading configuration from code
use Config::General;
$plConfig = new Config::General(
-ConfigFile => app.cfg,
-ConfigPath => [ /web/etc ]
-InterPolateVars => 1,
-UseApacheInclude => 1,
);
my %cfg = $plConfig->getall;
# Reading configuration from template
[%-
USE plConfig = Config::General(
ConfigFile = app.cfg,
ConfigPath = [ /web/etc ]
InterPolateVars = 1,
UseApacheInclude = 1,
);
cfg = plConfig.getall;
-%]
[% cfg.news.title %]
[% cfg.admin.images_url %]
This module implements interface wrapper around Config::General. The task of easy access to configuration items from both code and templates may appear in applications which uses configuration files which are saved apart from code and templates. This module would help to avoid data doubling. To access configuration from code we can use Config::General module which parses apache-like config files. This plugin makes the same thing for templates. So we can use the same file in both code, "dynamic" templates and "static" templates. There is no difference what application uses template - ttree or other script. Plugin would provide proper configuration.
Download (0.003MB)
Added: 2007-04-06 License: Perl Artistic License Price:
931 downloads
GNU C library 2.4
GNU C library is the C library used in the GNU system. more>>
GNU C library (glibc) is one of the most important components of GNU Hurd and most modern Linux distributions.
GNU C library is used by almost all C programs and provides the most essential program interface.
The history of Unix and various standards determine much of the interface of the C library. In general the GNU C library supports the ISO C and POSIX standards. We also try to support the features of popular Unix variants (including BSD and System V) when those do not conflict with the standards. Different compatibility modes (selectable when you compile an application) allow the peaceful coexistence of compatibility support for different varieties of Unix.
The GNU C library is primarily designed to be a portable and high performance C library.
It follows all relevant standards (ISO C 99, POSIX.1c, POSIX.1j, POSIX.1d, Unix98, Single Unix Specification). It is also internationalized and has one of the most complete internationalization interfaces known.
<<lessGNU C library is used by almost all C programs and provides the most essential program interface.
The history of Unix and various standards determine much of the interface of the C library. In general the GNU C library supports the ISO C and POSIX standards. We also try to support the features of popular Unix variants (including BSD and System V) when those do not conflict with the standards. Different compatibility modes (selectable when you compile an application) allow the peaceful coexistence of compatibility support for different varieties of Unix.
The GNU C library is primarily designed to be a portable and high performance C library.
It follows all relevant standards (ISO C 99, POSIX.1c, POSIX.1j, POSIX.1d, Unix98, Single Unix Specification). It is also internationalized and has one of the most complete internationalization interfaces known.
Download (19.5MB)
Added: 2006-03-06 License: GPL (GNU General Public License) Price:
1344 downloads
EasyEclipse for C and C++ 1.3.0
EasyEclipse for C and C++ is bare-bones Eclipse distro for experienced C and C++ developers who are new to Eclipse. more>>
EasyEclipse for C and C++ is bare-bones Eclipse distro for experienced C and C++ developers who are new to Eclipse.
EasyEclipse for C and C++ is all you need to start developing C and C++ code with Eclipse.
This distribution includes the following plugins:
Core components:
- Eclipse Platform 3.2.1 - Shared platform services from Eclipse.
- Eclipse Tools 3.2.1 - Common libraries for various Eclipse projects.
- Java for Windows 1.5.0.09 - Run Java application on Sun Java(tm) runtime, packaged for Eclipse use. (Windows only)
- Java for Linux 1.5.0.09 - Run Java application on Sun Java(tm) runtime, packaged for Eclipse use. (Linux only)
Tools for general C and C++ development:
- Eclipse C and C++ Development Tool 3.1.1 - Create, compile, tests and debug and C and C++ applications and programs..
Version Control tools (note that CVS support is included in the Eclipse Platform):
- Subclipse 1.1.8 - Access and manage Subversion repositories within Eclipse.
Miscellaneous:
- AnyEdit Tools 1.5.6.2 - Useful right-click menus in editors: "Open file under cursor", "Open type under cursor", et cetera.
- Color Editor 1.2.4 - Edit with syntax highlighting over 100+ file formats.
<<lessEasyEclipse for C and C++ is all you need to start developing C and C++ code with Eclipse.
This distribution includes the following plugins:
Core components:
- Eclipse Platform 3.2.1 - Shared platform services from Eclipse.
- Eclipse Tools 3.2.1 - Common libraries for various Eclipse projects.
- Java for Windows 1.5.0.09 - Run Java application on Sun Java(tm) runtime, packaged for Eclipse use. (Windows only)
- Java for Linux 1.5.0.09 - Run Java application on Sun Java(tm) runtime, packaged for Eclipse use. (Linux only)
Tools for general C and C++ development:
- Eclipse C and C++ Development Tool 3.1.1 - Create, compile, tests and debug and C and C++ applications and programs..
Version Control tools (note that CVS support is included in the Eclipse Platform):
- Subclipse 1.1.8 - Access and manage Subversion repositories within Eclipse.
Miscellaneous:
- AnyEdit Tools 1.5.6.2 - Useful right-click menus in editors: "Open file under cursor", "Open type under cursor", et cetera.
- Color Editor 1.2.4 - Edit with syntax highlighting over 100+ file formats.
Download (101.3MB)
Added: 2007-07-11 License: Eclipse Public License Price:
838 downloads
Common C++ RTP 1.5.0
Common C++ RTP is a threadsafe RTP stack for use with Common C++. more>>
GNU ccRTP is an implementation of RTP, the real-time transport protocol from the IETF (see RFC 3550, RFC 3551 and RFC 3555). ccRTP is a C++ library based on GNU Common C++ which provides a high performance, flexible and extensible standards-compliant RTP stack with full RTCP support. The design and implementation of ccRTP make it suitable for high capacity servers and gateways as well as personal client applications.
In designing ccRTP, we have taken into account that RTP has been defined as an application level protocol framework rather than a typical Internet transport protocol such as TCP and UDP. Thus, RTP is hardly ever implemented as a layer separated from the application.
Consequently, RTP applications often must customize the adaptable RTP packet layout and processing rules, timing constraints, session membership rules as well as other RTP and RTCP mechanisms. ccRTP aims to provide a framework for the RTP framework, rather than being just an RTP packet manipulation library.
Support for both audio and video data is also considered in the design of ccRTP, that can do partial frame splits/re-assembly. Unicast, multi-unicast and multicast transport models are supported, as well as multiple active synchronization sources, multiple RTP sessions (SSRC spaces), and multiple RTP applications (CNAME spaces). This allows its use for building all forms of Internet standards based audio and visual conferencing systems.
GNU ccRTP is threadsafe and high performance. It uses packet queue lists for the reception and transmission of data packets. Both inter-media and intra-media synchronization is automatically handled within the incoming and outgoing packet queues. GNU ccRTP offers support for RTCP and many other standard and extended features that are needed for both compatible and advanced streaming applications.
It can mix multiple payload types in stream, and hence can be used to impliment RFC 2833 compliant signaling applications as well as other specialized things. GNU ccRTP also offers direct RTP and RTCP packet filtering.
GNU ccRTP uses templates to isolate threading and sockets related dependencies, so that it can be used to impliment realtime streaming with different threading models and underlying transport protocols, not just with IPV4 UDP sockets. For a more detailed list of ccRTP features you can have a look at the programmers manual.
At its highest level, ccRTP provides classes for the real-time transport of data through RTP sessions, as well as the control functions of RTCP.
The main concept in the ccRTP implementation of RTP sessions is the use of packet queues to handle transmission and reception of RTP data packets/application data units. In ccRTP, a data block is transmitted by putting it into the transmission (outgoing packets) queue, and received by getting it from the reception (incoming packets) queue.
Main features:
- Highly extensible to specialized stacks.
- Supports unicast, multi-unicast and multicast. Handles multiple sources (including synchronization sources and contributing sources) and destinations. Also supports symmetric RTP.
- Automatic RTCP functions handling, such as association of synchronization sources from the same participant or NTP-RTP timestamp mapping.
- Genericity as for underlying network and transport protocols through templates.
- It is threadsafe and supports almost any threading model.
- Generic and extensible RTP and RTCP header validity checks.
- Handles source states and information as well as statistics recording.
- Automatically handles SSRC collisions and performs loop detection.
- Implements timer reconsideration and reverse reconsideration.
- Provides good random numbers, based on /dev/urandom or, alternatively, on MD5.
There are several levels of interface (public interface, public or protected inheritance, etc) in ccRTP. For instance, the rtphello demo program distributed with ccRTP just uses the public interface of the RTPSession class and does not redefine the virtual method onGotSR, thus what this program knows about SR reports is the information conveyed in the last sender report from any source, which can be retrieved via the getMRSenderInfo method of the SyncSource class.
On the contrary, the rtplisten demo program redefines onGotSR by means of inheritance and could do specialized processing of these RTCP packets. Generally, both data and control packets are not directly accessible through the most external interface.
All this functions are performed through a few essential classes and types. The most basic ones are the enumerated type StaticPayloadType, and the classes StaticPayloadFormat and DynamicPayloadFormat.
The most important ones are the classes RTPSession, SyncSource, Participant and AppDataUnit, that represent RTP sessions, synchronization sources, participants in an RTP application, and application data units conveyed in RTP data packets, respectively.
When using ccRTP, both sending and receiving of data transported over RTP sessions is done through reception and transmission queues handled by the RTP stack. In the most common case, a separate execution thread for each RTP session handles the queues. This case is the threading model that we will generally assume throughout this document. Note however that ccRTP supports other threading models, particularly ccRTP supports the use of a single execution thread to serve a set of RTP sessions. It is also possible to not associate any separate thread with any RTP session, manually calling the main data and control service methods from whatever other thread.
The basic idea for packet reception with ccRTP is that the application does not directly read packets from sockets but gets them from a reception queue. The stack is responsible for inserting received packets in the reception queue and handling this queue. In general, a packet reception and insertion in the reception queue does not occur at the same time the application gets it from the queue.
Conversely, the basic idea for packet transmission with ccRTP is that packets are not directly written to sockets but inserted in a transmission queue handled by the stack. In general, packet insertion and transmission occur at different times, though it is not necessary.
In order to use ccRTP, you must include the main header (#include < ccrtp/rtp.h >. Two additional headers are provided by ccRTP:
#include < ccrtp/rtppool.h
Classes for pools of RTP service threads.
#include < ccrtp/rtpext.h >
Classes for RTP extensions which are not mature yet.
You must also link in the library, currently ccrtp1.
Enhancements:
- Brand new support has been introduced for Secure RTP Profile (srtp) as per RFC 3711.
- This release also supports a new add-on package, libzrtpcpp, that directly offers native zfone (zrtp) compatible encryption capabilities to Common C++ RTP based applications.
- This is the first softphone client to use both Common C++ RTP srtp and zrtp support.
<<lessIn designing ccRTP, we have taken into account that RTP has been defined as an application level protocol framework rather than a typical Internet transport protocol such as TCP and UDP. Thus, RTP is hardly ever implemented as a layer separated from the application.
Consequently, RTP applications often must customize the adaptable RTP packet layout and processing rules, timing constraints, session membership rules as well as other RTP and RTCP mechanisms. ccRTP aims to provide a framework for the RTP framework, rather than being just an RTP packet manipulation library.
Support for both audio and video data is also considered in the design of ccRTP, that can do partial frame splits/re-assembly. Unicast, multi-unicast and multicast transport models are supported, as well as multiple active synchronization sources, multiple RTP sessions (SSRC spaces), and multiple RTP applications (CNAME spaces). This allows its use for building all forms of Internet standards based audio and visual conferencing systems.
GNU ccRTP is threadsafe and high performance. It uses packet queue lists for the reception and transmission of data packets. Both inter-media and intra-media synchronization is automatically handled within the incoming and outgoing packet queues. GNU ccRTP offers support for RTCP and many other standard and extended features that are needed for both compatible and advanced streaming applications.
It can mix multiple payload types in stream, and hence can be used to impliment RFC 2833 compliant signaling applications as well as other specialized things. GNU ccRTP also offers direct RTP and RTCP packet filtering.
GNU ccRTP uses templates to isolate threading and sockets related dependencies, so that it can be used to impliment realtime streaming with different threading models and underlying transport protocols, not just with IPV4 UDP sockets. For a more detailed list of ccRTP features you can have a look at the programmers manual.
At its highest level, ccRTP provides classes for the real-time transport of data through RTP sessions, as well as the control functions of RTCP.
The main concept in the ccRTP implementation of RTP sessions is the use of packet queues to handle transmission and reception of RTP data packets/application data units. In ccRTP, a data block is transmitted by putting it into the transmission (outgoing packets) queue, and received by getting it from the reception (incoming packets) queue.
Main features:
- Highly extensible to specialized stacks.
- Supports unicast, multi-unicast and multicast. Handles multiple sources (including synchronization sources and contributing sources) and destinations. Also supports symmetric RTP.
- Automatic RTCP functions handling, such as association of synchronization sources from the same participant or NTP-RTP timestamp mapping.
- Genericity as for underlying network and transport protocols through templates.
- It is threadsafe and supports almost any threading model.
- Generic and extensible RTP and RTCP header validity checks.
- Handles source states and information as well as statistics recording.
- Automatically handles SSRC collisions and performs loop detection.
- Implements timer reconsideration and reverse reconsideration.
- Provides good random numbers, based on /dev/urandom or, alternatively, on MD5.
There are several levels of interface (public interface, public or protected inheritance, etc) in ccRTP. For instance, the rtphello demo program distributed with ccRTP just uses the public interface of the RTPSession class and does not redefine the virtual method onGotSR, thus what this program knows about SR reports is the information conveyed in the last sender report from any source, which can be retrieved via the getMRSenderInfo method of the SyncSource class.
On the contrary, the rtplisten demo program redefines onGotSR by means of inheritance and could do specialized processing of these RTCP packets. Generally, both data and control packets are not directly accessible through the most external interface.
All this functions are performed through a few essential classes and types. The most basic ones are the enumerated type StaticPayloadType, and the classes StaticPayloadFormat and DynamicPayloadFormat.
The most important ones are the classes RTPSession, SyncSource, Participant and AppDataUnit, that represent RTP sessions, synchronization sources, participants in an RTP application, and application data units conveyed in RTP data packets, respectively.
When using ccRTP, both sending and receiving of data transported over RTP sessions is done through reception and transmission queues handled by the RTP stack. In the most common case, a separate execution thread for each RTP session handles the queues. This case is the threading model that we will generally assume throughout this document. Note however that ccRTP supports other threading models, particularly ccRTP supports the use of a single execution thread to serve a set of RTP sessions. It is also possible to not associate any separate thread with any RTP session, manually calling the main data and control service methods from whatever other thread.
The basic idea for packet reception with ccRTP is that the application does not directly read packets from sockets but gets them from a reception queue. The stack is responsible for inserting received packets in the reception queue and handling this queue. In general, a packet reception and insertion in the reception queue does not occur at the same time the application gets it from the queue.
Conversely, the basic idea for packet transmission with ccRTP is that packets are not directly written to sockets but inserted in a transmission queue handled by the stack. In general, packet insertion and transmission occur at different times, though it is not necessary.
In order to use ccRTP, you must include the main header (#include < ccrtp/rtp.h >. Two additional headers are provided by ccRTP:
#include < ccrtp/rtppool.h
Classes for pools of RTP service threads.
#include < ccrtp/rtpext.h >
Classes for RTP extensions which are not mature yet.
You must also link in the library, currently ccrtp1.
Enhancements:
- Brand new support has been introduced for Secure RTP Profile (srtp) as per RFC 3711.
- This release also supports a new add-on package, libzrtpcpp, that directly offers native zfone (zrtp) compatible encryption capabilities to Common C++ RTP based applications.
- This is the first softphone client to use both Common C++ RTP srtp and zrtp support.
Download (0.54MB)
Added: 2006-10-02 License: GPL (GNU General Public License) Price:
1133 downloads
GenChemLab 1.0
GenChemLab is a chemistry experiment simulator. more>>
GenChemLab is an OpenGL-based application intended to simulate several common general chemistry exercises. It is meant to be used to help students prepare for actual lab experience. It could also be used in cases where laboratory facilites are not accessible, for instance in K-12 schools or home schooling.
At present, supported experiments include titration, calorimetry, freezing point depression, vapor pressure, and spectrophotometry.
<<lessAt present, supported experiments include titration, calorimetry, freezing point depression, vapor pressure, and spectrophotometry.
Download (0.33MB)
Added: 2005-04-01 License: GPL (GNU General Public License) Price:
1670 downloads
C to C++ 1.4.0
C to C++ is a Python script that converts C code to C++ code. more>>
C to C++ is a Python script that converts C code to C++ code.
The main program is ctocpp.py that performs successive stages for converting C to C++. A script, ctocpp gives it as parameter to the python interpreter with options you add.
The archive also includes scripts that may help you:
- mover.py changes the location of a project.
- search.py performs searches and replacements.
- mkheader.py corrects a header file.
The C to C++ program with all the python sources is under the GNU GPL license,
that minds you may use it and distribute it freely, providing the copyright is unchanged.
See at the COPYING file for details. This doesnt mean GNU encourages you to convert your C sources to C++. In fact, most of the tools here included may help C programmers outside C++ conversion.
Installing:
Type:
./configure
./setup
mkdoc ...this will generate an html and info manuals.
<<lessThe main program is ctocpp.py that performs successive stages for converting C to C++. A script, ctocpp gives it as parameter to the python interpreter with options you add.
The archive also includes scripts that may help you:
- mover.py changes the location of a project.
- search.py performs searches and replacements.
- mkheader.py corrects a header file.
The C to C++ program with all the python sources is under the GNU GPL license,
that minds you may use it and distribute it freely, providing the copyright is unchanged.
See at the COPYING file for details. This doesnt mean GNU encourages you to convert your C sources to C++. In fact, most of the tools here included may help C programmers outside C++ conversion.
Installing:
Type:
./configure
./setup
mkdoc ...this will generate an html and info manuals.
Download (0.10MB)
Added: 2005-12-02 License: GPL (GNU General Public License) Price:
1423 downloads
GNOME Translate 0.99
GNOME Translate is a natural language translator. more>>
GNOME Translate is a GNOME interface to libtranslate. It can translate a text or web page between several natural languages, and it can automatically detect the source language as you type.
GNOME Translate is free software, released under the terms of the GNU General Public License.
<<lessGNOME Translate is free software, released under the terms of the GNU General Public License.
Download (0.29MB)
Added: 2005-07-29 License: GPL (GNU General Public License) Price:
1550 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above c and c generals search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed