Changeset b06e68ef in rtems for cpukit/sapi/include


Ignore:
Timestamp:
08/17/95 19:51:51 (28 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, 5, master
Children:
95fbca1
Parents:
3b438fa
Message:

Numerous miscellaneous features incorporated from Tony Bennett
(tbennett@…) including the following major additions:

+ variable length messages
+ named devices
+ debug monitor
+ association tables/variables

Location:
cpukit/sapi/include/rtems
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • cpukit/sapi/include/rtems/config.h

    r3b438fa rb06e68ef  
    3333
    3434typedef struct {
    35   Objects_Name       name;              /* task name */
    36   unsigned32         stack_size;        /* task stack size */
     35  Objects_Name          name;              /* task name */
     36  unsigned32            stack_size;        /* task stack size */
    3737  rtems_task_priority   initial_priority;  /* task priority */
    38   rtems_attribute attribute_set;     /* task attributes */
    39   rtems_task_entry       entry_point;       /* task entry point */
    40   rtems_mode      mode_set;          /* task initial mode */
    41   unsigned32         argument;          /* task argument */
    42 }   rtems_initialization_tasks_table;
     38  rtems_attribute       attribute_set;     /* task attributes */
     39  rtems_task_entry      entry_point;       /* task entry point */
     40  rtems_mode            mode_set;          /* task initial mode */
     41  unsigned32            argument;          /* task argument */
     42} rtems_initialization_tasks_table;
    4343
    4444/*
     
    5757typedef unsigned32 rtems_device_minor_number;
    5858
    59 typedef void rtems_device_driver;
     59typedef rtems_status_code rtems_device_driver;
    6060
    6161typedef rtems_device_driver ( *rtems_device_driver_entry )(
    6262                 rtems_device_major_number,
    6363                 rtems_device_minor_number,
    64                  void *,
    65                  Objects_Id,
    66                  unsigned32 *
     64                 void *
    6765             );
    6866
     
    174172typedef struct {
    175173  unsigned32                      default_timeout;        /* in ticks */
     174  unsigned32                      maximum_packet_size;
    176175  rtems_mpci_initialization_entry initialization;
    177176  rtems_mpci_get_packet_entry     get_packet;
     
    179178  rtems_mpci_send_entry           send_packet;
    180179  rtems_mpci_receive_entry        receive_packet;
    181 }  rtems_mpci_table;
     180} rtems_mpci_table;
    182181
    183182/*
     
    193192  unsigned32  maximum_global_objects; /* maximum # global objects */
    194193  unsigned32  maximum_proxies;        /* maximum # proxies */
    195   rtems_mpci_table *User_mpci_table;
    196                                       /* pointer to MPCI table */
     194  rtems_mpci_table *User_mpci_table;  /* pointer to MPCI table */
    197195};
    198196
     
    210208
    211209struct Configuration_Table {
    212   void                                     *work_space_start;
    213   unsigned32                                work_space_size;
    214   unsigned32                                maximum_tasks;
    215   unsigned32                                maximum_timers;
    216   unsigned32                                maximum_semaphores;
    217   unsigned32                                maximum_message_queues;
    218   unsigned32                                maximum_messages;
    219   unsigned32                                maximum_partitions;
    220   unsigned32                                maximum_regions;
    221   unsigned32                                maximum_ports;
    222   unsigned32                                maximum_periods;
    223   unsigned32                                maximum_extensions;
    224   unsigned32                                microseconds_per_tick;
    225   unsigned32                                ticks_per_timeslice;
    226   unsigned32                                number_of_initialization_tasks;
     210  void                             *work_space_start;
     211  unsigned32                        work_space_size;
     212  unsigned32                        maximum_tasks;
     213  unsigned32                        maximum_timers;
     214  unsigned32                        maximum_semaphores;
     215  unsigned32                        maximum_message_queues;
     216  unsigned32                        maximum_partitions;
     217  unsigned32                        maximum_regions;
     218  unsigned32                        maximum_ports;
     219  unsigned32                        maximum_periods;
     220  unsigned32                        maximum_extensions;
     221  unsigned32                        microseconds_per_tick;
     222  unsigned32                        ticks_per_timeslice;
     223  unsigned32                        number_of_initialization_tasks;
    227224  rtems_initialization_tasks_table *User_initialization_tasks_table;
    228   unsigned32                                number_of_device_drivers;
     225  unsigned32                        number_of_device_drivers;
    229226  rtems_driver_address_table       *Device_driver_table;
    230   rtems_extensions_table            *User_extension_table;
     227  rtems_extensions_table           *User_extension_table;
    231228  rtems_multiprocessing_table      *User_multiprocessing_table;
    232229};
     
    245242 */
    246243
    247 EXTERN rtems_configuration_table                 *_Configuration_Table;
     244EXTERN rtems_configuration_table   *_Configuration_Table;
    248245EXTERN rtems_multiprocessing_table *_Configuration_MP_table;
    249246EXTERN rtems_mpci_table            *_Configuration_MPCI_table;
     
    259256
    260257STATIC INLINE void _Configuration_Handler_initialization(
    261   rtems_configuration_table                 *configuration_table,
     258  rtems_configuration_table   *configuration_table,
    262259  rtems_multiprocessing_table *multiprocessing_table,
    263260  rtems_mpci_table            *users_mpci_table
  • cpukit/sapi/include/rtems/io.h

    r3b438fa rb06e68ef  
    3636
    3737/*
    38  *  The following type defines the set of IO operations which are
    39  *  recognized by _IO_Handler and can be supported by a RTEMS
    40  *  device driver.
    41  */
    42 
    43 typedef enum {
    44   IO_INITIALIZE_OPERATION = 0,
    45   IO_OPEN_OPERATION       = 1,
    46   IO_CLOSE_OPERATION      = 2,
    47   IO_READ_OPERATION       = 3,
    48   IO_WRITE_OPERATION      = 4,
    49   IO_CONTROL_OPERATION    = 5
    50 }  IO_operations;
    51 
    52 /*
    5338 *  The following declare the data required to manage the Device Driver
    5439 *  Address Table.
    5540 */
    5641
    57 EXTERN unsigned32                          _IO_Number_of_drivers;
     42EXTERN unsigned32                  _IO_Number_of_drivers;
    5843EXTERN rtems_driver_address_table *_IO_Driver_address_table;
     44
     45/*
     46 * Table for the io device names
     47 */
     48
     49typedef struct {
     50    char                     *device_name;
     51    unsigned32                device_name_length;
     52    rtems_device_major_number major;
     53    rtems_device_minor_number minor;
     54} rtems_driver_name_t;
     55
     56/*XXX this really should be allocated some better way... */
     57/*XXX it should probably be a chain and use a 'maximum' drivers field
     58 * in config table */
     59#define RTEMS_MAX_DRIVER_NAMES 20
     60EXTERN rtems_driver_name_t rtems_driver_name_table[RTEMS_MAX_DRIVER_NAMES];
     61
    5962
    6063/*
     
    7275
    7376/*
     77 *  rtems_io_register_name
     78 *
     79 *  DESCRIPTION:
     80 *
     81 *  Associate a name with a driver.
     82 *
     83 */
     84
     85rtems_status_code rtems_io_register_name(
     86    char *device_name,
     87    rtems_device_major_number major,
     88    rtems_device_minor_number minor
     89);
     90
     91
     92/*
     93 *  rtems_io_lookup_name
     94 *
     95 *  DESCRIPTION:
     96 *
     97 *  Find what driver "owns" this name
     98 */
     99
     100rtems_status_code rtems_io_lookup_name(
     101    const char *pathname,
     102    rtems_driver_name_t **rnp
     103);
     104
     105
     106/*
    74107 *  rtems_io_initialize
    75108 *
     
    83116  rtems_device_major_number  major,
    84117  rtems_device_minor_number  minor,
    85   void             *argument,
    86   unsigned32       *return_value
     118  void             *argument
    87119);
    88120
     
    99131  rtems_device_major_number  major,
    100132  rtems_device_minor_number  minor,
    101   void             *argument,
    102   unsigned32       *return_value
     133  void             *argument
    103134);
    104135
     
    115146  rtems_device_major_number  major,
    116147  rtems_device_minor_number  minor,
    117   void             *argument,
    118   unsigned32       *return_value
     148  void             *argument
    119149);
    120150
     
    131161  rtems_device_major_number  major,
    132162  rtems_device_minor_number  minor,
    133   void             *argument,
    134   unsigned32       *return_value
     163  void             *argument
    135164);
    136165
     
    147176  rtems_device_major_number  major,
    148177  rtems_device_minor_number  minor,
    149   void             *argument,
    150   unsigned32       *return_value
     178  void             *argument
    151179);
    152180
     
    163191  rtems_device_major_number  major,
    164192  rtems_device_minor_number  minor,
    165   void             *argument,
    166   unsigned32       *return_value
     193  void             *argument
    167194);
    168195
     
    177204
    178205void _IO_Initialize_all_drivers( void );
    179 
    180 /*
    181  *  _IO_Handler_routine
    182  *
    183  *  DESCRIPTION:
    184  *
    185  *  This routine provides the common foundation for all of the IO
    186  *  Manager's directives.
    187  */
    188 
    189 rtems_status_code _IO_Handler_routine(
    190   IO_operations              operation,
    191   rtems_device_major_number  major,
    192   rtems_device_minor_number  minor,
    193   void                      *argument,
    194   unsigned32                *return_value
    195 );
    196206
    197207#include <rtems/io.inl>
Note: See TracChangeset for help on using the changeset viewer.