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