"Fossies" - the Fresh Open Source Software Archive

Member "xorriso-1.5.4/libburn/os-linux.h" (30 Jan 2021, 2646 Bytes) of package /linux/misc/xorriso-1.5.4.pl02.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "os-linux.h" see the Fossies "Dox" file reference documentation.

    1 
    2 /* os-linux.h
    3    Operating system specific libburn definitions and declarations. Included
    4    by os.h in case of compilation for
    5            Linux kernels 2.4 and 2.6, GNU/Linux SCSI Generic (sg)
    6 
    7    Copyright (C) 2006 - 2013 Thomas Schmitt <scdbackup@gmx.net>
    8    Provided under GPL version 2 or later.
    9 */
   10 
   11 
   12 /** List of all signals which shall be caught by signal handlers and trigger
   13     a graceful abort of libburn. (See man 7 signal.)
   14 */
   15 /* Once as system defined macros */
   16 #define BURN_OS_SIGNAL_MACRO_LIST \
   17  SIGHUP, SIGINT, SIGQUIT, SIGILL, SIGABRT, \
   18  SIGFPE, SIGSEGV, SIGPIPE, SIGALRM, SIGTERM, \
   19  SIGUSR1, SIGUSR2, SIGXCPU, SIGBUS, SIGPOLL, \
   20  SIGPROF, SIGSYS, SIGTRAP, SIGVTALRM, SIGXCPU, \
   21  SIGXFSZ
   22 
   23 /* Once as text 1:1 list of strings for messages and interpreters */
   24 #define BURN_OS_SIGNAL_NAME_LIST \
   25  "SIGHUP", "SIGINT", "SIGQUIT", "SIGILL", "SIGABRT", \
   26  "SIGFPE", "SIGSEGV", "SIGPIPE", "SIGALRM", "SIGTERM", \
   27  "SIGUSR1", "SIGUSR2", "SIGXCPU", "SIGBUS", "SIGPOLL", \
   28  "SIGPROF", "SIGSYS", "SIGTRAP", "SIGVTALRM", "SIGXCPU", \
   29  "SIGXFSZ"
   30 
   31 /* The number of above list items */
   32 #define BURN_OS_SIGNAL_COUNT 21
   33 
   34 /** To list all signals which shall surely not be caught */
   35 #define BURN_OS_NON_SIGNAL_MACRO_LIST \
   36 SIGKILL, SIGCHLD, SIGSTOP, SIGTSTP, SIGCONT, SIGURG, SIGWINCH, SIGTTIN, SIGTTOU
   37 
   38 /* The number of above list items */
   39 #define BURN_OS_NON_SIGNAL_COUNT 9
   40 
   41 
   42 /* The maximum size for a (SCSI) i/o transaction */
   43 /* Important : MUST be at least 32768 ! */
   44 /* ts A70523 : >32k seems not good with kernel 2.4 USB drivers and audio
   45    #define BURN_OS_TRANSPORT_BUFFER_SIZE 32768
   46 */
   47 /* ts A80414 : curbed in write.c CD media to Libburn_cd_obS = 32 kiB
   48                re-enlarged transport to 64 kiB for BD-RE experiments
   49 */
   50 #define BURN_OS_TRANSPORT_BUFFER_SIZE 65536
   51 
   52 
   53 /* To hold the position of the most recently delivered address from
   54    device enumeration.
   55 */
   56 struct burn_drive_enumerator_struct {
   57     int pos;
   58     int info_count;
   59     char **info_list;
   60 };
   61 
   62 #define BURN_OS_DEFINE_DRIVE_ENUMERATOR_T \
   63 typedef struct burn_drive_enumerator_struct burn_drive_enumerator_t;
   64 
   65 
   66 /* Parameters for sibling list. See sibling_fds, sibling_fnames */
   67 #define BURN_OS_SG_MAX_SIBLINGS 5
   68 #define BURN_OS_SG_MAX_NAMELEN 16
   69 
   70 /* The list of operating system dependent elements in struct burn_drive.
   71    Usually they are initialized in  sg-*.c:enumerate_common().
   72 */
   73 #define BURN_OS_TRANSPORT_DRIVE_ELEMENTS \
   74 int fd; \
   75  \
   76 /* ts A60926 : trying to lock against growisofs /dev/srN, /dev/scdN */ \
   77 int sibling_count; \
   78 int sibling_fds[BURN_OS_SG_MAX_SIBLINGS]; \
   79 /* ts A70409 : DDLP */ \
   80 char sibling_fnames[BURN_OS_SG_MAX_SIBLINGS][BURN_OS_SG_MAX_NAMELEN];
   81