Changeset b06e68ef in rtems for c/src/exec/sapi/headers


Ignore:
Timestamp:
08/17/95 19:51:51 (29 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:
c/src/exec/sapi/headers
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • c/src/exec/sapi/headers/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
  • c/src/exec/sapi/headers/directives.h

    r3b438fa rb06e68ef  
    1111 *  to the copyright license under the clause at DFARS 252.227-7013.  This
    1212 *  notice must appear in all copies of this file and its derivatives.
     13 *
     14 *  $Id$
    1315 */
    1416
    1517#ifndef __RTEMS_DIRECTIVES_h
    16 #define RTEMS___DIRECTIVES_h
     18#define __RTEMS_DIRECTIVES_h
    1719
    1820#ifdef __cplusplus
     
    8688#define RTEMS_DUAL_PORTED_MEMORY_INTERNAL_TO_EXTERNAL   64
    8789#define RTEMS_IO_INITIALIZE                             65
    88 #define RTEMS_IO_OPEN                                   66
    89 #define RTEMS_IO_CLOSE                                  67
    90 #define RTEMS_IO_READ                                   68
    91 #define RTEMS_IO_WRITE                                  69
    92 #define RTEMS_IO_CONTROL                                70
    93 #define RTEMS_FATAL_ERROR_OCCURRED                      71
    94 #define RTEMS_RATE_MONOTONIC_CREATE                     72
    95 #define RTEMS_RATE_MONOTONIC_NAME_TO_ID                 73
    96 #define RTEMS_RATE_MONOTONIC_DELETE                     74
    97 #define RTEMS_RATE_MONOTONIC_CANCEL                     75
    98 #define RTEMS_RATE_MONOTONIC_PERIOD                     76
    99 #define RTEMS_MULTIPROCESSING_ANNOUNCE                  77
    100 #define RTEMS_DEBUG_ENABLE                              78
    101 #define RTEMS_DEBUG_DISABLE                             79
     90#define RTEMS_IO_REGISTER_NAME                          66
     91#define RTEMS_IO_LOOKUP_NAME                            67
     92#define RTEMS_IO_OPEN                                   68
     93#define RTEMS_IO_CLOSE                                  69
     94#define RTEMS_IO_READ                                   70
     95#define RTEMS_IO_WRITE                                  71
     96#define RTEMS_IO_CONTROL                                72
     97#define RTEMS_FATAL_ERROR_OCCURRED                      73
     98#define RTEMS_RATE_MONOTONIC_CREATE                     74
     99#define RTEMS_RATE_MONOTONIC_NAME_TO_ID                 75
     100#define RTEMS_RATE_MONOTONIC_DELETE                     76
     101#define RTEMS_RATE_MONOTONIC_CANCEL                     77
     102#define RTEMS_RATE_MONOTONIC_PERIOD                     78
     103#define RTEMS_MULTIPROCESSING_ANNOUNCE                  79
     104#define RTEMS_DEBUG_ENABLE                              80
     105#define RTEMS_DEBUG_DISABLE                             81
     106
     107#define RTEMS_NUMBER_OF_ENTRY_POINTS                    82
    102108
    103109#ifdef __cplusplus
  • c/src/exec/sapi/headers/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>
  • c/src/exec/sapi/headers/sptables.h

    r3b438fa rb06e68ef  
    5050 */
    5151
    52 const void * _Entry_points[ NUMBER_OF_ENTRY_POINTS + 1 ] = {
     52const void * _Entry_points[ RTEMS_NUMBER_OF_ENTRY_POINTS ] = {
    5353  (void *) rtems_initialize_executive,                      /*  0 */
    5454  (void *) rtems_initialize_executive_early,                /*  1 */
     
    117117  (void *) rtems_port_internal_to_external,                 /* 64 */
    118118  (void *) rtems_io_initialize,                             /* 65 */
    119   (void *) rtems_io_open,                                   /* 66 */
    120   (void *) rtems_io_close,                                  /* 67 */
    121   (void *) rtems_io_read,                                   /* 68 */
    122   (void *) rtems_io_write,                                  /* 69 */
    123   (void *) rtems_io_control,                                /* 70 */
    124   (void *) rtems_fatal_error_occurred,                      /* 71 */
    125   (void *) rtems_rate_monotonic_create,                     /* 72 */
    126   (void *) rtems_rate_monotonic_ident,                      /* 73 */
    127   (void *) rtems_rate_monotonic_delete,                     /* 74 */
    128   (void *) rtems_rate_monotonic_cancel,                     /* 75 */
    129   (void *) rtems_rate_monotonic_period,                     /* 76 */
    130   (void *) rtems_multiprocessing_announce,                  /* 77 */
    131   (void *) rtems_debug_enable,                              /* 78 */
    132   (void *) rtems_debug_disable                              /* 79 */
     119  (void *) rtems_io_register_name,                          /* 66 */
     120  (void *) rtems_io_lookup_name,                            /* 67 */
     121  (void *) rtems_io_open,                                   /* 68 */
     122  (void *) rtems_io_close,                                  /* 69 */
     123  (void *) rtems_io_read,                                   /* 70 */
     124  (void *) rtems_io_write,                                  /* 71 */
     125  (void *) rtems_io_control,                                /* 72 */
     126  (void *) rtems_fatal_error_occurred,                      /* 73 */
     127  (void *) rtems_rate_monotonic_create,                     /* 74 */
     128  (void *) rtems_rate_monotonic_ident,                      /* 75 */
     129  (void *) rtems_rate_monotonic_delete,                     /* 76 */
     130  (void *) rtems_rate_monotonic_cancel,                     /* 77 */
     131  (void *) rtems_rate_monotonic_period,                     /* 78 */
     132  (void *) rtems_multiprocessing_announce,                  /* 79 */
     133  (void *) rtems_debug_enable,                              /* 80 */
     134  (void *) rtems_debug_disable                              /* 81 */
    133135};
    134136
Note: See TracChangeset for help on using the changeset viewer.