Skip to content
Snippets Groups Projects
user avatar
Kenneth Johansson authored
17492da2
History
/******************************************************************************

                               Copyright (c) 2011
                            Lantiq Deutschland GmbH
                     Am Campeon 3; 85579 Neubiberg, Germany

  For licensing information, see the file 'LICENSE' in the root folder of
  this software module.

******************************************************************************/


1. CONTENT OF DELIVERY

1.1 SOURCE CODE CONTENT

The DSL CPE API is designed to fulfill a wide spectrum of applications.
Support for both low footprint as well as premium applications results in a
comprehensive source code content/structure. However please note that depending
on the used configuration
a) there are files available that you might not need at all
   (for example OS specific files)
b) even the needed files includes various configuration specific parts that
   might be not used for the selected configuration
As a result the lines of code (LOC) that are finally compiled/used are usually
much smaller than the available LOC.
For more details please also refer to chapter "3. Getting Started" within
"User's Manual Programmers Reference" (UMPR) of the DSL CPE API


1.2 SOURCE TREE STRUCTURE

Source tree structure for the DSL CPE API driver.

Please note that
a) the following tree does not include ALL files, it is just to get an easier
   overview about which parts might be important for the needed configuration
b) the usage of "<device>" indicates that a device specific file will be
   available according to the used source code delivery type.
   Currently there are deliveries as follows
   - "danube": Danube Family (includes Danube, Amazon-SE and ARX100)
   - "vrx": VRX200 Family

drv_dsl_cpe_api\
   ChangeLog
   configure.in
   LICENSE
   Makefile.am
   README

+---build_vxworks
       drv_dsl_cpe_api.wpj

+---doc                                     // to generate doxygen help files
      doxyconfig.<device>
      footer.html
      header.html
      stylesheet.css
   
   +---html
           logo.gif

+---scripts
       inst_drv_dsl_cpe_api_<device>.sh

+---src
       Makefile.am
       Makefile.in
    
    +---ceoc                                // Implementation for Clear EOC interface
           drv_dsl_cpe_ceoc.c
           drv_dsl_cpe_intern_ceoc.c
           drv_dsl_cpe_<device>_ceoc.c
    
    +---common                              // Common source files
           drv_dsl_cpe_api.c
           drv_dsl_cpe_autoboot.c
           drv_dsl_cpe_debug.c
           drv_dsl_cpe_fifo.c
           drv_dsl_cpe_os_linux.c          \  API internal OS abstraction for
           drv_dsl_cpe_os_rtems.c          +- different OS in case of not using
           drv_dsl_cpe_os_vxworks.c        /  ifx_os
           drv_dsl_cpe_timeout.c
    
    +---device                              // Device specific implementation
           drv_dsl_cpe_device_<device>.c
    
    +---g997                                // Implementation of G.997 driver interface
           drv_dsl_cpe_api_g997.c
           drv_dsl_cpe_api_g997_<device>.c
    
    +---include                             // All include files
           drv_dsl_cpe_api.h
           drv_dsl_cpe_api_adslmib.h
           drv_dsl_cpe_api_adslmib_ioctl.h
           drv_dsl_cpe_api_ceoc.h
           drv_dsl_cpe_api_ceoc_intern.h
           drv_dsl_cpe_api_config.h.in
           drv_dsl_cpe_api_error.h
           drv_dsl_cpe_api_g997.h
           drv_dsl_cpe_api_ioctl.h
           drv_dsl_cpe_api_pm.h
           drv_dsl_cpe_api_sar.h
           drv_dsl_cpe_api_types.h
           drv_dsl_cpe_autoboot.h
           drv_dsl_cpe_debug.h
           drv_dsl_cpe_device.h
           drv_dsl_cpe_device_ceoc.h
           drv_dsl_cpe_device_g997.h
           drv_dsl_cpe_device_pm.h
           drv_dsl_cpe_device_<device>.h
           <...>
    
           // Firmware message interface definitions
    
           // Danube Family only files as follows
           drv_dsl_cpe_cmv_danube.h
    
    
    +---mib                                 // Implementation for SNMP (RFC2662/3440)
           drv_dsl_cpe_adslmib.c           // Only for Danube Family
    
    +---pm                                  // Implementation of Performance Monitoring
           drv_dsl_cpe_api_pm.c
           drv_dsl_cpe_api_pm_<device>.c
           drv_dsl_cpe_pm_core.c
    
    +---sar                                 // Segmentation and Reassembley
            drv_dsl_cpe_sar.c