_wapi_error_cleanup ()
{
  unsigned int error_key.0;
  _Bool D.10688;
  long int D.10689;
  long int D.10690;
  int ret;

  error_key.0 = error_key;
  ret = pthread_key_delete (error_key.0);
  D.10688 = ret != 0;
  D.10689 = (long int) D.10688;
  D.10690 = __builtin_expect (D.10689, 0);
  if (D.10690 != 0) goto <D.10691>; else goto <D.10692>;
  <D.10691>:
  monoeg_assertion_message ("* Assertion at %s:%d, condition `%s\' not met\n", "error.c", 35, "ret == 0");
  <D.10692>:
}


GetLastError ()
{
  int _wapi_has_shut_down.1;
  guint32 D.10696;
  unsigned int error_key.2;
  guint32 err;
  void * errptr;

  _wapi_has_shut_down.1 = _wapi_has_shut_down;
  if (_wapi_has_shut_down.1 != 0) goto <D.10694>; else goto <D.10695>;
  <D.10694>:
  D.10696 = 0;
  return D.10696;
  <D.10695>:
  mono_once (&error_key_once, error_init);
  error_key.2 = error_key;
  errptr = pthread_getspecific (error_key.2);
  err = (guint32) errptr;
  D.10696 = err;
  return D.10696;
}


error_init ()
{
  _Bool D.10699;
  long int D.10700;
  long int D.10701;
  int ret;

  ret = pthread_key_create (&error_key, 0B);
  D.10699 = ret != 0;
  D.10700 = (long int) D.10699;
  D.10701 = __builtin_expect (D.10700, 0);
  if (D.10701 != 0) goto <D.10702>; else goto <D.10703>;
  <D.10702>:
  monoeg_assertion_message ("* Assertion at %s:%d, condition `%s\' not met\n", "error.c", 27, "ret == 0");
  <D.10703>:
}


SetLastError (guint32 code)
{
  int _wapi_has_shut_down.3;
  unsigned int error_key.4;
  const void * code.5;
  _Bool D.10709;
  long int D.10710;
  long int D.10711;
  int ret;

  _wapi_has_shut_down.3 = _wapi_has_shut_down;
  if (_wapi_has_shut_down.3 != 0) goto <D.10705>; else goto <D.10706>;
  <D.10705>:
  return;
  <D.10706>:
  mono_once (&error_key_once, error_init);
  error_key.4 = error_key;
  code.5 = (const void *) code;
  ret = pthread_setspecific (error_key.4, code.5);
  D.10709 = ret != 0;
  D.10710 = (long int) D.10709;
  D.10711 = __builtin_expect (D.10710, 0);
  if (D.10711 != 0) goto <D.10712>; else goto <D.10713>;
  <D.10712>:
  monoeg_assertion_message ("* Assertion at %s:%d, condition `%s\' not met\n", "error.c", 75, "ret == 0");
  <D.10713>:
}


