40 #ifndef __RW_STATUS_H__ 
   41 #define __RW_STATUS_H__ 
   62 #define make_status_int(STATE, REASON, ERRNO) \ 
   63   (  ((((unsigned int)(STATE))  & 0xff)   <<24) \ 
   64    | ((((unsigned int)(REASON)) & 0xff)   <<16) \ 
   65    | ((((unsigned int)(ERRNO))  & 0xffff) <<00) \ 
   68 #define make_read_status(STATE, REASON, ERRNO)\ 
   69     ((EST_read_status)(make_status_int(STATE, REASON, ERRNO))) 
   71 #define make_write_status(STATE, REASON, ERRNO) \ 
   72     ((EST_write_status)(make_status_int(REASON, STATE, ERRNO))) 
   78 #define get_rw_state(STATUS)    \ 
   79     ((EST_rw_state)((((unsigned int)(STATUS)) >> 24) & 0xff)) 
   80 #define get_rw_reason(STATUS)   \ 
   81     ((EST_rw_reason)((((unsigned int)(STATUS)) >> 16) & 0xff)) 
   82 #define get_rw_errno(STATUS)    \ 
   83     ((int)((((unsigned int)(STATUS)) >> 0) & 0xff)) 
  111 enum EST_read_status {
 
  113   read_ok       = make_status_int(rws_ok,   rwr_none,   0),
 
  115   read_format_error = make_status_int(rws_failed,   rwr_format, 0),
 
  117   read_not_found_error  = make_status_int(rws_failed,   rwr_existance,  0),
 
  119   read_error        = make_status_int(rws_failed,   rwr_unknown,    0)
 
  124 enum EST_write_status {
 
  126   write_ok      = make_status_int(rws_ok,   rwr_none,   0),
 
  128   write_fail        = make_status_int(rws_failed,   rwr_unknown,    0),
 
  130   write_error       = make_status_int(rws_failed,   rwr_unknown,    0),
 
  132   write_partial     = make_status_int(rws_partial,  rwr_unknown,    0)
 
  136 enum EST_connect_status {
 
  138   connect_ok        = make_status_int(rws_ok,   rwr_none,   0),
 
  140   connect_not_found_error = make_status_int(rws_failed, rwr_existance,  0),
 
  142   connect_not_allowed_error = make_status_int(rws_failed, rwr_permission, 0),
 
  144   connect_system_error = make_status_int(rws_failed, rwr_system, 0),
 
  146   connect_error     = make_status_int(rws_failed,   rwr_unknown,    0)
 
  159 #define format_ok read_ok 
  160 #define wrong_format read_format_error 
  161 #define misc_read_error read_error 
  162 #define misc_write_error write_error