return HGFS_STATUS_NAME_TOO_LONG;
case ERROR_CONNECTION_INVALID: // HGFS_ERROR_STALE_SESSION
return HGFS_STATUS_STALE_SESSION;
+ case ERROR_MAX_SESSIONS_REACHED:
+ return HGFS_STATUS_TOO_MANY_SESSIONS;
case ERROR_INTERNAL_ERROR:
case HGFS_INTERNAL_STATUS_ERROR:
default:
return HGFS_STATUS_NOT_SAME_DEVICE;
case ENETRESET: // HGFS_ERROR_STALE_SESSION
return HGFS_STATUS_STALE_SESSION;
+ case ECONNREFUSED:
+ return HGFS_STATUS_TOO_MANY_SESSIONS;
case EINTERNAL:
case HGFS_INTERNAL_STATUS_ERROR:
default:
* Server must never retun these codes for legacy clients.
*/
HGFS_STATUS_STALE_SESSION,
+ HGFS_STATUS_TOO_MANY_SESSIONS,
} HgfsStatus;
/*
#define HGFS_ERROR_FILE_EXIST ERROR_ALREADY_EXISTS
#define HGFS_ERROR_NOT_SUPPORTED ERROR_NOT_SUPPORTED
#define HGFS_ERROR_NOT_ENOUGH_MEMORY ERROR_NOT_ENOUGH_MEMORY
-#define HGFS_ERROR_TOO_MANY_SESSIONS ERROR_INTERNAL_ERROR
+#define HGFS_ERROR_TOO_MANY_SESSIONS ERROR_MAX_SESSIONS_REACHED
#define HGFS_ERROR_INTERNAL ERROR_INTERNAL_ERROR
#else
#define HGFS_ERROR_SUCCESS 0
#define HGFS_ERROR_FILE_EXIST EEXIST
#define HGFS_ERROR_NOT_SUPPORTED EOPNOTSUPP
#define HGFS_ERROR_NOT_ENOUGH_MEMORY ENOMEM
-#define HGFS_ERROR_TOO_MANY_SESSIONS EINTERNAL
+#define HGFS_ERROR_TOO_MANY_SESSIONS ECONNREFUSED
#define HGFS_ERROR_INTERNAL EINTERNAL
#endif // _WIN32