37 ERRinvalidparam = 0x57,
38 ERRunknownlevel = 0x7C,
41 ERRreqnotaccep = 0x47,
42 ERRnosuchshare = 0x43,
54 #define SE(c,e) e<<16 | c
59 SE(ERRSRV, ERRerror), STATUS_INVALID_SMB,
60 SE(ERRSRV, ERRinvtid), STATUS_SMB_BAD_TID,
61 SE(ERRDOS, ERRbadfid), STATUS_SMB_BAD_FID,
62 SE(ERRDOS, ERRbadaccess), STATUS_OS2_INVALID_ACCESS,
63 SE(ERRSRV, ERRbaduid), STATUS_SMB_BAD_UID,
64 SE(ERRDOS, ERRunknownlevel), STATUS_OS2_INVALID_LEVEL,
65 SE(ERRDOS, ERRnofiles), STATUS_NO_MORE_FILES,
66 SE(ERRDOS, ERRbadfid), STATUS_INVALID_HANDLE,
67 SE(ERRDOS, ERRnoaccess), STATUS_ACCESS_DENIED,
68 SE(ERRDOS, ERRbadfile), STATUS_OBJECT_NAME_NOT_FOUND,
69 SE(ERRDOS, ERRfilexists), STATUS_OBJECT_NAME_COLLISION,
70 SE(ERRDOS, ERRbadpath), STATUS_OBJECT_PATH_INVALID,
71 SE(ERRDOS, ERRbadpath), STATUS_OBJECT_PATH_NOT_FOUND,
72 SE(ERRDOS, ERRbadpath), STATUS_OBJECT_PATH_SYNTAX_BAD,
73 SE(ERRDOS, ERRbadshare), STATUS_SHARING_VIOLATION,
74 SE(ERRSRV, ERRbadpw), STATUS_LOGON_FAILURE,
75 SE(ERRDOS, ERRnoaccess), STATUS_FILE_IS_A_DIRECTORY,
76 SE(ERRDOS, ERRunsup), STATUS_NOT_SUPPORTED,
77 SE(ERRSRV, ERRinvdevice), STATUS_BAD_DEVICE_TYPE,
78 SE(ERRSRV, ERRinvnetname), STATUS_BAD_NETWORK_NAME,
79 SE(ERRDOS, ERRdiffdevice), STATUS_NOT_SAME_DEVICE,
80 SE(ERRDOS, ERRremcd), STATUS_DIRECTORY_NOT_EMPTY,
81 SE(ERRSRV, ERRerror), 0,
85 for(p=tab; p->status; p++)
98 STATUS_ACCESS_DENIED, "permission denied",
99 STATUS_ACCESS_DENIED, "access permission denied",
100 STATUS_ACCESS_DENIED, "create prohibited",
101 STATUS_ACCESS_DENIED, "mounted directory forbids creation",
102 STATUS_DIRECTORY_NOT_EMPTY, "directory not empty",
103 STATUS_NO_SUCH_FILE, "no such file",
104 STATUS_OBJECT_NAME_NOT_FOUND, "name not found",
105 STATUS_OBJECT_PATH_NOT_FOUND, "directory entry not found",
106 STATUS_OBJECT_PATH_NOT_FOUND, "not a directory",
107 STATUS_OBJECT_PATH_NOT_FOUND, "does not exist",
108 STATUS_OBJECT_PATH_SYNTAX_BAD, "bad character",
109 STATUS_OBJECT_PATH_SYNTAX_BAD, "file name syntax",
110 STATUS_OBJECT_NAME_COLLISION, "file already exists",
111 STATUS_FILE_IS_A_DIRECTORY, "is a directory",
113 STATUS_OBJECT_NAME_COLLISION, "create/wstat -- file exists",
114 STATUS_ACCESS_DENIED, "wstat -- not owner",
115 STATUS_ACCESS_DENIED, "wstat -- not in group",
117 STATUS_INVALID_SMB, nil,
122 rerrstr(buf, sizeof(buf));
123 for(p = tab; p->str; p++)
124 if(strstr(buf, p->str))
127 fprint(2, "smbmkerror: %s -> %lux\n", buf, (ulong)p->status);