I may not cover each and every COD in the BlackBerry OS, but I will try to cover as much as possible.
They are broken down into 7 categories so let's start........
Libraries:
Some libraries are used internally by the Blackberry OS, and some others are publicly accessible.
These modules are for Private BlackBerry APIs
- net_rim_os Collection of miscellaneous stuff needed by OS. It contains, WAP stack from fourthpass, several classes related to LDAP, MIME, Service Book, ApplicationPermissionManager, HRT, Software Token, part of CLDC IO, HttpRequest, and even stuff like M3UPlaylist.
- net_rim_io_impl implements the IO part of javax.microedition.io ('cod', 'icmp', 'tcpsocket', and 'udpsocket'). It also has an internal application to start ProtocolDaemon.
- net_rim_loader Contains code to convert .jar file to .cod file. It parses the java bytecode from .jar file, and convert it into COD bytecode.
- net_rim_sqlite interface to native SQLite code.
- net_rim_nuance interface to native text to speech engine.
- net_rim_bb_BluetoothFileTransfer Bluetooth file transfer (implemented in Java)
- net_rim_ui_impl this implements global menus such as 'Copy', 'Paste'.
- net_rim_serial_formats Several serial data format (vcard) handling
- net_rim_bb_addressbook address book library
- net_rim_bb_addressbook_app address book application
- net_rim_bb_addressbook_gal address book component to access Global Address List, always required by address book app
- net_rim_bb_addressbook_models address book model (data structure) part
- net_rim_bb_addressbook_vcard VCard from/to address book conversion (it uses net_rim_serial_formats in the implementation)
- net_rim_bb_ldap_browser LDAP browser module, used by secure email component (net_rim_secureemail)
- net_rim_bb_ldap_browser_pgp LDAP browser module (PGP part), used by secure email component (net_rim_secureemail)
- net_rim_bb_ldap_browser_x509 LDAP browser module (X509 part), used by secure email component (net_rim_secureemail)
- net_rim_ecmascript ECMAScript engine (it contains a compiler that generaates bytecode and interpreter to run it)
- net_rim_ecmascript_resource ECMAScript engine resource
- net_rim_speech javax.speech.recognition, javax.speech.spi, and javax.speech.synthesis
================================================== =================================================
These modules are for Public Blackberry APIs
- net rim cldc_* Application manager implementation is also in this library (net_rim_app_manager is just a Wrapper).
- net_rim_convenience_key_api ConvenienceKeyUtilities
- net_rim_amms This is for J2ME multimedia API
- net_rim_api_wlan_hotspot API for WiFi hotspot, used by special Wifi Clients
- net_rim_bbapi_blackberrymessenger Blackberry messenger API
- net_rim_bbapi_browser Browser API
- net_rim_bbapi_contactlinking Contact Linking API
- net_rim_bbapi_invoke Invoke API (to start other programs)
- net_rim_bbapi_mail the real implementation for net.rim.blackberry.api.mail is in net_rim_bbapi_mailv2
- net_rim_bbapi_mailv2 some class in package net.rim.blackberry.api.mail is in net_rim_bbapi_pim (ContactAttachmentPart and PIMAddressCardMailConverter)
- net_rim_bbapi_maps BlackBerry Maps API
- net_rim_bbapi_messagelist_res Contains resources for netrimbbapi_messagelist
- net_rim_bbapi_messagelist_resources It seems to be empty resource
- net_rim_smartcard_piv implementation of Personal Identity Verification smart card
- net_rim_smartcard_piv_lib implementation of Personal Identity Verification smart card (PIVDriver and PIVConstants)
- net_rim_bluetooth Contains many Bluetooth related stuff: Options screen for Bluetooth, Bluetooth SIM Access profile (SAP) manager, AVRCP manager, PIN Dialog, implementation for cldc.io (btgoep, btl2cap, btspp)
================================================== =========================================
Applications:
Built-in Blackberry Applications
- net_rim_bb_elt Enterprise Location Tracking
- net_rim_bb_standardcalculator_app standard calculator
- net_rim_bb_sms_compose User interface for composing SMS messages
- net_rim_bb_sms SMS handling (also deals with voice mail notification, and SIM toolkit).
- net_rim_app_manager just a wrapper that calls net.rim.device.api.system.ApplicationManagerImpl (implemented in net_rim_cldc)
- net_rim_bb_itpolicyviewer IT Policy viewer
- net_rim_bb_appworld App World
- net_rim_bb_camera Camera App. This app doesn't use any native API, so the quality should be the same as any other app.
- net_rim_bb_clock Clock application (main part)
- net_rim_bb_clock_faces_480 For displaying the clock (for example when charging)
- net_rim_bb_clock_lib All other things related with the clock (alarm, stopwatch, options handling, etc)
- net_rim_bb_BTFileTransferApp File transfer App. This app just calls net_rim_bb_BluetoothFileTransfer
- net_rim_bb_activation activation app (also contains activation app)
- net_rim_bb_dnslookup_app Application for testing DNS lookup (activated through "Options", "Mobile Network", then click on menu, "Tools", "DNS Lookup")
- net_rim_bb_ping_app Application for testing PING (activated through "Options", "Mobile Network", then click on menu, "Tools", "Ping")
- net_rim_app_manager_console Application switcher
- net_rim_vad Voice activated dialing
- net_rim_bb_addressbook_simapp Access address book in SIM
- net_rim_bb_addressbook_usimapp Access address book in USIM
- net_rim_bb_help Help application
- net_rim_bb_mc_app Memory Cleaner Application
- net_rim_bb_memo_app memo application
- net_rim_bb_ribbon_app user interface for homescreen
- net_rim_bb_application_updater Application updater
- net_rim_bb_calendar_app calendar App
- net_rim_bb_mtp Java part of MTP (Media Transfer Protocol), connects to native code part of MTP protocol
================================================== ================================================
Browser
- net_rim_bb_browser browser service
- net_rim_bb_browser_cookiejar cookie handling
- net_rim_bb_browser_daemon The entrypoint for browser application (there isn't much code in this, it just starts the browser core)
- net_rim_bb_browser_lib main browser logic, core and many other things (bookmarks, settings, channel, etc)
- net_rim_bb_browser_olympia olympia webkit interface
- net_rim_bb_browser_olympia_proxy wrapper for native code (starts Olympia process)
- net_rim_bb_browser_plugin_docview browser plugin (TODO: needs more description)
- net_rim_bb_browser_plugin_security browser plugin for security (X509, PGP, WTLS, ...) TODO: needs more description
- net_rim_bb_browser_push browser push handler
- net_rim_bb_browser_script_ext browser script extension (create new contact, new message, map, etc)
- net_rim_bb_browser_wap_provisioning WAP provisioning
================================================== =========================================
Services
Services are programs that runs in the background
- net_rim_services_imp Firewall service, GPS service, i18n (internationalization) service, lowMemory manager, autotext service
- net_rim_bb_activation activation service
- net_rim_bb_autotz Auto time zone
================================================== =========================================
Options
The "Options" screen in BlackBerry is like Control Panel in Windows. Applications can add new "Options" to the options screen. The options screen that you see in a BlackBerry (even without any 3rd party apps) consist of many modules.
- net_rim_bb_options Basic implementation of options API is in here
- net_rim_bb_options_app This contains UI for options. Some of ALT backdoor
- net_rim_options_profiles_api profiles
- net_rim_softtokens_options software token
- net_rim_tcp_options TCP options
- net_rim_vpn_options VPN options
- net_rim_wlan_options WLAN options
================================================== =========================================
Resource
Resources are just modules that contains data (such as font, pictures, video, text string, etc)
- net_rim_DoDRootCerts DoD root certificates
net_rim_MIDPRootCerts MIDP root certificates
net_rim_speech_data_en_US Speech data for en_US (other language uses same filename pattern)
net_rim_se13nettable Network table names. The SE13 is from GSM MoU SE 13. GSM MoU Permanent Reference Document SE. 13: "GSM Mobile Network Code and Names".
net_rim_bb_medialoader_toolkit_480x360_9650_01 Basics.mp4, Intro.mp4
net_rim_bb_medialoader_toolkit_480x360_9650_02 ContextMenu.mp4, InsertSIM.mp4, MakingCall.mp4
net_rim_bb_medialoader_toolkit_480x360_9650_03 DTM.mp4 Homescreen.mp4 SwitchingApps.mp4
net_rim_bb_medialoader_toolkit_480x360_9650_04 Hardware.mp4 Zooming.mp4
net_rim_bb_medialoader_video_480x360_05_b DavidGray_Fugitive.mp4
net_rim_bb_medialoader_toolkit-640x480_01.cod 01-04 instructional video files
================================================== =========================================
Fonts
- net_rim_font_arial Arial
- net_rim_font_courier Courier fonts
- net_rim_font_european_sff European SFF
- net_rim_font_georgia Georgia
- net_rim_font_global_type Global
- net_rim_font_japanese Japanese
- net_rim_font_japanese_droid Japanese Droid
- net_rim_font_latin_truetype Latin
- net_rim_font_misc Miscellaneous Fonts
- net_rim_font_tahoma Tahoma
- net_rim_font_times Times
- net_rim_font_trebuchet Trebuchet
- net_rim_font_verdana Verdana

