diff options
author | Jeremy Allison <jra@samba.org> | 1998-04-23 22:08:39 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 1998-04-23 22:08:39 +0000 |
commit | 932b22cd495b9ce1ba03e5b91a50b314167255d7 (patch) | |
tree | 7abeaa09565d6bc3885b63dfd2baf453eb07ac41 /source/libsmb/nterr.c | |
parent | 0f00b8fce1a5cad7f8c212568fa33f09986e5bd6 (diff) | |
download | samba-932b22cd495b9ce1ba03e5b91a50b314167255d7.tar.gz samba-932b22cd495b9ce1ba03e5b91a50b314167255d7.tar.xz samba-932b22cd495b9ce1ba03e5b91a50b314167255d7.zip |
We will need this new nterr.c for the DOMAIN_CLIENT code.
Jeremy.
Diffstat (limited to 'source/libsmb/nterr.c')
-rw-r--r-- | source/libsmb/nterr.c | 33 |
1 files changed, 30 insertions, 3 deletions
diff --git a/source/libsmb/nterr.c b/source/libsmb/nterr.c index bda0f882a64..dca97ab9238 100644 --- a/source/libsmb/nterr.c +++ b/source/libsmb/nterr.c @@ -1,18 +1,23 @@ +/* NT error codes. please read nterr.h */ +#include "includes.h" #include "nterr.h" -static struct +typedef struct { char *nt_errstr; - uint16 nt_errcode; + uint32 nt_errcode; -} nt_errs[] = +} nt_err_code_struct; + +nt_err_code_struct nt_errs[] = { { "NT_STATUS_UNSUCCESSFUL", NT_STATUS_UNSUCCESSFUL }, { "NT_STATUS_NOT_IMPLEMENTED", NT_STATUS_NOT_IMPLEMENTED }, { "NT_STATUS_INVALID_INFO_CLASS", NT_STATUS_INVALID_INFO_CLASS }, { "NT_STATUS_INFO_LENGTH_MISMATCH", NT_STATUS_INFO_LENGTH_MISMATCH }, { "NT_STATUS_ACCESS_VIOLATION", NT_STATUS_ACCESS_VIOLATION }, + { "STATUS_BUFFER_OVERFLOW", STATUS_BUFFER_OVERFLOW }, { "NT_STATUS_IN_PAGE_ERROR", NT_STATUS_IN_PAGE_ERROR }, { "NT_STATUS_PAGEFILE_QUOTA", NT_STATUS_PAGEFILE_QUOTA }, { "NT_STATUS_INVALID_HANDLE", NT_STATUS_INVALID_HANDLE }, @@ -512,3 +517,25 @@ static struct { NULL, 0 } }; +/***************************************************************************** + returns an NT error message. not amazingly helpful, but better than a number. + *****************************************************************************/ +char *get_nt_error_msg(uint32 nt_code) +{ + static pstring msg; + int idx = 0; + + strcpy(msg, "Unknown NT error"); + + while (nt_errs[idx].nt_errstr != NULL) + { + if (nt_errs[idx].nt_errcode == nt_code) + { + strcpy(msg, nt_errs[idx].nt_errstr); + return msg; + } + idx++; + } + return NULL; +} + |