データ構造 | |
| struct | err_code_struct |
関数 | |
| const char * | smb_dos_err_name (uint8 e_class, uint16 num) |
| const char * | get_dos_error_msg (WERROR result) |
| const char * | smb_dos_err_class (uint8 e_class) |
| char * | smb_dos_errstr (char *inbuf) |
| WERROR | map_werror_from_unix (int error) |
変数 | |
| err_code_struct | dos_msgs [] |
| err_code_struct | server_msgs [] |
| err_code_struct | hard_msgs [] |
| struct { | |
| int code | |
| const char * e_class | |
| err_code_struct * err_msgs | |
| } | err_classes [] |
| const char* smb_dos_err_name | ( | uint8 | e_class, | |
| uint16 | num | |||
| ) |
参照先 code・err・err_classes・err_msgs・name.
参照元 get_dos_error_msg()・run_error_map_extract().
00163 { 00164 static pstring ret; 00165 int i,j; 00166 00167 for (i=0;err_classes[i].e_class;i++) 00168 if (err_classes[i].code == e_class) { 00169 if (err_classes[i].err_msgs) { 00170 err_code_struct *err = err_classes[i].err_msgs; 00171 for (j=0;err[j].name;j++) 00172 if (num == err[j].code) { 00173 return err[j].name; 00174 } 00175 } 00176 slprintf(ret, sizeof(ret) - 1, "%d",num); 00177 return ret; 00178 } 00179 00180 slprintf(ret, sizeof(ret) - 1, "Error: Unknown error class (%d,%d)",e_class,num); 00181 return(ret); 00182 }
| const char* get_dos_error_msg | ( | WERROR | result | ) |
参照先 result・smb_dos_err_name().
参照元 cmd_spoolss_open_printer_ex()・reset_all_printerdata().
00187 { 00188 uint16 errnum; 00189 00190 errnum = W_ERROR_V(result); 00191 00192 return smb_dos_err_name(ERRDOS, errnum); 00193 }
| const char* smb_dos_err_class | ( | uint8 | e_class | ) |
参照先 code・err_classes.
00199 { 00200 static pstring ret; 00201 int i; 00202 00203 for (i=0;err_classes[i].e_class;i++) { 00204 if (err_classes[i].code == e_class) { 00205 return err_classes[i].e_class; 00206 } 00207 } 00208 00209 slprintf(ret, sizeof(ret) - 1, "Error: Unknown class (%d)",e_class); 00210 return(ret); 00211 }
| char* smb_dos_errstr | ( | char * | inbuf | ) |
参照先 code・DEBUGLEVEL・e_class・err・err_classes・err_msgs・message・name.
参照元 cli_smb_errstr().
00217 { 00218 static pstring ret; 00219 int e_class = CVAL(inbuf,smb_rcls); 00220 int num = SVAL(inbuf,smb_err); 00221 int i,j; 00222 00223 for (i=0;err_classes[i].e_class;i++) 00224 if (err_classes[i].code == e_class) { 00225 if (err_classes[i].err_msgs) { 00226 err_code_struct *err = err_classes[i].err_msgs; 00227 for (j=0;err[j].name;j++) 00228 if (num == err[j].code) { 00229 if (DEBUGLEVEL > 0) 00230 slprintf(ret, sizeof(ret) - 1, "%s - %s (%s)", 00231 err_classes[i].e_class, 00232 err[j].name,err[j].message); 00233 else 00234 slprintf(ret, sizeof(ret) - 1, "%s - %s", 00235 err_classes[i].e_class,err[j].name); 00236 return ret; 00237 } 00238 } 00239 00240 slprintf(ret, sizeof(ret) - 1, "%s - %d",err_classes[i].e_class,num); 00241 return ret; 00242 } 00243 00244 slprintf(ret, sizeof(ret) - 1, "Error: Unknown error (%d,%d)",e_class,num); 00245 return(ret); 00246 }
| WERROR map_werror_from_unix | ( | int | error | ) |
参照先 map_nt_error_from_unix()・ntstatus_to_werror()・status.
参照元 _spoolss_startdocprinter()・print_job_delete().
00252 { 00253 NTSTATUS status = map_nt_error_from_unix(error); 00254 return ntstatus_to_werror(status); 00255 }
初期値:
{
{"ERRnowrite",19,"Attempt to write on write-protected diskette."},
{"ERRbadunit",20,"Unknown unit."},
{"ERRnotready",21,"Drive not ready."},
{"ERRbadcmd",22,"Unknown command."},
{"ERRdata",23,"Data error (CRC)."},
{"ERRbadreq",24,"Bad request structure length."},
{"ERRseek",25 ,"Seek error."},
{"ERRbadmedia",26,"Unknown media type."},
{"ERRbadsector",27,"Sector not found."},
{"ERRnopaper",28,"Printer out of paper."},
{"ERRwrite",29,"Write fault."},
{"ERRread",30,"Read fault."},
{"ERRgeneral",31,"General failure."},
{"ERRbadshare",32,"An open conflicts with an existing open."},
{"ERRlock",33,"A Lock request conflicted with an existing lock or specified an invalid mode, or an Unlock requested attempted to remove a lock held by another process."},
{"ERRwrongdisk",34,"The wrong disk was found in a drive."},
{"ERRFCBUnavail",35,"No FCBs are available to process request."},
{"ERRsharebufexc",36,"A sharing buffer has been exceeded."},
{NULL,-1,NULL}}
| int code |
| const char* e_class |
| struct { ... } err_classes[] |
1.4.7