Changeset f68a8bf3 in rtems


Ignore:
Timestamp:
Nov 28, 2007, 4:25:29 PM (13 years ago)
Author:
Glenn Humphrey <glenn.humphrey@…>
Children:
1773d3b
Parents:
0c62889
Message:

2007-11-28 Glenn Humphrey <glenn.humphrey@…>

  • user/clock.t, user/concepts.t, user/conf.t, user/datatypes.t, user/dpmem.t, user/fatal.t, user/init.t, user/mp.t, user/msg.t, user/part.t, user/region.t, user/rtmon.t, user/sem.t, user/task.t, user/timer.t: Corrected various errors in the documentation.
Location:
doc
Files:
16 edited

Legend:

Unmodified
Added
Removed
  • doc/ChangeLog

    r0c62889 rf68a8bf3  
     12007-11-28      Glenn Humphrey <glenn.humphrey@OARcorp.com>
     2
     3        * user/clock.t, user/concepts.t, user/conf.t, user/datatypes.t,
     4        user/dpmem.t, user/fatal.t, user/init.t, user/mp.t, user/msg.t,
     5        user/part.t, user/region.t, user/rtmon.t, user/sem.t, user/task.t,
     6        user/timer.t: Corrected various errors in the documentation.
     7
    182007-11-27      Joel Sherrill <joel.sherrill@OARcorp.com>
    29
  • doc/user/clock.t

    r0c62889 rf68a8bf3  
    4848@example
    4949struct rtems_tod_control @{
    50   rtems_unsigned32 year;   /* greater than 1987 */
    51   rtems_unsigned32 month;  /* 1 - 12 */
    52   rtems_unsigned32 day;    /* 1 - 31 */
    53   rtems_unsigned32 hour;   /* 0 - 23 */
    54   rtems_unsigned32 minute; /* 0 - 59 */
    55   rtems_unsigned32 second; /* 0 - 59 */
    56   rtems_unsigned32 ticks;  /* elapsed between seconds */
     50  uint32_t year;   /* greater than 1987 */
     51  uint32_t month;  /* 1 - 12 */
     52  uint32_t day;    /* 1 - 31 */
     53  uint32_t hour;   /* 0 - 23 */
     54  uint32_t minute; /* 0 - 59 */
     55  uint32_t second; /* 0 - 59 */
     56  uint32_t ticks;  /* elapsed between seconds */
    5757@};
    5858
     
    8989@group
    9090typedef struct @{
    91   rtems_unsigned32 seconds;       /* seconds since RTEMS epoch*/
    92   rtems_unsigned32 microseconds;  /* since last second        */
     91  uint32_t seconds;       /* seconds since RTEMS epoch*/
     92  uint32_t microseconds;  /* since last second        */
    9393@} rtems_clock_time_value;
    9494@end group
  • doc/user/concepts.t

    r0c62889 rf68a8bf3  
    211211
    212212@example
    213 rtems_unsigned32 rtems_get_class( rtems_id );
    214 rtems_unsigned32 rtems_get_node( rtems_id );
    215 rtems_unsigned32 rtems_get_index( rtems_id );
     213uint32_t rtems_get_class( rtems_id );
     214uint32_t rtems_get_node( rtems_id );
     215uint32_t rtems_get_index( rtems_id );
    216216@end example
    217217
  • doc/user/conf.t

    r0c62889 rf68a8bf3  
    4040mechanism to automate the generation of these structures.
    4141
     42@ifset is-Ada
     43System configuration is ALWAYS done from C.  When developing
     44an Ada application, the user is responsible for creating at
     45least one C file which contains the Ada run-time initialization
     46and the RTEMS System Configuration.  There is no Ada binding
     47for RTEMS System Configuration information.  Thus all examples
     48and data structures shown in this chapter are in C.
     49@end ifset
    4250
    4351@section Automatic Generation of System Configuration
     
    705713application for its specific needs.  For example, the user can
    706714configure the number of device drivers or which APIs may be used.
    707 THe address of the user-defined Configuration Table is passed as an
    708 argument to the @code{@value{DIRPREFIX}initialize_executive}
     715The address of the user-defined Configuration Table is passed as an
     716argument to the @code{rtems_initialize_executive}
    709717directive, which MUST be the first RTEMS directive called. 
    710 The RTEMS Configuration Table
    711 is defined in the following @value{LANGUAGE} @value{STRUCTURE}:
    712 
    713 @ifset is-C
     718The RTEMS Configuration Table is defined in the following C structure:
     719
    714720@findex rtems_configuration_table
    715721@example
    716722@group
    717723typedef struct @{
    718   void                             *work_space_start;
    719   rtems_unsigned32                  work_space_size;
    720   rtems_unsigned32                  maximum_extensions;
    721   rtems_unsigned32                  microseconds_per_tick;
    722   rtems_unsigned32                  ticks_per_timeslice;
    723   rtems_unsigned32                  maximum_devices;
    724   rtems_unsigned32                  maximum_drivers;
    725   rtems_unsigned32                  number_of_device_drivers;
    726   rtems_driver_address_table       *Device_driver_table;
    727   rtems_unsigned32                  number_of_initial_extensions;
    728   rtems_extensions_table           *User_extension_table;
    729   rtems_multiprocessing_table      *User_multiprocessing_table;
    730   rtems_api_configuration_table    *RTEMS_api_configuration;
    731   posix_api_configuration_table    *POSIX_api_configuration;
     724  void                           *work_space_start;
     725  uint32_t                        work_space_size;
     726  uint32_t                        maximum_extensions;
     727  uint32_t                        microseconds_per_tick;
     728  uint32_t                        ticks_per_timeslice;
     729  uint32_t                        maximum_devices;
     730  uint32_t                        maximum_drivers;
     731  uint32_t                        number_of_device_drivers;
     732  rtems_driver_address_table     *Device_driver_table;
     733  uint32_t                        number_of_initial_extensions;
     734  rtems_extensions_table         *User_extension_table;
     735  rtems_multiprocessing_table    *User_multiprocessing_table;
     736  rtems_api_configuration_table  *RTEMS_api_configuration;
     737  posix_api_configuration_table  *POSIX_api_configuration;
    732738@} rtems_configuration_table;
    733739@end group
    734740@end example
    735 @end ifset
    736 
    737 @ifset is-Ada
    738 @example
    739 type Configuration_Table is
    740    record
    741        Work_Space_Start             : RTEMS.Address;
    742        Work_Space_Size              : RTEMS.Unsigned32;
    743        Maximum_Extensions           : RTEMS.Unsigned32;
    744        Microseconds_Per_Tick        : RTEMS.Unsigned32;
    745        Ticks_Per_Timeslice          : RTEMS.Unsigned32;
    746        Maximum_Devices              : RTEMS.Unsigned32;
    747        Number_Of_Device_Drivers     : RTEMS.Unsigned32;
    748        Device_Driver_Table          :
    749             RTEMS.Driver_Address_Table_Pointer;
    750        Number_Of_Initial_Extensions : RTEMS.Unsigned32;
    751        User_Extension_Table         : RTEMS.Extensions_Table_Pointer;
    752        User_Multiprocessing_Table   :
    753             RTEMS.Multiprocessing_Table_Pointer;
    754        RTEMS_API_Configuration      :
    755             RTEMS.API_Configuration_Table_Pointer;
    756        POSIX_API_Configuration      :
    757             RTEMS.POSIX_API_Configuration_Table_Pointer;
    758    end record;
    759 
    760 type Configuration_Table_Pointer is access all Configuration_Table;
    761 @end example
    762 @end ifset
    763741
    764742@table @b
     
    769747If the address is not aligned on a four-word boundary, then
    770748RTEMS will invoke the fatal error handler during
    771 @code{@value{DIRPREFIX}initialize_executive}.
     749@code{rtems_initialize_executive}.
    772750When using the @code{confdefs.h} mechanism for configuring
    773751an RTEMS application, the value for this field corresponds
     
    930908For example, the user can configure the maximum number of tasks for
    931909this application. The RTEMS API Configuration Table is defined in
    932 the following @value{LANGUAGE} @value{STRUCTURE}:
    933 
    934 @ifset is-C
     910the following C structure:
     911
    935912@findex rtems_api_configuration_table
    936913@example
    937914@group
    938915typedef struct @{
    939   rtems_unsigned32                  maximum_tasks;
    940   rtems_unsigned32                  maximum_timers;
    941   rtems_unsigned32                  maximum_semaphores;
    942   rtems_unsigned32                  maximum_message_queues;
    943   rtems_unsigned32                  maximum_partitions;
    944   rtems_unsigned32                  maximum_regions;
    945   rtems_unsigned32                  maximum_ports;
    946   rtems_unsigned32                  maximum_periods;
    947   rtems_unsigned32                  number_of_initialization_tasks;
     916  uint32_t  maximum_tasks;
     917  uint32_t  maximum_timers;
     918  uint32_t  maximum_semaphores;
     919  uint32_t  maximum_message_queues;
     920  uint32_t  maximum_partitions;
     921  uint32_t  maximum_regions;
     922  uint32_t  maximum_ports;
     923  uint32_t  maximum_periods;
     924  uint32_t  maximum_barriers;
     925  uint32_t  number_of_initialization_tasks;
    948926  rtems_initialization_tasks_table *User_initialization_tasks_table;
    949927@} rtems_api_configuration_table;
    950928@end group
    951929@end example
    952 @end ifset
    953 
    954 @ifset is-Ada
    955 @example
    956 type API_Configuration_Table is
    957    record
    958       Maximum_Tasks                   : RTEMS.Unsigned32;
    959       Maximum_Timers                  : RTEMS.Unsigned32;
    960       Maximum_Semaphores              : RTEMS.Unsigned32;
    961       Maximum_Message_queues          : RTEMS.Unsigned32;
    962       Maximum_Partitions              : RTEMS.Unsigned32;
    963       Maximum_Regions                 : RTEMS.Unsigned32;
    964       Maximum_Ports                   : RTEMS.Unsigned32;
    965       Maximum_Periods                 : RTEMS.Unsigned32;
    966       Number_Of_Initialization_Tasks  : RTEMS.Unsigned32;
    967       User_Initialization_Tasks_Table :
    968            RTEMS.Initialization_Tasks_Table_Pointer;
    969    end record;
    970 
    971 type API_Configuration_Table_Pointer is
    972            access all API_Configuration_Table;
    973 @end example
    974 @end ifset
    975930
    976931@table @b
     
    11091064For example, the user can configure the maximum number of threads for
    11101065this application. The POSIX API Configuration Table is defined in
    1111 the following @value{LANGUAGE} @value{STRUCTURE}:
     1066the following C structure:
    11121067 
    1113 @ifset is-C
    11141068@findex posix_initialization_threads_table
    11151069@findex posix_api_configuration_table
     
    11271081  int                                 maximum_timers;
    11281082  int                                 maximum_queued_signals;
     1083  int                                 maximum_message_queues;
     1084  int                                 maximum_semaphores;
     1085  int                                 maximum_barriers;
     1086  int                                 maximum_rwlocks;
     1087  int                                 maximum_spinlocks;
    11291088  int                                 number_of_initialization_tasks;
    11301089  posix_initialization_threads_table *User_initialization_tasks_table;
     
    11321091@end group
    11331092@end example
    1134 @end ifset
    1135 
    1136 @ifset is-Ada
    1137 @example
    1138    type POSIX_Thread_Entry is access procedure (
    1139       Argument : in     RTEMS.Address
    1140    );
    1141 
    1142    type POSIX_Initialization_Threads_Table_Entry is
    1143    record
    1144       Thread_Entry : RTEMS.POSIX_Thread_Entry;
    1145    end record;
    1146 
    1147    type POSIX_Initialization_Threads_Table is array
    1148        ( RTEMS.Unsigned32 range <> ) of
    1149        RTEMS.POSIX_Initialization_Threads_Table_Entry;
    1150 
    1151    type POSIX_Initialization_Threads_Table_Pointer is access all
    1152        POSIX_Initialization_Threads_Table;
    1153 
    1154    type POSIX_API_Configuration_Table_Entry is
    1155       record
    1156          Maximum_Threads                 : Interfaces.C.Int;
    1157          Maximum_Mutexes                 : Interfaces.C.Int;
    1158          Maximum_Condition_Variables     : Interfaces.C.Int;
    1159          Maximum_Keys                    : Interfaces.C.Int;
    1160          Maximum_Timers                  : Interfaces.C.Int;
    1161          Maximum_Queued_Signals          : Interfaces.C.Int;
    1162          Number_Of_Initialization_Tasks  : Interfaces.C.Int;
    1163          User_Initialization_Tasks_Table :
    1164             RTEMS.POSIX_Initialization_Threads_Table_Pointer;
    1165       end record;
    1166 
    1167    type POSIX_API_Configuration_Table is array
    1168       ( RTEMS.Unsigned32 range <> ) of
    1169           RTEMS.POSIX_API_Configuration_Table_Entry;
    1170 
    1171    type POSIX_API_Configuration_Table_Pointer is access all
    1172           RTEMS.POSIX_API_Configuration_Table;
    1173 @end example
    1174 @end ifset
    11751093 
    11761094@table @b
     
    12571175information needed to create and start each of the initialization threads. 
    12581176The format of each entry in this table is defined in the
    1259 @code{posix_initialization_threads_table} @value{STRUCTURE}.
     1177@code{posix_initialization_threads_table} structure.
    12601178When using the @code{confdefs.h} mechanism for configuring
    12611179an RTEMS application, the value for this field corresponds
     
    12941212
    12951213The format of each entry in the
    1296 Initialization Task Table is defined in the following @value{LANGUAGE}
    1297 @value{STRUCTURE}:
    1298 
    1299 @ifset is-C
     1214Initialization Task Table is defined in the following C structure:
     1215
    13001216@findex rtems_initialization_tasks_table
    13011217@example
    13021218typedef struct @{
    13031219  rtems_name           name;
    1304   rtems_unsigned32     stack_size;
     1220  size_t               stack_size;
    13051221  rtems_task_priority  initial_priority;
    13061222  rtems_attribute      attribute_set;
     
    13101226@} rtems_initialization_tasks_table;
    13111227@end example
    1312 @end ifset
    1313 
    1314 @ifset is-Ada
    1315 @example
    1316 type Initialization_Tasks_Table_Entry is
    1317    record
    1318       Name             : RTEMS.Name;          -- task name
    1319       Stack_Size       : RTEMS.Unsigned32;    -- task stack size
    1320       Initial_Priority : RTEMS.Task_priority; -- task priority
    1321       Attribute_Set    : RTEMS.Attribute;     -- task attributes
    1322       Entry_Point      : RTEMS.Task_Entry;    -- task entry point
    1323       Mode_Set         : RTEMS.Mode;          -- task initial mode
    1324       Argument         : RTEMS.Unsigned32;    -- task argument
    1325    end record;
    1326 
    1327 type Initialization_Tasks_Table is array
    1328     ( RTEMS.Unsigned32 range <> ) of
    1329       RTEMS.Initialization_Tasks_Table_Entry;
    1330 
    1331 type Initialization_Tasks_Table_Pointer is access all
    1332      Initialization_Tasks_Table;
    1333 @end example
    1334 @end ifset
    13351228
    13361229@table @b
     
    13601253A typical declaration for an Initialization Task Table might appear as follows:
    13611254
    1362 @ifset is-C
    13631255@example
    13641256rtems_initialization_tasks_table
     
    13841276@};
    13851277@end example
    1386 @end ifset
    1387 
    1388 @ifset is-Ada
    1389 @example
    1390 Initialization_Tasks : aliased
    1391   RTEMS.Initialization_Tasks_Table( 1 .. 2 ) := (
    1392    (INIT_1_NAME,
    1393     1024,
    1394     1,
    1395     RTEMS.Default_Attributes,
    1396     Init_1'Access,
    1397     RTEMS.Default_Modes,
    1398     1),
    1399    (INIT_2_NAME,
    1400     1024,
    1401     250,
    1402     RTEMS.Floating_Point,
    1403     Init_2'Access,
    1404     RTEMS.No_Preempt,
    1405     2)
    1406 );
    1407 @end example
    1408 @end ifset
    14091278
    14101279@section Driver Address Table
     
    14191288Table during the IO Manager's initialization giving the entries in this
    14201289table the lower major numbers.  The format of each entry in the Device
    1421 Driver Table is defined in the following @value{LANGUAGE}
    1422 @value{STRUCTURE}:
    1423 
    1424 @ifset is-C
     1290Driver Table is defined in the following C structure:
     1291
    14251292@findex rtems_driver_address_table
    14261293@example
    14271294typedef struct @{
    1428   rtems_device_driver_entry initialization;
    1429   rtems_device_driver_entry open;
    1430   rtems_device_driver_entry close;
    1431   rtems_device_driver_entry read;
    1432   rtems_device_driver_entry write;
    1433   rtems_device_driver_entry control;
     1295  rtems_device_driver_entry initialization_entry;
     1296  rtems_device_driver_entry open_entry;
     1297  rtems_device_driver_entry close_entry;
     1298  rtems_device_driver_entry read_entry;
     1299  rtems_device_driver_entry write_entry;
     1300  rtems_device_driver_entry control_entry;
    14341301@} rtems_driver_address_table;
    14351302@end example
    1436 @end ifset
    1437 
    1438 @ifset is-Ada
    1439 @example
    1440 type Driver_Address_Table_Entry is
    1441    record
    1442       Initialization : RTEMS.Device_Driver_Entry;
    1443       Open           : RTEMS.Device_Driver_Entry;
    1444       Close          : RTEMS.Device_Driver_Entry;
    1445       Read           : RTEMS.Device_Driver_Entry;
    1446       Write          : RTEMS.Device_Driver_Entry;
    1447       Control        : RTEMS.Device_Driver_Entry;
    1448    end record;
    1449 
    1450 type Driver_Address_Table is array ( RTEMS.Unsigned32 range <> ) of
    1451   RTEMS.Driver_Address_Table_Entry;
    1452 
    1453 type Driver_Address_Table_Pointer is access all Driver_Address_Table;
    1454 @end example
    1455 @end ifset
    14561303
    14571304@table @b
    1458 @item initialization
     1305@item initialization_entry
    14591306is the address of the entry point called by
    1460 @code{@value{DIRPREFIX}io_initialize}
     1307@code{rtems_io_initialize}
    14611308to initialize a device driver and its associated devices.
    14621309
    1463 @item open
    1464 is the address of the entry point called by @code{@value{DIRPREFIX}io_open}.
    1465 
    1466 @item close
    1467 is the address of the entry point called by @code{@value{DIRPREFIX}io_close}.
    1468 
    1469 @item read
    1470 is the address of the entry point called by @code{@value{DIRPREFIX}io_read}.
    1471 
    1472 @item write
    1473 is the address of the entry point called by @code{@value{DIRPREFIX}io_write}.
    1474 
    1475 @item control
    1476 is the address of the entry point called by @code{@value{DIRPREFIX}io_control}.
     1310@item open_entry
     1311is the address of the entry point called by @code{rtems_io_open}.
     1312
     1313@item close_entry
     1314is the address of the entry point called by @code{rtems_io_close}.
     1315
     1316@item read_entry
     1317is the address of the entry point called by @code{rtems_io_read}.
     1318
     1319@item write_entry
     1320is the address of the entry point called by @code{rtems_io_write}.
     1321
     1322@item control_entry
     1323is the address of the entry point called by @code{rtems_io_control}.
    14771324
    14781325@end table
     
    14841331A typical declaration for a Device Driver Table might appear as follows:
    14851332
    1486 @ifset is-C
    14871333@example
    14881334rtems_driver_address_table Driver_table[2] = @{
     
    14951341@};
    14961342@end example
    1497 @end ifset
    1498 
    1499 @ifset is-Ada
    1500 @example
    1501 @end example
    1502 @end ifset
    15031343
    15041344More information regarding the construction and
     
    15161356individual tasks.  The application may create dynamic extensions
    15171357in addition to this single static set.  The format of each entry
    1518 in the User Extensions Table is defined in the following @value{LANGUAGE}
    1519 @value{STRUCTURE}:
    1520 
    1521 @ifset is-C
     1358in the User Extensions Table is defined in the following C structure:
     1359
    15221360@example
    1523 typedef User_extensions_routine           rtems_extension;
    1524 typedef User_extensions_thread_create_extension   
    1525            rtems_task_create_extension;
    1526 typedef User_extensions_thread_delete_extension   
    1527            rtems_task_delete_extension;
    1528 typedef User_extensions_thread_start_extension   
    1529            rtems_task_start_extension;
    1530 typedef User_extensions_thread_restart_extension 
    1531            rtems_task_restart_extension;
    1532 typedef User_extensions_thread_switch_extension   
    1533            rtems_task_switch_extension;
    1534 typedef User_extensions_thread_begin_extension   
    1535            rtems_task_begin_extension;
    1536 typedef User_extensions_thread_exitted_extension 
    1537            rtems_task_exitted_extension;
    1538 typedef User_extensions_fatal_extension   rtems_fatal_extension;
    1539 
    1540 typedef User_extensions_Table             rtems_extensions_table;
     1361typedef void           rtems_extension;
     1362typedef rtems_extension (*rtems_task_create_extension)(
     1363   Thread_Control * /* executing */,
     1364   Thread_Control * /* created */
     1365);
     1366typedef rtems_extension (*rtems_task_delete_extension)(
     1367   Thread_Control * /* executing */,
     1368   Thread_Control * /* deleted */
     1369);
     1370typedef rtems_extension (*rtems_task_start_extension)(
     1371   Thread_Control * /* executing */,
     1372   Thread_Control * /* started */
     1373);
     1374typedef rtems_extension (*rtems_task_restart_extension)(
     1375   Thread_Control * /* executing */,
     1376   Thread_Control * /* restarted */
     1377);
     1378typedef rtems_extension (*rtems_task_switch_extension)(
     1379   Thread_Control * /* executing */,
     1380   Thread_Control * /* heir */
     1381);
     1382typedef rtems_extension (*rtems_task_begin_extension)(
     1383   Thread_Control * /* beginning */
     1384);
     1385typedef rtems_extension (*rtems_task_exitted_extension)(
     1386   Thread_Control * /* exiting */
     1387);
     1388typedef rtems_extension (*rtems_fatal_extension)(
     1389   Internal_errors_Source /* the_source */,
     1390   boolean                /* is_internal */,
     1391   uint32_t               /* the_error */
     1392);
    15411393
    15421394typedef struct @{
     
    15491401  rtems_task_exitted_extension     thread_exitted;
    15501402  rtems_fatal_extension            fatal;
    1551 @} User_extensions_Table;
     1403@} rtems_extensions_table;
    15521404@end example
    1553 @end ifset
    1554 
    1555 @ifset is-Ada
    1556 @example
    1557 type Extensions_Table_Entry is
    1558    record
    1559       Thread_Create      : RTEMS.Thread_Create_Extension;
    1560       Thread_Start       : RTEMS.Thread_Start_Extension;
    1561       Thread_Restart     : RTEMS.Thread_Restart_Extension;
    1562       Thread_Delete      : RTEMS.Thread_Delete_Extension;
    1563       Thread_Switch      : RTEMS.Thread_Switch_Extension;
    1564       Thread_Post_Switch : RTEMS.Thread_Post_Switch_Extension;
    1565       Thread_Begin       : RTEMS.Thread_Begin_Extension;
    1566       Thread_Exitted     : RTEMS.Thread_Exitted_Extension;
    1567       Fatal            : RTEMS.Fatal_Error_Extension;
    1568    end record;
    1569 @end example
    1570 @end ifset
    15711405
    15721406@table @b
     
    16401474FATAL extension might appear as follows:
    16411475
    1642 @ifset is-C
    16431476@example
    16441477rtems_extensions_table User_extensions = @{
     
    16531486@};
    16541487@end example
    1655 @end ifset
    1656 
    1657 @ifset is-Ada
    1658 User_Extensions : RTEMS.Extensions_Table := (
    1659    Task_Create_Extension'Access,
    1660    null,
    1661    null,
    1662    Task_Delete_Extension'Access,
    1663    Task_Switch_Extension'Access,
    1664    null,
    1665    null,
    1666    Fatal_Extension'Access
    1667 );
    1668 @example
    1669 
    1670 @end example
    1671 @end ifset
    16721488
    16731489More information regarding the user extensions is
     
    16971513
    16981514The format of the Multiprocessor Configuration Table is defined in
    1699 the following @value{LANGUAGE} @value{STRUCTURE}:
    1700 
    1701 @ifset is-C
     1515the following C structure:
     1516
    17021517@example
    17031518typedef struct @{
    1704   rtems_unsigned32  node;
    1705   rtems_unsigned32  maximum_nodes;
    1706   rtems_unsigned32  maximum_global_objects;
    1707   rtems_unsigned32  maximum_proxies;
     1519  uint32_t          node;
     1520  uint32_t          maximum_nodes;
     1521  uint32_t          maximum_global_objects;
     1522  uint32_t          maximum_proxies;
    17081523  rtems_mpci_table *User_mpci_table;
    17091524@} rtems_multiprocessing_table;
    17101525@end example
    1711 @end ifset
    1712 
    1713 @ifset is-Ada
    1714 @example
    1715 type Multiprocessing_Table is
    1716    record
    1717       Node                   : RTEMS.Unsigned32;
    1718       Maximum_Nodes          : RTEMS.Unsigned32;
    1719       Maximum_Global_Objects : RTEMS.Unsigned32;
    1720       Maximum_Proxies        : RTEMS.Unsigned32;
    1721       User_MPCI_Table        : RTEMS.MPCI_Table_Pointer;
    1722    end record;
    1723 
    1724 type Multiprocessing_Table_Pointer is access all Multiprocessing_Table;
    1725 @end example
    1726 @end ifset
    17271526
    17281527@table @b
     
    18111610
    18121611The format of this table is defined in
    1813 the following @value{LANGUAGE} @value{STRUCTURE}:
    1814 
    1815 @ifset is-C
     1612the following C structure:
     1613
    18161614@example
    18171615typedef struct @{
    1818   rtems_unsigned32                 default_timeout; /* in ticks */
    1819   rtems_unsigned32                 maximum_packet_size;
     1616  uint32_t                        default_timeout; /* in ticks */
     1617  uint32_t                        maximum_packet_size;
    18201618  rtems_mpci_initialization_entry initialization;
    18211619  rtems_mpci_get_packet_entry     get_packet;
    18221620  rtems_mpci_return_packet_entry  return_packet;
    1823   rtems_mpci_send_entry           send;
    1824   rtems_mpci_receive_entry        receive;
     1621  rtems_mpci_send_entry           send_packet;
     1622  rtems_mpci_receive_entry        receive_packet;
    18251623@} rtems_mpci_table;
    18261624@end example
    1827 @end ifset
    1828 
    1829 @ifset is-Ada
    1830 @example
    1831 type MPCI_Table is
    1832    record
    1833       Default_Timeout     : RTEMS.Unsigned32; -- in ticks
    1834       Maximum_Packet_Size : RTEMS.Unsigned32;
    1835       Initialization      : RTEMS.MPCI_Initialization_Entry;
    1836       Get_Packet          : RTEMS.MPCI_Get_Packet_Entry;
    1837       Return_Packet       : RTEMS.MPCI_Return_Packet_Entry;
    1838       Send                : RTEMS.MPCI_Send_Entry;
    1839       Receive             : RTEMS.MPCI_Receive_Entry;
    1840    end record;
    1841 
    1842 type MPCI_Table_Pointer is access all MPCI_Table;
    1843 @end example
    1844 @end ifset
    18451625
    18461626@table @b
  • doc/user/datatypes.t

    r0c62889 rf68a8bf3  
    281281entry point of the function implementing the TSR.
    282282
    283 @findex rtems_unsigned8
    284 @item @code{@value{DIRPREFIX}unsigned8} is the data
    285 type that corresponds to unsigned eight bit integers.
    286 This data type is defined by RTEMS in a manner that
    287 ensures it is portable across different target processors.
    288 
    289 @findex rtems_unsigned16
    290 @item @code{@value{DIRPREFIX}unsigned16} is the data
    291 type that corresponds to unsigned sixteen bit integers.
    292 This data type is defined by RTEMS in a manner that
    293 ensures it is portable across different target processors.
    294 
    295 @findex rtems_unsigned32
    296 @item @code{@value{DIRPREFIX}unsigned32} is the data
    297 type that corresponds to unsigned thirty-two bit integers.
    298 This data type is defined by RTEMS in a manner that
    299 ensures it is portable across different target processors.
    300 
    301 @findex rtems_unsigned64
    302 @item @code{@value{DIRPREFIX}unsigned64} is the data
    303 type that corresponds to unsigned sixty-four bit integers.
    304 This data type is defined by RTEMS in a manner that
    305 ensures it is portable across different target processors.
    306 
    307283@findex rtems_vector_number
    308284@item @code{@value{DIRPREFIX}vector_number} is the data
  • doc/user/dpmem.t

    r0c62889 rf68a8bf3  
    114114@example
    115115rtems_status_code rtems_port_create(
    116   rtems_name        name,
    117   void             *internal_start,
    118   void             *external_start,
    119   rtems_unsigned32  length,
    120   rtems_id         *id
     116  rtems_name  name,
     117  void       *internal_start,
     118  void       *external_start,
     119  uint32_t    length,
     120  rtems_id   *id
    121121);
    122122@end example
  • doc/user/fatal.t

    r0c62889 rf68a8bf3  
    134134@example
    135135void volatile rtems_fatal_error_occurred(
    136   rtems_unsigned32        the_error
     136  uint32_t  the_error
    137137);
    138138@end example
  • doc/user/init.t

    r0c62889 rf68a8bf3  
    323323@example
    324324void rtems_initialize_executive_late(
    325   rtems_interrupt_level  bsp_level
     325  rtems_interrupt_level bsp_level
    326326);
    327327@end example
     
    330330@ifset is-Ada
    331331@example
    332 procedure Initialize_Executive_Late(
    333   BSP_Level : in    RTEMS.ISR_Level
    334 );
     332NOT SUPPORTED FROM Ada BINDING
    335333@end example
    336334@end ifset
     
    383381@example
    384382void rtems_shutdown_executive(
    385   rtems_unsigned32 result
     383  uint32_t result
    386384);
    387385@end example
  • doc/user/mp.t

    r0c62889 rf68a8bf3  
    4444software, to be viewed logically as a single system.
    4545
     46@ifset is-Ada
     47Multiprocessing operations are transparent at the application level.
     48Operations on remote objects are implicitly processed as remote
     49procedure calls.  Although remote operations on objects are supported
     50from Ada tasks, the calls used to support the multiprocessing
     51communications should be implemented in C and are not supported
     52in the Ada binding.  Since there is no Ada binding for RTEMS
     53multiprocessing support services, all examples and data structures
     54shown in this chapter are in C.
     55@end ifset
     56
    4657@section Background
    4758
     
    178189@item The MPCI layer on the destination node senses the
    179190arrival of a packet (commonly in an ISR), and calls the
    180 @code{@value{DIRPREFIX}multiprocessing_announce}
     191@code{rtems_multiprocessing_announce}
    181192directive.  This directive readies the Multiprocessing Server.
    182193
     
    187198@item The MPCI layer on the originating node senses the
    188199arrival of a packet (typically via an interrupt), and calls the RTEMS
    189 @code{@value{DIRPREFIX}multiprocessing_announce} directive.  This directive
     200@code{rtems_multiprocessing_announce} directive.  This directive
    190201readies the Multiprocessing Server.
    191202
     
    285296real-time clock ISR can check for the arrival of a packet.  In
    286297any case, the
    287 @code{@value{DIRPREFIX}multiprocessing_announce} directive must be called
     298@code{rtems_multiprocessing_announce} directive must be called
    288299to announce the arrival of a packet.  After exiting the ISR,
    289300control will be passed to the Multiprocessing Server to process
     
    295306
    296307The INITIALIZATION component of the user-provided
    297 MPCI layer is called as part of the @code{@value{DIRPREFIX}initialize_executive}
     308MPCI layer is called as part of the @code{rtems_initialize_executive}
    298309directive to initialize the MPCI layer and associated hardware.
    299310It is invoked immediately after all of the device drivers have
     
    301312following prototype:
    302313
    303 @ifset is-C
    304314@findex rtems_mpci_entry
    305315@example
     
    309319);
    310320@end group
    311 @end example
    312 @end ifset
    313 
    314 @ifset is-Ada
    315 @example
    316 procedure User_MPCI_Initialization (
    317    Configuration : in     RTEMS.Configuration_Table_Pointer
    318 );
    319321@end example
    320322@end ifset
     
    340342following prototype:
    341343
    342 @ifset is-C
    343344@example
    344345@group
     
    347348);
    348349@end group
    349 @end example
    350 @end ifset
    351 
    352 @ifset is-Ada
    353 @example
    354 procedure User_MPCI_Get_Packet (
    355    Packet : access RTEMS.Packet_Prefix_Pointer
    356 );
    357350@end example
    358351@end ifset
     
    377370following prototype:
    378371
    379 @ifset is-C
    380372@example
    381373@group
     
    384376);
    385377@end group
    386 @end example
    387 @end ifset
    388 
    389 @ifset is-Ada
    390 @example
    391 procedure User_MPCI_Return_Packet (
    392    Packet : in     RTEMS.Packet_Prefix_Pointer
    393 );
    394378@end example
    395379@end ifset
     
    406390following prototype:
    407391
    408 @ifset is-C
    409392@example
    410393@group
     
    413396);
    414397@end group
    415 @end example
    416 @end ifset
    417 
    418 @ifset is-Ada
    419 @example
    420 procedure User_MPCI_Receive_Packet (
    421    Packet : access RTEMS.Packet_Prefix_Pointer
    422 );
    423398@end example
    424399@end ifset
     
    437412following prototype:
    438413
    439 @ifset is-C
    440414@example
    441415@group
     
    445419);
    446420@end group
    447 @end example
    448 @end ifset
    449 
    450 @ifset is-Ada
    451 @example
    452 procedure User_MPCI_Send_Packet (
    453    Node   : in     RTEMS.Unsigned32;
    454    Packet : access RTEMS.Packet_Prefix_Pointer
    455 );
    456421@end example
    457422@end ifset
     
    469434@c XXX packet_prefix structure needs to be defined in this document
    470435Many MPCI layers use the @code{packet_length} field of the
    471 @code{@value{DIRPREFIX}packet_prefix} portion
     436@code{rtems_packet_prefix} portion
    472437of the packet to avoid sending unnecessary data.  This is especially
    473438useful if the media connecting the nodes is relatively slow.
    474439
    475440The to_convert field of the MP_packet_prefix portion of the packet indicates
    476 how much of the packet (in @code{@value{DIRPREFIX}unsigned32}'s) may require
     441how much of the packet (in @code{rtems_unsigned32}'s) may require
    477442conversion in a heterogeneous system.
    478443
     
    565530@subsection Announcing a Packet
    566531
    567 The @code{@value{DIRPREFIX}multiprocessing_announce} directive is called by
     532The @code{rtems_multiprocessing_announce} directive is called by
    568533the MPCI layer to inform RTEMS that a packet has arrived from
    569534another node.  This directive can be called from an interrupt
     
    595560@end ifset
    596561
    597 @ifset is-Ada
    598 @example
    599 procedure Multiprocessing_Announce;
    600 @end example
    601 @end ifset
    602 
    603562@subheading DIRECTIVE STATUS CODES:
    604563
  • doc/user/msg.t

    r0c62889 rf68a8bf3  
    232232rtems_status_code rtems_message_queue_create(
    233233  rtems_name        name,
    234   rtems_unsigned32  count,
    235   rtems_unsigned32  max_message_size,
     234  uint32_t          count,
     235  uint32_t          max_message_size,
    236236  rtems_attribute   attribute_set,
    237237  rtems_id         *id
     
    324324@example
    325325rtems_status_code rtems_message_queue_ident(
    326   rtems_name        name,
    327   rtems_unsigned32  node,
    328   rtems_id         *id
     326  rtems_name  name,
     327  uint32_t    node,
     328  rtems_id   *id
    329329);
    330330@end example
     
    455455@example
    456456rtems_status_code rtems_message_queue_send(
    457   rtems_id           id,
    458   void              *buffer,
    459   rtems_unsigned32   size
     457  rtems_id  id,
     458  void     *buffer,
     459  size_t    size
    460460);
    461461@end example
     
    520520@example
    521521rtems_status_code rtems_message_queue_urgent(
    522   rtems_id           id,
    523   void              *buffer,
    524   rtems_unsigned32   size
     522  rtems_id  id,
     523  void     *buffer,
     524  size_t    size
    525525);
    526526@end example
     
    586586@example
    587587rtems_status_code rtems_message_queue_broadcast(
    588   rtems_id           id,
    589   void              *buffer,
    590   rtems_unsigned32   size,
    591   rtems_unsigned32 *count
     588  rtems_id  id,
     589  void     *buffer,
     590  size_t    size,
     591  uint32_t *count
    592592);
    593593@end example
     
    657657@example
    658658rtems_status_code rtems_message_queue_receive(
    659   rtems_id           id,
    660   void              *buffer,
    661   rtems_unsigned32  *size,
    662   rtems_unsigned32   option_set,
    663   rtems_interval     timeout
     659  rtems_id        id,
     660  void           *buffer,
     661  size_t         *size,
     662  uint32_t        option_set,
     663  rtems_interval  timeout
    664664);
    665665@end example
     
    751751@example
    752752rtems_status_code rtems_message_queue_get_number_pending(
    753   rtems_id          id,
    754   rtems_unsigned32 *count
     753  rtems_id  id,
     754  uint32_t *count
    755755);
    756756@end example
     
    800800@example
    801801rtems_status_code rtems_message_queue_flush(
    802   rtems_id          id,
    803   rtems_unsigned32 *count
     802  rtems_id  id,
     803  uint32_t *count
    804804);
    805805@end example
  • doc/user/part.t

    r0c62889 rf68a8bf3  
    145145@example
    146146rtems_status_code rtems_partition_create(
    147   rtems_name        name,
    148   void             *starting_address,
    149   rtems_unsigned32  length,
    150   rtems_unsigned32  buffer_size,
    151   rtems_attribute   attribute_set,
    152   rtems_id         *id
     147  rtems_name       name,
     148  void            *starting_address,
     149  uint32_t         length,
     150  uint32_t         buffer_size,
     151  rtems_attribute  attribute_set,
     152  rtems_id        *id
    153153);
    154154@end example
     
    240240@example
    241241rtems_status_code rtems_partition_ident(
    242   rtems_name        name,
    243   rtems_unsigned32  node,
    244   rtems_id         *id
     242  rtems_name  name,
     243  uint32_t    node,
     244  rtems_id   *id
    245245);
    246246@end example
  • doc/user/region.t

    r0c62889 rf68a8bf3  
    246246@example
    247247rtems_status_code rtems_region_create(
    248   rtems_name        name,
    249   void             *starting_address,
    250   rtems_unsigned32  length,
    251   rtems_unsigned32  page_size,
    252   rtems_attribute   attribute_set,
    253   rtems_id         *id
     248  rtems_name       name,
     249  void            *starting_address,
     250  uint32_t         length,
     251  uint32_t         page_size,
     252  rtems_attribute  attribute_set,
     253  rtems_id        *id
    254254);
    255255@end example
     
    432432@example
    433433rtems_status_code rtems_region_extend(
    434   rtems_id            id,
    435   void               *starting_address,
    436   rtems_unsigned32    length
     434  rtems_id  id,
     435  void     *starting_address,
     436  uint32_t  length
    437437);
    438438@end example
     
    484484@example
    485485rtems_status_code rtems_region_get_segment(
    486   rtems_id            id,
    487   rtems_unsigned32    size,
    488   rtems_option        option_set,
    489   rtems_interval      timeout,
    490   void              **segment
     486  rtems_id         id,
     487  uint32_t         size,
     488  rtems_option     option_set,
     489  rtems_interval   timeout,
     490  void           **segment
    491491);
    492492@end example
     
    638638@example
    639639rtems_status_code rtems_region_get_segment_size(
    640   rtems_id            id,
    641   void               *segment,
    642   rtems_unsigned32   *size
     640  rtems_id  id,
     641  void     *segment,
     642  size_t   *size
    643643);
    644644@end example
  • doc/user/rtmon.t

    r0c62889 rf68a8bf3  
    11501150typedef struct @{
    11511151  rtems_rate_monotonic_period_states  state;
    1152   rtems_unsigned32                    ticks_since_last_period;
    1153   rtems_unsigned32                    ticks_executed_since_last_period;
     1152  uint32_t                            ticks_since_last_period;
     1153  uint32_t                            ticks_executed_since_last_period;
    11541154@}  rtems_rate_monotonic_period_status;
    11551155@end example
     
    11601160type Rate_Monotonic_Period_Status is
    11611161   begin
    1162       State                    : RTEMS.Rate_Monotonic_Period_States;
    1163       Ticks_Since_Last_Period  : RTEMS.Unsigned32;
     1162      State                            : RTEMS.Rate_Monotonic_Period_States;
     1163      Ticks_Since_Last_Period          : RTEMS.Unsigned32;
    11641164      Ticks_Executed_Since_Last_Period : RTEMS.Unsigned32;
    11651165   end record;
  • doc/user/sem.t

    r0c62889 rf68a8bf3  
    387387rtems_status_code rtems_semaphore_create(
    388388  rtems_name           name,
    389   rtems_unsigned32     count,
     389  uint32_t             count,
    390390  rtems_attribute      attribute_set,
    391391  rtems_task_priority  priority_ceiling,
     
    499499@example
    500500rtems_status_code rtems_semaphore_ident(
    501   rtems_name        name,
    502   rtems_unsigned32  node,
    503   rtems_id         *id
     501  rtems_name  name,
     502  uint32_t    node,
     503  rtems_id   *id
    504504);
    505505@end example
     
    627627@example
    628628rtems_status_code rtems_semaphore_obtain(
    629   rtems_id         id,
    630   rtems_unsigned32 option_set,
    631   rtems_interval   timeout
     629  rtems_id        id,
     630  uint32_t        option_set,
     631  rtems_interval  timeout
    632632);
    633633@end example
  • doc/user/task.t

    r0c62889 rf68a8bf3  
    690690  rtems_name           name,
    691691  rtems_task_priority  initial_priority,
    692   rtems_unsigned32     stack_size,
     692  size_t               stack_size,
    693693  rtems_mode           initial_modes,
    694694  rtems_attribute      attribute_set,
     
    802802@example
    803803rtems_status_code rtems_task_ident(
    804   rtems_name        name,
    805   rtems_unsigned32  node,
    806   rtems_id         *id
     804  rtems_name  name,
     805  uint32_t    node,
     806  rtems_id   *id
    807807);
    808808@end example
     
    14161416@example
    14171417rtems_status_code rtems_task_get_note(
    1418   rtems_id          id,
    1419   rtems_unsigned32  notepad,
    1420   rtems_unsigned32 *note
     1418  rtems_id  id,
     1419  uint32_t  notepad,
     1420  uint32_t *note
    14211421);
    14221422@end example
     
    14731473@example
    14741474rtems_status_code rtems_task_set_note(
    1475   rtems_id         id,
    1476   rtems_unsigned32 notepad,
    1477   rtems_unsigned32 note
     1475  rtems_id  id,
     1476  uint32_t notepad,
     1477  uint32_t note
    14781478);
    14791479@end example
     
    15621562
    15631563The maximum timer interval that can be specified is the maximum
    1564 value which can be represented by the rtems_unsigned32 type.
     1564value which can be represented by the uint32_t type.
    15651565
    15661566A clock tick is required to support the functionality of this directive.
  • doc/user/timer.t

    r0c62889 rf68a8bf3  
    516516@example
    517517rtems_status_code rtems_timer_initiate_server(
    518   rtems_unsigned32     priority,
    519   rtems_unsigned32     stack_size,
    520   rtems_attribute      attribute_set
     518  uint32_t         priority,
     519  uint32_t         stack_size,
     520  rtems_attribute  attribute_set
    521521)
    522522);
Note: See TracChangeset for help on using the changeset viewer.