errno_to_WSA (guint32 code, const gchar * function_name)
{
  int code.6;
  unsigned int D.10716;
  int D.10717;
  guint32 D.10720;
  gint result;
  char * sys_error;
  gchar * msg;
  static const char __func__[13] = "errno_to_WSA";

  result = -1;
  switch (code) <default: <D.10653>, case 0: <D.10614>, case 1: <D.10641>, case 2: <D.10648>, case 4: <D.10627>, case 9: <D.10620>, case 11: <D.10646>, case 12: <D.10634>, case 13: <D.10616>, case 14: <D.10624>, case 19: <D.10652>, case 22: <D.10628>, case 24: <D.10630>, case 25: <D.10639>, case 32: <D.10642>, case 63: <D.10636>, case 88: <D.10638>, case 89: <D.10649>, case 90: <D.10631>, case 92: <D.10635>, case 93: <D.10643>, case 94: <D.10644>, case 95: <D.10640>, case 97: <D.10618>, case 98: <D.10617>, case 99: <D.10647>, case 100: <D.10651>, case 101: <D.10632>, case 103: <D.10621>, case 104: <D.10623>, case 105: <D.10633>, case 106: <D.10629>, case 107: <D.10637>, case 110: <D.10645>, case 111: <D.10622>, case 112: <D.10650>, case 113: <D.10625>, case 114: <D.10619>, case 115: <D.10626>>
  <D.10614>:
  result = 0;
  goto <D.10615>;
  <D.10616>:
  result = 10013;
  goto <D.10615>;
  <D.10617>:
  result = 10048;
  goto <D.10615>;
  <D.10618>:
  result = 10047;
  goto <D.10615>;
  <D.10619>:
  result = 10037;
  goto <D.10615>;
  <D.10620>:
  result = 10038;
  goto <D.10615>;
  <D.10621>:
  result = 10050;
  goto <D.10615>;
  <D.10622>:
  result = 10061;
  goto <D.10615>;
  <D.10623>:
  result = 10054;
  goto <D.10615>;
  <D.10624>:
  result = 10014;
  goto <D.10615>;
  <D.10625>:
  result = 10065;
  goto <D.10615>;
  <D.10626>:
  result = 10036;
  goto <D.10615>;
  <D.10627>:
  result = 10004;
  goto <D.10615>;
  <D.10628>:
  result = 10022;
  goto <D.10615>;
  <D.10629>:
  result = 10056;
  goto <D.10615>;
  <D.10630>:
  result = 10024;
  goto <D.10615>;
  <D.10631>:
  result = 10040;
  goto <D.10615>;
  <D.10632>:
  result = 10051;
  goto <D.10615>;
  <D.10633>:
  result = 10055;
  goto <D.10615>;
  <D.10634>:
  result = 10055;
  goto <D.10615>;
  <D.10635>:
  result = 10042;
  goto <D.10615>;
  <D.10636>:
  result = 10050;
  goto <D.10615>;
  <D.10637>:
  result = 10057;
  goto <D.10615>;
  <D.10638>:
  result = 10038;
  goto <D.10615>;
  <D.10639>:
  result = 10038;
  goto <D.10615>;
  <D.10640>:
  result = 10045;
  goto <D.10615>;
  <D.10641>:
  result = 10013;
  goto <D.10615>;
  <D.10642>:
  result = 10058;
  goto <D.10615>;
  <D.10643>:
  result = 10043;
  goto <D.10615>;
  <D.10644>:
  result = 10044;
  goto <D.10615>;
  <D.10645>:
  result = 10060;
  goto <D.10615>;
  <D.10646>:
  result = 10035;
  goto <D.10615>;
  <D.10647>:
  result = 10049;
  goto <D.10615>;
  <D.10648>:
  result = 10061;
  goto <D.10615>;
  <D.10649>:
  result = 10039;
  goto <D.10615>;
  <D.10650>:
  result = 10064;
  goto <D.10615>;
  <D.10651>:
  result = 10050;
  goto <D.10615>;
  <D.10652>:
  result = 10050;
  goto <D.10615>;
  <D.10653>:
  code.6 = (int) code;
  sys_error = strerror (code.6);
  D.10716 = strlen (sys_error);
  D.10717 = (int) D.10716;
  msg = monoeg_g_locale_to_utf8 (sys_error, D.10717, 0B, 0B, 0B);
  if (function_name == 0B) goto <D.10718>; else goto <D.10719>;
  <D.10718>:
  function_name = &__func__;
  <D.10719>:
  monoeg_g_log (0B, 16, "%s: Need to translate %d [%s] into winsock error", function_name, code, msg);
  monoeg_g_free (msg);
  result = 10107;
  <D.10615>:
  D.10720 = (guint32) result;
  return D.10720;
}


_wapi_get_win32_file_error (gint err)
{
  const gchar * D.10722;
  gint D.10723;
  gint ret;

  switch (err) <default: <D.10683>, case 1: <D.10660>, case 2: <D.10671>, case 4: <D.10681>, case 5: <D.10680>, case 8: <D.10675>, case 9: <D.10679>, case 11: <D.10663>, case 13: <D.10659>, case 16: <D.10664>, case 17: <D.10665>, case 20: <D.10672>, case 21: <D.10668>, case 22: <D.10666>, case 23: <D.10669>, case 24: <D.10670>, case 28: <D.10673>, case 29: <D.10667>, case 30: <D.10661>, case 32: <D.10682>, case 36: <D.10676>, case 38: <D.10678>, case 39: <D.10674>, case 115: <D.10677>>
  <D.10659>:
  <D.10660>:
  <D.10661>:
  ret = 5;
  goto <D.10662>;
  <D.10663>:
  ret = 32;
  goto <D.10662>;
  <D.10664>:
  ret = 33;
  goto <D.10662>;
  <D.10665>:
  ret = 80;
  goto <D.10662>;
  <D.10666>:
  <D.10667>:
  ret = 25;
  goto <D.10662>;
  <D.10668>:
  ret = 82;
  goto <D.10662>;
  <D.10669>:
  <D.10670>:
  ret = 4;
  goto <D.10662>;
  <D.10671>:
  <D.10672>:
  ret = 2;
  goto <D.10662>;
  <D.10673>:
  ret = 39;
  goto <D.10662>;
  <D.10674>:
  ret = 145;
  goto <D.10662>;
  <D.10675>:
  ret = 11;
  goto <D.10662>;
  <D.10676>:
  ret = 206;
  goto <D.10662>;
  <D.10677>:
  ret = 997;
  goto <D.10662>;
  <D.10678>:
  ret = 50;
  goto <D.10662>;
  <D.10679>:
  ret = 6;
  goto <D.10662>;
  <D.10680>:
  ret = 6;
  goto <D.10662>;
  <D.10681>:
  ret = 997;
  goto <D.10662>;
  <D.10682>:
  ret = 29;
  goto <D.10662>;
  <D.10683>:
  D.10722 = monoeg_g_strerror (err);
  monoeg_g_log (0B, 32, "Unknown errno: %s\n", D.10722);
  ret = 31;
  goto <D.10662>;
  <D.10662>:
  D.10723 = ret;
  return D.10723;
}


