home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / ixemul-45.0-src.tgz / tar.out / contrib / ixemul / library / ix_settings.c < prev    next >
C/C++ Source or Header  |  1996-10-01  |  2KB  |  61 lines

  1. #define _KERNEL
  2. #include <ixemul.h>
  3. #include "version.h"
  4.  
  5. long ix_get_gmt_offset(void)
  6. {
  7.   return ix.ix_gmt_offset;
  8. }
  9.  
  10. void ix_set_gmt_offset(long offset)
  11. {
  12.   ix.ix_gmt_offset = offset;
  13. }
  14.  
  15. struct ix_settings *ix_get_settings(void)
  16. {
  17.   static struct ix_settings settings;
  18.  
  19.   settings.version = IX_VERSION;
  20.   settings.revision = IX_REVISION;
  21.   settings.flags = ix.ix_flags;
  22.   settings.membuf_limit = ix.ix_membuf_limit;
  23.   settings.red_zone_size = 0; /* obsolete */
  24.   settings.fs_buf_factor = ix.ix_fs_buf_factor;
  25.   settings.network_type = ix.ix_network_type;
  26.   return &settings;
  27. }
  28.  
  29. struct ix_settings *ix_get_default_settings(void)
  30. {
  31.   static struct ix_settings default_settings =
  32.   {
  33.     IX_VERSION,
  34.     IX_REVISION,
  35.     ix_translate_slash | ix_no_insert_disk_requester | ix_allow_amiga_wildcard,
  36.     0,            /* membuf_limit  */
  37.     0,            /* red_zone_size */
  38.     64,            /* fs_buf_factor */
  39.     IX_NETWORK_AUTO    /* network_type */
  40.   };
  41.  
  42.   return &default_settings;
  43. }
  44.  
  45. void ix_set_settings(struct ix_settings *settings)
  46. {
  47.   if (ix.ix_flags & ix_do_not_flush_library)
  48.     if (!(settings->flags & ix_do_not_flush_library))
  49.       ix.ix_lib.lib_OpenCnt--;
  50.   if (!(ix.ix_flags & ix_do_not_flush_library))
  51.     if (settings->flags & ix_do_not_flush_library)
  52.       ix.ix_lib.lib_OpenCnt++;
  53.   ix.ix_flags = settings->flags;
  54.   if (settings->membuf_limit >= 0)
  55.     ix.ix_membuf_limit = settings->membuf_limit;
  56.   if (settings->fs_buf_factor > 0)
  57.     ix.ix_fs_buf_factor = settings->fs_buf_factor;
  58.   if (settings->network_type >= 0 && settings->network_type < IX_NETWORK_END_OF_ENUM)
  59.     ix.ix_network_type = settings->network_type;
  60. }
  61.