meta, C++


/* Module >>   en.h

   *****************************************************************************

   Authors     GRT

*/

#include <errno.h>

/* -----------------------------------------------------------------------------

   Zuerst alle durchs Basissystem definierten Nummern ( 0 <= errno < 500

   oder  errno > 16000 ):

   In Sourcen des zu erstellenden Systems VERTKON verwende man stets nur

   die sprechenden Identifier EN_... (also  n i c h t  die des Basissystems).

   Dies macht den Code portabel und besser lesbar. Insbesondere kann in die

   Fehlerdiagnose-Daten dann statt des Nummerncodes die weit sprechendere auf

   EN_ folgende Bezeichnung des Fehlers gerschrieben werden.

   -----------------------------------------------------------------------------

*/

#define EN_ok                                 0   // muss 0 sein

#define EN_no_such_file                      ENOENT

#define EN_no_such_dir                       ENOTDIR

#define EN_too_many_open_files               EMFILE

#define EN_access_to_file_denied             EACCES

//  wenn die Zugriffsrechte fuer den beabsichtigten Zugriff auf             //  Daten nicht ausreichen oder wenn die Datei in einem Modus             

#define EN_not_an_open_file                  EBADF

#define EN_invalid_argument                  EINVAL
// #define   XN_arena_thrashed                    EARENA

#define EN_not_enough_core                   ENOMEM
// #define   XN_invalid_memory_address            ESEGV
// #define   XN_invalid_environment               EBADENV

#define EN_no_such_device                    ENODEV

#define EN_argument_list_too_long            E2BIG

#define EN_exec_format_error                 ENOEXEC

#define EN_cross_device_link                 EXDEV

#define EN_math_argument                     EDOM

#define EN_result_too_large                  ERANGE

#define EN_file_already_exists               EEXIST

// Die Semantik folgender DMLERR_... Nummern ist dem Microsoft             // Handbuch "SDK Programmer's Reference", Vol.2, s.177-179             

#define EN_DMLERR_ok                     DMLERR_NO_ERROR

#define EN_DMLERR_invalid_parameter      DMLERR_INVALIDPARAMETER

#define EN_DMLERR_sys_error              DMLERR_SYS_ERROR

#define EN_DMLERR_data_ack_timeout       DMLERR_DATAACKTIMEOUT

#define EN_DMLERR_exec_ack_timeout       DMLERR_EXECACKTIMEOUT

#define EN_DMLERR_poke_ack_timeout       DMLERR_POKEACKTIMEOUT

#define EN_DMLERR_adv_ack_timeout        DMLERR_ADVACKTIMEOUT

#define EN_DMLERR_unadv_ack_timeout      DMLERR_UNADVACKTIMEOUT

#define EN_DMLERR_dll_not_initialized    DMLERR_DLL_NOT_INITIALIZED

#define EN_DMLERR_busy                   DMLERR_BUSY

#define EN_DMLERR_memory_error           DMLERR_MEMORY_ERROR

#define EN_DMLERR_no_conv_established    DMLERR_NO_CONV_ESTABLISHED

#define EN_DMLERR_not_processed          DMLERR_NOTPROCESSED

#define EN_DMLERR_postmsg_failed         DMLERR_POSTMSG_FAILED

#define EN_DMLERR_reentrancy             DMLERR_REENTRANCY

#define EN_DMLERR_server_died            DMLERR_SERVER_DIED

#define EN_DMLERR_queue_id_not_found     DMLERR_UNFOUND_QUEUE_ID

// Die Semantik der DMLERR_... Nummern ist dem Microsoft             // Handbuch "SDK Programmer's Reference", Vol.2, s.177-179             // zu entnehmen.

/* -----------------------------------------------------------------------------

   Nun durch den Produktverwalter konsoldierte Nummern ( 500 <= errno < 1000 ):

   -----------------------------------------------------------------------------

*/

#define EN_syserror                          500

//  wenn das System einen nicht weiter spezifizierbaren Fehler             

#define EN_no_space                          501

//  wenn in einer Variablen ist nicht genug Platz ist             

#define EN_not_found                         502

//  wenn auf etwas zugegriffen werden soll, das nicht             //  existiert (bei Dateien und Directories verwnde man jedoch             

#define EN_exists                            503

#define EN_stack_too_deep                    504

#define EN_no_check_method                   505

//  wenn eine Subklasse von 'mit_STandard_Services' die Methode             

#define EN_no_trace_method                   506

//  wenn eine Subklasse von 'EStandardServices' die Methode             

#define EN_infinite_loop                     507

#define EN_cannot_create_trace_file          508

#define EN_NULL_pointer                      509

#define EN_not_a_path                        510

#define EN_such_access_to_file_not_allowed   511

#define EN_invalid_file_descriptor           512

#define EN_cannot_remove_current_dir         513

#define EN_directory_full                    514

#define EN_seek_failure                      515

#define EN_hard_IO_failure                   516

#define EN_sharing_violation                 517

#define EN_lock_violation                    518

#define EN_disk_full                         519

#define EN_end_of_file                       520

#define EN_unspecified_exception             521

#define EN_unspecified_file_exception        522

#define EN_unspecified_archive_exception     523

#define EN_archive_is_read_only              524

#define EN_archive_is_write_only             525

#define EN_end_of_archive                    526

#define EN_archive_bad_index                 527

#define EN_archive_bad_schema                528

#define EN_archive_not_for_such_data         529

#define EN_memory_exception                  530

#define EN_unsupported_exception             531

#define EN_OLE_exception                     532

#define EN_user_exception                    533

#define EN_resource_allocation_failure       534

#define EN_cannot_create_exception           535

#define EN_corrupted_data                    536

//  wenn Daten nicht mehr so vorgefunden werden, wie man sie             

#define EN_deleted_again                     537

//  wenn ein Element des Heaps mittels 'delete' irrtuemlich mehr             

#define EN_still_allocated_items             538

#define EN_invalid_parameter                 539

#define EN_no_out_method                     540

//  wenn eine Subklasse von 'EStandardServices' die Methode             

#define EN_path_to_ordinary_file             541

//  wenn ein Directory erzeugt werden soll, wo schon eine ganz             

#define EN_too_many_error_files              542

//  The TRACE_DIR contains already too many files *.err - the             //  new one can therefore not be created. Delete some or all of             

#define EN_not_yet_created                   543

#define EN_storage_corrupted                 544

#define EN_abnormal_termination              545

#define EN_floating_point_error              546

#define EN_illegal_instruction               547

#define EN_segmentation_violation            548

#define EN_Ctrl_C_pressed                    549

#define EN_unknown_signal                    550

/* -----------------------------------------------------------------------------

   Nun provisorisch vergebene Nummern. Sie werden durch den Produktverwalter

   konsolidiert. Bevor dies geschehen ist, ordnen sie sich ein in bearbeiter-

   spezifische Nummernkreise ausgelagert in personenbezogene Dateien

                        include "en_<USER_ID>.h"

   Jede solche Nummernkreis beinhaltet die jeweils n„chsten 200 Nummern:

   -----------------------------------------------------------------------------

*/

#include en_lec.h

#endif 

top . C++
Include-structure of
todir / en.h

.   en_lec.h

1 include files
top . is_inc_for . C++