4 Creates C code from a table of NCP type 0x2222 packet types.
5 (And 0x3333, which are the replies, but the packets are more commonly
6 referred to as type 0x2222; the 0x3333 replies are understood to be
7 part of the 0x2222 "family")
9 The data-munging code was written by Gilbert Ramirez.
10 The NCP data comes from Greg Morris <GMORRIS@novell.com>.
11 Many thanks to Novell for letting him work on this.
13 Additional data sources:
14 "Programmer's Guide to the NetWare Core Protocol" by Steve Conner and Dianne Conner.
16 At one time, Novell provided a list of NCPs by number at:
18 http://developer.novell.com/ndk/ncp.htm (where you could download an
19 *.exe file which installs a PDF, although you may have to create a login
24 http://developer.novell.com/ndk/doc/ncp/
25 for a badly-formatted HTML version of the same PDF.
27 Currently, NCP documentation can be found at:
29 https://www.microfocus.com/documentation/open-enterprise-server-developer-documentation/ncp/
31 with a list of NCPs by number at
33 https://www.microfocus.com/documentation/open-enterprise-server-developer-documentation/ncp/ncpdocs/main.htm
35 and some additional NCPs to support volumes > 16TB at
37 https://www.microfocus.com/documentation/open-enterprise-server-developer-documentation/ncp/ncpdocs/16tb+.htm
39 NDS information can be found at:
41 https://www.microfocus.com/documentation/edirectory-developer-documentation/edirectory-libraries-for-c/
43 and PDFs linked from there, and from
45 https://www.novell.com/documentation/developer/ndslib/
47 and HTML versions linked from there.
49 The Novell eDirectory Schema Reference gives a "Transfer Format" for
50 some types, which may be the way they're sent over the wire.
52 Portions Copyright (c) 2000-2002 by Gilbert Ramirez <gram@alumni.rice.edu>.
53 Portions Copyright (c) Novell, Inc. 2000-2003.
55 This program is free software; you can redistribute it and/or
56 modify it under the terms of the GNU General Public License
57 as published by the Free Software Foundation; either version 2
58 of the License, or (at your option) any later version.
60 This program is distributed in the hope that it will be useful,
61 but WITHOUT ANY WARRANTY; without even the implied warranty of
62 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
63 GNU General Public License for more details.
65 You should have received a copy of the GNU General Public License
66 along with this program; if not, write to the Free Software
67 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
83 #ensure unique expert function declarations
101 PROTO_LENGTH_UNKNOWN
= -1
103 global_highest_var
= -1
107 REQ_COND_SIZE_VARIABLE
= "REQ_COND_SIZE_VARIABLE"
108 REQ_COND_SIZE_CONSTANT
= "REQ_COND_SIZE_CONSTANT"
110 ##############################################################################
112 ##############################################################################
114 class UniqueCollection
:
115 """The UniqueCollection class stores objects which can be compared to other
116 objects of the same class. If two objects in the collection are equivalent,
117 only one is stored."""
119 def __init__(self
, name
):
123 self
.member_reprs
= {}
125 def Add(self
, object):
126 """Add an object to the members lists, if a comparable object
127 doesn't already exist. The object that is in the member list, that is
128 either the object that was added or the comparable object that was
129 already in the member list, is returned."""
132 # Is 'object' a duplicate of some other member?
133 if r
in self
.member_reprs
:
134 return self
.member_reprs
[r
]
136 self
.member_reprs
[r
] = object
137 self
.members
.append(object)
141 "Returns the list of members."
144 def HasMember(self
, object):
145 "Does the list of members contain the object?"
146 if repr(object) in self
.member_reprs
:
151 # This list needs to be defined before the NCP types are defined,
152 # because the NCP types are defined in the global scope, not inside
153 # a function's scope.
154 ptvc_lists
= UniqueCollection('PTVC Lists')
156 ##############################################################################
159 "NamedList's keep track of PTVC's and Completion Codes"
160 def __init__(self
, name
, list):
165 def __cmp__(self
, other
):
166 "Compare this NamedList to another"
168 if isinstance(other
, NamedList
):
169 return cmp(self
.list, other
.list)
174 def Name(self
, new_name
= None):
175 "Get/Set name of list"
176 if new_name
is not None:
181 "Returns record lists"
185 "Is there no list (different from an empty list)?"
186 return self
.list is None
189 "It the list empty (different from a null list)?"
190 assert(not self
.Null())
198 return repr(self
.list)
200 class PTVC(NamedList
):
201 """ProtoTree TVBuff Cursor List ("PTVC List") Class"""
203 def __init__(self
, name
, records
, code
):
205 NamedList
.__init
__(self
, name
, [])
207 global global_highest_var
209 expected_offset
= None
214 # Make a PTVCRecord object for each list in 'records'
215 for record
in records
:
216 offset
= record
[REC_START
]
217 length
= record
[REC_LENGTH
]
218 field
= record
[REC_FIELD
]
219 endianness
= record
[REC_ENDIANNESS
]
220 info_str
= record
[REC_INFO_STR
]
223 var_name
= record
[REC_VAR
]
225 # Did we already define this var?
226 if var_name
in named_vars
:
227 sys
.exit("%s has multiple %s vars." % \
230 highest_var
= highest_var
+ 1
232 if highest_var
> global_highest_var
:
233 global_highest_var
= highest_var
234 named_vars
[var_name
] = var
239 repeat_name
= record
[REC_REPEAT
]
241 # Do we have this var?
242 if repeat_name
not in named_vars
:
243 sys
.exit("%s does not have %s var defined." % \
245 repeat
= named_vars
[repeat_name
]
250 req_cond
= record
[REC_REQ_COND
]
251 if req_cond
!= NO_REQ_COND
:
252 global_req_cond
[req_cond
] = None
254 ptvc_rec
= PTVCRecord(field
, length
, endianness
, var
, repeat
, req_cond
, info_str
, code
)
256 if expected_offset
is None:
257 expected_offset
= offset
259 elif expected_offset
== -1:
262 elif expected_offset
!= offset
and offset
!= -1:
263 msg
.write("Expected offset in %s for %s to be %d\n" % \
264 (name
, field
.HFName(), expected_offset
))
267 # We can't make a PTVC list from a variable-length
268 # packet, unless the fields can tell us at run time
269 # how long the packet is. That is, nstring8 is fine, since
270 # the field has an integer telling us how long the string is.
271 # Fields that don't have a length determinable at run-time
272 # cannot be variable-length.
273 if type(ptvc_rec
.Length()) == type(()):
274 if isinstance(ptvc_rec
.Field(), nstring
):
277 elif isinstance(ptvc_rec
.Field(), nbytes
):
280 elif isinstance(ptvc_rec
.Field(), struct
):
284 field
= ptvc_rec
.Field()
285 assert 0, "Cannot make PTVC from %s, type %s" % \
286 (field
.HFName(), field
)
288 elif expected_offset
> -1:
289 if ptvc_rec
.Length() < 0:
292 expected_offset
= expected_offset
+ ptvc_rec
.Length()
295 self
.list.append(ptvc_rec
)
298 return "ett_%s" % (self
.Name(),)
302 x
= "static const ptvc_record %s[] = {\n" % (self
.Name())
303 for ptvc_rec
in self
.list:
304 x
= x
+ " %s,\n" % (ptvc_rec
.Code())
305 x
= x
+ " { NULL, 0, NULL, NULL, NO_ENDIANNESS, NO_VAR, NO_REPEAT, NO_REQ_COND }\n"
311 for ptvc_rec
in self
.list:
312 x
= x
+ repr(ptvc_rec
)
316 class PTVCBitfield(PTVC
):
317 def __init__(self
, name
, vars):
318 NamedList
.__init
__(self
, name
, [])
321 ptvc_rec
= PTVCRecord(var
, var
.Length(), var
.Endianness(),
322 NO_VAR
, NO_REPEAT
, NO_REQ_COND
, None, 0)
323 self
.list.append(ptvc_rec
)
326 ett_name
= self
.ETTName()
327 x
= "static int %s;\n" % (ett_name
,)
329 x
= x
+ "static const ptvc_record ptvc_%s[] = {\n" % (self
.Name())
330 for ptvc_rec
in self
.list:
331 x
= x
+ " %s,\n" % (ptvc_rec
.Code())
332 x
= x
+ " { NULL, 0, NULL, NULL, NO_ENDIANNESS, NO_VAR, NO_REPEAT, NO_REQ_COND }\n"
335 x
= x
+ "static const sub_ptvc_record %s = {\n" % (self
.Name(),)
336 x
= x
+ " &%s,\n" % (ett_name
,)
338 x
= x
+ " ptvc_%s,\n" % (self
.Name(),)
344 def __init__(self
, field
, length
, endianness
, var
, repeat
, req_cond
, info_str
, code
):
348 self
.endianness
= endianness
351 self
.req_cond
= req_cond
352 self
.req_info_str
= info_str
355 def __cmp__(self
, other
):
356 "Comparison operator"
357 if self
.field
!= other
.field
:
359 elif self
.length
< other
.length
:
361 elif self
.length
> other
.length
:
363 elif self
.endianness
!= other
.endianness
:
369 # Nice textual representations
370 if self
.var
== NO_VAR
:
375 if self
.repeat
== NO_REPEAT
:
380 if self
.req_cond
== NO_REQ_COND
:
381 req_cond
= "NO_REQ_COND"
383 req_cond
= global_req_cond
[self
.req_cond
]
384 assert req_cond
is not None
386 if isinstance(self
.field
, struct
):
387 return self
.field
.ReferenceString(var
, repeat
, req_cond
)
389 return self
.RegularCode(var
, repeat
, req_cond
)
391 def InfoStrName(self
):
392 "Returns a C symbol based on the NCP function code, for the info_str"
393 return "info_str_0x%x" % (self
.__code
__)
395 def RegularCode(self
, var
, repeat
, req_cond
):
396 "String representation"
397 endianness
= 'ENC_BIG_ENDIAN'
398 if self
.endianness
== ENC_LITTLE_ENDIAN
:
399 endianness
= 'ENC_LITTLE_ENDIAN'
403 if type(self
.length
) == type(0):
406 # This is for cases where a length is needed
407 # in order to determine a following variable-length,
408 # like nstring8, where 1 byte is needed in order
409 # to determine the variable length.
410 var_length
= self
.field
.Length()
414 if length
== PROTO_LENGTH_UNKNOWN
:
415 # XXX length = "PROTO_LENGTH_UNKNOWN"
418 assert length
, "Length not handled for %s" % (self
.field
.HFName(),)
420 sub_ptvc_name
= self
.field
.PTVCName()
421 if sub_ptvc_name
!= "NULL":
422 sub_ptvc_name
= "&%s" % (sub_ptvc_name
,)
424 if self
.req_info_str
:
425 req_info_str
= "&" + self
.InfoStrName() + "_req"
427 req_info_str
= "NULL"
429 return "{ &%s, %s, %s, %s, %s, %s, %s, %s }" % \
430 (self
.field
.HFName(), length
, sub_ptvc_name
,
431 req_info_str
, endianness
, var
, repeat
, req_cond
)
443 if self
.req_info_str
:
444 return "{%s len=%s end=%s var=%s rpt=%s rqc=%s info=%s}" % \
445 (self
.field
.HFName(), self
.length
,
446 self
.endianness
, self
.var
, self
.repeat
, self
.req_cond
, self
.req_info_str
[1])
448 return "{%s len=%s end=%s var=%s rpt=%s rqc=%s}" % \
449 (self
.field
.HFName(), self
.length
,
450 self
.endianness
, self
.var
, self
.repeat
, self
.req_cond
)
452 ##############################################################################
456 def __init__(self
, func_code
, description
, group
, has_length
=1):
458 self
.__code
__ = func_code
459 self
.description
= description
462 self
.request_records
= None
463 self
.reply_records
= None
464 self
.has_length
= has_length
465 self
.req_cond_size
= None
466 self
.req_info_str
= None
467 self
.expert_func
= None
469 if group
not in groups
:
470 msg
.write("NCP 0x%x has invalid group '%s'\n" % \
471 (self
.__code
__, group
))
474 if self
.HasSubFunction():
475 # NCP Function with SubFunction
476 self
.start_offset
= 10
478 # Simple NCP Function
479 self
.start_offset
= 7
481 def ReqCondSize(self
):
482 return self
.req_cond_size
484 def ReqCondSizeVariable(self
):
485 self
.req_cond_size
= REQ_COND_SIZE_VARIABLE
487 def ReqCondSizeConstant(self
):
488 self
.req_cond_size
= REQ_COND_SIZE_CONSTANT
490 def FunctionCode(self
, part
=None):
491 "Returns the function code for this NCP packet."
495 if self
.HasSubFunction():
496 return (self
.__code
__ & 0xff00) >> 8
500 if self
.HasSubFunction():
501 return self
.__code
__ & 0x00ff
505 msg
.write("Unknown directive '%s' for function_code()\n" % (part
))
508 def HasSubFunction(self
):
509 "Does this NPC packet require a subfunction field?"
510 if self
.__code
__ <= 0xff:
516 return self
.has_length
518 def Description(self
):
519 return self
.description
524 def PTVCRequest(self
):
525 return self
.ptvc_request
528 return self
.ptvc_reply
530 def Request(self
, size
, records
=[], **kwargs
):
531 self
.request_size
= size
532 self
.request_records
= records
533 if self
.HasSubFunction():
535 self
.CheckRecords(size
, records
, "Request", 10)
537 self
.CheckRecords(size
, records
, "Request", 8)
539 self
.CheckRecords(size
, records
, "Request", 7)
540 self
.ptvc_request
= self
.MakePTVC(records
, "request", self
.__code
__)
542 if "info_str" in kwargs
:
543 self
.req_info_str
= kwargs
["info_str"]
545 def Reply(self
, size
, records
=[]):
546 self
.reply_size
= size
547 self
.reply_records
= records
548 self
.CheckRecords(size
, records
, "Reply", 8)
549 self
.ptvc_reply
= self
.MakePTVC(records
, "reply", self
.__code
__)
551 def CheckRecords(self
, size
, records
, descr
, min_hdr_length
):
552 "Simple sanity check"
553 if size
== NO_LENGTH_CHECK
:
557 if type(size
) == type(()):
561 lower
= min_hdr_length
562 upper
= min_hdr_length
564 for record
in records
:
565 rec_size
= record
[REC_LENGTH
]
568 if type(rec_size
) == type(()):
569 rec_lower
= rec_size
[0]
570 rec_upper
= rec_size
[1]
572 lower
= lower
+ rec_lower
573 upper
= upper
+ rec_upper
577 msg
.write("%s records for 2222/0x%x sum to %d bytes minimum, but param1 shows %d\n" \
578 % (descr
, self
.FunctionCode(), lower
, min))
581 msg
.write("%s records for 2222/0x%x sum to %d bytes maximum, but param1 shows %d\n" \
582 % (descr
, self
.FunctionCode(), upper
, max))
589 def MakePTVC(self
, records
, name_suffix
, code
):
590 """Makes a PTVC out of a request or reply record list. Possibly adds
591 it to the global list of PTVCs (the global list is a UniqueCollection,
592 so an equivalent PTVC may already be in the global list)."""
594 name
= "%s_%s" % (self
.CName(), name_suffix
)
595 #if any individual record has an info_str, bubble it up to the top
596 #so an info_string_t can be created for it
597 for record
in records
:
598 if record
[REC_INFO_STR
]:
599 self
.req_info_str
= record
[REC_INFO_STR
]
601 ptvc
= PTVC(name
, records
, code
)
603 #if the record is a duplicate, remove the req_info_str so
604 #that an unused info_string isn't generated
606 if ptvc_lists
.HasMember(ptvc
):
607 if 'info' in repr(ptvc
):
610 ptvc_test
= ptvc_lists
.Add(ptvc
)
613 self
.req_info_str
= None
618 "Returns a C symbol based on the NCP function code"
619 return "ncp_0x%x" % (self
.__code
__)
621 def InfoStrName(self
):
622 "Returns a C symbol based on the NCP function code, for the info_str"
623 return "info_str_0x%x" % (self
.__code
__)
625 def MakeExpert(self
, func
):
626 self
.expert_func
= func
627 expert_hash
[func
] = func
630 """Returns a list of variables used in the request and reply records.
631 A variable is listed only once, even if it is used twice (once in
632 the request, once in the reply)."""
635 if self
.request_records
:
636 for record
in self
.request_records
:
637 var
= record
[REC_FIELD
]
638 variables
[var
.HFName()] = var
640 sub_vars
= var
.SubVariables()
642 variables
[sv
.HFName()] = sv
644 if self
.reply_records
:
645 for record
in self
.reply_records
:
646 var
= record
[REC_FIELD
]
647 variables
[var
.HFName()] = var
649 sub_vars
= var
.SubVariables()
651 variables
[sv
.HFName()] = sv
653 return list(variables
.values())
655 def CalculateReqConds(self
):
656 """Returns a list of request conditions (dfilter text) used
657 in the reply records. A request condition is listed only once,"""
659 if self
.reply_records
:
660 for record
in self
.reply_records
:
661 text
= record
[REC_REQ_COND
]
662 if text
!= NO_REQ_COND
:
666 self
.req_conds
= None
669 dfilter_texts
= list(texts
.keys())
671 name
= "%s_req_cond_indexes" % (self
.CName(),)
672 return NamedList(name
, dfilter_texts
)
674 def GetReqConds(self
):
675 return self
.req_conds
677 def SetReqConds(self
, new_val
):
678 self
.req_conds
= new_val
681 def CompletionCodes(self
, codes
=None):
682 """Sets or returns the list of completion
683 codes. Internally, a NamedList is used to store the
684 completion codes, but the caller of this function never
685 realizes that because Python lists are the input and
694 if code
not in errors
:
695 msg
.write("Errors table does not have key 0x%04x for NCP=0x%x\n" % (code
,
699 # Delay the exit until here so that the programmer can get
700 # the complete list of missing error codes
704 # Create CompletionCode (NamedList) object and possible
705 # add it to the global list of completion code lists.
706 name
= "%s_errors" % (self
.CName(),)
708 codes_list
= NamedList(name
, codes
)
709 self
.codes
= compcode_lists
.Add(codes_list
)
714 """Adds the NCP object to the global collection of NCP
715 objects. This is done automatically after setting the
716 CompletionCode list. Yes, this is a shortcut, but it makes
717 our list of NCP packet definitions look neater, since an
718 explicit "add to global list of packets" is not needed."""
720 # Add packet to global collection of packets
723 def rec(start
, length
, field
, endianness
=None, **kw
):
724 return _rec(start
, length
, field
, endianness
, kw
)
726 def srec(field
, endianness
=None, **kw
):
727 return _rec(-1, -1, field
, endianness
, kw
)
729 def _rec(start
, length
, field
, endianness
, kw
):
730 # If endianness not explicitly given, use the field's
732 if endianness
is None:
733 endianness
= field
.Endianness()
737 # Is the field an INT ?
738 if not isinstance(field
, CountingNumber
):
739 sys
.exit("Field %s used as count variable, but not integer." \
745 # If 'var' not used, 'repeat' can be used.
746 if not var
and "repeat" in kw
:
747 repeat
= kw
["repeat"]
751 # Request-condition ?
753 req_cond
= kw
["req_cond"]
755 req_cond
= NO_REQ_COND
758 req_info_str
= kw
["info_str"]
762 return [start
, length
, field
, endianness
, var
, repeat
, req_cond
, req_info_str
]
766 ##############################################################################
768 ENC_LITTLE_ENDIAN
= 1 # Little-Endian
769 ENC_BIG_ENDIAN
= 0 # Big-Endian
770 NA
= -1 # Not Applicable
773 " Virtual class for NCP field types"
781 def __init__(self
, abbrev
, descr
, bytes
, endianness
= NA
):
785 self
.endianness
= endianness
786 self
.hfname
= "hf_ncp_" + self
.abbrev
791 def Abbreviation(self
):
794 def Description(self
):
801 return "ncp." + self
.abbrev
803 def WiresharkFType(self
):
806 def Display(self
, newval
=None):
807 if newval
is not None:
811 def ValuesName(self
):
813 return "CF_FUNC(" + self
.custom_func
+ ")"
820 def Endianness(self
):
821 return self
.endianness
823 def SubVariables(self
):
830 self
.disp
= "BASE_CUSTOM"
831 self
.custom_func
= "padd_date"
834 self
.disp
= "BASE_CUSTOM"
835 self
.custom_func
= "padd_time"
837 #def __cmp__(self, other):
838 # return cmp(self.hfname, other.hfname)
840 def __lt__(self
, other
):
841 return (self
.hfname
< other
.hfname
)
843 class struct(PTVC
, Type
):
844 def __init__(self
, name
, items
, descr
=None):
845 name
= "struct_%s" % (name
,)
846 NamedList
.__init
__(self
, name
, [])
851 if isinstance(item
, Type
):
853 length
= field
.Length()
854 endianness
= field
.Endianness()
857 req_cond
= NO_REQ_COND
858 elif type(item
) == type([]):
859 field
= item
[REC_FIELD
]
860 length
= item
[REC_LENGTH
]
861 endianness
= item
[REC_ENDIANNESS
]
863 repeat
= item
[REC_REPEAT
]
864 req_cond
= item
[REC_REQ_COND
]
866 assert 0, "Item %s item not handled." % (item
,)
868 ptvc_rec
= PTVCRecord(field
, length
, endianness
, var
,
869 repeat
, req_cond
, None, 0)
870 self
.list.append(ptvc_rec
)
871 self
.bytes
= self
.bytes
+ field
.Length()
873 self
.hfname
= self
.name
877 for ptvc_rec
in self
.list:
878 vars.append(ptvc_rec
.Field())
881 def ReferenceString(self
, var
, repeat
, req_cond
):
882 return "{ PTVC_STRUCT, NO_LENGTH, &%s, NULL, NO_ENDIANNESS, %s, %s, %s }" % \
883 (self
.name
, var
, repeat
, req_cond
)
886 ett_name
= self
.ETTName()
887 x
= "static int %s;\n" % (ett_name
,)
888 x
= x
+ "static const ptvc_record ptvc_%s[] = {\n" % (self
.name
,)
889 for ptvc_rec
in self
.list:
890 x
= x
+ " %s,\n" % (ptvc_rec
.Code())
891 x
= x
+ " { NULL, NO_LENGTH, NULL, NULL, NO_ENDIANNESS, NO_VAR, NO_REPEAT, NO_REQ_COND }\n"
894 x
= x
+ "static const sub_ptvc_record %s = {\n" % (self
.name
,)
895 x
= x
+ " &%s,\n" % (ett_name
,)
897 x
= x
+ ' "%s",\n' % (self
.descr
,)
900 x
= x
+ " ptvc_%s,\n" % (self
.Name(),)
904 def __cmp__(self
, other
):
905 return cmp(self
.HFName(), other
.HFName())
911 def __init__(self
, abbrev
, descr
):
912 Type
.__init
__(self
, abbrev
, descr
, 1)
914 class CountingNumber
:
917 # Same as above. Both are provided for convenience
918 class uint8(Type
, CountingNumber
):
922 def __init__(self
, abbrev
, descr
):
923 Type
.__init
__(self
, abbrev
, descr
, 1)
925 class uint16(Type
, CountingNumber
):
928 def __init__(self
, abbrev
, descr
, endianness
= ENC_LITTLE_ENDIAN
):
929 Type
.__init
__(self
, abbrev
, descr
, 2, endianness
)
931 class uint24(Type
, CountingNumber
):
934 def __init__(self
, abbrev
, descr
, endianness
= ENC_LITTLE_ENDIAN
):
935 Type
.__init
__(self
, abbrev
, descr
, 3, endianness
)
937 class uint32(Type
, CountingNumber
):
940 def __init__(self
, abbrev
, descr
, endianness
= ENC_LITTLE_ENDIAN
):
941 Type
.__init
__(self
, abbrev
, descr
, 4, endianness
)
943 class uint64(Type
, CountingNumber
):
946 def __init__(self
, abbrev
, descr
, endianness
= ENC_LITTLE_ENDIAN
):
947 Type
.__init
__(self
, abbrev
, descr
, 8, endianness
)
949 class eptime(Type
, CountingNumber
):
951 ftype
= "FT_ABSOLUTE_TIME"
952 disp
= "ABSOLUTE_TIME_LOCAL"
953 def __init__(self
, abbrev
, descr
, endianness
= ENC_LITTLE_ENDIAN
):
954 Type
.__init
__(self
, abbrev
, descr
, 4, endianness
)
956 class boolean8(uint8
):
961 class boolean16(uint16
):
966 class boolean24(uint24
):
971 class boolean32(uint32
):
979 class nstring8(Type
, nstring
):
980 """A string of up to (2^8)-1 characters. The first byte
981 gives the string length."""
984 ftype
= "FT_UINT_STRING"
986 def __init__(self
, abbrev
, descr
):
987 Type
.__init
__(self
, abbrev
, descr
, 1)
989 class nstring16(Type
, nstring
):
990 """A string of up to (2^16)-2 characters. The first 2 bytes
991 gives the string length."""
994 ftype
= "FT_UINT_STRING"
996 def __init__(self
, abbrev
, descr
, endianness
= ENC_LITTLE_ENDIAN
):
997 Type
.__init
__(self
, abbrev
, descr
, 2, endianness
)
999 class nstring32(Type
, nstring
):
1000 """A string of up to (2^32)-4 characters. The first 4 bytes
1001 gives the string length."""
1004 ftype
= "FT_UINT_STRING"
1006 def __init__(self
, abbrev
, descr
, endianness
= ENC_LITTLE_ENDIAN
):
1007 Type
.__init
__(self
, abbrev
, descr
, 4, endianness
)
1009 class fw_string(Type
):
1010 """A fixed-width string of n bytes."""
1016 def __init__(self
, abbrev
, descr
, bytes
):
1017 Type
.__init
__(self
, abbrev
, descr
, bytes
)
1020 class stringz(Type
):
1021 "NUL-terminated string, with a maximum length"
1025 ftype
= "FT_STRINGZ"
1026 def __init__(self
, abbrev
, descr
):
1027 Type
.__init
__(self
, abbrev
, descr
, PROTO_LENGTH_UNKNOWN
)
1029 class val_string(Type
):
1030 """Abstract class for val_stringN, where N is number
1031 of bits that key takes up."""
1036 def __init__(self
, abbrev
, descr
, val_string_array
, endianness
= ENC_LITTLE_ENDIAN
):
1037 Type
.__init
__(self
, abbrev
, descr
, self
.bytes
, endianness
)
1038 self
.values
= val_string_array
1041 result
= "static const value_string %s[] = {\n" \
1042 % (self
.ValuesCName())
1043 for val_record
in self
.values
:
1044 value
= val_record
[0]
1045 text
= val_record
[1]
1046 value_repr
= self
.value_format
% value
1047 result
= result
+ ' { %s, "%s" },\n' \
1048 % (value_repr
, text
)
1050 value_repr
= self
.value_format
% 0
1051 result
= result
+ " { %s, NULL },\n" % (value_repr
)
1052 result
= result
+ "};\n"
1053 REC_VAL_STRING_RES
= self
.value_format
% value
1056 def ValuesCName(self
):
1057 return "ncp_%s_vals" % (self
.abbrev
)
1059 def ValuesName(self
):
1060 return "VALS(%s)" % (self
.ValuesCName())
1062 class val_string8(val_string
):
1063 type = "val_string8"
1066 value_format
= "0x%02x"
1068 class val_string16(val_string
):
1069 type = "val_string16"
1072 value_format
= "0x%04x"
1074 class val_string32(val_string
):
1075 type = "val_string32"
1078 value_format
= "0x%08x"
1085 def __init__(self
, abbrev
, descr
, bytes
):
1086 Type
.__init
__(self
, abbrev
, descr
, bytes
, NA
)
1091 class nbytes8(Type
, nbytes
):
1092 """A series of up to (2^8)-1 bytes. The first byte
1093 gives the byte-string length."""
1096 ftype
= "FT_UINT_BYTES"
1098 def __init__(self
, abbrev
, descr
, endianness
= ENC_LITTLE_ENDIAN
):
1099 Type
.__init
__(self
, abbrev
, descr
, 1, endianness
)
1101 class nbytes16(Type
, nbytes
):
1102 """A series of up to (2^16)-2 bytes. The first 2 bytes
1103 gives the byte-string length."""
1106 ftype
= "FT_UINT_BYTES"
1108 def __init__(self
, abbrev
, descr
, endianness
= ENC_LITTLE_ENDIAN
):
1109 Type
.__init
__(self
, abbrev
, descr
, 2, endianness
)
1111 class nbytes32(Type
, nbytes
):
1112 """A series of up to (2^32)-4 bytes. The first 4 bytes
1113 gives the byte-string length."""
1116 ftype
= "FT_UINT_BYTES"
1118 def __init__(self
, abbrev
, descr
, endianness
= ENC_LITTLE_ENDIAN
):
1119 Type
.__init
__(self
, abbrev
, descr
, 4, endianness
)
1121 class bf_uint(Type
):
1125 def __init__(self
, bitmask
, abbrev
, descr
, endianness
=ENC_LITTLE_ENDIAN
):
1126 Type
.__init
__(self
, abbrev
, descr
, self
.bytes
, endianness
)
1127 self
.bitmask
= bitmask
1132 class bf_val_str(bf_uint
):
1136 def __init__(self
, bitmask
, abbrev
, descr
, val_string_array
, endiannes
=ENC_LITTLE_ENDIAN
):
1137 bf_uint
.__init
__(self
, bitmask
, abbrev
, descr
, endiannes
)
1138 self
.values
= val_string_array
1140 def ValuesName(self
):
1141 return "VALS(%s)" % (self
.ValuesCName())
1143 class bf_val_str8(bf_val_str
, val_string8
):
1144 type = "bf_val_str8"
1149 class bf_val_str16(bf_val_str
, val_string16
):
1150 type = "bf_val_str16"
1155 class bf_val_str32(bf_val_str
, val_string32
):
1156 type = "bf_val_str32"
1164 class bf_boolean8(bf_uint
, boolean8
, bf_boolean
):
1165 type = "bf_boolean8"
1166 ftype
= "FT_BOOLEAN"
1170 class bf_boolean16(bf_uint
, boolean16
, bf_boolean
):
1171 type = "bf_boolean16"
1172 ftype
= "FT_BOOLEAN"
1176 class bf_boolean24(bf_uint
, boolean24
, bf_boolean
):
1177 type = "bf_boolean24"
1178 ftype
= "FT_BOOLEAN"
1182 class bf_boolean32(bf_uint
, boolean32
, bf_boolean
):
1183 type = "bf_boolean32"
1184 ftype
= "FT_BOOLEAN"
1188 class bitfield(Type
):
1192 def __init__(self
, vars):
1195 if isinstance(var
, bf_boolean
):
1196 if not isinstance(var
, self
.bf_type
):
1197 print("%s must be of type %s" % \
1198 (var
.Abbreviation(),
1201 var_hash
[var
.bitmask
] = var
1203 bitmasks
= list(var_hash
.keys())
1208 for bitmask
in bitmasks
:
1209 var
= var_hash
[bitmask
]
1210 ordered_vars
.append(var
)
1212 self
.vars = ordered_vars
1213 self
.ptvcname
= "ncp_%s_bitfield" % (self
.abbrev
,)
1214 self
.hfname
= "hf_ncp_%s" % (self
.abbrev
,)
1215 self
.sub_ptvc
= PTVCBitfield(self
.PTVCName(), self
.vars)
1217 def SubVariables(self
):
1220 def SubVariablesPTVC(self
):
1221 return self
.sub_ptvc
1224 return self
.ptvcname
1227 class bitfield8(bitfield
, uint8
):
1230 bf_type
= bf_boolean8
1232 def __init__(self
, abbrev
, descr
, vars):
1233 uint8
.__init__(self
, abbrev
, descr
)
1234 bitfield
.__init
__(self
, vars)
1236 class bitfield16(bitfield
, uint16
):
1239 bf_type
= bf_boolean16
1241 def __init__(self
, abbrev
, descr
, vars, endianness
=ENC_LITTLE_ENDIAN
):
1242 uint16
.__init__(self
, abbrev
, descr
, endianness
)
1243 bitfield
.__init
__(self
, vars)
1245 class bitfield24(bitfield
, uint24
):
1248 bf_type
= bf_boolean24
1250 def __init__(self
, abbrev
, descr
, vars, endianness
=ENC_LITTLE_ENDIAN
):
1251 uint24
.__init__(self
, abbrev
, descr
, endianness
)
1252 bitfield
.__init
__(self
, vars)
1254 class bitfield32(bitfield
, uint32
):
1257 bf_type
= bf_boolean32
1259 def __init__(self
, abbrev
, descr
, vars, endianness
=ENC_LITTLE_ENDIAN
):
1260 uint32
.__init__(self
, abbrev
, descr
, endianness
)
1261 bitfield
.__init
__(self
, vars)
1264 # Force the endianness of a field to a non-default value; used in
1265 # the list of fields of a structure.
1267 def endian(field
, endianness
):
1268 return [-1, field
.Length(), field
, endianness
, NO_VAR
, NO_REPEAT
, NO_REQ_COND
]
1270 ##############################################################################
1271 # NCP Field Types. Defined in Appendix A of "Programmer's Guide..."
1272 ##############################################################################
1274 AbortQueueFlag
= val_string8("abort_q_flag", "Abort Queue Flag", [
1275 [ 0x00, "Place at End of Queue" ],
1276 [ 0x01, "Do Not Place Spool File, Examine Flags" ],
1278 AcceptedMaxSize
= uint16("accepted_max_size", "Accepted Max Size")
1279 AcceptedMaxSize64
= uint64("accepted_max_size64", "Accepted Max Size")
1280 AccessControl
= val_string8("access_control", "Access Control", [
1281 [ 0x00, "Open for read by this client" ],
1282 [ 0x01, "Open for write by this client" ],
1283 [ 0x02, "Deny read requests from other stations" ],
1284 [ 0x03, "Deny write requests from other stations" ],
1285 [ 0x04, "File detached" ],
1286 [ 0x05, "TTS holding detach" ],
1287 [ 0x06, "TTS holding open" ],
1289 AccessDate
= uint16("access_date", "Access Date")
1291 AccessMode
= bitfield8("access_mode", "Access Mode", [
1292 bf_boolean8(0x01, "acc_mode_read", "Read Access"),
1293 bf_boolean8(0x02, "acc_mode_write", "Write Access"),
1294 bf_boolean8(0x04, "acc_mode_deny_read", "Deny Read Access"),
1295 bf_boolean8(0x08, "acc_mode_deny_write", "Deny Write Access"),
1296 bf_boolean8(0x10, "acc_mode_comp", "Compatibility Mode"),
1298 AccessPrivileges
= bitfield8("access_privileges", "Access Privileges", [
1299 bf_boolean8(0x01, "acc_priv_read", "Read Privileges (files only)"),
1300 bf_boolean8(0x02, "acc_priv_write", "Write Privileges (files only)"),
1301 bf_boolean8(0x04, "acc_priv_open", "Open Privileges (files only)"),
1302 bf_boolean8(0x08, "acc_priv_create", "Create Privileges (files only)"),
1303 bf_boolean8(0x10, "acc_priv_delete", "Delete Privileges (files only)"),
1304 bf_boolean8(0x20, "acc_priv_parent", "Parental Privileges (directories only for creating, deleting, and renaming)"),
1305 bf_boolean8(0x40, "acc_priv_search", "Search Privileges (directories only)"),
1306 bf_boolean8(0x80, "acc_priv_modify", "Modify File Status Flags Privileges (files and directories)"),
1308 AccessRightsMask
= bitfield8("access_rights_mask", "Access Rights", [
1309 bf_boolean8(0x0001, "acc_rights_read", "Read Rights"),
1310 bf_boolean8(0x0002, "acc_rights_write", "Write Rights"),
1311 bf_boolean8(0x0004, "acc_rights_open", "Open Rights"),
1312 bf_boolean8(0x0008, "acc_rights_create", "Create Rights"),
1313 bf_boolean8(0x0010, "acc_rights_delete", "Delete Rights"),
1314 bf_boolean8(0x0020, "acc_rights_parent", "Parental Rights"),
1315 bf_boolean8(0x0040, "acc_rights_search", "Search Rights"),
1316 bf_boolean8(0x0080, "acc_rights_modify", "Modify Rights"),
1318 AccessRightsMaskWord
= bitfield16("access_rights_mask_word", "Access Rights", [
1319 bf_boolean16(0x0001, "acc_rights1_read", "Read Rights"),
1320 bf_boolean16(0x0002, "acc_rights1_write", "Write Rights"),
1321 bf_boolean16(0x0004, "acc_rights1_open", "Open Rights"),
1322 bf_boolean16(0x0008, "acc_rights1_create", "Create Rights"),
1323 bf_boolean16(0x0010, "acc_rights1_delete", "Delete Rights"),
1324 bf_boolean16(0x0020, "acc_rights1_parent", "Parental Rights"),
1325 bf_boolean16(0x0040, "acc_rights1_search", "Search Rights"),
1326 bf_boolean16(0x0080, "acc_rights1_modify", "Modify Rights"),
1327 bf_boolean16(0x0100, "acc_rights1_supervisor", "Supervisor Access Rights"),
1329 AccountBalance
= uint32("account_balance", "Account Balance")
1330 AccountVersion
= uint8("acct_version", "Acct Version")
1331 ActionFlag
= bitfield8("action_flag", "Action Flag", [
1332 bf_boolean8(0x01, "act_flag_open", "Open"),
1333 bf_boolean8(0x02, "act_flag_replace", "Replace"),
1334 bf_boolean8(0x10, "act_flag_create", "Create"),
1336 ActiveConnBitList
= fw_string("active_conn_bit_list", "Active Connection List", 512)
1337 ActiveIndexedFiles
= uint16("active_indexed_files", "Active Indexed Files")
1338 ActualMaxBinderyObjects
= uint16("actual_max_bindery_objects", "Actual Max Bindery Objects")
1339 ActualMaxIndexedFiles
= uint16("actual_max_indexed_files", "Actual Max Indexed Files")
1340 ActualMaxOpenFiles
= uint16("actual_max_open_files", "Actual Max Open Files")
1341 ActualMaxSimultaneousTransactions
= uint16("actual_max_sim_trans", "Actual Max Simultaneous Transactions")
1342 ActualMaxUsedDirectoryEntries
= uint16("actual_max_used_directory_entries", "Actual Max Used Directory Entries")
1343 ActualMaxUsedRoutingBuffers
= uint16("actual_max_used_routing_buffers", "Actual Max Used Routing Buffers")
1344 ActualResponseCount
= uint16("actual_response_count", "Actual Response Count")
1345 AddNameSpaceAndVol
= stringz("add_nm_spc_and_vol", "Add Name Space and Volume")
1346 AFPEntryID
= uint32("afp_entry_id", "AFP Entry ID", ENC_BIG_ENDIAN
)
1347 AFPEntryID
.Display("BASE_HEX")
1348 AllocAvailByte
= uint32("alloc_avail_byte", "Bytes Available for Allocation")
1349 AllocateMode
= bitfield16("alloc_mode", "Allocate Mode", [
1350 bf_val_str16(0x0001, "alloc_dir_hdl", "Dir Handle Type",[
1351 [0x00, "Permanent"],
1352 [0x01, "Temporary"],
1354 bf_boolean16(0x0002, "alloc_spec_temp_dir_hdl","Special Temporary Directory Handle"),
1355 bf_boolean16(0x4000, "alloc_reply_lvl2","Reply Level 2"),
1356 bf_boolean16(0x8000, "alloc_dst_name_spc","Destination Name Space Input Parameter"),
1358 AllocationBlockSize
= uint32("allocation_block_size", "Allocation Block Size")
1359 AllocFreeCount
= uint32("alloc_free_count", "Reclaimable Free Bytes")
1360 ApplicationNumber
= uint16("application_number", "Application Number")
1361 ArchivedTime
= uint16("archived_time", "Archived Time")
1362 ArchivedTime
.NWTime()
1363 ArchivedDate
= uint16("archived_date", "Archived Date")
1364 ArchivedDate
.NWDate()
1365 ArchiverID
= uint32("archiver_id", "Archiver ID", ENC_BIG_ENDIAN
)
1366 ArchiverID
.Display("BASE_HEX")
1367 AssociatedNameSpace
= uint8("associated_name_space", "Associated Name Space")
1368 AttachDuringProcessing
= uint16("attach_during_processing", "Attach During Processing")
1369 AttachedIndexedFiles
= uint8("attached_indexed_files", "Attached Indexed Files")
1370 AttachWhileProcessingAttach
= uint16("attach_while_processing_attach", "Attach While Processing Attach")
1371 Attributes
= uint32("attributes", "Attributes")
1372 AttributesDef
= bitfield8("attr_def", "Attributes", [
1373 bf_boolean8(0x01, "att_def_ro", "Read Only"),
1374 bf_boolean8(0x02, "att_def_hidden", "Hidden"),
1375 bf_boolean8(0x04, "att_def_system", "System"),
1376 bf_boolean8(0x08, "att_def_execute", "Execute"),
1377 bf_boolean8(0x10, "att_def_sub_only", "Subdirectory"),
1378 bf_boolean8(0x20, "att_def_archive", "Archive"),
1379 bf_boolean8(0x80, "att_def_shareable", "Shareable"),
1381 AttributesDef16
= bitfield16("attr_def_16", "Attributes", [
1382 bf_boolean16(0x0001, "att_def16_ro", "Read Only"),
1383 bf_boolean16(0x0002, "att_def16_hidden", "Hidden"),
1384 bf_boolean16(0x0004, "att_def16_system", "System"),
1385 bf_boolean16(0x0008, "att_def16_execute", "Execute"),
1386 bf_boolean16(0x0010, "att_def16_sub_only", "Subdirectory"),
1387 bf_boolean16(0x0020, "att_def16_archive", "Archive"),
1388 bf_boolean16(0x0080, "att_def16_shareable", "Shareable"),
1389 bf_boolean16(0x1000, "att_def16_transaction", "Transactional"),
1390 bf_boolean16(0x4000, "att_def16_read_audit", "Read Audit"),
1391 bf_boolean16(0x8000, "att_def16_write_audit", "Write Audit"),
1393 AttributesDef32
= bitfield32("attr_def_32", "Attributes", [
1394 bf_boolean32(0x00000001, "att_def32_ro", "Read Only"),
1395 bf_boolean32(0x00000002, "att_def32_hidden", "Hidden"),
1396 bf_boolean32(0x00000004, "att_def32_system", "System"),
1397 bf_boolean32(0x00000008, "att_def32_execute", "Execute"),
1398 bf_boolean32(0x00000010, "att_def32_sub_only", "Subdirectory"),
1399 bf_boolean32(0x00000020, "att_def32_archive", "Archive"),
1400 bf_boolean32(0x00000040, "att_def32_execute_confirm", "Execute Confirm"),
1401 bf_boolean32(0x00000080, "att_def32_shareable", "Shareable"),
1402 bf_val_str32(0x00000700, "att_def32_search", "Search Mode",[
1403 [0, "Search on all Read Only Opens"],
1404 [1, "Search on Read Only Opens with no Path"],
1405 [2, "Shell Default Search Mode"],
1406 [3, "Search on all Opens with no Path"],
1407 [4, "Do not Search"],
1408 [5, "Reserved - Do not Use"],
1409 [6, "Search on All Opens"],
1410 [7, "Reserved - Do not Use"],
1412 bf_boolean32(0x00000800, "att_def32_no_suballoc", "No Suballoc"),
1413 bf_boolean32(0x00001000, "att_def32_transaction", "Transactional"),
1414 bf_boolean32(0x00004000, "att_def32_read_audit", "Read Audit"),
1415 bf_boolean32(0x00008000, "att_def32_write_audit", "Write Audit"),
1416 bf_boolean32(0x00010000, "att_def32_purge", "Immediate Purge"),
1417 bf_boolean32(0x00020000, "att_def32_reninhibit", "Rename Inhibit"),
1418 bf_boolean32(0x00040000, "att_def32_delinhibit", "Delete Inhibit"),
1419 bf_boolean32(0x00080000, "att_def32_cpyinhibit", "Copy Inhibit"),
1420 bf_boolean32(0x00100000, "att_def32_file_audit", "File Audit"),
1421 bf_boolean32(0x00200000, "att_def32_reserved", "Reserved"),
1422 bf_boolean32(0x00400000, "att_def32_data_migrate", "Data Migrated"),
1423 bf_boolean32(0x00800000, "att_def32_inhibit_dm", "Inhibit Data Migration"),
1424 bf_boolean32(0x01000000, "att_def32_dm_save_key", "Data Migration Save Key"),
1425 bf_boolean32(0x02000000, "att_def32_im_comp", "Immediate Compress"),
1426 bf_boolean32(0x04000000, "att_def32_comp", "Compressed"),
1427 bf_boolean32(0x08000000, "att_def32_comp_inhibit", "Inhibit Compression"),
1428 bf_boolean32(0x10000000, "att_def32_reserved2", "Reserved"),
1429 bf_boolean32(0x20000000, "att_def32_cant_compress", "Can't Compress"),
1430 bf_boolean32(0x40000000, "att_def32_attr_archive", "Archive Attributes"),
1431 bf_boolean32(0x80000000, "att_def32_reserved3", "Reserved"),
1433 AttributeValidFlag
= uint32("attribute_valid_flag", "Attribute Valid Flag")
1434 AuditFileVersionDate
= uint16("audit_file_ver_date", "Audit File Version Date")
1435 AuditFileVersionDate
.NWDate()
1436 AuditFlag
= val_string8("audit_flag", "Audit Flag", [
1437 [ 0x00, "Do NOT audit object" ],
1438 [ 0x01, "Audit object" ],
1440 AuditHandle
= uint32("audit_handle", "Audit File Handle")
1441 AuditHandle
.Display("BASE_HEX")
1442 AuditID
= uint32("audit_id", "Audit ID", ENC_BIG_ENDIAN
)
1443 AuditID
.Display("BASE_HEX")
1444 AuditIDType
= val_string16("audit_id_type", "Audit ID Type", [
1445 [ 0x0000, "Volume" ],
1446 [ 0x0001, "Container" ],
1448 AuditVersionDate
= uint16("audit_ver_date", "Auditing Version Date")
1449 AuditVersionDate
.NWDate()
1450 AvailableBlocks
= uint32("available_blocks", "Available Blocks")
1451 AvailableBlocks64
= uint64("available_blocks64", "Available Blocks")
1452 AvailableClusters
= uint16("available_clusters", "Available Clusters")
1453 AvailableDirectorySlots
= uint16("available_directory_slots", "Available Directory Slots")
1454 AvailableDirEntries
= uint32("available_dir_entries", "Available Directory Entries")
1455 AvailableDirEntries64
= uint64("available_dir_entries64", "Available Directory Entries")
1456 AvailableIndexedFiles
= uint16("available_indexed_files", "Available Indexed Files")
1458 BackgroundAgedWrites
= uint32("background_aged_writes", "Background Aged Writes")
1459 BackgroundDirtyWrites
= uint32("background_dirty_writes", "Background Dirty Writes")
1460 BadLogicalConnectionCount
= uint16("bad_logical_connection_count", "Bad Logical Connection Count")
1461 BannerName
= fw_string("banner_name", "Banner Name", 14)
1462 BaseDirectoryID
= uint32("base_directory_id", "Base Directory ID", ENC_BIG_ENDIAN
)
1463 BaseDirectoryID
.Display("BASE_HEX")
1464 binderyContext
= nstring8("bindery_context", "Bindery Context")
1465 BitMap
= bytes("bit_map", "Bit Map", 512)
1466 BlockNumber
= uint32("block_number", "Block Number")
1467 BlockSize
= uint16("block_size", "Block Size")
1468 BlockSizeInSectors
= uint32("block_size_in_sectors", "Block Size in Sectors")
1469 BoardInstalled
= uint8("board_installed", "Board Installed")
1470 BoardNumber
= uint32("board_number", "Board Number")
1471 BoardNumbers
= uint32("board_numbers", "Board Numbers")
1472 BufferSize
= uint16("buffer_size", "Buffer Size")
1473 BusString
= stringz("bus_string", "Bus String")
1474 BusType
= val_string8("bus_type", "Bus Type", [
1476 [0x01, "Micro Channel" ],
1483 BytesActuallyTransferred
= uint32("bytes_actually_transferred", "Bytes Actually Transferred")
1484 BytesActuallyTransferred64bit
= uint64("bytes_actually_transferred_64", "Bytes Actually Transferred", ENC_LITTLE_ENDIAN
)
1485 BytesActuallyTransferred64bit
.Display("BASE_DEC")
1486 BytesRead
= fw_string("bytes_read", "Bytes Read", 6)
1487 BytesToCopy
= uint32("bytes_to_copy", "Bytes to Copy")
1488 BytesToCopy64bit
= uint64("bytes_to_copy_64", "Bytes to Copy")
1489 BytesToCopy64bit
.Display("BASE_DEC")
1490 BytesWritten
= fw_string("bytes_written", "Bytes Written", 6)
1492 CacheAllocations
= uint32("cache_allocations", "Cache Allocations")
1493 CacheBlockScrapped
= uint16("cache_block_scrapped", "Cache Block Scrapped")
1494 CacheBufferCount
= uint16("cache_buffer_count", "Cache Buffer Count")
1495 CacheBufferSize
= uint16("cache_buffer_size", "Cache Buffer Size")
1496 CacheFullWriteRequests
= uint32("cache_full_write_requests", "Cache Full Write Requests")
1497 CacheGetRequests
= uint32("cache_get_requests", "Cache Get Requests")
1498 CacheHitOnUnavailableBlock
= uint16("cache_hit_on_unavailable_block", "Cache Hit On Unavailable Block")
1499 CacheHits
= uint32("cache_hits", "Cache Hits")
1500 CacheMisses
= uint32("cache_misses", "Cache Misses")
1501 CachePartialWriteRequests
= uint32("cache_partial_write_requests", "Cache Partial Write Requests")
1502 CacheReadRequests
= uint32("cache_read_requests", "Cache Read Requests")
1503 CacheWriteRequests
= uint32("cache_write_requests", "Cache Write Requests")
1504 CategoryName
= stringz("category_name", "Category Name")
1505 CCFileHandle
= uint32("cc_file_handle", "File Handle")
1506 CCFileHandle
.Display("BASE_HEX")
1507 CCFunction
= val_string8("cc_function", "OP-Lock Flag", [
1508 [ 0x01, "Clear OP-Lock" ],
1509 [ 0x02, "Acknowledge Callback" ],
1510 [ 0x03, "Decline Callback" ],
1511 [ 0x04, "Level 2" ],
1513 ChangeBits
= bitfield16("change_bits", "Change Bits", [
1514 bf_boolean16(0x0001, "change_bits_modify", "Modify Name"),
1515 bf_boolean16(0x0002, "change_bits_fatt", "File Attributes"),
1516 bf_boolean16(0x0004, "change_bits_cdate", "Creation Date"),
1517 bf_boolean16(0x0008, "change_bits_ctime", "Creation Time"),
1518 bf_boolean16(0x0010, "change_bits_owner", "Owner ID"),
1519 bf_boolean16(0x0020, "change_bits_adate", "Archive Date"),
1520 bf_boolean16(0x0040, "change_bits_atime", "Archive Time"),
1521 bf_boolean16(0x0080, "change_bits_aid", "Archiver ID"),
1522 bf_boolean16(0x0100, "change_bits_udate", "Update Date"),
1523 bf_boolean16(0x0200, "change_bits_utime", "Update Time"),
1524 bf_boolean16(0x0400, "change_bits_uid", "Update ID"),
1525 bf_boolean16(0x0800, "change_bits_acc_date", "Access Date"),
1526 bf_boolean16(0x1000, "change_bits_max_acc_mask", "Maximum Access Mask"),
1527 bf_boolean16(0x2000, "change_bits_max_space", "Maximum Space"),
1529 ChannelState
= val_string8("channel_state", "Channel State", [
1530 [ 0x00, "Channel is running" ],
1531 [ 0x01, "Channel is stopping" ],
1532 [ 0x02, "Channel is stopped" ],
1533 [ 0x03, "Channel is not functional" ],
1535 ChannelSynchronizationState
= val_string8("channel_synchronization_state", "Channel Synchronization State", [
1536 [ 0x00, "Channel is not being used" ],
1537 [ 0x02, "NetWare is using the channel; no one else wants it" ],
1538 [ 0x04, "NetWare is using the channel; someone else wants it" ],
1539 [ 0x06, "Someone else is using the channel; NetWare does not need it" ],
1540 [ 0x08, "Someone else is using the channel; NetWare needs it" ],
1541 [ 0x0A, "Someone else has released the channel; NetWare should use it" ],
1543 ChargeAmount
= uint32("charge_amount", "Charge Amount")
1544 ChargeInformation
= uint32("charge_information", "Charge Information")
1545 ClientCompFlag
= val_string16("client_comp_flag", "Completion Flag", [
1546 [ 0x0000, "Successful" ],
1547 [ 0x0001, "Illegal Station Number" ],
1548 [ 0x0002, "Client Not Logged In" ],
1549 [ 0x0003, "Client Not Accepting Messages" ],
1550 [ 0x0004, "Client Already has a Message" ],
1551 [ 0x0096, "No Alloc Space for the Message" ],
1552 [ 0x00fd, "Bad Station Number" ],
1553 [ 0x00ff, "Failure" ],
1555 ClientIDNumber
= uint32("client_id_number", "Client ID Number", ENC_BIG_ENDIAN
)
1556 ClientIDNumber
.Display("BASE_HEX")
1557 ClientList
= uint32("client_list", "Client List")
1558 ClientListCount
= uint16("client_list_cnt", "Client List Count")
1559 ClientListLen
= uint8("client_list_len", "Client List Length")
1560 ClientName
= nstring8("client_name", "Client Name")
1561 ClientRecordArea
= fw_string("client_record_area", "Client Record Area", 152)
1562 ClientStation
= uint8("client_station", "Client Station")
1563 ClientStationLong
= uint32("client_station_long", "Client Station")
1564 ClientTaskNumber
= uint8("client_task_number", "Client Task Number")
1565 ClientTaskNumberLong
= uint32("client_task_number_long", "Client Task Number")
1566 ClusterCount
= uint16("cluster_count", "Cluster Count")
1567 ClustersUsedByDirectories
= uint32("clusters_used_by_directories", "Clusters Used by Directories")
1568 ClustersUsedByExtendedDirectories
= uint32("clusters_used_by_extended_dirs", "Clusters Used by Extended Directories")
1569 ClustersUsedByFAT
= uint32("clusters_used_by_fat", "Clusters Used by FAT")
1570 CodePage
= uint32("code_page", "Code Page")
1571 ComCnts
= uint16("com_cnts", "Communication Counters")
1572 Comment
= nstring8("comment", "Comment")
1573 CommentType
= uint16("comment_type", "Comment Type")
1574 CompletionCode
= uint32("ncompletion_code", "Completion Code")
1575 CompressedDataStreamsCount
= uint32("compressed_data_streams_count", "Compressed Data Streams Count")
1576 CompressedLimboDataStreamsCount
= uint32("compressed_limbo_data_streams_count", "Compressed Limbo Data Streams Count")
1577 CompressedSectors
= uint32("compressed_sectors", "Compressed Sectors")
1578 compressionStage
= uint32("compression_stage", "Compression Stage")
1579 compressVolume
= uint32("compress_volume", "Volume Compression")
1580 ConfigMajorVN
= uint8("config_major_vn", "Configuration Major Version Number")
1581 ConfigMinorVN
= uint8("config_minor_vn", "Configuration Minor Version Number")
1582 ConfigurationDescription
= fw_string("configuration_description", "Configuration Description", 80)
1583 ConfigurationText
= fw_string("configuration_text", "Configuration Text", 160)
1584 ConfiguredMaxBinderyObjects
= uint16("configured_max_bindery_objects", "Configured Max Bindery Objects")
1585 ConfiguredMaxOpenFiles
= uint16("configured_max_open_files", "Configured Max Open Files")
1586 ConfiguredMaxRoutingBuffers
= uint16("configured_max_routing_buffers", "Configured Max Routing Buffers")
1587 ConfiguredMaxSimultaneousTransactions
= uint16("cfg_max_simultaneous_transactions", "Configured Max Simultaneous Transactions")
1588 ConnectedLAN
= uint32("connected_lan", "LAN Adapter")
1589 ConnectionControlBits
= bitfield8("conn_ctrl_bits", "Connection Control", [
1590 bf_boolean8(0x01, "enable_brdcasts", "Enable Broadcasts"),
1591 bf_boolean8(0x02, "enable_personal_brdcasts", "Enable Personal Broadcasts"),
1592 bf_boolean8(0x04, "enable_wdog_messages", "Enable Watchdog Message"),
1593 bf_boolean8(0x10, "disable_brdcasts", "Disable Broadcasts"),
1594 bf_boolean8(0x20, "disable_personal_brdcasts", "Disable Personal Broadcasts"),
1595 bf_boolean8(0x40, "disable_wdog_messages", "Disable Watchdog Message"),
1597 ConnectionListCount
= uint32("conn_list_count", "Connection List Count")
1598 ConnectionList
= uint32("connection_list", "Connection List")
1599 ConnectionNumber
= uint32("connection_number", "Connection Number", ENC_BIG_ENDIAN
)
1600 ConnectionNumberList
= nstring8("connection_number_list", "Connection Number List")
1601 ConnectionNumberWord
= uint16("conn_number_word", "Connection Number")
1602 ConnectionNumberByte
= uint8("conn_number_byte", "Connection Number")
1603 ConnectionServiceType
= val_string8("connection_service_type","Connection Service Type",[
1604 [ 0x01, "CLIB backward Compatibility" ],
1605 [ 0x02, "NCP Connection" ],
1606 [ 0x03, "NLM Connection" ],
1607 [ 0x04, "AFP Connection" ],
1608 [ 0x05, "FTAM Connection" ],
1609 [ 0x06, "ANCP Connection" ],
1610 [ 0x07, "ACP Connection" ],
1611 [ 0x08, "SMB Connection" ],
1612 [ 0x09, "Winsock Connection" ],
1614 ConnectionsInUse
= uint16("connections_in_use", "Connections In Use")
1615 ConnectionsMaxUsed
= uint16("connections_max_used", "Connections Max Used")
1616 ConnectionsSupportedMax
= uint16("connections_supported_max", "Connections Supported Max")
1617 ConnectionType
= val_string8("connection_type", "Connection Type", [
1618 [ 0x00, "Not in use" ],
1620 [ 0x0b, "UDP (for IP)" ],
1622 ConnListLen
= uint8("conn_list_len", "Connection List Length")
1623 connList
= uint32("conn_list", "Connection List")
1624 ControlFlags
= val_string8("control_flags", "Control Flags", [
1625 [ 0x00, "Forced Record Locking is Off" ],
1626 [ 0x01, "Forced Record Locking is On" ],
1628 ControllerDriveNumber
= uint8("controller_drive_number", "Controller Drive Number")
1629 ControllerNumber
= uint8("controller_number", "Controller Number")
1630 ControllerType
= uint8("controller_type", "Controller Type")
1631 Cookie1
= uint32("cookie_1", "Cookie 1")
1632 Cookie2
= uint32("cookie_2", "Cookie 2")
1633 Copies
= uint8( "copies", "Copies" )
1634 CoprocessorFlag
= uint32("co_processor_flag", "CoProcessor Present Flag")
1635 CoProcessorString
= stringz("co_proc_string", "CoProcessor String")
1636 CounterMask
= val_string8("counter_mask", "Counter Mask", [
1637 [ 0x00, "Counter is Valid" ],
1638 [ 0x01, "Counter is not Valid" ],
1640 CPUNumber
= uint32("cpu_number", "CPU Number")
1641 CPUString
= stringz("cpu_string", "CPU String")
1642 CPUType
= val_string8("cpu_type", "CPU Type", [
1645 [ 0x02, "Pentium" ],
1646 [ 0x03, "Pentium Pro" ],
1648 CreationDate
= uint16("creation_date", "Creation Date")
1649 CreationDate
.NWDate()
1650 CreationTime
= uint16("creation_time", "Creation Time")
1651 CreationTime
.NWTime()
1652 CreatorID
= uint32("creator_id", "Creator ID", ENC_BIG_ENDIAN
)
1653 CreatorID
.Display("BASE_HEX")
1654 CreatorNameSpaceNumber
= val_string8("creator_name_space_number", "Creator Name Space Number", [
1655 [ 0x00, "DOS Name Space" ],
1656 [ 0x01, "MAC Name Space" ],
1657 [ 0x02, "NFS Name Space" ],
1658 [ 0x04, "Long Name Space" ],
1660 CreditLimit
= uint32("credit_limit", "Credit Limit")
1661 CtrlFlags
= val_string16("ctrl_flags", "Control Flags", [
1662 [ 0x0000, "Do Not Return File Name" ],
1663 [ 0x0001, "Return File Name" ],
1665 curCompBlks
= uint32("cur_comp_blks", "Current Compression Blocks")
1666 curInitialBlks
= uint32("cur_initial_blks", "Current Initial Blocks")
1667 curIntermediateBlks
= uint32("cur_inter_blks", "Current Intermediate Blocks")
1668 CurNumOfRTags
= uint32("cur_num_of_r_tags", "Current Number of Resource Tags")
1669 CurrentBlockBeingDecompressed
= uint32("cur_blk_being_dcompress", "Current Block Being Decompressed")
1670 CurrentChangedFATs
= uint16("current_changed_fats", "Current Changed FAT Entries")
1671 CurrentEntries
= uint32("current_entries", "Current Entries")
1672 CurrentFormType
= uint8( "current_form_type", "Current Form Type" )
1673 CurrentLFSCounters
= uint32("current_lfs_counters", "Current LFS Counters")
1674 CurrentlyUsedRoutingBuffers
= uint16("currently_used_routing_buffers", "Currently Used Routing Buffers")
1675 CurrentOpenFiles
= uint16("current_open_files", "Current Open Files")
1676 CurrentReferenceID
= uint16("curr_ref_id", "Current Reference ID")
1677 CurrentServers
= uint32("current_servers", "Current Servers")
1678 CurrentServerTime
= uint32("current_server_time", "Time Elapsed Since Server Was Brought Up")
1679 CurrentSpace
= uint32("current_space", "Current Space")
1680 CurrentTransactionCount
= uint32("current_trans_count", "Current Transaction Count")
1681 CurrentUsedBinderyObjects
= uint16("current_used_bindery_objects", "Current Used Bindery Objects")
1682 CurrentUsedDynamicSpace
= uint32("current_used_dynamic_space", "Current Used Dynamic Space")
1683 CustomCnts
= uint32("custom_cnts", "Custom Counters")
1684 CustomCount
= uint32("custom_count", "Custom Count")
1685 CustomCounters
= uint32("custom_counters", "Custom Counters")
1686 CustomString
= nstring8("custom_string", "Custom String")
1687 CustomVariableValue
= uint32("custom_var_value", "Custom Variable Value")
1689 Data
= nstring8("data", "Data")
1690 Data64
= stringz("data64", "Data")
1691 DataForkFirstFAT
= uint32("data_fork_first_fat", "Data Fork First FAT Entry")
1692 DataForkLen
= uint32("data_fork_len", "Data Fork Len")
1693 DataForkSize
= uint32("data_fork_size", "Data Fork Size")
1694 DataSize
= uint32("data_size", "Data Size")
1695 DataStream
= val_string8("data_stream", "Data Stream", [
1696 [ 0x00, "Resource Fork or DOS" ],
1697 [ 0x01, "Data Fork" ],
1699 DataStreamFATBlocks
= uint32("data_stream_fat_blks", "Data Stream FAT Blocks")
1700 DataStreamName
= nstring8("data_stream_name", "Data Stream Name")
1701 DataStreamNumber
= uint8("data_stream_number", "Data Stream Number")
1702 DataStreamNumberLong
= uint32("data_stream_num_long", "Data Stream Number")
1703 DataStreamsCount
= uint32("data_streams_count", "Data Streams Count")
1704 DataStreamSize
= uint32("data_stream_size", "Size")
1705 DataStreamSize64
= uint64("data_stream_size_64", "Size")
1706 DataStreamSpaceAlloc
= uint32( "data_stream_space_alloc", "Space Allocated for Data Stream" )
1707 DataTypeFlag
= val_string8("data_type_flag", "Data Type Flag", [
1708 [ 0x00, "ASCII Data" ],
1709 [ 0x01, "UTF8 Data" ],
1711 Day
= uint8("s_day", "Day")
1712 DayOfWeek
= val_string8("s_day_of_week", "Day of Week", [
1715 [ 0x02, "Tuesday" ],
1716 [ 0x03, "Wednesday" ],
1717 [ 0x04, "Thursday" ],
1719 [ 0x06, "Saturday" ],
1721 DeadMirrorTable
= bytes("dead_mirror_table", "Dead Mirror Table", 32)
1722 DefinedDataStreams
= uint8("defined_data_streams", "Defined Data Streams")
1723 DefinedNameSpaces
= uint8("defined_name_spaces", "Defined Name Spaces")
1724 DeletedDate
= uint16("deleted_date", "Deleted Date")
1725 DeletedDate
.NWDate()
1726 DeletedFileTime
= uint32( "deleted_file_time", "Deleted File Time")
1727 DeletedFileTime
.Display("BASE_HEX")
1728 DeletedTime
= uint16("deleted_time", "Deleted Time")
1729 DeletedTime
.NWTime()
1730 DeletedID
= uint32( "delete_id", "Deleted ID", ENC_BIG_ENDIAN
)
1731 DeletedID
.Display("BASE_HEX")
1732 DeleteExistingFileFlag
= val_string8("delete_existing_file_flag", "Delete Existing File Flag", [
1733 [ 0x00, "Do Not Delete Existing File" ],
1734 [ 0x01, "Delete Existing File" ],
1736 DenyReadCount
= uint16("deny_read_count", "Deny Read Count")
1737 DenyWriteCount
= uint16("deny_write_count", "Deny Write Count")
1738 DescriptionStrings
= fw_string("description_string", "Description", 100)
1739 DesiredAccessRights
= bitfield16("desired_access_rights", "Desired Access Rights", [
1740 bf_boolean16(0x0001, "dsired_acc_rights_read_o", "Read Only"),
1741 bf_boolean16(0x0002, "dsired_acc_rights_write_o", "Write Only"),
1742 bf_boolean16(0x0004, "dsired_acc_rights_deny_r", "Deny Read"),
1743 bf_boolean16(0x0008, "dsired_acc_rights_deny_w", "Deny Write"),
1744 bf_boolean16(0x0010, "dsired_acc_rights_compat", "Compatibility"),
1745 bf_boolean16(0x0040, "dsired_acc_rights_w_thru", "File Write Through"),
1746 bf_boolean16(0x0400, "dsired_acc_rights_del_file_cls", "Delete File Close"),
1748 DesiredResponseCount
= uint16("desired_response_count", "Desired Response Count")
1749 DestDirHandle
= uint8("dest_dir_handle", "Destination Directory Handle")
1750 DestNameSpace
= val_string8("dest_name_space", "Destination Name Space", [
1751 [ 0x00, "DOS Name Space" ],
1752 [ 0x01, "MAC Name Space" ],
1753 [ 0x02, "NFS Name Space" ],
1754 [ 0x04, "Long Name Space" ],
1756 DestPathComponentCount
= uint8("dest_component_count", "Destination Path Component Count")
1757 DestPath
= nstring8("dest_path", "Destination Path")
1758 DestPath16
= nstring16("dest_path_16", "Destination Path")
1759 DetachDuringProcessing
= uint16("detach_during_processing", "Detach During Processing")
1760 DetachForBadConnectionNumber
= uint16("detach_for_bad_connection_number", "Detach For Bad Connection Number")
1761 DirHandle
= uint8("dir_handle", "Directory Handle")
1762 DirHandleName
= uint8("dir_handle_name", "Handle Name")
1763 DirHandleLong
= uint32("dir_handle_long", "Directory Handle")
1764 DirHandle64
= uint64("dir_handle64", "Directory Handle")
1765 DirectoryAccessRights
= uint8("directory_access_rights", "Directory Access Rights")
1767 # XXX - what do the bits mean here?
1769 DirectoryAttributes
= uint8("directory_attributes", "Directory Attributes")
1770 DirectoryBase
= uint32("dir_base", "Directory Base")
1771 DirectoryBase
.Display("BASE_HEX")
1772 DirectoryCount
= uint16("dir_count", "Directory Count")
1773 DirectoryEntryNumber
= uint32("directory_entry_number", "Directory Entry Number")
1774 DirectoryEntryNumber
.Display('BASE_HEX')
1775 DirectoryEntryNumberWord
= uint16("directory_entry_number_word", "Directory Entry Number")
1776 DirectoryID
= uint16("directory_id", "Directory ID", ENC_BIG_ENDIAN
)
1777 DirectoryID
.Display("BASE_HEX")
1778 DirectoryName
= fw_string("directory_name", "Directory Name",12)
1779 DirectoryName14
= fw_string("directory_name_14", "Directory Name", 14)
1780 DirectoryNameLen
= uint8("directory_name_len", "Directory Name Length")
1781 DirectoryNumber
= uint32("directory_number", "Directory Number")
1782 DirectoryNumber
.Display("BASE_HEX")
1783 DirectoryPath
= fw_string("directory_path", "Directory Path", 16)
1784 DirectoryServicesObjectID
= uint32("directory_services_object_id", "Directory Services Object ID")
1785 DirectoryServicesObjectID
.Display("BASE_HEX")
1786 DirectoryStamp
= uint16("directory_stamp", "Directory Stamp (0xD1D1)")
1787 DirtyCacheBuffers
= uint16("dirty_cache_buffers", "Dirty Cache Buffers")
1788 DiskChannelNumber
= uint8("disk_channel_number", "Disk Channel Number")
1789 DiskChannelTable
= val_string8("disk_channel_table", "Disk Channel Table", [
1793 [ 0x04, "Disk Coprocessor" ],
1795 DiskSpaceLimit
= uint32("disk_space_limit", "Disk Space Limit")
1796 DiskSpaceLimit64
= uint64("data_stream_size_64", "Size")
1797 DMAChannelsUsed
= uint32("dma_channels_used", "DMA Channels Used")
1798 DMInfoEntries
= uint32("dm_info_entries", "DM Info Entries")
1799 DMInfoLevel
= val_string8("dm_info_level", "DM Info Level", [
1800 [ 0x00, "Return Detailed DM Support Module Information" ],
1801 [ 0x01, "Return Number of DM Support Modules" ],
1802 [ 0x02, "Return DM Support Modules Names" ],
1804 DMFlags
= val_string8("dm_flags", "DM Flags", [
1805 [ 0x00, "OnLine Media" ],
1806 [ 0x01, "OffLine Media" ],
1808 DMmajorVersion
= uint32("dm_major_version", "DM Major Version")
1809 DMminorVersion
= uint32("dm_minor_version", "DM Minor Version")
1810 DMPresentFlag
= val_string8("dm_present_flag", "Data Migration Present Flag", [
1811 [ 0x00, "Data Migration NLM is not loaded" ],
1812 [ 0x01, "Data Migration NLM has been loaded and is running" ],
1814 DOSDirectoryBase
= uint32("dos_directory_base", "DOS Directory Base")
1815 DOSDirectoryBase
.Display("BASE_HEX")
1816 DOSDirectoryEntry
= uint32("dos_directory_entry", "DOS Directory Entry")
1817 DOSDirectoryEntry
.Display("BASE_HEX")
1818 DOSDirectoryEntryNumber
= uint32("dos_directory_entry_number", "DOS Directory Entry Number")
1819 DOSDirectoryEntryNumber
.Display('BASE_HEX')
1820 DOSFileAttributes
= uint8("dos_file_attributes", "DOS File Attributes")
1821 DOSParentDirectoryEntry
= uint32("dos_parent_directory_entry", "DOS Parent Directory Entry")
1822 DOSParentDirectoryEntry
.Display('BASE_HEX')
1823 DOSSequence
= uint32("dos_sequence", "DOS Sequence")
1824 DriveCylinders
= uint16("drive_cylinders", "Drive Cylinders")
1825 DriveDefinitionString
= fw_string("drive_definition_string", "Drive Definition", 64)
1826 DriveHeads
= uint8("drive_heads", "Drive Heads")
1827 DriveMappingTable
= bytes("drive_mapping_table", "Drive Mapping Table", 32)
1828 DriveMirrorTable
= bytes("drive_mirror_table", "Drive Mirror Table", 32)
1829 DriverBoardName
= stringz("driver_board_name", "Driver Board Name")
1830 DriveRemovableFlag
= val_string8("drive_removable_flag", "Drive Removable Flag", [
1831 [ 0x00, "Nonremovable" ],
1832 [ 0xff, "Removable" ],
1834 DriverLogicalName
= stringz("driver_log_name", "Driver Logical Name")
1835 DriverShortName
= stringz("driver_short_name", "Driver Short Name")
1836 DriveSize
= uint32("drive_size", "Drive Size")
1837 DstEAFlags
= val_string16("dst_ea_flags", "Destination EA Flags", [
1838 [ 0x0000, "Return EAHandle,Information Level 0" ],
1839 [ 0x0001, "Return NetWareHandle,Information Level 0" ],
1840 [ 0x0002, "Return Volume/Directory Number,Information Level 0" ],
1841 [ 0x0004, "Return EAHandle,Close Handle on Error,Information Level 0" ],
1842 [ 0x0005, "Return NetWareHandle,Close Handle on Error,Information Level 0" ],
1843 [ 0x0006, "Return Volume/Directory Number,Close Handle on Error,Information Level 0" ],
1844 [ 0x0010, "Return EAHandle,Information Level 1" ],
1845 [ 0x0011, "Return NetWareHandle,Information Level 1" ],
1846 [ 0x0012, "Return Volume/Directory Number,Information Level 1" ],
1847 [ 0x0014, "Return EAHandle,Close Handle on Error,Information Level 1" ],
1848 [ 0x0015, "Return NetWareHandle,Close Handle on Error,Information Level 1" ],
1849 [ 0x0016, "Return Volume/Directory Number,Close Handle on Error,Information Level 1" ],
1850 [ 0x0020, "Return EAHandle,Information Level 2" ],
1851 [ 0x0021, "Return NetWareHandle,Information Level 2" ],
1852 [ 0x0022, "Return Volume/Directory Number,Information Level 2" ],
1853 [ 0x0024, "Return EAHandle,Close Handle on Error,Information Level 2" ],
1854 [ 0x0025, "Return NetWareHandle,Close Handle on Error,Information Level 2" ],
1855 [ 0x0026, "Return Volume/Directory Number,Close Handle on Error,Information Level 2" ],
1856 [ 0x0030, "Return EAHandle,Information Level 3" ],
1857 [ 0x0031, "Return NetWareHandle,Information Level 3" ],
1858 [ 0x0032, "Return Volume/Directory Number,Information Level 3" ],
1859 [ 0x0034, "Return EAHandle,Close Handle on Error,Information Level 3" ],
1860 [ 0x0035, "Return NetWareHandle,Close Handle on Error,Information Level 3" ],
1861 [ 0x0036, "Return Volume/Directory Number,Close Handle on Error,Information Level 3" ],
1862 [ 0x0040, "Return EAHandle,Information Level 4" ],
1863 [ 0x0041, "Return NetWareHandle,Information Level 4" ],
1864 [ 0x0042, "Return Volume/Directory Number,Information Level 4" ],
1865 [ 0x0044, "Return EAHandle,Close Handle on Error,Information Level 4" ],
1866 [ 0x0045, "Return NetWareHandle,Close Handle on Error,Information Level 4" ],
1867 [ 0x0046, "Return Volume/Directory Number,Close Handle on Error,Information Level 4" ],
1868 [ 0x0050, "Return EAHandle,Information Level 5" ],
1869 [ 0x0051, "Return NetWareHandle,Information Level 5" ],
1870 [ 0x0052, "Return Volume/Directory Number,Information Level 5" ],
1871 [ 0x0054, "Return EAHandle,Close Handle on Error,Information Level 5" ],
1872 [ 0x0055, "Return NetWareHandle,Close Handle on Error,Information Level 5" ],
1873 [ 0x0056, "Return Volume/Directory Number,Close Handle on Error,Information Level 5" ],
1874 [ 0x0060, "Return EAHandle,Information Level 6" ],
1875 [ 0x0061, "Return NetWareHandle,Information Level 6" ],
1876 [ 0x0062, "Return Volume/Directory Number,Information Level 6" ],
1877 [ 0x0064, "Return EAHandle,Close Handle on Error,Information Level 6" ],
1878 [ 0x0065, "Return NetWareHandle,Close Handle on Error,Information Level 6" ],
1879 [ 0x0066, "Return Volume/Directory Number,Close Handle on Error,Information Level 6" ],
1880 [ 0x0070, "Return EAHandle,Information Level 7" ],
1881 [ 0x0071, "Return NetWareHandle,Information Level 7" ],
1882 [ 0x0072, "Return Volume/Directory Number,Information Level 7" ],
1883 [ 0x0074, "Return EAHandle,Close Handle on Error,Information Level 7" ],
1884 [ 0x0075, "Return NetWareHandle,Close Handle on Error,Information Level 7" ],
1885 [ 0x0076, "Return Volume/Directory Number,Close Handle on Error,Information Level 7" ],
1886 [ 0x0080, "Return EAHandle,Information Level 0,Immediate Close Handle" ],
1887 [ 0x0081, "Return NetWareHandle,Information Level 0,Immediate Close Handle" ],
1888 [ 0x0082, "Return Volume/Directory Number,Information Level 0,Immediate Close Handle" ],
1889 [ 0x0084, "Return EAHandle,Close Handle on Error,Information Level 0,Immediate Close Handle" ],
1890 [ 0x0085, "Return NetWareHandle,Close Handle on Error,Information Level 0,Immediate Close Handle" ],
1891 [ 0x0086, "Return Volume/Directory Number,Close Handle on Error,Information Level 0,Immediate Close Handle" ],
1892 [ 0x0090, "Return EAHandle,Information Level 1,Immediate Close Handle" ],
1893 [ 0x0091, "Return NetWareHandle,Information Level 1,Immediate Close Handle" ],
1894 [ 0x0092, "Return Volume/Directory Number,Information Level 1,Immediate Close Handle" ],
1895 [ 0x0094, "Return EAHandle,Close Handle on Error,Information Level 1,Immediate Close Handle" ],
1896 [ 0x0095, "Return NetWareHandle,Close Handle on Error,Information Level 1,Immediate Close Handle" ],
1897 [ 0x0096, "Return Volume/Directory Number,Close Handle on Error,Information Level 1,Immediate Close Handle" ],
1898 [ 0x00a0, "Return EAHandle,Information Level 2,Immediate Close Handle" ],
1899 [ 0x00a1, "Return NetWareHandle,Information Level 2,Immediate Close Handle" ],
1900 [ 0x00a2, "Return Volume/Directory Number,Information Level 2,Immediate Close Handle" ],
1901 [ 0x00a4, "Return EAHandle,Close Handle on Error,Information Level 2,Immediate Close Handle" ],
1902 [ 0x00a5, "Return NetWareHandle,Close Handle on Error,Information Level 2,Immediate Close Handle" ],
1903 [ 0x00a6, "Return Volume/Directory Number,Close Handle on Error,Information Level 2,Immediate Close Handle" ],
1904 [ 0x00b0, "Return EAHandle,Information Level 3,Immediate Close Handle" ],
1905 [ 0x00b1, "Return NetWareHandle,Information Level 3,Immediate Close Handle" ],
1906 [ 0x00b2, "Return Volume/Directory Number,Information Level 3,Immediate Close Handle" ],
1907 [ 0x00b4, "Return EAHandle,Close Handle on Error,Information Level 3,Immediate Close Handle" ],
1908 [ 0x00b5, "Return NetWareHandle,Close Handle on Error,Information Level 3,Immediate Close Handle" ],
1909 [ 0x00b6, "Return Volume/Directory Number,Close Handle on Error,Information Level 3,Immediate Close Handle" ],
1910 [ 0x00c0, "Return EAHandle,Information Level 4,Immediate Close Handle" ],
1911 [ 0x00c1, "Return NetWareHandle,Information Level 4,Immediate Close Handle" ],
1912 [ 0x00c2, "Return Volume/Directory Number,Information Level 4,Immediate Close Handle" ],
1913 [ 0x00c4, "Return EAHandle,Close Handle on Error,Information Level 4,Immediate Close Handle" ],
1914 [ 0x00c5, "Return NetWareHandle,Close Handle on Error,Information Level 4,Immediate Close Handle" ],
1915 [ 0x00c6, "Return Volume/Directory Number,Close Handle on Error,Information Level 4,Immediate Close Handle" ],
1916 [ 0x00d0, "Return EAHandle,Information Level 5,Immediate Close Handle" ],
1917 [ 0x00d1, "Return NetWareHandle,Information Level 5,Immediate Close Handle" ],
1918 [ 0x00d2, "Return Volume/Directory Number,Information Level 5,Immediate Close Handle" ],
1919 [ 0x00d4, "Return EAHandle,Close Handle on Error,Information Level 5,Immediate Close Handle" ],
1920 [ 0x00d5, "Return NetWareHandle,Close Handle on Error,Information Level 5,Immediate Close Handle" ],
1921 [ 0x00d6, "Return Volume/Directory Number,Close Handle on Error,Information Level 5,Immediate Close Handle" ],
1922 [ 0x00e0, "Return EAHandle,Information Level 6,Immediate Close Handle" ],
1923 [ 0x00e1, "Return NetWareHandle,Information Level 6,Immediate Close Handle" ],
1924 [ 0x00e2, "Return Volume/Directory Number,Information Level 6,Immediate Close Handle" ],
1925 [ 0x00e4, "Return EAHandle,Close Handle on Error,Information Level 6,Immediate Close Handle" ],
1926 [ 0x00e5, "Return NetWareHandle,Close Handle on Error,Information Level 6,Immediate Close Handle" ],
1927 [ 0x00e6, "Return Volume/Directory Number,Close Handle on Error,Information Level 6,Immediate Close Handle" ],
1928 [ 0x00f0, "Return EAHandle,Information Level 7,Immediate Close Handle" ],
1929 [ 0x00f1, "Return NetWareHandle,Information Level 7,Immediate Close Handle" ],
1930 [ 0x00f2, "Return Volume/Directory Number,Information Level 7,Immediate Close Handle" ],
1931 [ 0x00f4, "Return EAHandle,Close Handle on Error,Information Level 7,Immediate Close Handle" ],
1932 [ 0x00f5, "Return NetWareHandle,Close Handle on Error,Information Level 7,Immediate Close Handle" ],
1933 [ 0x00f6, "Return Volume/Directory Number,Close Handle on Error,Information Level 7,Immediate Close Handle" ],
1935 dstNSIndicator
= val_string16("dst_ns_indicator", "Destination Name Space Indicator", [
1936 [ 0x0000, "Return Source Name Space Information" ],
1937 [ 0x0001, "Return Destination Name Space Information" ],
1939 DstQueueID
= uint32("dst_queue_id", "Destination Queue ID")
1940 DuplicateRepliesSent
= uint16("duplicate_replies_sent", "Duplicate Replies Sent")
1942 EAAccessFlag
= bitfield16("ea_access_flag", "EA Access Flag", [
1943 bf_boolean16(0x0001, "ea_permanent_memory", "Permanent Memory"),
1944 bf_boolean16(0x0002, "ea_deep_freeze", "Deep Freeze"),
1945 bf_boolean16(0x0004, "ea_in_progress", "In Progress"),
1946 bf_boolean16(0x0008, "ea_header_being_enlarged", "Header Being Enlarged"),
1947 bf_boolean16(0x0010, "ea_new_tally_used", "New Tally Used"),
1948 bf_boolean16(0x0020, "ea_tally_need_update", "Tally Need Update"),
1949 bf_boolean16(0x0040, "ea_score_card_present", "Score Card Present"),
1950 bf_boolean16(0x0080, "ea_need_bit_flag", "EA Need Bit Flag"),
1951 bf_boolean16(0x0100, "ea_write_privileges", "Write Privileges"),
1952 bf_boolean16(0x0200, "ea_read_privileges", "Read Privileges"),
1953 bf_boolean16(0x0400, "ea_delete_privileges", "Delete Privileges"),
1954 bf_boolean16(0x0800, "ea_system_ea_only", "System EA Only"),
1955 bf_boolean16(0x1000, "ea_write_in_progress", "Write In Progress"),
1957 EABytesWritten
= uint32("ea_bytes_written", "Bytes Written")
1958 EACount
= uint32("ea_count", "Count")
1959 EADataSize
= uint32("ea_data_size", "Data Size")
1960 EADataSizeDuplicated
= uint32("ea_data_size_duplicated", "Data Size Duplicated")
1961 EADuplicateCount
= uint32("ea_duplicate_count", "Duplicate Count")
1962 EAErrorCodes
= val_string16("ea_error_codes", "EA Error Codes", [
1963 [ 0x0000, "SUCCESSFUL" ],
1964 [ 0x00c8, "ERR_MISSING_EA_KEY" ],
1965 [ 0x00c9, "ERR_EA_NOT_FOUND" ],
1966 [ 0x00ca, "ERR_INVALID_EA_HANDLE_TYPE" ],
1967 [ 0x00cb, "ERR_EA_NO_KEY_NO_DATA" ],
1968 [ 0x00cc, "ERR_EA_NUMBER_MISMATCH" ],
1969 [ 0x00cd, "ERR_EXTENT_NUMBER_OUT_OF_RANGE" ],
1970 [ 0x00ce, "ERR_EA_BAD_DIR_NUM" ],
1971 [ 0x00cf, "ERR_INVALID_EA_HANDLE" ],
1972 [ 0x00d0, "ERR_EA_POSITION_OUT_OF_RANGE" ],
1973 [ 0x00d1, "ERR_EA_ACCESS_DENIED" ],
1974 [ 0x00d2, "ERR_DATA_PAGE_ODD_SIZE" ],
1975 [ 0x00d3, "ERR_EA_VOLUME_NOT_MOUNTED" ],
1976 [ 0x00d4, "ERR_BAD_PAGE_BOUNDARY" ],
1977 [ 0x00d5, "ERR_INSPECT_FAILURE" ],
1978 [ 0x00d6, "ERR_EA_ALREADY_CLAIMED" ],
1979 [ 0x00d7, "ERR_ODD_BUFFER_SIZE" ],
1980 [ 0x00d8, "ERR_NO_SCORECARDS" ],
1981 [ 0x00d9, "ERR_BAD_EDS_SIGNATURE" ],
1982 [ 0x00da, "ERR_EA_SPACE_LIMIT" ],
1983 [ 0x00db, "ERR_EA_KEY_CORRUPT" ],
1984 [ 0x00dc, "ERR_EA_KEY_LIMIT" ],
1985 [ 0x00dd, "ERR_TALLY_CORRUPT" ],
1987 EAFlags
= val_string16("ea_flags", "EA Flags", [
1988 [ 0x0000, "Return EAHandle,Information Level 0" ],
1989 [ 0x0001, "Return NetWareHandle,Information Level 0" ],
1990 [ 0x0002, "Return Volume/Directory Number,Information Level 0" ],
1991 [ 0x0004, "Return EAHandle,Close Handle on Error,Information Level 0" ],
1992 [ 0x0005, "Return NetWareHandle,Close Handle on Error,Information Level 0" ],
1993 [ 0x0006, "Return Volume/Directory Number,Close Handle on Error,Information Level 0" ],
1994 [ 0x0010, "Return EAHandle,Information Level 1" ],
1995 [ 0x0011, "Return NetWareHandle,Information Level 1" ],
1996 [ 0x0012, "Return Volume/Directory Number,Information Level 1" ],
1997 [ 0x0014, "Return EAHandle,Close Handle on Error,Information Level 1" ],
1998 [ 0x0015, "Return NetWareHandle,Close Handle on Error,Information Level 1" ],
1999 [ 0x0016, "Return Volume/Directory Number,Close Handle on Error,Information Level 1" ],
2000 [ 0x0020, "Return EAHandle,Information Level 2" ],
2001 [ 0x0021, "Return NetWareHandle,Information Level 2" ],
2002 [ 0x0022, "Return Volume/Directory Number,Information Level 2" ],
2003 [ 0x0024, "Return EAHandle,Close Handle on Error,Information Level 2" ],
2004 [ 0x0025, "Return NetWareHandle,Close Handle on Error,Information Level 2" ],
2005 [ 0x0026, "Return Volume/Directory Number,Close Handle on Error,Information Level 2" ],
2006 [ 0x0030, "Return EAHandle,Information Level 3" ],
2007 [ 0x0031, "Return NetWareHandle,Information Level 3" ],
2008 [ 0x0032, "Return Volume/Directory Number,Information Level 3" ],
2009 [ 0x0034, "Return EAHandle,Close Handle on Error,Information Level 3" ],
2010 [ 0x0035, "Return NetWareHandle,Close Handle on Error,Information Level 3" ],
2011 [ 0x0036, "Return Volume/Directory Number,Close Handle on Error,Information Level 3" ],
2012 [ 0x0040, "Return EAHandle,Information Level 4" ],
2013 [ 0x0041, "Return NetWareHandle,Information Level 4" ],
2014 [ 0x0042, "Return Volume/Directory Number,Information Level 4" ],
2015 [ 0x0044, "Return EAHandle,Close Handle on Error,Information Level 4" ],
2016 [ 0x0045, "Return NetWareHandle,Close Handle on Error,Information Level 4" ],
2017 [ 0x0046, "Return Volume/Directory Number,Close Handle on Error,Information Level 4" ],
2018 [ 0x0050, "Return EAHandle,Information Level 5" ],
2019 [ 0x0051, "Return NetWareHandle,Information Level 5" ],
2020 [ 0x0052, "Return Volume/Directory Number,Information Level 5" ],
2021 [ 0x0054, "Return EAHandle,Close Handle on Error,Information Level 5" ],
2022 [ 0x0055, "Return NetWareHandle,Close Handle on Error,Information Level 5" ],
2023 [ 0x0056, "Return Volume/Directory Number,Close Handle on Error,Information Level 5" ],
2024 [ 0x0060, "Return EAHandle,Information Level 6" ],
2025 [ 0x0061, "Return NetWareHandle,Information Level 6" ],
2026 [ 0x0062, "Return Volume/Directory Number,Information Level 6" ],
2027 [ 0x0064, "Return EAHandle,Close Handle on Error,Information Level 6" ],
2028 [ 0x0065, "Return NetWareHandle,Close Handle on Error,Information Level 6" ],
2029 [ 0x0066, "Return Volume/Directory Number,Close Handle on Error,Information Level 6" ],
2030 [ 0x0070, "Return EAHandle,Information Level 7" ],
2031 [ 0x0071, "Return NetWareHandle,Information Level 7" ],
2032 [ 0x0072, "Return Volume/Directory Number,Information Level 7" ],
2033 [ 0x0074, "Return EAHandle,Close Handle on Error,Information Level 7" ],
2034 [ 0x0075, "Return NetWareHandle,Close Handle on Error,Information Level 7" ],
2035 [ 0x0076, "Return Volume/Directory Number,Close Handle on Error,Information Level 7" ],
2036 [ 0x0080, "Return EAHandle,Information Level 0,Immediate Close Handle" ],
2037 [ 0x0081, "Return NetWareHandle,Information Level 0,Immediate Close Handle" ],
2038 [ 0x0082, "Return Volume/Directory Number,Information Level 0,Immediate Close Handle" ],
2039 [ 0x0084, "Return EAHandle,Close Handle on Error,Information Level 0,Immediate Close Handle" ],
2040 [ 0x0085, "Return NetWareHandle,Close Handle on Error,Information Level 0,Immediate Close Handle" ],
2041 [ 0x0086, "Return Volume/Directory Number,Close Handle on Error,Information Level 0,Immediate Close Handle" ],
2042 [ 0x0090, "Return EAHandle,Information Level 1,Immediate Close Handle" ],
2043 [ 0x0091, "Return NetWareHandle,Information Level 1,Immediate Close Handle" ],
2044 [ 0x0092, "Return Volume/Directory Number,Information Level 1,Immediate Close Handle" ],
2045 [ 0x0094, "Return EAHandle,Close Handle on Error,Information Level 1,Immediate Close Handle" ],
2046 [ 0x0095, "Return NetWareHandle,Close Handle on Error,Information Level 1,Immediate Close Handle" ],
2047 [ 0x0096, "Return Volume/Directory Number,Close Handle on Error,Information Level 1,Immediate Close Handle" ],
2048 [ 0x00a0, "Return EAHandle,Information Level 2,Immediate Close Handle" ],
2049 [ 0x00a1, "Return NetWareHandle,Information Level 2,Immediate Close Handle" ],
2050 [ 0x00a2, "Return Volume/Directory Number,Information Level 2,Immediate Close Handle" ],
2051 [ 0x00a4, "Return EAHandle,Close Handle on Error,Information Level 2,Immediate Close Handle" ],
2052 [ 0x00a5, "Return NetWareHandle,Close Handle on Error,Information Level 2,Immediate Close Handle" ],
2053 [ 0x00a6, "Return Volume/Directory Number,Close Handle on Error,Information Level 2,Immediate Close Handle" ],
2054 [ 0x00b0, "Return EAHandle,Information Level 3,Immediate Close Handle" ],
2055 [ 0x00b1, "Return NetWareHandle,Information Level 3,Immediate Close Handle" ],
2056 [ 0x00b2, "Return Volume/Directory Number,Information Level 3,Immediate Close Handle" ],
2057 [ 0x00b4, "Return EAHandle,Close Handle on Error,Information Level 3,Immediate Close Handle" ],
2058 [ 0x00b5, "Return NetWareHandle,Close Handle on Error,Information Level 3,Immediate Close Handle" ],
2059 [ 0x00b6, "Return Volume/Directory Number,Close Handle on Error,Information Level 3,Immediate Close Handle" ],
2060 [ 0x00c0, "Return EAHandle,Information Level 4,Immediate Close Handle" ],
2061 [ 0x00c1, "Return NetWareHandle,Information Level 4,Immediate Close Handle" ],
2062 [ 0x00c2, "Return Volume/Directory Number,Information Level 4,Immediate Close Handle" ],
2063 [ 0x00c4, "Return EAHandle,Close Handle on Error,Information Level 4,Immediate Close Handle" ],
2064 [ 0x00c5, "Return NetWareHandle,Close Handle on Error,Information Level 4,Immediate Close Handle" ],
2065 [ 0x00c6, "Return Volume/Directory Number,Close Handle on Error,Information Level 4,Immediate Close Handle" ],
2066 [ 0x00d0, "Return EAHandle,Information Level 5,Immediate Close Handle" ],
2067 [ 0x00d1, "Return NetWareHandle,Information Level 5,Immediate Close Handle" ],
2068 [ 0x00d2, "Return Volume/Directory Number,Information Level 5,Immediate Close Handle" ],
2069 [ 0x00d4, "Return EAHandle,Close Handle on Error,Information Level 5,Immediate Close Handle" ],
2070 [ 0x00d5, "Return NetWareHandle,Close Handle on Error,Information Level 5,Immediate Close Handle" ],
2071 [ 0x00d6, "Return Volume/Directory Number,Close Handle on Error,Information Level 5,Immediate Close Handle" ],
2072 [ 0x00e0, "Return EAHandle,Information Level 6,Immediate Close Handle" ],
2073 [ 0x00e1, "Return NetWareHandle,Information Level 6,Immediate Close Handle" ],
2074 [ 0x00e2, "Return Volume/Directory Number,Information Level 6,Immediate Close Handle" ],
2075 [ 0x00e4, "Return EAHandle,Close Handle on Error,Information Level 6,Immediate Close Handle" ],
2076 [ 0x00e5, "Return NetWareHandle,Close Handle on Error,Information Level 6,Immediate Close Handle" ],
2077 [ 0x00e6, "Return Volume/Directory Number,Close Handle on Error,Information Level 6,Immediate Close Handle" ],
2078 [ 0x00f0, "Return EAHandle,Information Level 7,Immediate Close Handle" ],
2079 [ 0x00f1, "Return NetWareHandle,Information Level 7,Immediate Close Handle" ],
2080 [ 0x00f2, "Return Volume/Directory Number,Information Level 7,Immediate Close Handle" ],
2081 [ 0x00f4, "Return EAHandle,Close Handle on Error,Information Level 7,Immediate Close Handle" ],
2082 [ 0x00f5, "Return NetWareHandle,Close Handle on Error,Information Level 7,Immediate Close Handle" ],
2083 [ 0x00f6, "Return Volume/Directory Number,Close Handle on Error,Information Level 7,Immediate Close Handle" ],
2085 EAHandle
= uint32("ea_handle", "EA Handle")
2086 EAHandle
.Display("BASE_HEX")
2087 EAHandleOrNetWareHandleOrVolume
= uint32("ea_handle_or_netware_handle_or_volume", "EAHandle or NetWare Handle or Volume (see EAFlags)")
2088 EAHandleOrNetWareHandleOrVolume
.Display("BASE_HEX")
2089 EAKey
= nstring16("ea_key", "EA Key")
2090 EAKeySize
= uint32("ea_key_size", "Key Size")
2091 EAKeySizeDuplicated
= uint32("ea_key_size_duplicated", "Key Size Duplicated")
2092 EAValue
= nstring16("ea_value", "EA Value")
2093 EAValueRep
= fw_string("ea_value_rep", "EA Value", 1)
2094 EAValueLength
= uint16("ea_value_length", "Value Length")
2095 EchoSocket
= uint16("echo_socket", "Echo Socket")
2096 EchoSocket
.Display('BASE_HEX')
2097 EffectiveRights
= bitfield8("effective_rights", "Effective Rights", [
2098 bf_boolean8(0x01, "effective_rights_read", "Read Rights"),
2099 bf_boolean8(0x02, "effective_rights_write", "Write Rights"),
2100 bf_boolean8(0x04, "effective_rights_open", "Open Rights"),
2101 bf_boolean8(0x08, "effective_rights_create", "Create Rights"),
2102 bf_boolean8(0x10, "effective_rights_delete", "Delete Rights"),
2103 bf_boolean8(0x20, "effective_rights_parental", "Parental Rights"),
2104 bf_boolean8(0x40, "effective_rights_search", "Search Rights"),
2105 bf_boolean8(0x80, "effective_rights_modify", "Modify Rights"),
2107 EnumInfoMask
= bitfield8("enum_info_mask", "Return Information Mask", [
2108 bf_boolean8(0x01, "enum_info_transport", "Transport Information"),
2109 bf_boolean8(0x02, "enum_info_time", "Time Information"),
2110 bf_boolean8(0x04, "enum_info_name", "Name Information"),
2111 bf_boolean8(0x08, "enum_info_lock", "Lock Information"),
2112 bf_boolean8(0x10, "enum_info_print", "Print Information"),
2113 bf_boolean8(0x20, "enum_info_stats", "Statistical Information"),
2114 bf_boolean8(0x40, "enum_info_account", "Accounting Information"),
2115 bf_boolean8(0x80, "enum_info_auth", "Authentication Information"),
2118 eventOffset
= bytes("event_offset", "Event Offset", 8)
2119 eventTime
= uint32("event_time", "Event Time")
2120 eventTime
.Display("BASE_HEX")
2121 ExpirationTime
= uint32("expiration_time", "Expiration Time")
2122 ExpirationTime
.Display('BASE_HEX')
2123 ExtAttrDataSize
= uint32("ext_attr_data_size", "Extended Attributes Data Size")
2124 ExtAttrCount
= uint32("ext_attr_count", "Extended Attributes Count")
2125 ExtAttrKeySize
= uint32("ext_attr_key_size", "Extended Attributes Key Size")
2126 ExtendedAttributesDefined
= uint32("extended_attributes_defined", "Extended Attributes Defined")
2127 ExtendedAttributeExtentsUsed
= uint32("extended_attribute_extents_used", "Extended Attribute Extents Used")
2128 ExtendedInfo
= bitfield16("ext_info", "Extended Return Information", [
2129 bf_boolean16(0x0001, "ext_info_update", "Last Update"),
2130 bf_boolean16(0x0002, "ext_info_dos_name", "DOS Name"),
2131 bf_boolean16(0x0004, "ext_info_flush", "Flush Time"),
2132 bf_boolean16(0x0008, "ext_info_parental", "Parental"),
2133 bf_boolean16(0x0010, "ext_info_mac_finder", "MAC Finder"),
2134 bf_boolean16(0x0020, "ext_info_sibling", "Sibling"),
2135 bf_boolean16(0x0040, "ext_info_effective", "Effective"),
2136 bf_boolean16(0x0080, "ext_info_mac_date", "MAC Date"),
2137 bf_boolean16(0x0100, "ext_info_access", "Last Access"),
2138 bf_boolean16(0x0400, "ext_info_64_bit_fs", "64 Bit File Sizes"),
2139 bf_boolean16(0x8000, "ext_info_newstyle", "New Style"),
2142 ExtentListFormat
= uint8("ext_lst_format", "Extent List Format")
2143 RetExtentListCount
= uint8("ret_ext_lst_count", "Extent List Count")
2144 EndingOffset
= bytes("end_offset", "Ending Offset", 8)
2145 #ExtentLength = bytes("extent_length", "Length", 8),
2146 ExtentList
= bytes("ext_lst", "Extent List", 512)
2147 ExtRouterActiveFlag
= boolean8("ext_router_active_flag", "External Router Active Flag")
2149 FailedAllocReqCnt
= uint32("failed_alloc_req", "Failed Alloc Request Count")
2150 FatalFATWriteErrors
= uint16("fatal_fat_write_errors", "Fatal FAT Write Errors")
2151 FATScanErrors
= uint16("fat_scan_errors", "FAT Scan Errors")
2152 FATWriteErrors
= uint16("fat_write_errors", "FAT Write Errors")
2153 FieldsLenTable
= bytes("fields_len_table", "Fields Len Table", 32)
2154 FileCount
= uint16("file_count", "File Count")
2155 FileDate
= uint16("file_date", "File Date")
2157 FileDirWindow
= uint16("file_dir_win", "File/Dir Window")
2158 FileDirWindow
.Display("BASE_HEX")
2159 FileExecuteType
= uint8("file_execute_type", "File Execute Type")
2160 FileExtendedAttributes
= val_string8("file_ext_attr", "File Extended Attributes", [
2161 [ 0x00, "Search On All Read Only Opens" ],
2162 [ 0x01, "Search On Read Only Opens With No Path" ],
2163 [ 0x02, "Shell Default Search Mode" ],
2164 [ 0x03, "Search On All Opens With No Path" ],
2165 [ 0x04, "Do Not Search" ],
2166 [ 0x05, "Reserved" ],
2167 [ 0x06, "Search On All Opens" ],
2168 [ 0x07, "Reserved" ],
2169 [ 0x08, "Search On All Read Only Opens/Indexed" ],
2170 [ 0x09, "Search On Read Only Opens With No Path/Indexed" ],
2171 [ 0x0a, "Shell Default Search Mode/Indexed" ],
2172 [ 0x0b, "Search On All Opens With No Path/Indexed" ],
2173 [ 0x0c, "Do Not Search/Indexed" ],
2174 [ 0x0d, "Indexed" ],
2175 [ 0x0e, "Search On All Opens/Indexed" ],
2176 [ 0x0f, "Indexed" ],
2177 [ 0x10, "Search On All Read Only Opens/Transactional" ],
2178 [ 0x11, "Search On Read Only Opens With No Path/Transactional" ],
2179 [ 0x12, "Shell Default Search Mode/Transactional" ],
2180 [ 0x13, "Search On All Opens With No Path/Transactional" ],
2181 [ 0x14, "Do Not Search/Transactional" ],
2182 [ 0x15, "Transactional" ],
2183 [ 0x16, "Search On All Opens/Transactional" ],
2184 [ 0x17, "Transactional" ],
2185 [ 0x18, "Search On All Read Only Opens/Indexed/Transactional" ],
2186 [ 0x19, "Search On Read Only Opens With No Path/Indexed/Transactional" ],
2187 [ 0x1a, "Shell Default Search Mode/Indexed/Transactional" ],
2188 [ 0x1b, "Search On All Opens With No Path/Indexed/Transactional" ],
2189 [ 0x1c, "Do Not Search/Indexed/Transactional" ],
2190 [ 0x1d, "Indexed/Transactional" ],
2191 [ 0x1e, "Search On All Opens/Indexed/Transactional" ],
2192 [ 0x1f, "Indexed/Transactional" ],
2193 [ 0x40, "Search On All Read Only Opens/Read Audit" ],
2194 [ 0x41, "Search On Read Only Opens With No Path/Read Audit" ],
2195 [ 0x42, "Shell Default Search Mode/Read Audit" ],
2196 [ 0x43, "Search On All Opens With No Path/Read Audit" ],
2197 [ 0x44, "Do Not Search/Read Audit" ],
2198 [ 0x45, "Read Audit" ],
2199 [ 0x46, "Search On All Opens/Read Audit" ],
2200 [ 0x47, "Read Audit" ],
2201 [ 0x48, "Search On All Read Only Opens/Indexed/Read Audit" ],
2202 [ 0x49, "Search On Read Only Opens With No Path/Indexed/Read Audit" ],
2203 [ 0x4a, "Shell Default Search Mode/Indexed/Read Audit" ],
2204 [ 0x4b, "Search On All Opens With No Path/Indexed/Read Audit" ],
2205 [ 0x4c, "Do Not Search/Indexed/Read Audit" ],
2206 [ 0x4d, "Indexed/Read Audit" ],
2207 [ 0x4e, "Search On All Opens/Indexed/Read Audit" ],
2208 [ 0x4f, "Indexed/Read Audit" ],
2209 [ 0x50, "Search On All Read Only Opens/Transactional/Read Audit" ],
2210 [ 0x51, "Search On Read Only Opens With No Path/Transactional/Read Audit" ],
2211 [ 0x52, "Shell Default Search Mode/Transactional/Read Audit" ],
2212 [ 0x53, "Search On All Opens With No Path/Transactional/Read Audit" ],
2213 [ 0x54, "Do Not Search/Transactional/Read Audit" ],
2214 [ 0x55, "Transactional/Read Audit" ],
2215 [ 0x56, "Search On All Opens/Transactional/Read Audit" ],
2216 [ 0x57, "Transactional/Read Audit" ],
2217 [ 0x58, "Search On All Read Only Opens/Indexed/Transactional/Read Audit" ],
2218 [ 0x59, "Search On Read Only Opens With No Path/Indexed/Transactional/Read Audit" ],
2219 [ 0x5a, "Shell Default Search Mode/Indexed/Transactional/Read Audit" ],
2220 [ 0x5b, "Search On All Opens With No Path/Indexed/Transactional/Read Audit" ],
2221 [ 0x5c, "Do Not Search/Indexed/Transactional/Read Audit" ],
2222 [ 0x5d, "Indexed/Transactional/Read Audit" ],
2223 [ 0x5e, "Search On All Opens/Indexed/Transactional/Read Audit" ],
2224 [ 0x5f, "Indexed/Transactional/Read Audit" ],
2225 [ 0x80, "Search On All Read Only Opens/Write Audit" ],
2226 [ 0x81, "Search On Read Only Opens With No Path/Write Audit" ],
2227 [ 0x82, "Shell Default Search Mode/Write Audit" ],
2228 [ 0x83, "Search On All Opens With No Path/Write Audit" ],
2229 [ 0x84, "Do Not Search/Write Audit" ],
2230 [ 0x85, "Write Audit" ],
2231 [ 0x86, "Search On All Opens/Write Audit" ],
2232 [ 0x87, "Write Audit" ],
2233 [ 0x88, "Search On All Read Only Opens/Indexed/Write Audit" ],
2234 [ 0x89, "Search On Read Only Opens With No Path/Indexed/Write Audit" ],
2235 [ 0x8a, "Shell Default Search Mode/Indexed/Write Audit" ],
2236 [ 0x8b, "Search On All Opens With No Path/Indexed/Write Audit" ],
2237 [ 0x8c, "Do Not Search/Indexed/Write Audit" ],
2238 [ 0x8d, "Indexed/Write Audit" ],
2239 [ 0x8e, "Search On All Opens/Indexed/Write Audit" ],
2240 [ 0x8f, "Indexed/Write Audit" ],
2241 [ 0x90, "Search On All Read Only Opens/Transactional/Write Audit" ],
2242 [ 0x91, "Search On Read Only Opens With No Path/Transactional/Write Audit" ],
2243 [ 0x92, "Shell Default Search Mode/Transactional/Write Audit" ],
2244 [ 0x93, "Search On All Opens With No Path/Transactional/Write Audit" ],
2245 [ 0x94, "Do Not Search/Transactional/Write Audit" ],
2246 [ 0x95, "Transactional/Write Audit" ],
2247 [ 0x96, "Search On All Opens/Transactional/Write Audit" ],
2248 [ 0x97, "Transactional/Write Audit" ],
2249 [ 0x98, "Search On All Read Only Opens/Indexed/Transactional/Write Audit" ],
2250 [ 0x99, "Search On Read Only Opens With No Path/Indexed/Transactional/Write Audit" ],
2251 [ 0x9a, "Shell Default Search Mode/Indexed/Transactional/Write Audit" ],
2252 [ 0x9b, "Search On All Opens With No Path/Indexed/Transactional/Write Audit" ],
2253 [ 0x9c, "Do Not Search/Indexed/Transactional/Write Audit" ],
2254 [ 0x9d, "Indexed/Transactional/Write Audit" ],
2255 [ 0x9e, "Search On All Opens/Indexed/Transactional/Write Audit" ],
2256 [ 0x9f, "Indexed/Transactional/Write Audit" ],
2257 [ 0xa0, "Search On All Read Only Opens/Read Audit/Write Audit" ],
2258 [ 0xa1, "Search On Read Only Opens With No Path/Read Audit/Write Audit" ],
2259 [ 0xa2, "Shell Default Search Mode/Read Audit/Write Audit" ],
2260 [ 0xa3, "Search On All Opens With No Path/Read Audit/Write Audit" ],
2261 [ 0xa4, "Do Not Search/Read Audit/Write Audit" ],
2262 [ 0xa5, "Read Audit/Write Audit" ],
2263 [ 0xa6, "Search On All Opens/Read Audit/Write Audit" ],
2264 [ 0xa7, "Read Audit/Write Audit" ],
2265 [ 0xa8, "Search On All Read Only Opens/Indexed/Read Audit/Write Audit" ],
2266 [ 0xa9, "Search On Read Only Opens With No Path/Indexed/Read Audit/Write Audit" ],
2267 [ 0xaa, "Shell Default Search Mode/Indexed/Read Audit/Write Audit" ],
2268 [ 0xab, "Search On All Opens With No Path/Indexed/Read Audit/Write Audit" ],
2269 [ 0xac, "Do Not Search/Indexed/Read Audit/Write Audit" ],
2270 [ 0xad, "Indexed/Read Audit/Write Audit" ],
2271 [ 0xae, "Search On All Opens/Indexed/Read Audit/Write Audit" ],
2272 [ 0xaf, "Indexed/Read Audit/Write Audit" ],
2273 [ 0xb0, "Search On All Read Only Opens/Transactional/Read Audit/Write Audit" ],
2274 [ 0xb1, "Search On Read Only Opens With No Path/Transactional/Read Audit/Write Audit" ],
2275 [ 0xb2, "Shell Default Search Mode/Transactional/Read Audit/Write Audit" ],
2276 [ 0xb3, "Search On All Opens With No Path/Transactional/Read Audit/Write Audit" ],
2277 [ 0xb4, "Do Not Search/Transactional/Read Audit/Write Audit" ],
2278 [ 0xb5, "Transactional/Read Audit/Write Audit" ],
2279 [ 0xb6, "Search On All Opens/Transactional/Read Audit/Write Audit" ],
2280 [ 0xb7, "Transactional/Read Audit/Write Audit" ],
2281 [ 0xb8, "Search On All Read Only Opens/Indexed/Transactional/Read Audit/Write Audit" ],
2282 [ 0xb9, "Search On Read Only Opens With No Path/Indexed/Transactional/Read Audit/Write Audit" ],
2283 [ 0xba, "Shell Default Search Mode/Indexed/Transactional/Read Audit/Write Audit" ],
2284 [ 0xbb, "Search On All Opens With No Path/Indexed/Transactional/Read Audit/Write Audit" ],
2285 [ 0xbc, "Do Not Search/Indexed/Transactional/Read Audit/Write Audit" ],
2286 [ 0xbd, "Indexed/Transactional/Read Audit/Write Audit" ],
2287 [ 0xbe, "Search On All Opens/Indexed/Transactional/Read Audit/Write Audit" ],
2288 [ 0xbf, "Indexed/Transactional/Read Audit/Write Audit" ],
2290 fileFlags
= uint32("file_flags", "File Flags")
2291 FileHandle
= bytes("file_handle", "File Handle", 6)
2292 FileLimbo
= uint32("file_limbo", "File Limbo")
2293 FileListCount
= uint32("file_list_count", "File List Count")
2294 FileLock
= val_string8("file_lock", "File Lock", [
2295 [ 0x00, "Not Locked" ],
2296 [ 0xfe, "Locked by file lock" ],
2297 [ 0xff, "Unknown" ],
2299 FileLockCount
= uint16("file_lock_count", "File Lock Count")
2300 FileMigrationState
= val_string8("file_mig_state", "File Migration State", [
2301 [ 0x00, "Mark file ineligible for file migration" ],
2302 [ 0x01, "Mark file eligible for file migration" ],
2303 [ 0x02, "Mark file as migrated and delete fat chains" ],
2304 [ 0x03, "Reset file status back to normal" ],
2305 [ 0x04, "Get file data back and reset file status back to normal" ],
2307 FileMode
= uint8("file_mode", "File Mode")
2308 FileName
= nstring8("file_name", "Filename")
2309 FileName12
= fw_string("file_name_12", "Filename", 12)
2310 FileName14
= fw_string("file_name_14", "Filename", 14)
2311 FileName16
= nstring16("file_name_16", "Filename")
2312 FileNameLen
= uint8("file_name_len", "Filename Length")
2313 FileOffset
= uint32("file_offset", "File Offset")
2314 FilePath
= nstring8("file_path", "File Path")
2315 FileSize
= uint32("file_size", "File Size", ENC_BIG_ENDIAN
)
2316 FileSize64bit
= uint64("f_size_64bit", "64bit File Size")
2317 FileSystemID
= uint8("file_system_id", "File System ID")
2318 FileTime
= uint16("file_time", "File Time")
2320 FileUseCount
= uint16("file_use_count", "File Use Count")
2321 FileWriteFlags
= val_string8("file_write_flags", "File Write Flags", [
2322 [ 0x01, "Writing" ],
2323 [ 0x02, "Write aborted" ],
2325 FileWriteState
= val_string8("file_write_state", "File Write State", [
2326 [ 0x00, "Not Writing" ],
2327 [ 0x01, "Write in Progress" ],
2328 [ 0x02, "Write Being Stopped" ],
2330 Filler
= uint8("filler", "Filler")
2331 FinderAttr
= bitfield16("finder_attr", "Finder Info Attributes", [
2332 bf_boolean16(0x0001, "finder_attr_desktop", "Object on Desktop"),
2333 bf_boolean16(0x2000, "finder_attr_invisible", "Object is Invisible"),
2334 bf_boolean16(0x4000, "finder_attr_bundle", "Object Has Bundle"),
2336 FixedBitMask
= uint32("fixed_bit_mask", "Fixed Bit Mask")
2337 FixedBitsDefined
= uint16("fixed_bits_defined", "Fixed Bits Defined")
2338 FlagBits
= uint8("flag_bits", "Flag Bits")
2339 Flags
= uint8("flags", "Flags")
2340 FlagsDef
= uint16("flags_def", "Flags")
2341 FlushTime
= uint32("flush_time", "Flush Time")
2342 FolderFlag
= val_string8("folder_flag", "Folder Flag", [
2343 [ 0x00, "Not a Folder" ],
2346 ForkCount
= uint8("fork_count", "Fork Count")
2347 ForkIndicator
= val_string8("fork_indicator", "Fork Indicator", [
2348 [ 0x00, "Data Fork" ],
2349 [ 0x01, "Resource Fork" ],
2351 ForceFlag
= val_string8("force_flag", "Force Server Down Flag", [
2352 [ 0x00, "Down Server if No Files Are Open" ],
2353 [ 0xff, "Down Server Immediately, Auto-Close Open Files" ],
2355 ForgedDetachedRequests
= uint16("forged_detached_requests", "Forged Detached Requests")
2356 FormType
= uint16( "form_type", "Form Type" )
2357 FormTypeCnt
= uint32("form_type_count", "Form Types Count")
2358 FoundSomeMem
= uint32("found_some_mem", "Found Some Memory")
2359 FractionalSeconds
= eptime("fractional_time", "Fractional Time in Seconds")
2360 FraggerHandle
= uint32("fragger_handle", "Fragment Handle")
2361 FraggerHandle
.Display('BASE_HEX')
2362 FragmentWriteOccurred
= uint16("fragment_write_occurred", "Fragment Write Occurred")
2363 FragSize
= uint32("frag_size", "Fragment Size")
2364 FreeableLimboSectors
= uint32("freeable_limbo_sectors", "Freeable Limbo Sectors")
2365 FreeBlocks
= uint32("free_blocks", "Free Blocks")
2366 FreedClusters
= uint32("freed_clusters", "Freed Clusters")
2367 FreeDirectoryEntries
= uint16("free_directory_entries", "Free Directory Entries")
2368 FSEngineFlag
= boolean8("fs_engine_flag", "FS Engine Flag")
2369 FullName
= fw_string("full_name", "Full Name", 39)
2371 GetSetFlag
= val_string8("get_set_flag", "Get Set Flag", [
2372 [ 0x00, "Get the default support module ID" ],
2373 [ 0x01, "Set the default support module ID" ],
2375 GUID
= bytes("guid", "GUID", 16)
2377 HandleFlag
= val_string8("handle_flag", "Handle Flag", [
2378 [ 0x00, "Short Directory Handle" ],
2379 [ 0x01, "Directory Base" ],
2380 [ 0xFF, "No Handle Present" ],
2382 HandleInfoLevel
= val_string8("handle_info_level", "Handle Info Level", [
2383 [ 0x00, "Get Limited Information from a File Handle" ],
2384 [ 0x01, "Get Limited Information from a File Handle Using a Name Space" ],
2385 [ 0x02, "Get Information from a File Handle" ],
2386 [ 0x03, "Get Information from a Directory Handle" ],
2387 [ 0x04, "Get Complete Information from a Directory Handle" ],
2388 [ 0x05, "Get Complete Information from a File Handle" ],
2390 HeldBytesRead
= bytes("held_bytes_read", "Held Bytes Read", 6)
2391 HeldBytesWritten
= bytes("held_bytes_write", "Held Bytes Written", 6)
2392 HeldConnectTimeInMinutes
= uint32("held_conn_time", "Held Connect Time in Minutes")
2393 HeldRequests
= uint32("user_info_held_req", "Held Requests")
2394 HoldAmount
= uint32("hold_amount", "Hold Amount")
2395 HoldCancelAmount
= uint32("hold_cancel_amount", "Hold Cancel Amount")
2396 HolderID
= uint32("holder_id", "Holder ID")
2397 HolderID
.Display("BASE_HEX")
2398 HoldTime
= uint32("hold_time", "Hold Time")
2399 HopsToNet
= uint16("hops_to_net", "Hop Count")
2400 HorizLocation
= uint16("horiz_location", "Horizontal Location")
2401 HostAddress
= bytes("host_address", "Host Address", 6)
2402 HotFixBlocksAvailable
= uint16("hot_fix_blocks_available", "Hot Fix Blocks Available")
2403 HotFixDisabled
= val_string8("hot_fix_disabled", "Hot Fix Disabled", [
2404 [ 0x00, "Enabled" ],
2405 [ 0x01, "Disabled" ],
2407 HotFixTableSize
= uint16("hot_fix_table_size", "Hot Fix Table Size")
2408 HotFixTableStart
= uint32("hot_fix_table_start", "Hot Fix Table Start")
2409 Hour
= uint8("s_hour", "Hour")
2410 HugeBitMask
= uint32("huge_bit_mask", "Huge Bit Mask")
2411 HugeBitsDefined
= uint16("huge_bits_defined", "Huge Bits Defined")
2412 HugeData
= nstring8("huge_data", "Huge Data")
2413 HugeDataUsed
= uint32("huge_data_used", "Huge Data Used")
2414 HugeStateInfo
= bytes("huge_state_info", "Huge State Info", 16)
2416 IdentificationNumber
= uint32("identification_number", "Identification Number")
2417 IgnoredRxPkts
= uint32("ignored_rx_pkts", "Ignored Receive Packets")
2418 IncomingPacketDiscardedNoDGroup
= uint16("incoming_packet_discarded_no_dgroup", "Incoming Packet Discarded No DGroup")
2419 IndexNumber
= uint8("index_number", "Index Number")
2420 InfoCount
= uint16("info_count", "Info Count")
2421 InfoFlags
= bitfield32("info_flags", "Info Flags", [
2422 bf_boolean32(0x10000000, "info_flags_security", "Return Object Security"),
2423 bf_boolean32(0x20000000, "info_flags_flags", "Return Object Flags"),
2424 bf_boolean32(0x40000000, "info_flags_type", "Return Object Type"),
2425 bf_boolean32(0x80000000, "info_flags_name", "Return Object Name"),
2427 InfoLevelNumber
= val_string8("info_level_num", "Information Level Number", [
2428 [ 0x0, "Single Directory Quota Information" ],
2429 [ 0x1, "Multi-Level Directory Quota Information" ],
2431 InfoMask
= bitfield32("info_mask", "Information Mask", [
2432 bf_boolean32(0x00000001, "info_flags_dos_time", "DOS Time"),
2433 bf_boolean32(0x00000002, "info_flags_ref_count", "Reference Count"),
2434 bf_boolean32(0x00000004, "info_flags_dos_attr", "DOS Attributes"),
2435 bf_boolean32(0x00000008, "info_flags_ids", "ID's"),
2436 bf_boolean32(0x00000010, "info_flags_ds_sizes", "Data Stream Sizes"),
2437 bf_boolean32(0x00000020, "info_flags_ns_attr", "Name Space Attributes"),
2438 bf_boolean32(0x00000040, "info_flags_ea_present", "EA Present Flag"),
2439 bf_boolean32(0x00000080, "info_flags_all_attr", "All Attributes"),
2440 bf_boolean32(0x00000100, "info_flags_all_dirbase_num", "All Directory Base Numbers"),
2441 bf_boolean32(0x00000200, "info_flags_max_access_mask", "Maximum Access Mask"),
2442 bf_boolean32(0x00000400, "info_flags_flush_time", "Flush Time"),
2443 bf_boolean32(0x00000800, "info_flags_prnt_base_id", "Parent Base ID"),
2444 bf_boolean32(0x00001000, "info_flags_mac_finder", "Mac Finder Information"),
2445 bf_boolean32(0x00002000, "info_flags_sibling_cnt", "Sibling Count"),
2446 bf_boolean32(0x00004000, "info_flags_effect_rights", "Effective Rights"),
2447 bf_boolean32(0x00008000, "info_flags_mac_time", "Mac Time"),
2448 bf_boolean32(0x20000000, "info_mask_dosname", "DOS Name"),
2449 bf_boolean32(0x40000000, "info_mask_c_name_space", "Creator Name Space & Name"),
2450 bf_boolean32(0x80000000, "info_mask_name", "Name"),
2452 InheritedRightsMask
= bitfield16("inherited_rights_mask", "Inherited Rights Mask", [
2453 bf_boolean16(0x0001, "inh_rights_read", "Read Rights"),
2454 bf_boolean16(0x0002, "inh_rights_write", "Write Rights"),
2455 bf_boolean16(0x0004, "inh_rights_open", "Open Rights"),
2456 bf_boolean16(0x0008, "inh_rights_create", "Create Rights"),
2457 bf_boolean16(0x0010, "inh_rights_delete", "Delete Rights"),
2458 bf_boolean16(0x0020, "inh_rights_parent", "Change Access"),
2459 bf_boolean16(0x0040, "inh_rights_search", "See Files Flag"),
2460 bf_boolean16(0x0080, "inh_rights_modify", "Modify Rights"),
2461 bf_boolean16(0x0100, "inh_rights_supervisor", "Supervisor"),
2463 InheritanceRevokeMask
= bitfield16("inheritance_revoke_mask", "Revoke Rights Mask", [
2464 bf_boolean16(0x0001, "inh_revoke_read", "Read Rights"),
2465 bf_boolean16(0x0002, "inh_revoke_write", "Write Rights"),
2466 bf_boolean16(0x0004, "inh_revoke_open", "Open Rights"),
2467 bf_boolean16(0x0008, "inh_revoke_create", "Create Rights"),
2468 bf_boolean16(0x0010, "inh_revoke_delete", "Delete Rights"),
2469 bf_boolean16(0x0020, "inh_revoke_parent", "Change Access"),
2470 bf_boolean16(0x0040, "inh_revoke_search", "See Files Flag"),
2471 bf_boolean16(0x0080, "inh_revoke_modify", "Modify Rights"),
2472 bf_boolean16(0x0100, "inh_revoke_supervisor", "Supervisor"),
2474 InitialSemaphoreValue
= uint8("initial_semaphore_value", "Initial Semaphore Value")
2475 InpInfotype
= uint32("inp_infotype", "Information Type")
2476 Inpld
= uint32("inp_ld", "Volume Number or Directory Handle")
2477 InspectSize
= uint32("inspect_size", "Inspect Size")
2478 InternetBridgeVersion
= uint8("internet_bridge_version", "Internet Bridge Version")
2479 InterruptNumbersUsed
= uint32("interrupt_numbers_used", "Interrupt Numbers Used")
2480 InUse
= uint32("in_use", "Blocks in Use")
2481 InUse64
= uint64("in_use64", "Blocks in Use")
2482 IOAddressesUsed
= bytes("io_addresses_used", "IO Addresses Used", 8)
2483 IOErrorCount
= uint16("io_error_count", "IO Error Count")
2484 IOEngineFlag
= boolean8("io_engine_flag", "IO Engine Flag")
2485 IPXNotMyNetwork
= uint16("ipx_not_my_network", "IPX Not My Network")
2486 ItemsChanged
= uint32("items_changed", "Items Changed")
2487 ItemsChecked
= uint32("items_checked", "Items Checked")
2488 ItemsCount
= uint32("items_count", "Items Count")
2489 itemsInList
= uint32("items_in_list", "Items in List")
2490 ItemsInPacket
= uint32("items_in_packet", "Items in Packet")
2492 JobControlFlags
= bitfield8("job_control_flags", "Job Control Flags", [
2493 bf_boolean8(0x08, "job_control_job_recovery", "Job Recovery"),
2494 bf_boolean8(0x10, "job_control_reservice", "ReService Job"),
2495 bf_boolean8(0x20, "job_control_file_open", "File Open"),
2496 bf_boolean8(0x40, "job_control_user_hold", "User Hold"),
2497 bf_boolean8(0x80, "job_control_operator_hold", "Operator Hold"),
2500 JobControlFlagsWord
= bitfield16("job_control_flags_word", "Job Control Flags", [
2501 bf_boolean16(0x0008, "job_control1_job_recovery", "Job Recovery"),
2502 bf_boolean16(0x0010, "job_control1_reservice", "ReService Job"),
2503 bf_boolean16(0x0020, "job_control1_file_open", "File Open"),
2504 bf_boolean16(0x0040, "job_control1_user_hold", "User Hold"),
2505 bf_boolean16(0x0080, "job_control1_operator_hold", "Operator Hold"),
2508 JobCount
= uint32("job_count", "Job Count")
2509 JobFileHandle
= bytes("job_file_handle", "Job File Handle", 6)
2510 JobFileHandleLong
= uint32("job_file_handle_long", "Job File Handle", ENC_BIG_ENDIAN
)
2511 JobFileHandleLong
.Display("BASE_HEX")
2512 JobFileName
= fw_string("job_file_name", "Job File Name", 14)
2513 JobPosition
= uint8("job_position", "Job Position")
2514 JobPositionWord
= uint16("job_position_word", "Job Position")
2515 JobNumber
= uint16("job_number", "Job Number", ENC_BIG_ENDIAN
)
2516 JobNumberLong
= uint32("job_number_long", "Job Number", ENC_BIG_ENDIAN
)
2517 JobNumberLong
.Display("BASE_HEX")
2518 JobType
= uint16("job_type", "Job Type", ENC_BIG_ENDIAN
)
2520 LANCustomVariablesCount
= uint32("lan_cust_var_count", "LAN Custom Variables Count")
2521 LANdriverBoardInstance
= uint16("lan_drv_bd_inst", "LAN Driver Board Instance")
2522 LANdriverBoardNumber
= uint16("lan_drv_bd_num", "LAN Driver Board Number")
2523 LANdriverCardID
= uint16("lan_drv_card_id", "LAN Driver Card ID")
2524 LANdriverCardName
= fw_string("lan_drv_card_name", "LAN Driver Card Name", 28)
2525 LANdriverCFG_MajorVersion
= uint8("lan_dvr_cfg_major_vrs", "LAN Driver Config - Major Version")
2526 LANdriverCFG_MinorVersion
= uint8("lan_dvr_cfg_minor_vrs", "LAN Driver Config - Minor Version")
2527 LANdriverDMAUsage1
= uint8("lan_drv_dma_usage1", "Primary DMA Channel")
2528 LANdriverDMAUsage2
= uint8("lan_drv_dma_usage2", "Secondary DMA Channel")
2529 LANdriverFlags
= uint16("lan_drv_flags", "LAN Driver Flags")
2530 LANdriverFlags
.Display("BASE_HEX")
2531 LANdriverInterrupt1
= uint8("lan_drv_interrupt1", "Primary Interrupt Vector")
2532 LANdriverInterrupt2
= uint8("lan_drv_interrupt2", "Secondary Interrupt Vector")
2533 LANdriverIOPortsAndRanges1
= uint16("lan_drv_io_ports_and_ranges_1", "Primary Base I/O Port")
2534 LANdriverIOPortsAndRanges2
= uint16("lan_drv_io_ports_and_ranges_2", "Number of I/O Ports")
2535 LANdriverIOPortsAndRanges3
= uint16("lan_drv_io_ports_and_ranges_3", "Secondary Base I/O Port")
2536 LANdriverIOPortsAndRanges4
= uint16("lan_drv_io_ports_and_ranges_4", "Number of I/O Ports")
2537 LANdriverIOReserved
= bytes("lan_drv_io_reserved", "LAN Driver IO Reserved", 14)
2538 LANdriverLineSpeed
= uint16("lan_drv_line_speed", "LAN Driver Line Speed")
2539 LANdriverLink
= uint32("lan_drv_link", "LAN Driver Link")
2540 LANdriverLogicalName
= bytes("lan_drv_log_name", "LAN Driver Logical Name", 18)
2541 LANdriverMajorVersion
= uint8("lan_drv_major_ver", "LAN Driver Major Version")
2542 LANdriverMaximumSize
= uint32("lan_drv_max_size", "LAN Driver Maximum Size")
2543 LANdriverMaxRecvSize
= uint32("lan_drv_max_rcv_size", "LAN Driver Maximum Receive Size")
2544 LANdriverMediaID
= uint16("lan_drv_media_id", "LAN Driver Media ID")
2545 LANdriverMediaType
= fw_string("lan_drv_media_type", "LAN Driver Media Type", 40)
2546 LANdriverMemoryDecode0
= uint32("lan_drv_mem_decode_0", "LAN Driver Memory Decode 0")
2547 LANdriverMemoryDecode1
= uint32("lan_drv_mem_decode_1", "LAN Driver Memory Decode 1")
2548 LANdriverMemoryLength0
= uint16("lan_drv_mem_length_0", "LAN Driver Memory Length 0")
2549 LANdriverMemoryLength1
= uint16("lan_drv_mem_length_1", "LAN Driver Memory Length 1")
2550 LANdriverMinorVersion
= uint8("lan_drv_minor_ver", "LAN Driver Minor Version")
2551 LANdriverModeFlags
= val_string8("lan_dvr_mode_flags", "LAN Driver Mode Flags", [
2552 [0x80, "Canonical Address" ],
2553 [0x81, "Canonical Address" ],
2554 [0x82, "Canonical Address" ],
2555 [0x83, "Canonical Address" ],
2556 [0x84, "Canonical Address" ],
2557 [0x85, "Canonical Address" ],
2558 [0x86, "Canonical Address" ],
2559 [0x87, "Canonical Address" ],
2560 [0x88, "Canonical Address" ],
2561 [0x89, "Canonical Address" ],
2562 [0x8a, "Canonical Address" ],
2563 [0x8b, "Canonical Address" ],
2564 [0x8c, "Canonical Address" ],
2565 [0x8d, "Canonical Address" ],
2566 [0x8e, "Canonical Address" ],
2567 [0x8f, "Canonical Address" ],
2568 [0x90, "Canonical Address" ],
2569 [0x91, "Canonical Address" ],
2570 [0x92, "Canonical Address" ],
2571 [0x93, "Canonical Address" ],
2572 [0x94, "Canonical Address" ],
2573 [0x95, "Canonical Address" ],
2574 [0x96, "Canonical Address" ],
2575 [0x97, "Canonical Address" ],
2576 [0x98, "Canonical Address" ],
2577 [0x99, "Canonical Address" ],
2578 [0x9a, "Canonical Address" ],
2579 [0x9b, "Canonical Address" ],
2580 [0x9c, "Canonical Address" ],
2581 [0x9d, "Canonical Address" ],
2582 [0x9e, "Canonical Address" ],
2583 [0x9f, "Canonical Address" ],
2584 [0xa0, "Canonical Address" ],
2585 [0xa1, "Canonical Address" ],
2586 [0xa2, "Canonical Address" ],
2587 [0xa3, "Canonical Address" ],
2588 [0xa4, "Canonical Address" ],
2589 [0xa5, "Canonical Address" ],
2590 [0xa6, "Canonical Address" ],
2591 [0xa7, "Canonical Address" ],
2592 [0xa8, "Canonical Address" ],
2593 [0xa9, "Canonical Address" ],
2594 [0xaa, "Canonical Address" ],
2595 [0xab, "Canonical Address" ],
2596 [0xac, "Canonical Address" ],
2597 [0xad, "Canonical Address" ],
2598 [0xae, "Canonical Address" ],
2599 [0xaf, "Canonical Address" ],
2600 [0xb0, "Canonical Address" ],
2601 [0xb1, "Canonical Address" ],
2602 [0xb2, "Canonical Address" ],
2603 [0xb3, "Canonical Address" ],
2604 [0xb4, "Canonical Address" ],
2605 [0xb5, "Canonical Address" ],
2606 [0xb6, "Canonical Address" ],
2607 [0xb7, "Canonical Address" ],
2608 [0xb8, "Canonical Address" ],
2609 [0xb9, "Canonical Address" ],
2610 [0xba, "Canonical Address" ],
2611 [0xbb, "Canonical Address" ],
2612 [0xbc, "Canonical Address" ],
2613 [0xbd, "Canonical Address" ],
2614 [0xbe, "Canonical Address" ],
2615 [0xbf, "Canonical Address" ],
2616 [0xc0, "Non-Canonical Address" ],
2617 [0xc1, "Non-Canonical Address" ],
2618 [0xc2, "Non-Canonical Address" ],
2619 [0xc3, "Non-Canonical Address" ],
2620 [0xc4, "Non-Canonical Address" ],
2621 [0xc5, "Non-Canonical Address" ],
2622 [0xc6, "Non-Canonical Address" ],
2623 [0xc7, "Non-Canonical Address" ],
2624 [0xc8, "Non-Canonical Address" ],
2625 [0xc9, "Non-Canonical Address" ],
2626 [0xca, "Non-Canonical Address" ],
2627 [0xcb, "Non-Canonical Address" ],
2628 [0xcc, "Non-Canonical Address" ],
2629 [0xcd, "Non-Canonical Address" ],
2630 [0xce, "Non-Canonical Address" ],
2631 [0xcf, "Non-Canonical Address" ],
2632 [0xd0, "Non-Canonical Address" ],
2633 [0xd1, "Non-Canonical Address" ],
2634 [0xd2, "Non-Canonical Address" ],
2635 [0xd3, "Non-Canonical Address" ],
2636 [0xd4, "Non-Canonical Address" ],
2637 [0xd5, "Non-Canonical Address" ],
2638 [0xd6, "Non-Canonical Address" ],
2639 [0xd7, "Non-Canonical Address" ],
2640 [0xd8, "Non-Canonical Address" ],
2641 [0xd9, "Non-Canonical Address" ],
2642 [0xda, "Non-Canonical Address" ],
2643 [0xdb, "Non-Canonical Address" ],
2644 [0xdc, "Non-Canonical Address" ],
2645 [0xdd, "Non-Canonical Address" ],
2646 [0xde, "Non-Canonical Address" ],
2647 [0xdf, "Non-Canonical Address" ],
2648 [0xe0, "Non-Canonical Address" ],
2649 [0xe1, "Non-Canonical Address" ],
2650 [0xe2, "Non-Canonical Address" ],
2651 [0xe3, "Non-Canonical Address" ],
2652 [0xe4, "Non-Canonical Address" ],
2653 [0xe5, "Non-Canonical Address" ],
2654 [0xe6, "Non-Canonical Address" ],
2655 [0xe7, "Non-Canonical Address" ],
2656 [0xe8, "Non-Canonical Address" ],
2657 [0xe9, "Non-Canonical Address" ],
2658 [0xea, "Non-Canonical Address" ],
2659 [0xeb, "Non-Canonical Address" ],
2660 [0xec, "Non-Canonical Address" ],
2661 [0xed, "Non-Canonical Address" ],
2662 [0xee, "Non-Canonical Address" ],
2663 [0xef, "Non-Canonical Address" ],
2664 [0xf0, "Non-Canonical Address" ],
2665 [0xf1, "Non-Canonical Address" ],
2666 [0xf2, "Non-Canonical Address" ],
2667 [0xf3, "Non-Canonical Address" ],
2668 [0xf4, "Non-Canonical Address" ],
2669 [0xf5, "Non-Canonical Address" ],
2670 [0xf6, "Non-Canonical Address" ],
2671 [0xf7, "Non-Canonical Address" ],
2672 [0xf8, "Non-Canonical Address" ],
2673 [0xf9, "Non-Canonical Address" ],
2674 [0xfa, "Non-Canonical Address" ],
2675 [0xfb, "Non-Canonical Address" ],
2676 [0xfc, "Non-Canonical Address" ],
2677 [0xfd, "Non-Canonical Address" ],
2678 [0xfe, "Non-Canonical Address" ],
2679 [0xff, "Non-Canonical Address" ],
2681 LANDriverNumber
= uint8("lan_driver_number", "LAN Driver Number")
2682 LANdriverNodeAddress
= bytes("lan_dvr_node_addr", "LAN Driver Node Address", 6)
2683 LANdriverRecvSize
= uint32("lan_drv_rcv_size", "LAN Driver Receive Size")
2684 LANdriverReserved
= uint16("lan_drv_reserved", "LAN Driver Reserved")
2685 LANdriverSendRetries
= uint16("lan_drv_snd_retries", "LAN Driver Send Retries")
2686 LANdriverSharingFlags
= uint16("lan_drv_share", "LAN Driver Sharing Flags")
2687 LANdriverShortName
= fw_string("lan_drv_short_name", "LAN Driver Short Name", 40)
2688 LANdriverSlot
= uint16("lan_drv_slot", "LAN Driver Slot")
2689 LANdriverSrcRouting
= uint32("lan_drv_src_route", "LAN Driver Source Routing")
2690 LANdriverTransportTime
= uint16("lan_drv_trans_time", "LAN Driver Transport Time")
2691 LastAccessedDate
= uint16("last_access_date", "Last Accessed Date")
2692 LastAccessedDate
.NWDate()
2693 LastAccessedTime
= uint16("last_access_time", "Last Accessed Time")
2694 LastAccessedTime
.NWTime()
2695 LastGarbCollect
= uint32("last_garbage_collect", "Last Garbage Collection")
2696 LastInstance
= uint32("last_instance", "Last Instance")
2697 LastRecordSeen
= uint16("last_record_seen", "Last Record Seen")
2698 LastSearchIndex
= uint16("last_search_index", "Search Index")
2699 LastSeen
= uint32("last_seen", "Last Seen")
2700 LastSequenceNumber
= uint16("last_sequence_number", "Sequence Number")
2701 Length64bit
= bytes("length_64bit", "64bit Length", 64)
2702 Level
= uint8("level", "Level")
2703 LFSCounters
= uint32("lfs_counters", "LFS Counters")
2704 LimboDataStreamsCount
= uint32("limbo_data_streams_count", "Limbo Data Streams Count")
2705 limbCount
= uint32("limb_count", "Limb Count")
2706 limbFlags
= bitfield32("limb_flags", "Limb Flags", [
2707 bf_boolean32(0x00000002, "scan_entire_folder", "Wild Search"),
2708 bf_boolean32(0x00000004, "scan_files_only", "Scan Files Only"),
2709 bf_boolean32(0x00000008, "scan_folders_only", "Scan Folders Only"),
2710 bf_boolean32(0x00000010, "allow_system", "Allow System Files and Folders"),
2711 bf_boolean32(0x00000020, "allow_hidden", "Allow Hidden Files and Folders"),
2714 limbScanNum
= uint32("limb_scan_num", "Limb Scan Number")
2715 LimboUsed
= uint32("limbo_used", "Limbo Used")
2716 LoadedNameSpaces
= uint8("loaded_name_spaces", "Loaded Name Spaces")
2717 LocalConnectionID
= uint32("local_connection_id", "Local Connection ID")
2718 LocalConnectionID
.Display("BASE_HEX")
2719 LocalMaxPacketSize
= uint32("local_max_packet_size", "Local Max Packet Size")
2720 LocalMaxSendSize
= uint32("local_max_send_size", "Local Max Send Size")
2721 LocalMaxRecvSize
= uint32("local_max_recv_size", "Local Max Recv Size")
2722 LocalLoginInfoCcode
= uint8("local_login_info_ccode", "Local Login Info C Code")
2723 LocalTargetSocket
= uint32("local_target_socket", "Local Target Socket")
2724 LocalTargetSocket
.Display("BASE_HEX")
2725 LockAreaLen
= uint32("lock_area_len", "Lock Area Length")
2726 LockAreasStartOffset
= uint32("lock_areas_start_offset", "Lock Areas Start Offset")
2727 LockTimeout
= uint16("lock_timeout", "Lock Timeout")
2728 Locked
= val_string8("locked", "Locked Flag", [
2729 [ 0x00, "Not Locked Exclusively" ],
2730 [ 0x01, "Locked Exclusively" ],
2732 LockFlag
= val_string8("lock_flag", "Lock Flag", [
2733 [ 0x00, "Not Locked, Log for Future Exclusive Lock" ],
2734 [ 0x01, "Exclusive Lock (Read/Write)" ],
2735 [ 0x02, "Log for Future Shared Lock"],
2736 [ 0x03, "Shareable Lock (Read-Only)" ],
2737 [ 0xfe, "Locked by a File Lock" ],
2738 [ 0xff, "Locked by Begin Share File Set" ],
2740 LockName
= nstring8("lock_name", "Lock Name")
2741 LockStatus
= val_string8("lock_status", "Lock Status", [
2742 [ 0x00, "Locked Exclusive" ],
2743 [ 0x01, "Locked Shareable" ],
2745 [ 0x06, "Lock is Held by TTS"],
2747 ConnLockStatus
= val_string8("conn_lock_status", "Lock Status", [
2748 [ 0x00, "Normal (connection free to run)" ],
2749 [ 0x01, "Waiting on physical record lock" ],
2750 [ 0x02, "Waiting on a file lock" ],
2751 [ 0x03, "Waiting on a logical record lock"],
2752 [ 0x04, "Waiting on a semaphore"],
2754 LockType
= val_string8("lock_type", "Lock Type", [
2756 [ 0x01, "Open Shareable" ],
2758 [ 0x03, "Open Normal" ],
2759 [ 0x06, "TTS Holding Lock" ],
2760 [ 0x07, "Transaction Flag Set on This File" ],
2762 LogFileFlagHigh
= bitfield8("log_file_flag_high", "Log File Flag (byte 2)", [
2763 bf_boolean8(0x80, "log_flag_call_back", "Call Back Requested" ),
2765 LogFileFlagLow
= bitfield8("log_file_flag_low", "Log File Flag", [
2766 bf_boolean8(0x01, "log_flag_lock_file", "Lock File Immediately" ),
2768 LoggedObjectID
= uint32("logged_object_id", "Logged in Object ID")
2769 LoggedObjectID
.Display("BASE_HEX")
2770 LoggedCount
= uint16("logged_count", "Logged Count")
2771 LogicalConnectionNumber
= uint16("logical_connection_number", "Logical Connection Number", ENC_BIG_ENDIAN
)
2772 LogicalDriveCount
= uint8("logical_drive_count", "Logical Drive Count")
2773 LogicalDriveNumber
= uint8("logical_drive_number", "Logical Drive Number")
2774 LogicalLockThreshold
= uint8("logical_lock_threshold", "LogicalLockThreshold")
2775 LogicalRecordName
= nstring8("logical_record_name", "Logical Record Name")
2776 LoginKey
= bytes("login_key", "Login Key", 8)
2777 LogLockType
= uint8("log_lock_type", "Log Lock Type")
2778 LogTtlRxPkts
= uint32("log_ttl_rx_pkts", "Total Received Packets")
2779 LogTtlTxPkts
= uint32("log_ttl_tx_pkts", "Total Transmitted Packets")
2780 LongName
= fw_string("long_name", "Long Name", 32)
2781 LRUBlockWasDirty
= uint16("lru_block_was_dirty", "LRU Block Was Dirty")
2783 MacAttr
= bitfield16("mac_attr", "Attributes", [
2784 bf_boolean16(0x0001, "mac_attr_smode1", "Search Mode"),
2785 bf_boolean16(0x0002, "mac_attr_smode2", "Search Mode"),
2786 bf_boolean16(0x0004, "mac_attr_smode3", "Search Mode"),
2787 bf_boolean16(0x0010, "mac_attr_transaction", "Transaction"),
2788 bf_boolean16(0x0020, "mac_attr_index", "Index"),
2789 bf_boolean16(0x0040, "mac_attr_r_audit", "Read Audit"),
2790 bf_boolean16(0x0080, "mac_attr_w_audit", "Write Audit"),
2791 bf_boolean16(0x0100, "mac_attr_r_only", "Read Only"),
2792 bf_boolean16(0x0200, "mac_attr_hidden", "Hidden"),
2793 bf_boolean16(0x0400, "mac_attr_system", "System"),
2794 bf_boolean16(0x0800, "mac_attr_execute_only", "Execute Only"),
2795 bf_boolean16(0x1000, "mac_attr_subdirectory", "Subdirectory"),
2796 bf_boolean16(0x2000, "mac_attr_archive", "Archive"),
2797 bf_boolean16(0x8000, "mac_attr_share", "Shareable File"),
2799 MACBackupDate
= uint16("mac_backup_date", "Mac Backup Date")
2800 MACBackupDate
.NWDate()
2801 MACBackupTime
= uint16("mac_backup_time", "Mac Backup Time")
2802 MACBackupTime
.NWTime()
2803 MacBaseDirectoryID
= uint32("mac_base_directory_id", "Mac Base Directory ID", ENC_BIG_ENDIAN
)
2804 MacBaseDirectoryID
.Display("BASE_HEX")
2805 MACCreateDate
= uint16("mac_create_date", "Mac Create Date")
2806 MACCreateDate
.NWDate()
2807 MACCreateTime
= uint16("mac_create_time", "Mac Create Time")
2808 MACCreateTime
.NWTime()
2809 MacDestinationBaseID
= uint32("mac_destination_base_id", "Mac Destination Base ID")
2810 MacDestinationBaseID
.Display("BASE_HEX")
2811 MacFinderInfo
= bytes("mac_finder_info", "Mac Finder Information", 32)
2812 MacLastSeenID
= uint32("mac_last_seen_id", "Mac Last Seen ID")
2813 MacLastSeenID
.Display("BASE_HEX")
2814 MacSourceBaseID
= uint32("mac_source_base_id", "Mac Source Base ID")
2815 MacSourceBaseID
.Display("BASE_HEX")
2816 MajorVersion
= uint32("major_version", "Major Version")
2817 MaxBytes
= uint16("max_bytes", "Maximum Number of Bytes")
2818 MaxDataStreams
= uint32("max_data_streams", "Maximum Data Streams")
2819 MaxDirDepth
= uint32("max_dir_depth", "Maximum Directory Depth")
2820 MaximumSpace
= uint16("max_space", "Maximum Space")
2821 MaxNumOfConn
= uint32("max_num_of_conn", "Maximum Number of Connections")
2822 MaxNumOfLANS
= uint32("max_num_of_lans", "Maximum Number Of LAN's")
2823 MaxNumOfMedias
= uint32("max_num_of_medias", "Maximum Number Of Media's")
2824 MaxNumOfNmeSps
= uint32("max_num_of_nme_sps", "Maximum Number Of Name Spaces")
2825 MaxNumOfSpoolPr
= uint32("max_num_of_spool_pr", "Maximum Number Of Spool Printers")
2826 MaxNumOfStacks
= uint32("max_num_of_stacks", "Maximum Number Of Stacks")
2827 MaxNumOfUsers
= uint32("max_num_of_users", "Maximum Number Of Users")
2828 MaxNumOfVol
= uint32("max_num_of_vol", "Maximum Number of Volumes")
2829 MaxReadDataReplySize
= uint16("max_read_data_reply_size", "Max Read Data Reply Size")
2830 MaxSpace
= uint32("maxspace", "Maximum Space")
2831 MaxSpace64
= uint64("maxspace64", "Maximum Space")
2832 MaxUsedDynamicSpace
= uint32("max_used_dynamic_space", "Max Used Dynamic Space")
2833 MediaList
= uint32("media_list", "Media List")
2834 MediaListCount
= uint32("media_list_count", "Media List Count")
2835 MediaName
= nstring8("media_name", "Media Name")
2836 MediaNumber
= uint32("media_number", "Media Number")
2837 MaxReplyObjectIDCount
= uint8("max_reply_obj_id_count", "Max Reply Object ID Count")
2838 MediaObjectType
= val_string8("media_object_type", "Object Type", [
2839 [ 0x00, "Adapter" ],
2840 [ 0x01, "Changer" ],
2841 [ 0x02, "Removable Device" ],
2843 [ 0x04, "Removable Media" ],
2844 [ 0x05, "Partition" ],
2849 [ 0x0a, "Volume Segment" ],
2852 [ 0x0d, "Fixed Media" ],
2853 [ 0x0e, "Unknown" ],
2855 MemberName
= nstring8("member_name", "Member Name")
2856 MemberType
= val_string16("member_type", "Member Type", [
2857 [ 0x0000, "Unknown" ],
2859 [ 0x0002, "User group" ],
2860 [ 0x0003, "Print queue" ],
2861 [ 0x0004, "NetWare file server" ],
2862 [ 0x0005, "Job server" ],
2863 [ 0x0006, "Gateway" ],
2864 [ 0x0007, "Print server" ],
2865 [ 0x0008, "Archive queue" ],
2866 [ 0x0009, "Archive server" ],
2867 [ 0x000a, "Job queue" ],
2868 [ 0x000b, "Administration" ],
2869 [ 0x0021, "NAS SNA gateway" ],
2870 [ 0x0026, "Remote bridge server" ],
2871 [ 0x0027, "TCP/IP gateway" ],
2873 MessageLanguage
= uint32("message_language", "NLM Language")
2874 MigratedFiles
= uint32("migrated_files", "Migrated Files")
2875 MigratedSectors
= uint32("migrated_sectors", "Migrated Sectors")
2876 MinorVersion
= uint32("minor_version", "Minor Version")
2877 MinSpaceLeft64
= uint64("min_space_left64", "Minimum Space Left")
2878 Minute
= uint8("s_minute", "Minutes")
2879 MixedModePathFlag
= val_string8("mixed_mode_path_flag", "Mixed Mode Path Flag", [
2880 [ 0x00, "Mixed mode path handling is not available"],
2881 [ 0x01, "Mixed mode path handling is available"],
2883 ModifiedDate
= uint16("modified_date", "Modified Date")
2884 ModifiedDate
.NWDate()
2885 ModifiedTime
= uint16("modified_time", "Modified Time")
2886 ModifiedTime
.NWTime()
2887 ModifierID
= uint32("modifier_id", "Modifier ID", ENC_BIG_ENDIAN
)
2888 ModifierID
.Display("BASE_HEX")
2889 ModifyDOSInfoMask
= bitfield16("modify_dos_info_mask", "Modify DOS Info Mask", [
2890 bf_boolean16(0x0002, "modify_dos_read", "Attributes"),
2891 bf_boolean16(0x0004, "modify_dos_write", "Creation Date"),
2892 bf_boolean16(0x0008, "modify_dos_open", "Creation Time"),
2893 bf_boolean16(0x0010, "modify_dos_create", "Creator ID"),
2894 bf_boolean16(0x0020, "modify_dos_delete", "Archive Date"),
2895 bf_boolean16(0x0040, "modify_dos_parent", "Archive Time"),
2896 bf_boolean16(0x0080, "modify_dos_search", "Archiver ID"),
2897 bf_boolean16(0x0100, "modify_dos_mdate", "Modify Date"),
2898 bf_boolean16(0x0200, "modify_dos_mtime", "Modify Time"),
2899 bf_boolean16(0x0400, "modify_dos_mid", "Modifier ID"),
2900 bf_boolean16(0x0800, "modify_dos_laccess", "Last Access"),
2901 bf_boolean16(0x1000, "modify_dos_inheritance", "Inheritance"),
2902 bf_boolean16(0x2000, "modify_dos_max_space", "Maximum Space"),
2904 Month
= val_string8("s_month", "Month", [
2906 [ 0x02, "February"],
2913 [ 0x09, "September"],
2915 [ 0x0b, "November"],
2916 [ 0x0c, "December"],
2919 MoreFlag
= val_string8("more_flag", "More Flag", [
2920 [ 0x00, "No More Segments/Entries Available" ],
2921 [ 0x01, "More Segments/Entries Available" ],
2922 [ 0xff, "More Segments/Entries Available" ],
2924 MoreProperties
= val_string8("more_properties", "More Properties", [
2925 [ 0x00, "No More Properties Available" ],
2926 [ 0x01, "No More Properties Available" ],
2927 [ 0xff, "More Properties Available" ],
2930 Name
= nstring8("name", "Name")
2931 Name12
= fw_string("name12", "Name", 12)
2932 NameLen
= uint8("name_len", "Name Space Length")
2933 NameLength
= uint8("name_length", "Name Length")
2934 NameList
= uint32("name_list", "Name List")
2936 # XXX - should this value be used to interpret the characters in names,
2937 # search patterns, and the like?
2939 # We need to handle character sets better, e.g. translating strings
2940 # from whatever character set they are in the packet (DOS/Windows code
2941 # pages, ISO character sets, UNIX EUC character sets, UTF-8, UCS-2/Unicode,
2942 # Mac character sets, etc.) into UCS-4 or UTF-8 and storing them as such
2943 # in the protocol tree, and displaying them as best we can.
2945 NameSpace
= val_string8("name_space", "Name Space", [
2950 [ 0x04, "OS/2, Long" ],
2952 NamesSpaceInfoMask
= bitfield16("ns_info_mask", "Names Space Info Mask", [
2953 bf_boolean16(0x0001, "ns_info_mask_modify", "Modify Name"),
2954 bf_boolean16(0x0002, "ns_info_mask_fatt", "File Attributes"),
2955 bf_boolean16(0x0004, "ns_info_mask_cdate", "Creation Date"),
2956 bf_boolean16(0x0008, "ns_info_mask_ctime", "Creation Time"),
2957 bf_boolean16(0x0010, "ns_info_mask_owner", "Owner ID"),
2958 bf_boolean16(0x0020, "ns_info_mask_adate", "Archive Date"),
2959 bf_boolean16(0x0040, "ns_info_mask_atime", "Archive Time"),
2960 bf_boolean16(0x0080, "ns_info_mask_aid", "Archiver ID"),
2961 bf_boolean16(0x0100, "ns_info_mask_udate", "Update Date"),
2962 bf_boolean16(0x0200, "ns_info_mask_utime", "Update Time"),
2963 bf_boolean16(0x0400, "ns_info_mask_uid", "Update ID"),
2964 bf_boolean16(0x0800, "ns_info_mask_acc_date", "Access Date"),
2965 bf_boolean16(0x1000, "ns_info_mask_max_acc_mask", "Inheritance"),
2966 bf_boolean16(0x2000, "ns_info_mask_max_space", "Maximum Space"),
2968 NameSpaceName
= nstring8("name_space_name", "Name Space Name")
2969 nameType
= uint32("name_type", "nameType")
2970 NCPdataSize
= uint32("ncp_data_size", "NCP Data Size")
2971 NCPEncodedStringsBits
= uint32("ncp_encoded_strings_bits", "NCP Encoded Strings Bits")
2972 NCPextensionMajorVersion
= uint8("ncp_extension_major_version", "NCP Extension Major Version")
2973 NCPextensionMinorVersion
= uint8("ncp_extension_minor_version", "NCP Extension Minor Version")
2974 NCPextensionName
= nstring8("ncp_extension_name", "NCP Extension Name")
2975 NCPextensionNumber
= uint32("ncp_extension_number", "NCP Extension Number")
2976 NCPextensionNumber
.Display("BASE_HEX")
2977 NCPExtensionNumbers
= uint32("ncp_extension_numbers", "NCP Extension Numbers")
2978 NCPextensionRevisionNumber
= uint8("ncp_extension_revision_number", "NCP Extension Revision Number")
2979 NCPPeakStaInUse
= uint32("ncp_peak_sta_in_use", "Peak Number of Connections since Server was brought up")
2980 NCPStaInUseCnt
= uint32("ncp_sta_in_use", "Number of Workstations Connected to Server")
2981 NDSRequestFlags
= bitfield16("nds_request_flags", "NDS Request Flags", [
2982 bf_boolean16(0x0001, "nds_request_flags_output", "Output Fields"),
2983 bf_boolean16(0x0002, "nds_request_flags_no_such_entry", "No Such Entry"),
2984 bf_boolean16(0x0004, "nds_request_flags_local_entry", "Local Entry"),
2985 bf_boolean16(0x0008, "nds_request_flags_type_ref", "Type Referral"),
2986 bf_boolean16(0x0010, "nds_request_flags_alias_ref", "Alias Referral"),
2987 bf_boolean16(0x0020, "nds_request_flags_req_cnt", "Request Count"),
2988 bf_boolean16(0x0040, "nds_request_flags_req_data_size", "Request Data Size"),
2989 bf_boolean16(0x0080, "nds_request_flags_reply_data_size", "Reply Data Size"),
2990 bf_boolean16(0x0100, "nds_request_flags_trans_ref", "Transport Referral"),
2991 bf_boolean16(0x0200, "nds_request_flags_trans_ref2", "Transport Referral"),
2992 bf_boolean16(0x0400, "nds_request_flags_up_ref", "Up Referral"),
2993 bf_boolean16(0x0800, "nds_request_flags_dn_ref", "Down Referral"),
2995 NDSStatus
= uint32("nds_status", "NDS Status")
2996 NetBIOSBroadcastWasPropagated
= uint32("netbios_broadcast_was_propagated", "NetBIOS Broadcast Was Propagated")
2997 NetIDNumber
= uint32("net_id_number", "Net ID Number")
2998 NetIDNumber
.Display("BASE_HEX")
2999 NetAddress
= nbytes32("address", "Address")
3000 NetStatus
= uint16("net_status", "Network Status")
3001 NetWareAccessHandle
= bytes("netware_access_handle", "NetWare Access Handle", 6)
3002 NetworkAddress
= uint32("network_address", "Network Address")
3003 NetworkAddress
.Display("BASE_HEX")
3004 NetworkNodeAddress
= bytes("network_node_address", "Network Node Address", 6)
3005 NetworkNumber
= uint32("network_number", "Network Number")
3006 NetworkNumber
.Display("BASE_HEX")
3008 # XXX - this should have the "ipx_socket_vals" value_string table
3009 # from "packet-ipx.c".
3011 NetworkSocket
= uint16("network_socket", "Network Socket")
3012 NetworkSocket
.Display("BASE_HEX")
3013 NewAccessRights
= bitfield16("new_access_rights_mask", "New Access Rights", [
3014 bf_boolean16(0x0001, "new_access_rights_read", "Read"),
3015 bf_boolean16(0x0002, "new_access_rights_write", "Write"),
3016 bf_boolean16(0x0004, "new_access_rights_open", "Open"),
3017 bf_boolean16(0x0008, "new_access_rights_create", "Create"),
3018 bf_boolean16(0x0010, "new_access_rights_delete", "Delete"),
3019 bf_boolean16(0x0020, "new_access_rights_parental", "Parental"),
3020 bf_boolean16(0x0040, "new_access_rights_search", "Search"),
3021 bf_boolean16(0x0080, "new_access_rights_modify", "Modify"),
3022 bf_boolean16(0x0100, "new_access_rights_supervisor", "Supervisor"),
3024 NewDirectoryID
= uint32("new_directory_id", "New Directory ID", ENC_BIG_ENDIAN
)
3025 NewDirectoryID
.Display("BASE_HEX")
3026 NewEAHandle
= uint32("new_ea_handle", "New EA Handle")
3027 NewEAHandle
.Display("BASE_HEX")
3028 NewFileName
= fw_string("new_file_name", "New File Name", 14)
3029 NewFileNameLen
= nstring8("new_file_name_len", "New File Name")
3030 NewFileSize
= uint32("new_file_size", "New File Size")
3031 NewPassword
= nstring8("new_password", "New Password")
3032 NewPath
= nstring8("new_path", "New Path")
3033 NewPosition
= uint8("new_position", "New Position")
3034 NewObjectName
= nstring8("new_object_name", "New Object Name")
3035 NextCntBlock
= uint32("next_cnt_block", "Next Count Block")
3036 NextHugeStateInfo
= bytes("next_huge_state_info", "Next Huge State Info", 16)
3037 nextLimbScanNum
= uint32("next_limb_scan_num", "Next Limb Scan Number")
3038 NextObjectID
= uint32("next_object_id", "Next Object ID", ENC_BIG_ENDIAN
)
3039 NextObjectID
.Display("BASE_HEX")
3040 NextRecord
= uint32("next_record", "Next Record")
3041 NextRequestRecord
= uint16("next_request_record", "Next Request Record")
3042 NextSearchIndex
= uint16("next_search_index", "Next Search Index")
3043 NextSearchNumber
= uint16("next_search_number", "Next Search Number")
3044 NextSearchNum
= uint32("nxt_search_num", "Next Search Number")
3045 nextStartingNumber
= uint32("next_starting_number", "Next Starting Number")
3046 NextTrusteeEntry
= uint32("next_trustee_entry", "Next Trustee Entry")
3047 NextVolumeNumber
= uint32("next_volume_number", "Next Volume Number")
3048 NLMBuffer
= nstring8("nlm_buffer", "Buffer")
3049 NLMcount
= uint32("nlm_count", "NLM Count")
3050 NLMFlags
= bitfield8("nlm_flags", "Flags", [
3051 bf_boolean8(0x01, "nlm_flags_reentrant", "ReEntrant"),
3052 bf_boolean8(0x02, "nlm_flags_multiple", "Can Load Multiple Times"),
3053 bf_boolean8(0x04, "nlm_flags_synchronize", "Synchronize Start"),
3054 bf_boolean8(0x08, "nlm_flags_pseudo", "PseudoPreemption"),
3056 NLMLoadOptions
= uint32("nlm_load_options", "NLM Load Options")
3057 NLMName
= stringz("nlm_name_stringz", "NLM Name")
3058 NLMNumber
= uint32("nlm_number", "NLM Number")
3059 NLMNumbers
= uint32("nlm_numbers", "NLM Numbers")
3060 NLMsInList
= uint32("nlms_in_list", "NLM's in List")
3061 NLMStartNumber
= uint32("nlm_start_num", "NLM Start Number")
3062 NLMType
= val_string8("nlm_type", "NLM Type", [
3063 [ 0x00, "Generic NLM (.NLM)" ],
3064 [ 0x01, "LAN Driver (.LAN)" ],
3065 [ 0x02, "Disk Driver (.DSK)" ],
3066 [ 0x03, "Name Space Support Module (.NAM)" ],
3067 [ 0x04, "Utility or Support Program (.NLM)" ],
3068 [ 0x05, "Mirrored Server Link (.MSL)" ],
3069 [ 0x06, "OS NLM (.NLM)" ],
3070 [ 0x07, "Paged High OS NLM (.NLM)" ],
3071 [ 0x08, "Host Adapter Module (.HAM)" ],
3072 [ 0x09, "Custom Device Module (.CDM)" ],
3073 [ 0x0a, "File System Engine (.NLM)" ],
3074 [ 0x0b, "Real Mode NLM (.NLM)" ],
3075 [ 0x0c, "Hidden NLM (.NLM)" ],
3076 [ 0x15, "NICI Support (.NLM)" ],
3077 [ 0x16, "NICI Support (.NLM)" ],
3078 [ 0x17, "Cryptography (.NLM)" ],
3079 [ 0x18, "Encryption (.NLM)" ],
3080 [ 0x19, "NICI Support (.NLM)" ],
3081 [ 0x1c, "NICI Support (.NLM)" ],
3083 nodeFlags
= uint32("node_flags", "Node Flags")
3084 nodeFlags
.Display("BASE_HEX")
3085 NoMoreMemAvlCnt
= uint32("no_more_mem_avail", "No More Memory Available Count")
3086 NonDedFlag
= boolean8("non_ded_flag", "Non Dedicated Flag")
3087 NonFreeableAvailableSubAllocSectors
= uint32("non_freeable_avail_sub_alloc_sectors", "Non Freeable Available Sub Alloc Sectors")
3088 NonFreeableLimboSectors
= uint32("non_freeable_limbo_sectors", "Non Freeable Limbo Sectors")
3089 NotUsableSubAllocSectors
= uint32("not_usable_sub_alloc_sectors", "Not Usable Sub Alloc Sectors")
3090 NotYetPurgeableBlocks
= uint32("not_yet_purgeable_blocks", "Not Yet Purgeable Blocks")
3091 NSInfoBitMask
= uint32("ns_info_bit_mask", "Name Space Info Bit Mask")
3092 NSSOAllInFlags
= bitfield32("nsso_all_in_flags", "SecretStore All Input Flags",[
3093 bf_boolean32(0x00000010, "nsso_all_unicode", "Unicode Data"),
3094 bf_boolean32(0x00000080, "nsso_set_tree", "Set Tree"),
3095 bf_boolean32(0x00000200, "nsso_destroy_ctx", "Destroy Context"),
3097 NSSOGetServiceInFlags
= bitfield32("nsso_get_svc_in_flags", "SecretStore Get Service Flags",[
3098 bf_boolean32(0x00000100, "nsso_get_ctx", "Get Context"),
3100 NSSOReadInFlags
= bitfield32("nsso_read_in_flags", "SecretStore Read Flags",[
3101 bf_boolean32(0x00000001, "nsso_rw_enh_prot", "Read/Write Enhanced Protection"),
3102 bf_boolean32(0x00000008, "nsso_repair", "Repair SecretStore"),
3104 NSSOReadOrUnlockInFlags
= bitfield32("nsso_read_or_unlock_in_flags", "SecretStore Read or Unlock Flags",[
3105 bf_boolean32(0x00000004, "nsso_ep_master_pwd", "Master Password used instead of ENH Password"),
3107 NSSOUnlockInFlags
= bitfield32("nsso_unlock_in_flags", "SecretStore Unlock Flags",[
3108 bf_boolean32(0x00000004, "nsso_rmv_lock", "Remove Lock from Store"),
3110 NSSOWriteInFlags
= bitfield32("nsso_write_in_flags", "SecretStore Write Flags",[
3111 bf_boolean32(0x00000001, "nsso_enh_prot", "Enhanced Protection"),
3112 bf_boolean32(0x00000002, "nsso_create_id", "Create ID"),
3113 bf_boolean32(0x00000040, "nsso_ep_pwd_used", "Enhanced Protection Password Used"),
3115 NSSOContextOutFlags
= bitfield32("nsso_cts_out_flags", "Type of Context",[
3116 bf_boolean32(0x00000001, "nsso_ds_ctx", "DSAPI Context"),
3117 bf_boolean32(0x00000080, "nsso_ldap_ctx", "LDAP Context"),
3118 bf_boolean32(0x00000200, "nsso_dc_ctx", "Reserved"),
3120 NSSOGetServiceOutFlags
= bitfield32("nsso_get_svc_out_flags", "SecretStore Status Flags",[
3121 bf_boolean32(0x00400000, "nsso_mstr_pwd", "Master Password Present"),
3123 NSSOGetServiceReadOutFlags
= bitfield32("nsso_get_svc_read_out_flags", "SecretStore Status Flags",[
3124 bf_boolean32(0x00800000, "nsso_mp_disabled", "Master Password Disabled"),
3126 NSSOReadOutFlags
= bitfield32("nsso_read_out_flags", "SecretStore Read Flags",[
3127 bf_boolean32(0x00010000, "nsso_secret_locked", "Enhanced Protection Lock on Secret"),
3128 bf_boolean32(0x00020000, "nsso_secret_not_init", "Secret Not Yet Initialized"),
3129 bf_boolean32(0x00040000, "nsso_secret_marked", "Secret Marked for Enhanced Protection"),
3130 bf_boolean32(0x00080000, "nsso_secret_not_sync", "Secret Not Yet Synchronized in NDS"),
3131 bf_boolean32(0x00200000, "nsso_secret_enh_pwd", "Enhanced Protection Password on Secret"),
3133 NSSOReadOutStatFlags
= bitfield32("nsso_read_out_stat_flags", "SecretStore Read Status Flags",[
3134 bf_boolean32(0x00100000, "nsso_admin_mod", "Admin Modified Secret Last"),
3136 NSSOVerb
= val_string8("nsso_verb", "SecretStore Verb", [
3137 [ 0x00, "Query Server" ],
3138 [ 0x01, "Read App Secrets" ],
3139 [ 0x02, "Write App Secrets" ],
3140 [ 0x03, "Add Secret ID" ],
3141 [ 0x04, "Remove Secret ID" ],
3142 [ 0x05, "Remove SecretStore" ],
3143 [ 0x06, "Enumerate SecretID's" ],
3144 [ 0x07, "Unlock Store" ],
3145 [ 0x08, "Set Master Password" ],
3146 [ 0x09, "Get Service Information" ],
3148 NSSpecificInfo
= fw_string("ns_specific_info", "Name Space Specific Info", 512)
3149 NumberOfActiveTasks
= uint8("num_of_active_tasks", "Number of Active Tasks")
3150 NumberOfAllocs
= uint32("num_of_allocs", "Number of Allocations")
3151 NumberOfCPUs
= uint32("number_of_cpus", "Number of CPU's")
3152 NumberOfDataStreams
= uint16("number_of_data_streams", "Number of Data Streams")
3153 NumberOfDataStreamsLong
= uint32("number_of_data_streams_long", "Number of Data Streams")
3154 NumberOfDynamicMemoryAreas
= uint16("number_of_dynamic_memory_areas", "Number Of Dynamic Memory Areas")
3155 NumberOfEntries
= uint8("number_of_entries", "Number of Entries")
3156 NumberOfEntriesLong
= uint32("number_of_entries_long", "Number of Entries")
3157 NumberOfLocks
= uint8("number_of_locks", "Number of Locks")
3158 NumberOfMinutesToDelay
= uint32("number_of_minutes_to_delay", "Number of Minutes to Delay")
3159 NumberOfNCPExtensions
= uint32("number_of_ncp_extensions", "Number Of NCP Extensions")
3160 NumberOfNSLoaded
= uint16("number_of_ns_loaded", "Number Of Name Spaces Loaded")
3161 NumberOfProtocols
= uint8("number_of_protocols", "Number of Protocols")
3162 NumberOfRecords
= uint16("number_of_records", "Number of Records")
3163 NumberOfReferencedPublics
= uint32("num_of_ref_publics", "Number of Referenced Public Symbols")
3164 NumberOfSemaphores
= uint16("number_of_semaphores", "Number Of Semaphores")
3165 NumberOfServiceProcesses
= uint8("number_of_service_processes", "Number Of Service Processes")
3166 NumberOfSetCategories
= uint32("number_of_set_categories", "Number Of Set Categories")
3167 NumberOfSMs
= uint32("number_of_sms", "Number Of Storage Medias")
3168 NumberOfStations
= uint8("number_of_stations", "Number of Stations")
3169 NumBytes
= uint16("num_bytes", "Number of Bytes")
3170 NumBytesLong
= uint32("num_bytes_long", "Number of Bytes")
3171 NumOfCCinPkt
= uint32("num_of_cc_in_pkt", "Number of Custom Counters in Packet")
3172 NumOfChecks
= uint32("num_of_checks", "Number of Checks")
3173 NumOfEntries
= uint32("num_of_entries", "Number of Entries")
3174 NumOfFilesMigrated
= uint32("num_of_files_migrated", "Number Of Files Migrated")
3175 NumOfGarbageColl
= uint32("num_of_garb_coll", "Number of Garbage Collections")
3176 NumOfNCPReqs
= uint32("num_of_ncp_reqs", "Number of NCP Requests since Server was brought up")
3177 NumOfSegments
= uint32("num_of_segments", "Number of Segments")
3179 ObjectCount
= uint32("object_count", "Object Count")
3180 ObjectFlags
= val_string8("object_flags", "Object Flags", [
3181 [ 0x00, "Dynamic object" ],
3182 [ 0x01, "Static object" ],
3184 ObjectHasProperties
= val_string8("object_has_properites", "Object Has Properties", [
3185 [ 0x00, "No properties" ],
3186 [ 0xff, "One or more properties" ],
3188 ObjectID
= uint32("object_id", "Object ID", ENC_BIG_ENDIAN
)
3189 ObjectID
.Display('BASE_HEX')
3190 ObjectIDCount
= uint16("object_id_count", "Object ID Count")
3191 ObjectIDInfo
= uint32("object_id_info", "Object Information")
3192 ObjectInfoReturnCount
= uint32("object_info_rtn_count", "Object Information Count")
3193 ObjectName
= nstring8("object_name", "Object Name")
3194 ObjectNameLen
= fw_string("object_name_len", "Object Name", 48)
3195 ObjectNameStringz
= stringz("object_name_stringz", "Object Name")
3196 ObjectNumber
= uint32("object_number", "Object Number")
3197 ObjectSecurity
= val_string8("object_security", "Object Security", [
3198 [ 0x00, "Object Read (Anyone) / Object Write (Anyone)" ],
3199 [ 0x01, "Object Read (Logged in) / Object Write (Anyone)" ],
3200 [ 0x02, "Object Read (Logged in as Object) / Object Write (Anyone)" ],
3201 [ 0x03, "Object Read (Supervisor) / Object Write (Anyone)" ],
3202 [ 0x04, "Object Read (Operating System Only) / Object Write (Anyone)" ],
3203 [ 0x10, "Object Read (Anyone) / Object Write (Logged in)" ],
3204 [ 0x11, "Object Read (Logged in) / Object Write (Logged in)" ],
3205 [ 0x12, "Object Read (Logged in as Object) / Object Write (Logged in)" ],
3206 [ 0x13, "Object Read (Supervisor) / Object Write (Logged in)" ],
3207 [ 0x14, "Object Read (Operating System Only) / Object Write (Logged in)" ],
3208 [ 0x20, "Object Read (Anyone) / Object Write (Logged in as Object)" ],
3209 [ 0x21, "Object Read (Logged in) / Object Write (Logged in as Object)" ],
3210 [ 0x22, "Object Read (Logged in as Object) / Object Write (Logged in as Object)" ],
3211 [ 0x23, "Object Read (Supervisor) / Object Write (Logged in as Object)" ],
3212 [ 0x24, "Object Read (Operating System Only) / Object Write (Logged in as Object)" ],
3213 [ 0x30, "Object Read (Anyone) / Object Write (Supervisor)" ],
3214 [ 0x31, "Object Read (Logged in) / Object Write (Supervisor)" ],
3215 [ 0x32, "Object Read (Logged in as Object) / Object Write (Supervisor)" ],
3216 [ 0x33, "Object Read (Supervisor) / Object Write (Supervisor)" ],
3217 [ 0x34, "Object Read (Operating System Only) / Object Write (Supervisor)" ],
3218 [ 0x40, "Object Read (Anyone) / Object Write (Operating System Only)" ],
3219 [ 0x41, "Object Read (Logged in) / Object Write (Operating System Only)" ],
3220 [ 0x42, "Object Read (Logged in as Object) / Object Write (Operating System Only)" ],
3221 [ 0x43, "Object Read (Supervisor) / Object Write (Operating System Only)" ],
3222 [ 0x44, "Object Read (Operating System Only) / Object Write (Operating System Only)" ],
3225 # XXX - should this use the "server_vals[]" value_string array from
3228 # XXX - should this list be merged with that list? There are some
3229 # oddities, e.g. this list has 0x03f5 for "Microsoft SQL Server", but
3230 # the list from "packet-ipx.c" has 0xf503 for that - is that just
3231 # byte-order confusion?
3233 ObjectType
= val_string16("object_type", "Object Type", [
3234 [ 0x0000, "Unknown" ],
3236 [ 0x0002, "User group" ],
3237 [ 0x0003, "Print queue" ],
3238 [ 0x0004, "NetWare file server" ],
3239 [ 0x0005, "Job server" ],
3240 [ 0x0006, "Gateway" ],
3241 [ 0x0007, "Print server" ],
3242 [ 0x0008, "Archive queue" ],
3243 [ 0x0009, "Archive server" ],
3244 [ 0x000a, "Job queue" ],
3245 [ 0x000b, "Administration" ],
3246 [ 0x0021, "NAS SNA gateway" ],
3247 [ 0x0026, "Remote bridge server" ],
3248 [ 0x0027, "TCP/IP gateway" ],
3249 [ 0x0047, "Novell Print Server" ],
3250 [ 0x004b, "Btrieve Server" ],
3251 [ 0x004c, "NetWare SQL Server" ],
3252 [ 0x0064, "ARCserve" ],
3253 [ 0x0066, "ARCserve 3.0" ],
3254 [ 0x0076, "NetWare SQL" ],
3255 [ 0x00a0, "Gupta SQL Base Server" ],
3256 [ 0x00a1, "Powerchute" ],
3257 [ 0x0107, "NetWare Remote Console" ],
3258 [ 0x01cb, "Shiva NetModem/E" ],
3259 [ 0x01cc, "Shiva LanRover/E" ],
3260 [ 0x01cd, "Shiva LanRover/T" ],
3261 [ 0x01d8, "Castelle FAXPress Server" ],
3262 [ 0x01da, "Castelle Print Server" ],
3263 [ 0x01dc, "Castelle Fax Server" ],
3264 [ 0x0200, "Novell SQL Server" ],
3265 [ 0x023a, "NetWare Lanalyzer Agent" ],
3266 [ 0x023c, "DOS Target Service Agent" ],
3267 [ 0x023f, "NetWare Server Target Service Agent" ],
3268 [ 0x024f, "Appletalk Remote Access Service" ],
3269 [ 0x0263, "NetWare Management Agent" ],
3270 [ 0x0264, "Global MHS" ],
3272 [ 0x026a, "NetWare Management/NMS Console" ],
3273 [ 0x026b, "NetWare Time Synchronization" ],
3274 [ 0x0273, "Nest Device" ],
3275 [ 0x0274, "GroupWise Message Multiple Servers" ],
3276 [ 0x0278, "NDS Replica Server" ],
3277 [ 0x0282, "NDPS Service Registry Service" ],
3278 [ 0x028a, "MPR/IPX Address Mapping Gateway" ],
3279 [ 0x028b, "ManageWise" ],
3280 [ 0x0293, "NetWare 6" ],
3281 [ 0x030c, "HP JetDirect" ],
3282 [ 0x0328, "Watcom SQL Server" ],
3283 [ 0x0355, "Backup Exec" ],
3284 [ 0x039b, "Lotus Notes" ],
3285 [ 0x03e1, "Univel Server" ],
3286 [ 0x03f5, "Microsoft SQL Server" ],
3287 [ 0x055e, "Lexmark Print Server" ],
3288 [ 0x0640, "Microsoft Gateway Services for NetWare" ],
3289 [ 0x064e, "Microsoft Internet Information Server" ],
3290 [ 0x077b, "Advantage Database Server" ],
3291 [ 0x07a7, "Backup Exec Job Queue" ],
3292 [ 0x07a8, "Backup Exec Job Manager" ],
3293 [ 0x07a9, "Backup Exec Job Service" ],
3294 [ 0x5555, "Site Lock" ],
3295 [ 0x8202, "NDPS Broker" ],
3297 OCRetFlags
= val_string8("o_c_ret_flags", "Open Create Return Flags", [
3298 [ 0x00, "No CallBack has been registered (No Op-Lock)" ],
3299 [ 0x01, "Request has been registered for CallBack (Op-Lock)" ],
3301 OESServer
= val_string8("oes_server", "Type of Novell Server", [
3302 [ 0x00, "NetWare" ],
3304 [ 0x02, "OES 64bit" ],
3307 OESLinuxOrNetWare
= val_string8("oeslinux_or_netware", "Kernel Type", [
3308 [ 0x00, "NetWare" ],
3312 OldestDeletedFileAgeInTicks
= uint32("oldest_deleted_file_age_in_ticks", "Oldest Deleted File Age in Ticks")
3313 OldFileName
= bytes("old_file_name", "Old File Name", 15)
3314 OldFileSize
= uint32("old_file_size", "Old File Size")
3315 OpenCount
= uint16("open_count", "Open Count")
3316 OpenCreateAction
= bitfield8("open_create_action", "Open Create Action", [
3317 bf_boolean8(0x01, "open_create_action_opened", "Opened"),
3318 bf_boolean8(0x02, "open_create_action_created", "Created"),
3319 bf_boolean8(0x04, "open_create_action_replaced", "Replaced"),
3320 bf_boolean8(0x08, "open_create_action_compressed", "Compressed"),
3321 bf_boolean8(0x80, "open_create_action_read_only", "Read Only"),
3323 OpenCreateMode
= bitfield8("open_create_mode", "Open Create Mode", [
3324 bf_boolean8(0x01, "open_create_mode_open", "Open existing file (file must exist)"),
3325 bf_boolean8(0x02, "open_create_mode_replace", "Replace existing file"),
3326 bf_boolean8(0x08, "open_create_mode_create", "Create new file or subdirectory (file or subdirectory cannot exist)"),
3327 bf_boolean8(0x20, "open_create_mode_64bit", "Open 64-bit Access"),
3328 bf_boolean8(0x40, "open_create_mode_ro", "Open with Read Only Access"),
3329 bf_boolean8(0x80, "open_create_mode_oplock", "Open Callback (Op-Lock)"),
3331 OpenForReadCount
= uint16("open_for_read_count", "Open For Read Count")
3332 OpenForWriteCount
= uint16("open_for_write_count", "Open For Write Count")
3333 OpenRights
= bitfield8("open_rights", "Open Rights", [
3334 bf_boolean8(0x01, "open_rights_read_only", "Read Only"),
3335 bf_boolean8(0x02, "open_rights_write_only", "Write Only"),
3336 bf_boolean8(0x04, "open_rights_deny_read", "Deny Read"),
3337 bf_boolean8(0x08, "open_rights_deny_write", "Deny Write"),
3338 bf_boolean8(0x10, "open_rights_compat", "Compatibility"),
3339 bf_boolean8(0x40, "open_rights_write_thru", "File Write Through"),
3341 OptionNumber
= uint8("option_number", "Option Number")
3342 originalSize
= uint32("original_size", "Original Size")
3343 OSLanguageID
= uint8("os_language_id", "OS Language ID")
3344 OSMajorVersion
= uint8("os_major_version", "OS Major Version")
3345 OSMinorVersion
= uint8("os_minor_version", "OS Minor Version")
3346 OSRevision
= uint32("os_revision", "OS Revision")
3347 OtherFileForkSize
= uint32("other_file_fork_size", "Other File Fork Size")
3348 OtherFileForkFAT
= uint32("other_file_fork_fat", "Other File Fork FAT Entry")
3349 OutgoingPacketDiscardedNoTurboBuffer
= uint16("outgoing_packet_discarded_no_turbo_buffer", "Outgoing Packet Discarded No Turbo Buffer")
3351 PacketsDiscardedByHopCount
= uint16("packets_discarded_by_hop_count", "Packets Discarded By Hop Count")
3352 PacketsDiscardedUnknownNet
= uint16("packets_discarded_unknown_net", "Packets Discarded Unknown Net")
3353 PacketsFromInvalidConnection
= uint16("packets_from_invalid_connection", "Packets From Invalid Connection")
3354 PacketsReceivedDuringProcessing
= uint16("packets_received_during_processing", "Packets Received During Processing")
3355 PacketsWithBadRequestType
= uint16("packets_with_bad_request_type", "Packets With Bad Request Type")
3356 PacketsWithBadSequenceNumber
= uint16("packets_with_bad_sequence_number", "Packets With Bad Sequence Number")
3357 PageTableOwnerFlag
= uint32("page_table_owner_flag", "Page Table Owner")
3358 ParentID
= uint32("parent_id", "Parent ID")
3359 ParentID
.Display("BASE_HEX")
3360 ParentBaseID
= uint32("parent_base_id", "Parent Base ID")
3361 ParentBaseID
.Display("BASE_HEX")
3362 ParentDirectoryBase
= uint32("parent_directory_base", "Parent Directory Base")
3363 ParentDOSDirectoryBase
= uint32("parent_dos_directory_base", "Parent DOS Directory Base")
3364 ParentObjectNumber
= uint32("parent_object_number", "Parent Object Number")
3365 ParentObjectNumber
.Display("BASE_HEX")
3366 Password
= nstring8("password", "Password")
3367 PathBase
= uint8("path_base", "Path Base")
3368 PathComponentCount
= uint16("path_component_count", "Path Component Count")
3369 PathComponentSize
= uint16("path_component_size", "Path Component Size")
3370 PathCookieFlags
= val_string16("path_cookie_flags", "Path Cookie Flags", [
3371 [ 0x0000, "Last component is Not a File Name" ],
3372 [ 0x0001, "Last component is a File Name" ],
3374 PathCount
= uint8("path_count", "Path Count")
3376 # XXX - in at least some File Search Continue requests, the string
3377 # length value is longer than the string, and there's a NUL, followed
3378 # by other non-zero cruft, in the string. Should this be an
3379 # "nstringz8", with FT_UINT_STRINGZPAD added to support it? And
3380 # does that apply to any other values?
3382 Path
= nstring8("path", "Path")
3383 Path16
= nstring16("path16", "Path")
3384 PathAndName
= stringz("path_and_name", "Path and Name")
3385 PendingIOCommands
= uint16("pending_io_commands", "Pending IO Commands")
3386 PhysicalDiskNumber
= uint8("physical_disk_number", "Physical Disk Number")
3387 PhysicalDriveCount
= uint8("physical_drive_count", "Physical Drive Count")
3388 PhysicalLockThreshold
= uint8("physical_lock_threshold", "Physical Lock Threshold")
3389 PingVersion
= uint16("ping_version", "Ping Version")
3390 PoolName
= stringz("pool_name", "Pool Name")
3391 PositiveAcknowledgesSent
= uint16("positive_acknowledges_sent", "Positive Acknowledges Sent")
3392 PreCompressedSectors
= uint32("pre_compressed_sectors", "Precompressed Sectors")
3393 PreviousRecord
= uint32("previous_record", "Previous Record")
3394 PrimaryEntry
= uint32("primary_entry", "Primary Entry")
3395 PrintFlags
= bitfield8("print_flags", "Print Flags", [
3396 bf_boolean8(0x08, "print_flags_ff", "Suppress Form Feeds"),
3397 bf_boolean8(0x10, "print_flags_cr", "Create"),
3398 bf_boolean8(0x20, "print_flags_del_spool", "Delete Spool File after Printing"),
3399 bf_boolean8(0x40, "print_flags_exp_tabs", "Expand Tabs in the File"),
3400 bf_boolean8(0x80, "print_flags_banner", "Print Banner Page"),
3402 PrinterHalted
= val_string8("printer_halted", "Printer Halted", [
3403 [ 0x00, "Printer is not Halted" ],
3404 [ 0xff, "Printer is Halted" ],
3406 PrinterOffLine
= val_string8( "printer_offline", "Printer Off-Line", [
3407 [ 0x00, "Printer is On-Line" ],
3408 [ 0xff, "Printer is Off-Line" ],
3410 PrintServerVersion
= uint8("print_server_version", "Print Server Version")
3411 Priority
= uint32("priority", "Priority")
3412 Privileges
= uint32("privileges", "Login Privileges")
3413 ProcessorType
= val_string8("processor_type", "Processor Type", [
3414 [ 0x00, "Motorola 68000" ],
3415 [ 0x01, "Intel 8088 or 8086" ],
3416 [ 0x02, "Intel 80286" ],
3418 ProDOSInfo
= bytes("pro_dos_info", "Pro DOS Info", 6)
3419 ProductMajorVersion
= uint16("product_major_version", "Product Major Version")
3420 ProductMinorVersion
= uint16("product_minor_version", "Product Minor Version")
3421 ProductRevisionVersion
= uint8("product_revision_version", "Product Revision Version")
3422 projectedCompSize
= uint32("projected_comp_size", "Projected Compression Size")
3423 PropertyHasMoreSegments
= val_string8("property_has_more_segments",
3424 "Property Has More Segments", [
3425 [ 0x00, "Is last segment" ],
3426 [ 0xff, "More segments are available" ],
3428 PropertyName
= nstring8("property_name", "Property Name")
3429 PropertyName16
= fw_string("property_name_16", "Property Name", 16)
3430 PropertyData
= bytes("property_data", "Property Data", 128)
3431 PropertySegment
= uint8("property_segment", "Property Segment")
3432 PropertyType
= val_string8("property_type", "Property Type", [
3433 [ 0x00, "Display Static property" ],
3434 [ 0x01, "Display Dynamic property" ],
3435 [ 0x02, "Set Static property" ],
3436 [ 0x03, "Set Dynamic property" ],
3438 PropertyValue
= fw_string("property_value", "Property Value", 128)
3439 ProposedMaxSize
= uint16("proposed_max_size", "Proposed Max Size")
3440 ProposedMaxSize64
= uint64("proposed_max_size64", "Proposed Max Size")
3441 protocolFlags
= uint32("protocol_flags", "Protocol Flags")
3442 protocolFlags
.Display("BASE_HEX")
3443 PurgeableBlocks
= uint32("purgeable_blocks", "Purgeable Blocks")
3444 PurgeCcode
= uint32("purge_c_code", "Purge Completion Code")
3445 PurgeCount
= uint32("purge_count", "Purge Count")
3446 PurgeFlags
= val_string16("purge_flags", "Purge Flags", [
3447 [ 0x0000, "Do not Purge All" ],
3448 [ 0x0001, "Purge All" ],
3449 [ 0xffff, "Do not Purge All" ],
3451 PurgeList
= uint32("purge_list", "Purge List")
3452 PhysicalDiskChannel
= uint8("physical_disk_channel", "Physical Disk Channel")
3453 PhysicalDriveType
= val_string8("physical_drive_type", "Physical Drive Type", [
3457 [ 0x04, "Disk Coprocessor" ],
3458 [ 0x05, "PS/2 with MFM Controller" ],
3459 [ 0x06, "PS/2 with ESDI Controller" ],
3460 [ 0x07, "Convergent Technology SBIC" ],
3462 PhysicalReadErrors
= uint16("physical_read_errors", "Physical Read Errors")
3463 PhysicalReadRequests
= uint32("physical_read_requests", "Physical Read Requests")
3464 PhysicalWriteErrors
= uint16("physical_write_errors", "Physical Write Errors")
3465 PhysicalWriteRequests
= uint32("physical_write_requests", "Physical Write Requests")
3466 PrintToFileFlag
= boolean8("print_to_file_flag", "Print to File Flag")
3468 QueueID
= uint32("queue_id", "Queue ID")
3469 QueueID
.Display("BASE_HEX")
3470 QueueName
= nstring8("queue_name", "Queue Name")
3471 QueueStartPosition
= uint32("queue_start_position", "Queue Start Position")
3472 QueueStatus
= bitfield8("queue_status", "Queue Status", [
3473 bf_boolean8(0x01, "queue_status_new_jobs", "Operator does not want to add jobs to the queue"),
3474 bf_boolean8(0x02, "queue_status_pserver", "Operator does not want additional servers attaching"),
3475 bf_boolean8(0x04, "queue_status_svc_jobs", "Operator does not want servers to service jobs"),
3477 QueueType
= uint16("queue_type", "Queue Type")
3478 QueueingVersion
= uint8("qms_version", "QMS Version")
3480 ReadBeyondWrite
= uint16("read_beyond_write", "Read Beyond Write")
3481 RecordLockCount
= uint16("rec_lock_count", "Record Lock Count")
3482 RecordStart
= uint32("record_start", "Record Start")
3483 RecordEnd
= uint32("record_end", "Record End")
3484 RecordInUseFlag
= val_string16("record_in_use", "Record in Use", [
3485 [ 0x0000, "Record In Use" ],
3486 [ 0xffff, "Record Not In Use" ],
3488 RedirectedPrinter
= uint8( "redirected_printer", "Redirected Printer" )
3489 ReferenceCount
= uint32("reference_count", "Reference Count")
3490 RelationsCount
= uint16("relations_count", "Relations Count")
3491 ReMirrorCurrentOffset
= uint32("re_mirror_current_offset", "ReMirror Current Offset")
3492 ReMirrorDriveNumber
= uint8("re_mirror_drive_number", "ReMirror Drive Number")
3493 RemoteMaxPacketSize
= uint32("remote_max_packet_size", "Remote Max Packet Size")
3494 RemoteTargetID
= uint32("remote_target_id", "Remote Target ID")
3495 RemoteTargetID
.Display("BASE_HEX")
3496 RemovableFlag
= uint16("removable_flag", "Removable Flag")
3497 RemoveOpenRights
= bitfield8("remove_open_rights", "Remove Open Rights", [
3498 bf_boolean8(0x01, "remove_open_rights_ro", "Read Only"),
3499 bf_boolean8(0x02, "remove_open_rights_wo", "Write Only"),
3500 bf_boolean8(0x04, "remove_open_rights_dr", "Deny Read"),
3501 bf_boolean8(0x08, "remove_open_rights_dw", "Deny Write"),
3502 bf_boolean8(0x10, "remove_open_rights_comp", "Compatibility"),
3503 bf_boolean8(0x40, "remove_open_rights_write_thru", "Write Through"),
3505 RenameFlag
= bitfield8("rename_flag", "Rename Flag", [
3506 bf_boolean8(0x01, "rename_flag_ren", "Rename to Myself allows file to be renamed to its original name"),
3507 bf_boolean8(0x02, "rename_flag_comp", "Compatibility allows files that are marked read only to be opened with read/write access"),
3508 bf_boolean8(0x04, "rename_flag_no", "Name Only renames only the specified name space entry name"),
3510 RepliesCancelled
= uint16("replies_cancelled", "Replies Cancelled")
3511 ReplyBuffer
= nstring8("reply_buffer", "Reply Buffer")
3512 ReplyBufferSize
= uint32("reply_buffer_size", "Reply Buffer Size")
3513 ReplyQueueJobNumbers
= uint32("reply_queue_job_numbers", "Reply Queue Job Numbers")
3514 RequestBitMap
= bitfield16("request_bit_map", "Request Bit Map", [
3515 bf_boolean16(0x0001, "request_bit_map_ret_afp_ent", "AFP Entry ID"),
3516 bf_boolean16(0x0002, "request_bit_map_ret_data_fork", "Data Fork Length"),
3517 bf_boolean16(0x0004, "request_bit_map_ret_res_fork", "Resource Fork Length"),
3518 bf_boolean16(0x0008, "request_bit_map_ret_num_off", "Number of Offspring"),
3519 bf_boolean16(0x0010, "request_bit_map_ret_owner", "Owner ID"),
3520 bf_boolean16(0x0020, "request_bit_map_ret_short", "Short Name"),
3521 bf_boolean16(0x0040, "request_bit_map_ret_acc_priv", "Access Privileges"),
3522 bf_boolean16(0x0100, "request_bit_map_ratt", "Return Attributes"),
3523 bf_boolean16(0x0200, "request_bit_map_ret_afp_parent", "AFP Parent Entry ID"),
3524 bf_boolean16(0x0400, "request_bit_map_ret_cr_date", "Creation Date"),
3525 bf_boolean16(0x0800, "request_bit_map_ret_acc_date", "Access Date"),
3526 bf_boolean16(0x1000, "request_bit_map_ret_mod_date", "Modify Date&Time"),
3527 bf_boolean16(0x2000, "request_bit_map_ret_bak_date", "Backup Date&Time"),
3528 bf_boolean16(0x4000, "request_bit_map_ret_finder", "Finder Info"),
3529 bf_boolean16(0x8000, "request_bit_map_ret_long_nm", "Long Name"),
3531 ResourceForkLen
= uint32("resource_fork_len", "Resource Fork Len")
3532 RequestCode
= val_string8("request_code", "Request Code", [
3533 [ 0x00, "Change Logged in to Temporary Authenticated" ],
3534 [ 0x01, "Change Temporary Authenticated to Logged in" ],
3536 RequestData
= nstring8("request_data", "Request Data")
3537 RequestsReprocessed
= uint16("requests_reprocessed", "Requests Reprocessed")
3538 Reserved
= uint8( "reserved", "Reserved" )
3539 Reserved2
= bytes("reserved2", "Reserved", 2)
3540 Reserved3
= bytes("reserved3", "Reserved", 3)
3541 Reserved4
= bytes("reserved4", "Reserved", 4)
3542 Reserved5
= bytes("reserved5", "Reserved", 5)
3543 Reserved6
= bytes("reserved6", "Reserved", 6)
3544 Reserved8
= bytes("reserved8", "Reserved", 8)
3545 Reserved10
= bytes("reserved10", "Reserved", 10)
3546 Reserved12
= bytes("reserved12", "Reserved", 12)
3547 Reserved16
= bytes("reserved16", "Reserved", 16)
3548 Reserved20
= bytes("reserved20", "Reserved", 20)
3549 Reserved28
= bytes("reserved28", "Reserved", 28)
3550 Reserved36
= bytes("reserved36", "Reserved", 36)
3551 Reserved44
= bytes("reserved44", "Reserved", 44)
3552 Reserved48
= bytes("reserved48", "Reserved", 48)
3553 Reserved50
= bytes("reserved50", "Reserved", 50)
3554 Reserved56
= bytes("reserved56", "Reserved", 56)
3555 Reserved64
= bytes("reserved64", "Reserved", 64)
3556 Reserved120
= bytes("reserved120", "Reserved", 120)
3557 ReservedOrDirectoryNumber
= uint32("reserved_or_directory_number", "Reserved or Directory Number (see EAFlags)")
3558 ReservedOrDirectoryNumber
.Display("BASE_HEX")
3559 ResourceCount
= uint32("resource_count", "Resource Count")
3560 ResourceForkSize
= uint32("resource_fork_size", "Resource Fork Size")
3561 ResourceName
= stringz("resource_name", "Resource Name")
3562 ResourceSignature
= fw_string("resource_sig", "Resource Signature", 4)
3563 RestoreTime
= eptime("restore_time", "Restore Time")
3564 Restriction
= uint32("restriction", "Disk Space Restriction")
3565 RestrictionQuad
= uint64("restriction_quad", "Restriction")
3566 RestrictionsEnforced
= val_string8("restrictions_enforced", "Disk Restrictions Enforce Flag", [
3567 [ 0x00, "Enforced" ],
3568 [ 0xff, "Not Enforced" ],
3570 ReturnInfoCount
= uint32("return_info_count", "Return Information Count")
3571 ReturnInfoMask
= bitfield16("ret_info_mask", "Return Information", [
3572 bf_boolean16(0x0001, "ret_info_mask_fname", "Return File Name Information"),
3573 bf_boolean16(0x0002, "ret_info_mask_alloc", "Return Allocation Space Information"),
3574 bf_boolean16(0x0004, "ret_info_mask_attr", "Return Attribute Information"),
3575 bf_boolean16(0x0008, "ret_info_mask_size", "Return Size Information"),
3576 bf_boolean16(0x0010, "ret_info_mask_tspace", "Return Total Space Information"),
3577 bf_boolean16(0x0020, "ret_info_mask_eattr", "Return Extended Attributes Information"),
3578 bf_boolean16(0x0040, "ret_info_mask_arch", "Return Archive Information"),
3579 bf_boolean16(0x0080, "ret_info_mask_mod", "Return Modify Information"),
3580 bf_boolean16(0x0100, "ret_info_mask_create", "Return Creation Information"),
3581 bf_boolean16(0x0200, "ret_info_mask_ns", "Return Name Space Information"),
3582 bf_boolean16(0x0400, "ret_info_mask_dir", "Return Directory Information"),
3583 bf_boolean16(0x0800, "ret_info_mask_rights", "Return Rights Information"),
3584 bf_boolean16(0x1000, "ret_info_mask_id", "Return ID Information"),
3585 bf_boolean16(0x2000, "ret_info_mask_ns_attr", "Return Name Space Attributes Information"),
3586 bf_boolean16(0x4000, "ret_info_mask_actual", "Return Actual Information"),
3587 bf_boolean16(0x8000, "ret_info_mask_logical", "Return Logical Information"),
3589 ReturnedListCount
= uint32("returned_list_count", "Returned List Count")
3590 Revision
= uint32("revision", "Revision")
3591 RevisionNumber
= uint8("revision_number", "Revision")
3592 RevQueryFlag
= val_string8("rev_query_flag", "Revoke Rights Query Flag", [
3593 [ 0x00, "Do not query the locks engine for access rights" ],
3594 [ 0x01, "Query the locks engine and return the access rights" ],
3596 RightsGrantMask
= bitfield8("rights_grant_mask", "Grant Rights", [
3597 bf_boolean8(0x01, "rights_grant_mask_read", "Read"),
3598 bf_boolean8(0x02, "rights_grant_mask_write", "Write"),
3599 bf_boolean8(0x04, "rights_grant_mask_open", "Open"),
3600 bf_boolean8(0x08, "rights_grant_mask_create", "Create"),
3601 bf_boolean8(0x10, "rights_grant_mask_del", "Delete"),
3602 bf_boolean8(0x20, "rights_grant_mask_parent", "Parental"),
3603 bf_boolean8(0x40, "rights_grant_mask_search", "Search"),
3604 bf_boolean8(0x80, "rights_grant_mask_mod", "Modify"),
3606 RightsRevokeMask
= bitfield8("rights_revoke_mask", "Revoke Rights", [
3607 bf_boolean8(0x01, "rights_revoke_mask_read", "Read"),
3608 bf_boolean8(0x02, "rights_revoke_mask_write", "Write"),
3609 bf_boolean8(0x04, "rights_revoke_mask_open", "Open"),
3610 bf_boolean8(0x08, "rights_revoke_mask_create", "Create"),
3611 bf_boolean8(0x10, "rights_revoke_mask_del", "Delete"),
3612 bf_boolean8(0x20, "rights_revoke_mask_parent", "Parental"),
3613 bf_boolean8(0x40, "rights_revoke_mask_search", "Search"),
3614 bf_boolean8(0x80, "rights_revoke_mask_mod", "Modify"),
3616 RIPSocketNumber
= uint16("rip_socket_num", "RIP Socket Number")
3617 RIPSocketNumber
.Display("BASE_HEX")
3618 RouterDownFlag
= boolean8("router_dn_flag", "Router Down Flag")
3619 RPCccode
= val_string16("rpc_c_code", "RPC Completion Code", [
3620 [ 0x0000, "Successful" ],
3622 RTagNumber
= uint32("r_tag_num", "Resource Tag Number")
3623 RTagNumber
.Display("BASE_HEX")
3624 RpyNearestSrvFlag
= boolean8("rpy_nearest_srv_flag", "Reply to Nearest Server Flag")
3626 SalvageableFileEntryNumber
= uint32("salvageable_file_entry_number", "Salvageable File Entry Number")
3627 SalvageableFileEntryNumber
.Display("BASE_HEX")
3628 SAPSocketNumber
= uint16("sap_socket_number", "SAP Socket Number")
3629 SAPSocketNumber
.Display("BASE_HEX")
3630 ScanItems
= uint32("scan_items", "Number of Items returned from Scan")
3631 SearchAttributes
= bitfield8("sattr", "Search Attributes", [
3632 bf_boolean8(0x01, "sattr_ronly", "Read-Only Files Allowed"),
3633 bf_boolean8(0x02, "sattr_hid", "Hidden Files Allowed"),
3634 bf_boolean8(0x04, "sattr_sys", "System Files Allowed"),
3635 bf_boolean8(0x08, "sattr_exonly", "Execute-Only Files Allowed"),
3636 bf_boolean8(0x10, "sattr_sub", "Subdirectories Only"),
3637 bf_boolean8(0x20, "sattr_archive", "Archive"),
3638 bf_boolean8(0x40, "sattr_execute_confirm", "Execute Confirm"),
3639 bf_boolean8(0x80, "sattr_shareable", "Shareable"),
3641 SearchAttributesLow
= bitfield16("search_att_low", "Search Attributes", [
3642 bf_boolean16(0x0001, "search_att_read_only", "Read-Only"),
3643 bf_boolean16(0x0002, "search_att_hidden", "Hidden Files Allowed"),
3644 bf_boolean16(0x0004, "search_att_system", "System"),
3645 bf_boolean16(0x0008, "search_att_execute_only", "Execute-Only"),
3646 bf_boolean16(0x0010, "search_att_sub", "Subdirectories Only"),
3647 bf_boolean16(0x0020, "search_att_archive", "Archive"),
3648 bf_boolean16(0x0040, "search_att_execute_confirm", "Execute Confirm"),
3649 bf_boolean16(0x0080, "search_att_shareable", "Shareable"),
3650 bf_boolean16(0x8000, "search_attr_all_files", "All Files and Directories"),
3652 SearchBitMap
= bitfield8("search_bit_map", "Search Bit Map", [
3653 bf_boolean8(0x01, "search_bit_map_hidden", "Hidden"),
3654 bf_boolean8(0x02, "search_bit_map_sys", "System"),
3655 bf_boolean8(0x04, "search_bit_map_sub", "Subdirectory"),
3656 bf_boolean8(0x08, "search_bit_map_files", "Files"),
3658 SearchConnNumber
= uint32("search_conn_number", "Search Connection Number")
3659 SearchInstance
= uint32("search_instance", "Search Instance")
3660 SearchNumber
= uint32("search_number", "Search Number")
3661 SearchPattern
= nstring8("search_pattern", "Search Pattern")
3662 SearchPattern16
= nstring16("search_pattern_16", "Search Pattern")
3663 SearchSequence
= bytes("search_sequence", "Search Sequence", 9)
3664 SearchSequenceWord
= uint16("search_sequence_word", "Search Sequence", ENC_BIG_ENDIAN
)
3665 Second
= uint8("s_second", "Seconds")
3666 SecondsRelativeToTheYear2000
= uint32("sec_rel_to_y2k", "Seconds Relative to the Year 2000")
3667 SecretStoreVerb
= val_string8("ss_verb", "Secret Store Verb",[
3668 [ 0x00, "Query Server" ],
3669 [ 0x01, "Read App Secrets" ],
3670 [ 0x02, "Write App Secrets" ],
3671 [ 0x03, "Add Secret ID" ],
3672 [ 0x04, "Remove Secret ID" ],
3673 [ 0x05, "Remove SecretStore" ],
3674 [ 0x06, "Enumerate Secret IDs" ],
3675 [ 0x07, "Unlock Store" ],
3676 [ 0x08, "Set Master Password" ],
3677 [ 0x09, "Get Service Information" ],
3679 SecurityEquivalentList
= fw_string("security_equiv_list", "Security Equivalent List", 128)
3680 SecurityFlag
= bitfield8("security_flag", "Security Flag", [
3681 bf_boolean8(0x01, "checksumming", "Checksumming"),
3682 bf_boolean8(0x02, "signature", "Signature"),
3683 bf_boolean8(0x04, "complete_signatures", "Complete Signatures"),
3684 bf_boolean8(0x08, "encryption", "Encryption"),
3685 bf_boolean8(0x80, "large_internet_packets", "Large Internet Packets (LIP) Disabled"),
3687 SecurityRestrictionVersion
= uint8("security_restriction_version", "Security Restriction Version")
3688 SectorsPerBlock
= uint8("sectors_per_block", "Sectors Per Block")
3689 SectorsPerBlockLong
= uint32("sectors_per_block_long", "Sectors Per Block")
3690 SectorsPerCluster
= uint16("sectors_per_cluster", "Sectors Per Cluster" )
3691 SectorsPerClusterLong
= uint32("sectors_per_cluster_long", "Sectors Per Cluster" )
3692 SectorsPerTrack
= uint8("sectors_per_track", "Sectors Per Track")
3693 SectorSize
= uint32("sector_size", "Sector Size")
3694 SemaphoreHandle
= uint32("semaphore_handle", "Semaphore Handle")
3695 SemaphoreName
= nstring8("semaphore_name", "Semaphore Name")
3696 SemaphoreOpenCount
= uint8("semaphore_open_count", "Semaphore Open Count")
3697 SemaphoreShareCount
= uint8("semaphore_share_count", "Semaphore Share Count")
3698 SemaphoreTimeOut
= uint16("semaphore_time_out", "Semaphore Time Out")
3699 SemaphoreValue
= uint16("semaphore_value", "Semaphore Value")
3700 SendStatus
= val_string8("send_status", "Send Status", [
3701 [ 0x00, "Successful" ],
3702 [ 0x01, "Illegal Station Number" ],
3703 [ 0x02, "Client Not Logged In" ],
3704 [ 0x03, "Client Not Accepting Messages" ],
3705 [ 0x04, "Client Already has a Message" ],
3706 [ 0x96, "No Alloc Space for the Message" ],
3707 [ 0xfd, "Bad Station Number" ],
3708 [ 0xff, "Failure" ],
3710 SequenceByte
= uint8("sequence_byte", "Sequence")
3711 SequenceNumber
= uint32("sequence_number", "Sequence Number")
3712 SequenceNumber
.Display("BASE_HEX")
3713 SequenceNumberLong
= uint64("sequence_number64", "Sequence Number")
3714 SequenceNumberLong
.Display("BASE_HEX")
3715 ServerAddress
= bytes("server_address", "Server Address", 12)
3716 ServerAppNumber
= uint16("server_app_num", "Server App Number")
3717 ServerID
= uint32("server_id_number", "Server ID", ENC_BIG_ENDIAN
)
3718 ServerID
.Display("BASE_HEX")
3719 ServerInfoFlags
= val_string16("server_info_flags", "Server Information Flags", [
3720 [ 0x0000, "This server is not a member of a Cluster" ],
3721 [ 0x0001, "This server is a member of a Cluster" ],
3723 serverListFlags
= uint32("server_list_flags", "Server List Flags")
3724 ServerName
= fw_string("server_name", "Server Name", 48)
3725 serverName50
= fw_string("server_name50", "Server Name", 50)
3726 ServerNameLen
= nstring8("server_name_len", "Server Name")
3727 ServerNameStringz
= stringz("server_name_stringz", "Server Name")
3728 ServerNetworkAddress
= bytes("server_network_address", "Server Network Address", 10)
3729 ServerNode
= bytes("server_node", "Server Node", 6)
3730 ServerSerialNumber
= uint32("server_serial_number", "Server Serial Number")
3731 ServerStation
= uint8("server_station", "Server Station")
3732 ServerStationLong
= uint32("server_station_long", "Server Station")
3733 ServerStationList
= uint8("server_station_list", "Server Station List")
3734 ServerStatusRecord
= fw_string("server_status_record", "Server Status Record", 64)
3735 ServerTaskNumber
= uint8("server_task_number", "Server Task Number")
3736 ServerTaskNumberLong
= uint32("server_task_number_long", "Server Task Number")
3737 ServerType
= uint16("server_type", "Server Type")
3738 ServerType
.Display("BASE_HEX")
3739 ServerUtilization
= uint32("server_utilization", "Server Utilization")
3740 ServerUtilizationPercentage
= uint8("server_utilization_percentage", "Server Utilization Percentage")
3741 ServiceType
= val_string16("Service_type", "Service Type", [
3742 [ 0x0000, "Unknown" ],
3744 [ 0x0002, "User group" ],
3745 [ 0x0003, "Print queue" ],
3746 [ 0x0004, "NetWare file server" ],
3747 [ 0x0005, "Job server" ],
3748 [ 0x0006, "Gateway" ],
3749 [ 0x0007, "Print server" ],
3750 [ 0x0008, "Archive queue" ],
3751 [ 0x0009, "Archive server" ],
3752 [ 0x000a, "Job queue" ],
3753 [ 0x000b, "Administration" ],
3754 [ 0x0021, "NAS SNA gateway" ],
3755 [ 0x0026, "Remote bridge server" ],
3756 [ 0x0027, "TCP/IP gateway" ],
3757 [ 0xffff, "All Types" ],
3759 SetCmdCategory
= val_string8("set_cmd_category", "Set Command Category", [
3760 [ 0x00, "Communications" ],
3762 [ 0x02, "File Cache" ],
3763 [ 0x03, "Directory Cache" ],
3764 [ 0x04, "File System" ],
3766 [ 0x06, "Transaction Tracking" ],
3770 [ 0x0a, "Miscellaneous" ],
3771 [ 0x0b, "Error Handling" ],
3772 [ 0x0c, "Directory Services" ],
3773 [ 0x0d, "MultiProcessor" ],
3774 [ 0x0e, "Service Location Protocol" ],
3775 [ 0x0f, "Licensing Services" ],
3777 SetCmdFlags
= bitfield8("set_cmd_flags", "Set Command Flags", [
3778 bf_boolean8(0x01, "cmd_flags_startup_only", "Startup.ncf Only"),
3779 bf_boolean8(0x02, "cmd_flags_hidden", "Hidden"),
3780 bf_boolean8(0x04, "cmd_flags_advanced", "Advanced"),
3781 bf_boolean8(0x08, "cmd_flags_later", "Restart Server Required to Take Effect"),
3782 bf_boolean8(0x80, "cmd_flags_secure", "Console Secured"),
3784 SetCmdName
= stringz("set_cmd_name", "Set Command Name")
3785 SetCmdType
= val_string8("set_cmd_type", "Set Command Type", [
3786 [ 0x00, "Numeric Value" ],
3787 [ 0x01, "Boolean Value" ],
3788 [ 0x02, "Ticks Value" ],
3789 [ 0x04, "Time Value" ],
3790 [ 0x05, "String Value" ],
3791 [ 0x06, "Trigger Value" ],
3792 [ 0x07, "Numeric Value" ],
3794 SetCmdValueNum
= uint32("set_cmd_value_num", "Set Command Value")
3795 SetCmdValueString
= stringz("set_cmd_value_string", "Set Command Value")
3796 SetMask
= bitfield32("set_mask", "Set Mask", [
3797 bf_boolean32(0x00000001, "ncp_encoded_strings", "NCP Encoded Strings"),
3798 bf_boolean32(0x00000002, "connection_code_page", "Connection Code Page"),
3800 SetParmName
= stringz("set_parm_name", "Set Parameter Name")
3801 SFTErrorTable
= bytes("sft_error_table", "SFT Error Table", 60)
3802 SFTSupportLevel
= val_string8("sft_support_level", "SFT Support Level", [
3803 [ 0x01, "Server Offers Hot Disk Error Fixing" ],
3804 [ 0x02, "Server Offers Disk Mirroring and Transaction Tracking" ],
3805 [ 0x03, "Server Offers Physical Server Mirroring" ],
3807 ShareableLockCount
= uint16("shareable_lock_count", "Shareable Lock Count")
3808 SharedMemoryAddresses
= bytes("shared_memory_addresses", "Shared Memory Addresses", 10)
3809 ShortName
= fw_string("short_name", "Short Name", 12)
3810 ShortStkName
= fw_string("short_stack_name", "Short Stack Name", 16)
3811 SiblingCount
= uint32("sibling_count", "Sibling Count")
3812 SixtyFourBitOffsetsSupportedFlag
= val_string8("64_bit_flag", "64 Bit Support", [
3813 [ 0x00, "No support for 64 bit offsets" ],
3814 [ 0x01, "64 bit offsets supported" ],
3815 [ 0x02, "Use 64 bit file transfer NCP's" ],
3817 SMIDs
= uint32("smids", "Storage Media ID's")
3818 SoftwareDescription
= fw_string("software_description", "Software Description", 65)
3819 SoftwareDriverType
= uint8("software_driver_type", "Software Driver Type")
3820 SoftwareMajorVersionNumber
= uint8("software_major_version_number", "Software Major Version Number")
3821 SoftwareMinorVersionNumber
= uint8("software_minor_version_number", "Software Minor Version Number")
3822 SourceDirHandle
= uint8("source_dir_handle", "Source Directory Handle")
3823 SourceFileHandle
= bytes("s_fhandle_64bit", "Source File Handle", 6)
3824 SourceFileOffset
= bytes("s_foffset", "Source File Offset", 8)
3825 sourceOriginateTime
= bytes("source_originate_time", "Source Originate Time", 8)
3826 SourcePath
= nstring8("source_path", "Source Path")
3827 SourcePathComponentCount
= uint8("source_component_count", "Source Path Component Count")
3828 sourceReturnTime
= bytes("source_return_time", "Source Return Time", 8)
3829 SpaceUsed
= uint32("space_used", "Space Used")
3830 SpaceMigrated
= uint32("space_migrated", "Space Migrated")
3831 SrcNameSpace
= val_string8("src_name_space", "Source Name Space", [
3832 [ 0x00, "DOS Name Space" ],
3833 [ 0x01, "MAC Name Space" ],
3834 [ 0x02, "NFS Name Space" ],
3835 [ 0x04, "Long Name Space" ],
3837 SubFuncStrucLen
= uint16("sub_func_struc_len", "Structure Length")
3838 SupModID
= uint32("sup_mod_id", "Sup Mod ID")
3839 StackCount
= uint32("stack_count", "Stack Count")
3840 StackFullNameStr
= nstring8("stack_full_name_str", "Stack Full Name")
3841 StackMajorVN
= uint8("stack_major_vn", "Stack Major Version Number")
3842 StackMinorVN
= uint8("stack_minor_vn", "Stack Minor Version Number")
3843 StackNumber
= uint32("stack_number", "Stack Number")
3844 StartConnNumber
= uint32("start_conn_num", "Starting Connection Number")
3845 StartingBlock
= uint16("starting_block", "Starting Block")
3846 StartingNumber
= uint32("starting_number", "Starting Number")
3847 StartingSearchNumber
= uint16("start_search_number", "Start Search Number")
3848 StartNumber
= uint32("start_number", "Start Number")
3849 startNumberFlag
= uint16("start_number_flag", "Start Number Flag")
3850 StartOffset64bit
= bytes("s_offset_64bit", "64bit Starting Offset", 64)
3851 StartVolumeNumber
= uint32("start_volume_number", "Starting Volume Number")
3852 StationList
= uint32("station_list", "Station List")
3853 StationNumber
= bytes("station_number", "Station Number", 3)
3854 StatMajorVersion
= uint8("stat_major_version", "Statistics Table Major Version")
3855 StatMinorVersion
= uint8("stat_minor_version", "Statistics Table Minor Version")
3856 Status
= bitfield16("status", "Status", [
3857 bf_boolean16(0x0001, "user_info_logged_in", "Logged In"),
3858 bf_boolean16(0x0002, "user_info_being_abort", "Being Aborted"),
3859 bf_boolean16(0x0004, "user_info_audited", "Audited"),
3860 bf_boolean16(0x0008, "user_info_need_sec", "Needs Security Change"),
3861 bf_boolean16(0x0010, "user_info_mac_station", "MAC Station"),
3862 bf_boolean16(0x0020, "user_info_temp_authen", "Temporary Authenticated"),
3863 bf_boolean16(0x0040, "user_info_audit_conn", "Audit Connection Recorded"),
3864 bf_boolean16(0x0080, "user_info_dsaudit_conn", "DS Audit Connection Recorded"),
3865 bf_boolean16(0x0100, "user_info_logout", "Logout in Progress"),
3866 bf_boolean16(0x0200, "user_info_int_login", "Internal Login"),
3867 bf_boolean16(0x0400, "user_info_bindery", "Bindery Connection"),
3869 StatusFlagBits
= bitfield32("status_flag_bits", "Status Flag", [
3870 bf_boolean32(0x00000001, "status_flag_bits_suballoc", "Sub Allocation"),
3871 bf_boolean32(0x00000002, "status_flag_bits_comp", "Compression"),
3872 bf_boolean32(0x00000004, "status_flag_bits_migrate", "Migration"),
3873 bf_boolean32(0x00000008, "status_flag_bits_audit", "Audit"),
3874 bf_boolean32(0x00000010, "status_flag_bits_ro", "Read Only"),
3875 bf_boolean32(0x00000020, "status_flag_bits_im_purge", "Immediate Purge"),
3876 bf_boolean32(0x00000040, "status_flag_bits_64bit", "64Bit File Offsets"),
3877 bf_boolean32(0x00000080, "status_flag_bits_utf8", "UTF8 NCP Strings"),
3878 bf_boolean32(0x80000000, "status_flag_bits_nss", "NSS Volume"),
3880 SubAllocClusters
= uint32("sub_alloc_clusters", "Sub Alloc Clusters")
3881 SubAllocFreeableClusters
= uint32("sub_alloc_freeable_clusters", "Sub Alloc Freeable Clusters")
3882 Subdirectory
= uint32("sub_directory", "Subdirectory")
3883 Subdirectory
.Display("BASE_HEX")
3884 SuggestedFileSize
= uint32("suggested_file_size", "Suggested File Size")
3885 SupportModuleID
= uint32("support_module_id", "Support Module ID")
3886 SynchName
= nstring8("synch_name", "Synch Name")
3887 SystemIntervalMarker
= uint32("system_interval_marker", "System Interval Marker")
3889 TabSize
= uint8( "tab_size", "Tab Size" )
3890 TargetClientList
= uint8("target_client_list", "Target Client List")
3891 TargetConnectionNumber
= uint16("target_connection_number", "Target Connection Number")
3892 TargetDirectoryBase
= uint32("target_directory_base", "Target Directory Base")
3893 TargetDirHandle
= uint8("target_dir_handle", "Target Directory Handle")
3894 TargetEntryID
= uint32("target_entry_id", "Target Entry ID")
3895 TargetEntryID
.Display("BASE_HEX")
3896 TargetExecutionTime
= bytes("target_execution_time", "Target Execution Time", 6)
3897 TargetFileHandle
= bytes("target_file_handle", "Target File Handle", 6)
3898 TargetFileOffset
= uint32("target_file_offset", "Target File Offset")
3899 TargetFileOffset64bit
= bytes("t_foffset", "Target File Offset", 8)
3900 TargetMessage
= nstring8("target_message", "Message")
3901 TargetPrinter
= uint8( "target_ptr", "Target Printer" )
3902 targetReceiveTime
= bytes("target_receive_time", "Target Receive Time", 8)
3903 TargetServerIDNumber
= uint32("target_server_id_number", "Target Server ID Number", ENC_BIG_ENDIAN
)
3904 TargetServerIDNumber
.Display("BASE_HEX")
3905 targetTransmitTime
= bytes("target_transmit_time", "Target Transmit Time", 8)
3906 TaskNumByte
= uint8("task_num_byte", "Task Number")
3907 TaskNumber
= uint32("task_number", "Task Number")
3908 TaskNumberWord
= uint16("task_number_word", "Task Number")
3909 TaskState
= val_string8("task_state", "Task State", [
3911 [ 0x01, "TTS explicit transaction in progress" ],
3912 [ 0x02, "TTS implicit transaction in progress" ],
3913 [ 0x04, "Shared file set lock in progress" ],
3915 TextJobDescription
= fw_string("text_job_description", "Text Job Description", 50)
3916 ThrashingCount
= uint16("thrashing_count", "Thrashing Count")
3917 TimeoutLimit
= uint16("timeout_limit", "Timeout Limit")
3918 TimesyncStatus
= bitfield32("timesync_status_flags", "Timesync Status", [
3919 bf_boolean32(0x00000001, "timesync_status_sync", "Time is Synchronized"),
3920 bf_boolean32(0x00000002, "timesync_status_net_sync", "Time is Synchronized to the Network"),
3921 bf_boolean32(0x00000004, "timesync_status_active", "Time Synchronization is Active"),
3922 bf_boolean32(0x00000008, "timesync_status_external", "External Time Synchronization Active"),
3923 bf_val_str32(0x00000700, "timesync_status_server_type", "Time Server Type", [
3924 [ 0x01, "Client Time Server" ],
3925 [ 0x02, "Secondary Time Server" ],
3926 [ 0x03, "Primary Time Server" ],
3927 [ 0x04, "Reference Time Server" ],
3928 [ 0x05, "Single Reference Time Server" ],
3930 bf_boolean32(0x000f0000, "timesync_status_ext_sync", "External Clock Status"),
3932 TimeToNet
= uint16("time_to_net", "Time To Net")
3933 TotalBlocks
= uint32("total_blocks", "Total Blocks")
3934 TotalBlocks64
= uint64("total_blocks64", "Total Blocks")
3935 TotalBlocksToDecompress
= uint32("total_blks_to_dcompress", "Total Blocks To Decompress")
3936 TotalBytesRead
= bytes("user_info_ttl_bytes_rd", "Total Bytes Read", 6)
3937 TotalBytesWritten
= bytes("user_info_ttl_bytes_wrt", "Total Bytes Written", 6)
3938 TotalCacheWrites
= uint32("total_cache_writes", "Total Cache Writes")
3939 TotalChangedFATs
= uint32("total_changed_fats", "Total Changed FAT Entries")
3940 TotalCommonCnts
= uint32("total_common_cnts", "Total Common Counts")
3941 TotalCntBlocks
= uint32("total_cnt_blocks", "Total Count Blocks")
3942 TotalDataStreamDiskSpaceAlloc
= uint32("ttl_data_str_size_space_alloc", "Total Data Stream Disk Space Alloc")
3943 TotalDirectorySlots
= uint16("total_directory_slots", "Total Directory Slots")
3944 TotalDirectoryEntries
= uint32("total_dir_entries", "Total Directory Entries")
3945 TotalDirEntries64
= uint64("total_dir_entries64", "Total Directory Entries")
3946 TotalDynamicSpace
= uint32("total_dynamic_space", "Total Dynamic Space")
3947 TotalExtendedDirectoryExtents
= uint32("total_extended_directory_extents", "Total Extended Directory Extents")
3948 TotalFileServicePackets
= uint32("total_file_service_packets", "Total File Service Packets")
3949 TotalFilesOpened
= uint32("total_files_opened", "Total Files Opened")
3950 TotalLFSCounters
= uint32("total_lfs_counters", "Total LFS Counters")
3951 TotalOffspring
= uint16("total_offspring", "Total Offspring")
3952 TotalOtherPackets
= uint32("total_other_packets", "Total Other Packets")
3953 TotalQueueJobs
= uint32("total_queue_jobs", "Total Queue Jobs")
3954 TotalReadRequests
= uint32("total_read_requests", "Total Read Requests")
3955 TotalRequest
= uint32("total_request", "Total Requests")
3956 TotalRequestPackets
= uint32("total_request_packets", "Total Request Packets")
3957 TotalRoutedPackets
= uint32("total_routed_packets", "Total Routed Packets")
3958 TotalRxPkts
= uint32("total_rx_pkts", "Total Receive Packets")
3959 TotalServerMemory
= uint16("total_server_memory", "Total Server Memory", ENC_BIG_ENDIAN
)
3960 TotalTransactionsBackedOut
= uint32("total_trans_backed_out", "Total Transactions Backed Out")
3961 TotalTransactionsPerformed
= uint32("total_trans_performed", "Total Transactions Performed")
3962 TotalTxPkts
= uint32("total_tx_pkts", "Total Transmit Packets")
3963 TotalUnfilledBackoutRequests
= uint16("total_unfilled_backout_requests", "Total Unfilled Backout Requests")
3964 TotalVolumeClusters
= uint16("total_volume_clusters", "Total Volume Clusters")
3965 TotalWriteRequests
= uint32("total_write_requests", "Total Write Requests")
3966 TotalWriteTransactionsPerformed
= uint32("total_write_trans_performed", "Total Write Transactions Performed")
3967 TrackOnFlag
= boolean8("track_on_flag", "Track On Flag")
3968 TransactionDiskSpace
= uint16("transaction_disk_space", "Transaction Disk Space")
3969 TransactionFATAllocations
= uint32("transaction_fat_allocations", "Transaction FAT Allocations")
3970 TransactionFileSizeChanges
= uint32("transaction_file_size_changes", "Transaction File Size Changes")
3971 TransactionFilesTruncated
= uint32("transaction_files_truncated", "Transaction Files Truncated")
3972 TransactionNumber
= uint32("transaction_number", "Transaction Number")
3973 TransactionTrackingEnabled
= uint8("transaction_tracking_enabled", "Transaction Tracking Enabled")
3974 TransactionTrackingFlag
= uint16("tts_flag", "Transaction Tracking Flag")
3975 TransactionTrackingSupported
= uint8("transaction_tracking_supported", "Transaction Tracking Supported")
3976 TransactionVolumeNumber
= uint16("transaction_volume_number", "Transaction Volume Number")
3977 TransportType
= val_string8("transport_type", "Communications Type", [
3978 [ 0x01, "Internet Packet Exchange (IPX)" ],
3979 [ 0x05, "User Datagram Protocol (UDP)" ],
3980 [ 0x06, "Transmission Control Protocol (TCP)" ],
3982 TreeLength
= uint32("tree_length", "Tree Length")
3983 TreeName
= nstring32("tree_name", "Tree Name")
3984 TrusteeAccessMask
= uint8("trustee_acc_mask", "Trustee Access Mask")
3985 TrusteeRights
= bitfield16("trustee_rights_low", "Trustee Rights", [
3986 bf_boolean16(0x0001, "trustee_rights_read", "Read"),
3987 bf_boolean16(0x0002, "trustee_rights_write", "Write"),
3988 bf_boolean16(0x0004, "trustee_rights_open", "Open"),
3989 bf_boolean16(0x0008, "trustee_rights_create", "Create"),
3990 bf_boolean16(0x0010, "trustee_rights_del", "Delete"),
3991 bf_boolean16(0x0020, "trustee_rights_parent", "Parental"),
3992 bf_boolean16(0x0040, "trustee_rights_search", "Search"),
3993 bf_boolean16(0x0080, "trustee_rights_modify", "Modify"),
3994 bf_boolean16(0x0100, "trustee_rights_super", "Supervisor"),
3996 TTSLevel
= uint8("tts_level", "TTS Level")
3997 TrusteeSetNumber
= uint8("trustee_set_number", "Trustee Set Number")
3998 TrusteeID
= uint32("trustee_id_set", "Trustee ID")
3999 TrusteeID
.Display("BASE_HEX")
4000 ttlCompBlks
= uint32("ttl_comp_blks", "Total Compression Blocks")
4001 TtlDSDskSpaceAlloc
= uint32("ttl_ds_disk_space_alloc", "Total Streams Space Allocated")
4002 TtlEAs
= uint32("ttl_eas", "Total EA's")
4003 TtlEAsDataSize
= uint32("ttl_eas_data_size", "Total EA's Data Size")
4004 TtlEAsKeySize
= uint32("ttl_eas_key_size", "Total EA's Key Size")
4005 ttlIntermediateBlks
= uint32("ttl_inter_blks", "Total Intermediate Blocks")
4006 TtlMigratedSize
= uint32("ttl_migrated_size", "Total Migrated Size")
4007 TtlNumOfRTags
= uint32("ttl_num_of_r_tags", "Total Number of Resource Tags")
4008 TtlNumOfSetCmds
= uint32("ttl_num_of_set_cmds", "Total Number of Set Commands")
4009 TtlValuesLength
= uint32("ttl_values_length", "Total Values Length")
4010 TtlWriteDataSize
= uint32("ttl_write_data_size", "Total Write Data Size")
4011 TurboUsedForFileService
= uint16("turbo_used_for_file_service", "Turbo Used For File Service")
4013 UnclaimedPkts
= uint32("un_claimed_packets", "Unclaimed Packets")
4014 UnCompressableDataStreamsCount
= uint32("un_compressable_data_streams_count", "Uncompressable Data Streams Count")
4015 Undefined8
= bytes("undefined_8", "Undefined", 8)
4016 Undefined28
= bytes("undefined_28", "Undefined", 28)
4017 UndefinedWord
= uint16("undefined_word", "Undefined")
4018 UniqueID
= uint8("unique_id", "Unique ID")
4019 UnknownByte
= uint8("unknown_byte", "Unknown Byte")
4020 Unused
= uint8("un_used", "Unused")
4021 UnusedBlocks
= uint32("unused_blocks", "Unused Blocks")
4022 UnUsedDirectoryEntries
= uint32("un_used_directory_entries", "Unused Directory Entries")
4023 UnusedDiskBlocks
= uint32("unused_disk_blocks", "Unused Disk Blocks")
4024 UnUsedExtendedDirectoryExtents
= uint32("un_used_extended_directory_extents", "Unused Extended Directory Extents")
4025 UpdateDate
= uint16("update_date", "Update Date")
4027 UpdateID
= uint32("update_id", "Update ID", ENC_BIG_ENDIAN
)
4028 UpdateID
.Display("BASE_HEX")
4029 UpdateTime
= uint16("update_time", "Update Time")
4031 UseCount
= val_string16("user_info_use_count", "Use Count", [
4032 [ 0x0000, "Connection is not in use" ],
4033 [ 0x0001, "Connection is in use" ],
4035 UsedBlocks
= uint32("used_blocks", "Used Blocks")
4036 UserID
= uint32("user_id", "User ID", ENC_BIG_ENDIAN
)
4037 UserID
.Display("BASE_HEX")
4038 UserLoginAllowed
= val_string8("user_login_allowed", "Login Status", [
4039 [ 0x00, "Client Login Disabled" ],
4040 [ 0x01, "Client Login Enabled" ],
4043 UserName
= nstring8("user_name", "User Name")
4044 UserName16
= fw_string("user_name_16", "User Name", 16)
4045 UserName48
= fw_string("user_name_48", "User Name", 48)
4046 UserType
= uint16("user_type", "User Type")
4047 UTCTimeInSeconds
= eptime("uts_time_in_seconds", "UTC Time in Seconds")
4049 ValueAvailable
= val_string8("value_available", "Value Available", [
4050 [ 0x00, "Has No Value" ],
4051 [ 0xff, "Has Value" ],
4053 VAPVersion
= uint8("vap_version", "VAP Version")
4054 VariableBitMask
= uint32("variable_bit_mask", "Variable Bit Mask")
4055 VariableBitsDefined
= uint16("variable_bits_defined", "Variable Bits Defined")
4056 VConsoleRevision
= uint8("vconsole_rev", "Console Revision")
4057 VConsoleVersion
= uint8("vconsole_ver", "Console Version")
4058 Verb
= uint32("verb", "Verb")
4059 VerbData
= uint8("verb_data", "Verb Data")
4060 version
= uint32("version", "Version")
4061 VersionNumber
= uint8("version_number", "Version")
4062 VersionNumberLong
= uint32("version_num_long", "Version")
4063 VertLocation
= uint16("vert_location", "Vertical Location")
4064 VirtualConsoleVersion
= uint8("virtual_console_version", "Virtual Console Version")
4065 VolumeID
= uint32("volume_id", "Volume ID")
4066 VolumeID
.Display("BASE_HEX")
4067 VolInfoReplyLen
= uint16("vol_info_reply_len", "Volume Information Reply Length")
4068 VolInfoReturnInfoMask
= bitfield32("vol_info_ret_info_mask", "Return Information Mask", [
4069 bf_boolean32(0x00000001, "vinfo_info64", "Return 64 bit Volume Information"),
4070 bf_boolean32(0x00000002, "vinfo_volname", "Return Volume Name Details"),
4072 VolumeCapabilities
= bitfield32("volume_capabilities", "Volume Capabilities", [
4073 bf_boolean32(0x00000001, "vol_cap_user_space", "NetWare User Space Restrictions Supported"),
4074 bf_boolean32(0x00000002, "vol_cap_dir_quota", "NetWare Directory Quotas Supported"),
4075 bf_boolean32(0x00000004, "vol_cap_dfs", "DFS is Active on Volume"),
4076 bf_boolean32(0x00000008, "vol_cap_sal_purge", "NetWare Salvage and Purge Operations Supported"),
4077 bf_boolean32(0x00000010, "vol_cap_comp", "NetWare Compression Supported"),
4078 bf_boolean32(0x00000020, "vol_cap_cluster", "Volume is a Cluster Resource"),
4079 bf_boolean32(0x00000040, "vol_cap_nss_admin", "Volume is the NSS Admin Volume"),
4080 bf_boolean32(0x00000080, "vol_cap_nss", "Volume is Mounted by NSS"),
4081 bf_boolean32(0x00000100, "vol_cap_ea", "OS2 style EA's Supported"),
4082 bf_boolean32(0x00000200, "vol_cap_archive", "NetWare Archive bit Supported"),
4083 bf_boolean32(0x00000400, "vol_cap_file_attr", "Full NetWare file Attributes Supported"),
4085 VolumeCachedFlag
= val_string8("volume_cached_flag", "Volume Cached Flag", [
4086 [ 0x00, "Volume is Not Cached" ],
4087 [ 0xff, "Volume is Cached" ],
4089 VolumeDataStreams
= uint8("volume_data_streams", "Volume Data Streams")
4090 VolumeEpochTime
= eptime("epoch_time", "Last Modified Timestamp")
4091 VolumeGUID
= stringz("volume_guid", "Volume GUID")
4092 VolumeHashedFlag
= val_string8("volume_hashed_flag", "Volume Hashed Flag", [
4093 [ 0x00, "Volume is Not Hashed" ],
4094 [ 0xff, "Volume is Hashed" ],
4096 VolumeMountedFlag
= val_string8("volume_mounted_flag", "Volume Mounted Flag", [
4097 [ 0x00, "Volume is Not Mounted" ],
4098 [ 0xff, "Volume is Mounted" ],
4100 VolumeMountPoint
= stringz("volume_mnt_point", "Volume Mount Point")
4101 VolumeName
= fw_string("volume_name", "Volume Name", 16)
4102 VolumeNameLen
= nstring8("volume_name_len", "Volume Name")
4103 VolumeNameSpaces
= uint8("volume_name_spaces", "Volume Name Spaces")
4104 VolumeNameStringz
= stringz("vol_name_stringz", "Volume Name")
4105 VolumeNumber
= uint8("volume_number", "Volume Number")
4106 VolumeNumberLong
= uint32("volume_number_long", "Volume Number")
4107 VolumeRemovableFlag
= val_string8("volume_removable_flag", "Volume Removable Flag", [
4108 [ 0x00, "Disk Cannot be Removed from Server" ],
4109 [ 0xff, "Disk Can be Removed from Server" ],
4111 VolumeRequestFlags
= val_string16("volume_request_flags", "Volume Request Flags", [
4112 [ 0x0000, "Do not return name with volume number" ],
4113 [ 0x0001, "Return name with volume number" ],
4115 VolumeSizeInClusters
= uint32("volume_size_in_clusters", "Volume Size in Clusters")
4116 VolumesSupportedMax
= uint16("volumes_supported_max", "Volumes Supported Max")
4117 VolumeType
= val_string16("volume_type", "Volume Type", [
4118 [ 0x0000, "NetWare 386" ],
4119 [ 0x0001, "NetWare 286" ],
4120 [ 0x0002, "NetWare 386 Version 30" ],
4121 [ 0x0003, "NetWare 386 Version 31" ],
4123 VolumeTypeLong
= val_string32("volume_type_long", "Volume Type", [
4124 [ 0x00000000, "NetWare 386" ],
4125 [ 0x00000001, "NetWare 286" ],
4126 [ 0x00000002, "NetWare 386 Version 30" ],
4127 [ 0x00000003, "NetWare 386 Version 31" ],
4129 WastedServerMemory
= uint16("wasted_server_memory", "Wasted Server Memory", ENC_BIG_ENDIAN
)
4130 WaitTime
= uint32("wait_time", "Wait Time")
4132 Year
= val_string8("year", "Year",[
4214 ##############################################################################
4216 ##############################################################################
4219 acctngInfo
= struct("acctng_info_struct", [
4223 HeldConnectTimeInMinutes
,
4227 ],"Accounting Information")
4228 AFP10Struct
= struct("afp_10_struct", [
4252 ], "AFP Information" )
4253 AFP20Struct
= struct("afp_20_struct", [
4279 ], "AFP Information" )
4280 ArchiveDateStruct
= struct("archive_date_struct", [
4283 ArchiveIdStruct
= struct("archive_id_struct", [
4286 ArchiveInfoStruct
= struct("archive_info_struct", [
4290 ], "Archive Information")
4291 ArchiveTimeStruct
= struct("archive_time_struct", [
4294 AttributesStruct
= struct("attributes_struct", [
4298 authInfo
= struct("auth_info_struct", [
4303 BoardNameStruct
= struct("board_name_struct", [
4308 CacheInfo
= struct("cache_info", [
4309 uint32("max_byte_cnt", "Maximum Byte Count"),
4310 uint32("min_num_of_cache_buff", "Minimum Number Of Cache Buffers"),
4311 uint32("min_cache_report_thresh", "Minimum Cache Report Threshold"),
4312 uint32("alloc_waiting", "Allocate Waiting Count"),
4313 uint32("ndirty_blocks", "Number of Dirty Blocks"),
4314 uint32("cache_dirty_wait_time", "Cache Dirty Wait Time"),
4315 uint32("cache_max_concur_writes", "Cache Maximum Concurrent Writes"),
4316 uint32("max_dirty_time", "Maximum Dirty Time"),
4317 uint32("num_dir_cache_buff", "Number Of Directory Cache Buffers"),
4318 uint32("cache_byte_to_block", "Cache Byte To Block Shift Factor"),
4319 ], "Cache Information")
4320 CommonLanStruc
= struct("common_lan_struct", [
4321 boolean8("not_supported_mask", "Bit Counter Supported"),
4323 uint32("total_tx_packet_count", "Total Transmit Packet Count"),
4324 uint32("total_rx_packet_count", "Total Receive Packet Count"),
4325 uint32("no_ecb_available_count", "No ECB Available Count"),
4326 uint32("packet_tx_too_big_count", "Transmit Packet Too Big Count"),
4327 uint32("packet_tx_too_small_count", "Transmit Packet Too Small Count"),
4328 uint32("packet_rx_overflow_count", "Receive Packet Overflow Count"),
4329 uint32("packet_rx_too_big_count", "Receive Packet Too Big Count"),
4330 uint32("packet_rs_too_small_count", "Receive Packet Too Small Count"),
4331 uint32("packet_tx_misc_error_count", "Transmit Packet Misc Error Count"),
4332 uint32("packet_rx_misc_error_count", "Receive Packet Misc Error Count"),
4333 uint32("retry_tx_count", "Transmit Retry Count"),
4334 uint32("checksum_error_count", "Checksum Error Count"),
4335 uint32("hardware_rx_mismatch_count", "Hardware Receive Mismatch Count"),
4336 ], "Common LAN Information")
4337 CompDeCompStat
= struct("comp_d_comp_stat", [
4338 uint32("cmphitickhigh", "Compress High Tick"),
4339 uint32("cmphitickcnt", "Compress High Tick Count"),
4340 uint32("cmpbyteincount", "Compress Byte In Count"),
4341 uint32("cmpbyteoutcnt", "Compress Byte Out Count"),
4342 uint32("cmphibyteincnt", "Compress High Byte In Count"),
4343 uint32("cmphibyteoutcnt", "Compress High Byte Out Count"),
4344 uint32("decphitickhigh", "DeCompress High Tick"),
4345 uint32("decphitickcnt", "DeCompress High Tick Count"),
4346 uint32("decpbyteincount", "DeCompress Byte In Count"),
4347 uint32("decpbyteoutcnt", "DeCompress Byte Out Count"),
4348 uint32("decphibyteincnt", "DeCompress High Byte In Count"),
4349 uint32("decphibyteoutcnt", "DeCompress High Byte Out Count"),
4350 ], "Compression/Decompression Information")
4351 ConnFileStruct
= struct("conn_file_struct", [
4352 ConnectionNumberWord
,
4357 ], "File Connection Information")
4358 ConnStruct
= struct("conn_struct", [
4364 DirectoryEntryNumberWord
,
4366 ], "Connection Information")
4367 ConnTaskStruct
= struct("conn_task_struct", [
4368 ConnectionNumberByte
,
4370 ], "Task Information")
4371 Counters
= struct("counters_struct", [
4372 uint32("read_exist_blck", "Read Existing Block Count"),
4373 uint32("read_exist_write_wait", "Read Existing Write Wait Count"),
4374 uint32("read_exist_part_read", "Read Existing Partial Read Count"),
4375 uint32("read_exist_read_err", "Read Existing Read Error Count"),
4376 uint32("wrt_blck_cnt", "Write Block Count"),
4377 uint32("wrt_entire_blck", "Write Entire Block Count"),
4378 uint32("internl_dsk_get", "Internal Disk Get Count"),
4379 uint32("internl_dsk_get_need_to_alloc", "Internal Disk Get Need To Allocate Count"),
4380 uint32("internl_dsk_get_someone_beat", "Internal Disk Get Someone Beat My Count"),
4381 uint32("internl_dsk_get_part_read", "Internal Disk Get Partial Read Count"),
4382 uint32("internl_dsk_get_read_err", "Internal Disk Get Read Error Count"),
4383 uint32("async_internl_dsk_get", "Async Internal Disk Get Count"),
4384 uint32("async_internl_dsk_get_need_to_alloc", "Async Internal Disk Get Need To Alloc"),
4385 uint32("async_internl_dsk_get_someone_beat", "Async Internal Disk Get Someone Beat Me"),
4386 uint32("err_doing_async_read", "Error Doing Async Read Count"),
4387 uint32("internl_dsk_get_no_read", "Internal Disk Get No Read Count"),
4388 uint32("internl_dsk_get_no_read_alloc", "Internal Disk Get No Read Allocate Count"),
4389 uint32("internl_dsk_get_no_read_someone_beat", "Internal Disk Get No Read Someone Beat Me Count"),
4390 uint32("internl_dsk_write", "Internal Disk Write Count"),
4391 uint32("internl_dsk_write_alloc", "Internal Disk Write Allocate Count"),
4392 uint32("internl_dsk_write_someone_beat", "Internal Disk Write Someone Beat Me Count"),
4393 uint32("write_err", "Write Error Count"),
4394 uint32("wait_on_sema", "Wait On Semaphore Count"),
4395 uint32("alloc_blck_i_had_to_wait_for", "Allocate Block I Had To Wait For Someone Count"),
4396 uint32("alloc_blck", "Allocate Block Count"),
4397 uint32("alloc_blck_i_had_to_wait", "Allocate Block I Had To Wait Count"),
4398 ], "Disk Counter Information")
4399 CPUInformation
= struct("cpu_information", [
4415 ], "CPU Information")
4416 CreationDateStruct
= struct("creation_date_struct", [
4419 CreationInfoStruct
= struct("creation_info_struct", [
4422 endian(CreatorID
, ENC_LITTLE_ENDIAN
),
4423 ], "Creation Information")
4424 CreationTimeStruct
= struct("creation_time_struct", [
4427 CustomCntsInfo
= struct("custom_cnts_info", [
4428 CustomVariableValue
,
4430 ], "Custom Counters" )
4431 DataStreamInfo
= struct("data_stream_info", [
4432 AssociatedNameSpace
,
4435 DataStreamSizeStruct
= struct("data_stream_size_struct", [
4438 DirCacheInfo
= struct("dir_cache_info", [
4439 uint32("min_time_since_file_delete", "Minimum Time Since File Delete"),
4440 uint32("abs_min_time_since_file_delete", "Absolute Minimum Time Since File Delete"),
4441 uint32("min_num_of_dir_cache_buff", "Minimum Number Of Directory Cache Buffers"),
4442 uint32("max_num_of_dir_cache_buff", "Maximum Number Of Directory Cache Buffers"),
4443 uint32("num_of_dir_cache_buff", "Number Of Directory Cache Buffers"),
4444 uint32("dc_min_non_ref_time", "DC Minimum Non-Referenced Time"),
4445 uint32("dc_wait_time_before_new_buff", "DC Wait Time Before New Buffer"),
4446 uint32("dc_max_concurrent_writes", "DC Maximum Concurrent Writes"),
4447 uint32("dc_dirty_wait_time", "DC Dirty Wait Time"),
4448 uint32("dc_double_read_flag", "DC Double Read Flag"),
4449 uint32("map_hash_node_count", "Map Hash Node Count"),
4450 uint32("space_restriction_node_count", "Space Restriction Node Count"),
4451 uint32("trustee_list_node_count", "Trustee List Node Count"),
4452 uint32("percent_of_vol_used_by_dirs", "Percent Of Volume Used By Directories"),
4453 ], "Directory Cache Information")
4454 DirDiskSpaceRest64bit
= struct("dir_disk_space_rest_64bit", [
4458 ], "Directory Disk Space Restriction 64 bit")
4459 DirEntryStruct
= struct("dir_entry_struct", [
4460 DirectoryEntryNumber
,
4461 DOSDirectoryEntryNumber
,
4463 ], "Directory Entry Information")
4464 DirectoryInstance
= struct("directory_instance", [
4468 DirectoryAttributes
,
4469 DirectoryAccessRights
,
4470 endian(CreationDate
, ENC_BIG_ENDIAN
),
4471 endian(AccessDate
, ENC_BIG_ENDIAN
),
4475 ], "Directory Information")
4476 DMInfoLevel0
= struct("dm_info_level_0", [
4477 uint32("io_flag", "IO Flag"),
4478 uint32("sm_info_size", "Storage Module Information Size"),
4479 uint32("avail_space", "Available Space"),
4480 uint32("used_space", "Used Space"),
4481 stringz("s_module_name", "Storage Module Name"),
4482 uint8("s_m_info", "Storage Media Information"),
4484 DMInfoLevel1
= struct("dm_info_level_1", [
4488 DMInfoLevel2
= struct("dm_info_level_2", [
4491 DOSDirectoryEntryStruct
= struct("dos_directory_entry_struct", [
4508 InheritedRightsMask
,
4509 ], "DOS Directory Information")
4510 DOSFileEntryStruct
= struct("dos_file_entry_struct", [
4530 InheritedRightsMask
,
4535 ], "DOS File Information")
4536 DSSpaceAllocateStruct
= struct("ds_space_alloc_struct", [
4537 DataStreamSpaceAlloc
,
4539 DynMemStruct
= struct("dyn_mem_struct", [
4540 uint32("dyn_mem_struct_total", "Total Dynamic Space" ),
4541 uint32("dyn_mem_struct_max", "Max Used Dynamic Space" ),
4542 uint32("dyn_mem_struct_cur", "Current Used Dynamic Space" ),
4543 ], "Dynamic Memory Information")
4544 EAInfoStruct
= struct("ea_info_struct", [
4548 ], "Extended Attribute Information")
4549 ExtraCacheCntrs
= struct("extra_cache_cntrs", [
4550 uint32("internl_dsk_get_no_wait", "Internal Disk Get No Wait Count"),
4551 uint32("internl_dsk_get_no_wait_need", "Internal Disk Get No Wait Need To Allocate Count"),
4552 uint32("internl_dsk_get_no_wait_no_blk", "Internal Disk Get No Wait No Block Count"),
4553 uint32("id_get_no_read_no_wait", "ID Get No Read No Wait Count"),
4554 uint32("id_get_no_read_no_wait_sema", "ID Get No Read No Wait Semaphored Count"),
4555 uint32("id_get_no_read_no_wait_buffer", "ID Get No Read No Wait No Buffer Count"),
4556 uint32("id_get_no_read_no_wait_alloc", "ID Get No Read No Wait Allocate Count"),
4557 uint32("id_get_no_read_no_wait_no_alloc", "ID Get No Read No Wait No Alloc Count"),
4558 uint32("id_get_no_read_no_wait_no_alloc_sema", "ID Get No Read No Wait No Alloc Semaphored Count"),
4559 uint32("id_get_no_read_no_wait_no_alloc_alloc", "ID Get No Read No Wait No Alloc Allocate Count"),
4560 ], "Extra Cache Counters Information")
4562 FileSize64bitStruct
= struct("file_sz_64bit_struct", [
4566 ReferenceIDStruct
= struct("ref_id_struct", [
4569 NSAttributeStruct
= struct("ns_attrib_struct", [
4572 DStreamActual
= struct("d_stream_actual", [
4573 DataStreamNumberLong
,
4574 DataStreamFATBlocks
,
4576 DStreamLogical
= struct("d_string_logical", [
4577 DataStreamNumberLong
,
4579 ], "Logical Stream")
4580 LastUpdatedInSecondsStruct
= struct("last_update_in_seconds_struct", [
4581 SecondsRelativeToTheYear2000
,
4583 DOSNameStruct
= struct("dos_name_struct", [
4586 DOSName16Struct
= struct("dos_name_16_struct", [
4589 FlushTimeStruct
= struct("flush_time_struct", [
4592 ParentBaseIDStruct
= struct("parent_base_id_struct", [
4595 MacFinderInfoStruct
= struct("mac_finder_info_struct", [
4598 SiblingCountStruct
= struct("sibling_count_struct", [
4601 EffectiveRightsStruct
= struct("eff_rights_struct", [
4605 MacTimeStruct
= struct("mac_time_struct", [
4611 LastAccessedTimeStruct
= struct("last_access_time_struct", [
4614 FileAttributesStruct
= struct("file_attributes_struct", [
4617 FileInfoStruct
= struct("file_info_struct", [
4619 DirectoryEntryNumber
,
4620 TotalBlocksToDecompress
,
4621 #CurrentBlockBeingDecompressed,
4622 ], "File Information")
4623 FileInstance
= struct("file_instance", [
4630 endian(CreationDate
, ENC_BIG_ENDIAN
),
4631 endian(AccessDate
, ENC_BIG_ENDIAN
),
4632 endian(UpdateDate
, ENC_BIG_ENDIAN
),
4633 endian(UpdateTime
, ENC_BIG_ENDIAN
),
4635 FileNameStruct
= struct("file_name_struct", [
4638 FileName16Struct
= struct("file_name16_struct", [
4641 FileServerCounters
= struct("file_server_counters", [
4642 uint16("too_many_hops", "Too Many Hops"),
4643 uint16("unknown_network", "Unknown Network"),
4644 uint16("no_space_for_service", "No Space For Service"),
4645 uint16("no_receive_buff", "No Receive Buffers"),
4646 uint16("not_my_network", "Not My Network"),
4647 uint32("netbios_progated", "NetBIOS Propagated Count"),
4648 uint32("ttl_pckts_srvcd", "Total Packets Serviced"),
4649 uint32("ttl_pckts_routed", "Total Packets Routed"),
4650 ], "File Server Counters")
4651 FileSystemInfo
= struct("file_system_info", [
4652 uint32("fat_moved", "Number of times the OS has move the location of FAT"),
4653 uint32("fat_write_err", "Number of write errors in both original and mirrored copies of FAT"),
4654 uint32("someone_else_did_it_0", "Someone Else Did It Count 0"),
4655 uint32("someone_else_did_it_1", "Someone Else Did It Count 1"),
4656 uint32("someone_else_did_it_2", "Someone Else Did It Count 2"),
4657 uint32("i_ran_out_someone_else_did_it_0", "I Ran Out Someone Else Did It Count 0"),
4658 uint32("i_ran_out_someone_else_did_it_1", "I Ran Out Someone Else Did It Count 1"),
4659 uint32("i_ran_out_someone_else_did_it_2", "I Ran Out Someone Else Did It Count 2"),
4660 uint32("turbo_fat_build_failed", "Turbo FAT Build Failed Count"),
4661 uint32("extra_use_count_node_count", "Errors allocating a use count node for TTS"),
4662 uint32("extra_extra_use_count_node_count", "Errors allocating an additional use count node for TTS"),
4663 uint32("error_read_last_fat", "Error Reading Last FAT Count"),
4664 uint32("someone_else_using_this_file", "Someone Else Using This File Count"),
4665 ], "File System Information")
4666 GenericInfoDef
= struct("generic_info_def", [
4667 fw_string("generic_label", "Label", 64),
4668 uint32("generic_ident_type", "Identification Type"),
4669 uint32("generic_ident_time", "Identification Time"),
4670 uint32("generic_media_type", "Media Type"),
4671 uint32("generic_cartridge_type", "Cartridge Type"),
4672 uint32("generic_unit_size", "Unit Size"),
4673 uint32("generic_block_size", "Block Size"),
4674 uint32("generic_capacity", "Capacity"),
4675 uint32("generic_pref_unit_size", "Preferred Unit Size"),
4676 fw_string("generic_name", "Name",64),
4677 uint32("generic_type", "Type"),
4678 uint32("generic_status", "Status"),
4679 uint32("generic_func_mask", "Function Mask"),
4680 uint32("generic_ctl_mask", "Control Mask"),
4681 uint32("generic_parent_count", "Parent Count"),
4682 uint32("generic_sib_count", "Sibling Count"),
4683 uint32("generic_child_count", "Child Count"),
4684 uint32("generic_spec_info_sz", "Specific Information Size"),
4685 uint32("generic_object_uniq_id", "Unique Object ID"),
4686 uint32("generic_media_slot", "Media Slot"),
4687 ], "Generic Information")
4688 HandleInfoLevel0
= struct("handle_info_level_0", [
4691 HandleInfoLevel1
= struct("handle_info_level_1", [
4694 HandleInfoLevel2
= struct("handle_info_level_2", [
4699 HandleInfoLevel3
= struct("handle_info_level_3", [
4703 HandleInfoLevel4
= struct("handle_info_level_4", [
4706 ParentDirectoryBase
,
4707 ParentDOSDirectoryBase
,
4709 HandleInfoLevel5
= struct("handle_info_level_5", [
4713 ParentDirectoryBase
,
4714 ParentDOSDirectoryBase
,
4716 IPXInformation
= struct("ipx_information", [
4717 uint32("ipx_send_pkt", "IPX Send Packet Count"),
4718 uint16("ipx_malform_pkt", "IPX Malformed Packet Count"),
4719 uint32("ipx_get_ecb_req", "IPX Get ECB Request Count"),
4720 uint32("ipx_get_ecb_fail", "IPX Get ECB Fail Count"),
4721 uint32("ipx_aes_event", "IPX AES Event Count"),
4722 uint16("ipx_postponed_aes", "IPX Postponed AES Count"),
4723 uint16("ipx_max_conf_sock", "IPX Max Configured Socket Count"),
4724 uint16("ipx_max_open_sock", "IPX Max Open Socket Count"),
4725 uint16("ipx_open_sock_fail", "IPX Open Socket Fail Count"),
4726 uint32("ipx_listen_ecb", "IPX Listen ECB Count"),
4727 uint16("ipx_ecb_cancel_fail", "IPX ECB Cancel Fail Count"),
4728 uint16("ipx_get_lcl_targ_fail", "IPX Get Local Target Fail Count"),
4729 ], "IPX Information")
4730 JobEntryTime
= struct("job_entry_time", [
4737 ], "Job Entry Time")
4738 JobStruct3x
= struct("job_struct_3x", [
4743 ClientTaskNumberLong
,
4745 TargetServerIDNumber
,
4746 TargetExecutionTime
,
4751 JobControlFlagsWord
,
4755 ServerTaskNumberLong
,
4759 ], "Job Information")
4760 JobStruct
= struct("job_struct", [
4764 TargetServerIDNumber
,
4765 TargetExecutionTime
,
4778 ], "Job Information")
4779 JobStructNew
= struct("job_struct_new", [
4784 ClientTaskNumberLong
,
4786 TargetServerIDNumber
,
4787 TargetExecutionTime
,
4792 JobControlFlagsWord
,
4796 ServerTaskNumberLong
,
4798 ], "Job Information")
4799 KnownRoutes
= struct("known_routes", [
4805 SrcEnhNWHandlePathS1
= struct("source_nwhandle", [
4811 ], "Source Information")
4812 DstEnhNWHandlePathS1
= struct("destination_nwhandle", [
4818 ], "Destination Information")
4819 KnownServStruc
= struct("known_server_struct", [
4824 LANConfigInfo
= struct("lan_cfg_info", [
4825 LANdriverCFG_MajorVersion
,
4826 LANdriverCFG_MinorVersion
,
4827 LANdriverNodeAddress
,
4830 LANdriverBoardNumber
,
4831 LANdriverBoardInstance
,
4832 LANdriverMaximumSize
,
4833 LANdriverMaxRecvSize
,
4837 LANdriverTransportTime
,
4838 LANdriverSrcRouting
,
4841 LANdriverMajorVersion
,
4842 LANdriverMinorVersion
,
4844 LANdriverSendRetries
,
4846 LANdriverSharingFlags
,
4848 LANdriverIOPortsAndRanges1
,
4849 LANdriverIOPortsAndRanges2
,
4850 LANdriverIOPortsAndRanges3
,
4851 LANdriverIOPortsAndRanges4
,
4852 LANdriverMemoryDecode0
,
4853 LANdriverMemoryLength0
,
4854 LANdriverMemoryDecode1
,
4855 LANdriverMemoryLength1
,
4856 LANdriverInterrupt1
,
4857 LANdriverInterrupt2
,
4860 LANdriverLogicalName
,
4861 LANdriverIOReserved
,
4863 ], "LAN Configuration Information")
4864 LastAccessStruct
= struct("last_access_struct", [
4867 lockInfo
= struct("lock_info_struct", [
4868 LogicalLockThreshold
,
4869 PhysicalLockThreshold
,
4872 ], "Lock Information")
4873 LockStruct
= struct("lock_struct", [
4879 LoginTime
= struct("login_time", [
4888 LogLockStruct
= struct("log_lock_struct", [
4893 LogRecStruct
= struct("log_rec_struct", [
4894 ConnectionNumberWord
,
4897 ], "Logical Record Locks")
4898 LSLInformation
= struct("lsl_information", [
4899 uint32("rx_buffers", "Receive Buffers"),
4900 uint32("rx_buffers_75", "Receive Buffers Warning Level"),
4901 uint32("rx_buffers_checked_out", "Receive Buffers Checked Out Count"),
4902 uint32("rx_buffer_size", "Receive Buffer Size"),
4903 uint32("max_phy_packet_size", "Maximum Physical Packet Size"),
4904 uint32("last_time_rx_buff_was_alloc", "Last Time a Receive Buffer was Allocated"),
4905 uint32("max_num_of_protocols", "Maximum Number of Protocols"),
4906 uint32("max_num_of_media_types", "Maximum Number of Media Types"),
4907 uint32("total_tx_packets", "Total Transmit Packets"),
4908 uint32("get_ecb_buf", "Get ECB Buffers"),
4909 uint32("get_ecb_fails", "Get ECB Failures"),
4910 uint32("aes_event_count", "AES Event Count"),
4911 uint32("post_poned_events", "Postponed Events"),
4912 uint32("ecb_cxl_fails", "ECB Cancel Failures"),
4913 uint32("valid_bfrs_reused", "Valid Buffers Reused"),
4914 uint32("enqueued_send_cnt", "Enqueued Send Count"),
4915 uint32("total_rx_packets", "Total Receive Packets"),
4916 uint32("unclaimed_packets", "Unclaimed Packets"),
4917 uint8("stat_table_major_version", "Statistics Table Major Version"),
4918 uint8("stat_table_minor_version", "Statistics Table Minor Version"),
4919 ], "LSL Information")
4920 MaximumSpaceStruct
= struct("max_space_struct", [
4923 MemoryCounters
= struct("memory_counters", [
4924 uint32("orig_num_cache_buff", "Original Number Of Cache Buffers"),
4925 uint32("curr_num_cache_buff", "Current Number Of Cache Buffers"),
4926 uint32("cache_dirty_block_thresh", "Cache Dirty Block Threshold"),
4927 uint32("wait_node", "Wait Node Count"),
4928 uint32("wait_node_alloc_fail", "Wait Node Alloc Failure Count"),
4929 uint32("move_cache_node", "Move Cache Node Count"),
4930 uint32("move_cache_node_from_avai", "Move Cache Node From Avail Count"),
4931 uint32("accel_cache_node_write", "Accelerate Cache Node Write Count"),
4932 uint32("rem_cache_node", "Remove Cache Node Count"),
4933 uint32("rem_cache_node_from_avail", "Remove Cache Node From Avail Count"),
4934 ], "Memory Counters")
4935 MLIDBoardInfo
= struct("mlid_board_info", [
4936 uint32("protocol_board_num", "Protocol Board Number"),
4937 uint16("protocol_number", "Protocol Number"),
4938 bytes("protocol_id", "Protocol ID", 6),
4939 nstring8("protocol_name", "Protocol Name"),
4940 ], "MLID Board Information")
4941 ModifyInfoStruct
= struct("modify_info_struct", [
4944 endian(ModifierID
, ENC_LITTLE_ENDIAN
),
4946 ], "Modification Information")
4947 nameInfo
= struct("name_info_struct", [
4949 nstring8("login_name", "Login Name"),
4950 ], "Name Information")
4951 NCPNetworkAddress
= struct("ncp_network_address_struct", [
4955 ], "Network Address")
4957 netAddr
= struct("net_addr_struct", [
4959 nbytes32("transport_addr", "Transport Address"),
4960 ], "Network Address")
4962 NetWareInformationStruct
= struct("netware_information_struct", [
4963 DataStreamSpaceAlloc
, # (Data Stream Alloc Bit)
4964 AttributesDef32
, # (Attributes Bit)
4966 DataStreamSize
, # (Data Stream Size Bit)
4967 TotalDataStreamDiskSpaceAlloc
, # (Total Stream Size Bit)
4968 NumberOfDataStreams
,
4969 CreationTime
, # (Creation Bit)
4972 ModifiedTime
, # (Modify Bit)
4976 ArchivedTime
, # (Archive Bit)
4979 InheritedRightsMask
, # (Rights Bit)
4980 DirectoryEntryNumber
, # (Directory Entry Bit)
4981 DOSDirectoryEntryNumber
,
4983 EADataSize
, # (Extended Attribute Bit)
4986 CreatorNameSpaceNumber
, # (Name Space Bit)
4988 ], "NetWare Information")
4989 NLMInformation
= struct("nlm_information", [
4990 IdentificationNumber
,
5009 NumberOfReferencedPublics
,
5010 ], "NLM Information")
5011 NSInfoStruct
= struct("ns_info_struct", [
5012 CreatorNameSpaceNumber
,
5015 NWAuditStatus
= struct("nw_audit_status", [
5017 AuditFileVersionDate
,
5018 val_string16("audit_enable_flag", "Auditing Enabled Flag", [
5019 [ 0x0000, "Auditing Disabled" ],
5020 [ 0x0001, "Auditing Enabled" ],
5023 uint32("audit_file_size", "Audit File Size"),
5024 uint32("modified_counter", "Modified Counter"),
5025 uint32("audit_file_max_size", "Audit File Maximum Size"),
5026 uint32("audit_file_size_threshold", "Audit File Size Threshold"),
5027 uint32("audit_record_count", "Audit Record Count"),
5028 uint32("auditing_flags", "Auditing Flags"),
5029 ], "NetWare Audit Status")
5030 ObjectSecurityStruct
= struct("object_security_struct", [
5033 ObjectFlagsStruct
= struct("object_flags_struct", [
5036 ObjectTypeStruct
= struct("object_type_struct", [
5037 endian(ObjectType
, ENC_BIG_ENDIAN
),
5040 ObjectNameStruct
= struct("object_name_struct", [
5043 ObjectIDStruct
= struct("object_id_struct", [
5047 ObjectIDStruct64
= struct("object_id_struct64", [
5048 endian(ObjectID
, ENC_LITTLE_ENDIAN
),
5049 endian(RestrictionQuad
, ENC_LITTLE_ENDIAN
),
5051 OpnFilesStruct
= struct("opn_files_struct", [
5057 DOSParentDirectoryEntry
,
5062 ], "Open Files Information")
5063 OwnerIDStruct
= struct("owner_id_struct", [
5066 PacketBurstInformation
= struct("packet_burst_information", [
5067 uint32("big_invalid_slot", "Big Invalid Slot Count"),
5068 uint32("big_forged_packet", "Big Forged Packet Count"),
5069 uint32("big_invalid_packet", "Big Invalid Packet Count"),
5070 uint32("big_still_transmitting", "Big Still Transmitting Count"),
5071 uint32("still_doing_the_last_req", "Still Doing The Last Request Count"),
5072 uint32("invalid_control_req", "Invalid Control Request Count"),
5073 uint32("control_invalid_message_number", "Control Invalid Message Number Count"),
5074 uint32("control_being_torn_down", "Control Being Torn Down Count"),
5075 uint32("big_repeat_the_file_read", "Big Repeat the File Read Count"),
5076 uint32("big_send_extra_cc_count", "Big Send Extra CC Count"),
5077 uint32("big_return_abort_mess", "Big Return Abort Message Count"),
5078 uint32("big_read_invalid_mess", "Big Read Invalid Message Number Count"),
5079 uint32("big_read_do_it_over", "Big Read Do It Over Count"),
5080 uint32("big_read_being_torn_down", "Big Read Being Torn Down Count"),
5081 uint32("previous_control_packet", "Previous Control Packet Count"),
5082 uint32("send_hold_off_message", "Send Hold Off Message Count"),
5083 uint32("big_read_no_data_avail", "Big Read No Data Available Count"),
5084 uint32("big_read_trying_to_read", "Big Read Trying To Read Too Much Count"),
5085 uint32("async_read_error", "Async Read Error Count"),
5086 uint32("big_read_phy_read_err", "Big Read Physical Read Error Count"),
5087 uint32("ctl_bad_ack_frag_list", "Control Bad ACK Fragment List Count"),
5088 uint32("ctl_no_data_read", "Control No Data Read Count"),
5089 uint32("write_dup_req", "Write Duplicate Request Count"),
5090 uint32("shouldnt_be_ack_here", "Shouldn't Be ACKing Here Count"),
5091 uint32("write_incon_packet_len", "Write Inconsistent Packet Lengths Count"),
5092 uint32("first_packet_isnt_a_write", "First Packet Isn't A Write Count"),
5093 uint32("write_trash_dup_req", "Write Trashed Duplicate Request Count"),
5094 uint32("big_write_inv_message_num", "Big Write Invalid Message Number Count"),
5095 uint32("big_write_being_torn_down", "Big Write Being Torn Down Count"),
5096 uint32("big_write_being_abort", "Big Write Being Aborted Count"),
5097 uint32("zero_ack_frag", "Zero ACK Fragment Count"),
5098 uint32("write_curr_trans", "Write Currently Transmitting Count"),
5099 uint32("try_to_write_too_much", "Trying To Write Too Much Count"),
5100 uint32("write_out_of_mem_for_ctl_nodes", "Write Out Of Memory For Control Nodes Count"),
5101 uint32("write_didnt_need_this_frag", "Write Didn't Need This Fragment Count"),
5102 uint32("write_too_many_buf_check", "Write Too Many Buffers Checked Out Count"),
5103 uint32("write_timeout", "Write Time Out Count"),
5104 uint32("write_got_an_ack0", "Write Got An ACK Count 0"),
5105 uint32("write_got_an_ack1", "Write Got An ACK Count 1"),
5106 uint32("poll_abort_conn", "Poller Aborted The Connection Count"),
5107 uint32("may_had_out_of_order", "Maybe Had Out Of Order Writes Count"),
5108 uint32("had_an_out_of_order", "Had An Out Of Order Write Count"),
5109 uint32("moved_the_ack_bit_dn", "Moved The ACK Bit Down Count"),
5110 uint32("bumped_out_of_order", "Bumped Out Of Order Write Count"),
5111 uint32("poll_rem_old_out_of_order", "Poller Removed Old Out Of Order Count"),
5112 uint32("write_didnt_need_but_req_ack", "Write Didn't Need But Requested ACK Count"),
5113 uint32("write_trash_packet", "Write Trashed Packet Count"),
5114 uint32("too_many_ack_frag", "Too Many ACK Fragments Count"),
5115 uint32("saved_an_out_of_order_packet", "Saved An Out Of Order Packet Count"),
5116 uint32("conn_being_aborted", "Connection Being Aborted Count"),
5117 ], "Packet Burst Information")
5119 PadDSSpaceAllocate
= struct("pad_ds_space_alloc", [
5122 PadAttributes
= struct("pad_attributes", [
5125 PadDataStreamSize
= struct("pad_data_stream_size", [
5128 PadTotalStreamSize
= struct("pad_total_stream_size", [
5131 PadCreationInfo
= struct("pad_creation_info", [
5134 PadModifyInfo
= struct("pad_modify_info", [
5137 PadArchiveInfo
= struct("pad_archive_info", [
5140 PadRightsInfo
= struct("pad_rights_info", [
5143 PadDirEntry
= struct("pad_dir_entry", [
5146 PadEAInfo
= struct("pad_ea_info", [
5149 PadNSInfo
= struct("pad_ns_info", [
5152 PhyLockStruct
= struct("phy_lock_struct", [
5157 LogicalConnectionNumber
,
5160 ], "Physical Locks")
5161 printInfo
= struct("print_info_struct", [
5169 ], "Print Information")
5170 ReplyLevel1Struct
= struct("reply_lvl_1_struct", [
5175 ReplyLevel2Struct
= struct("reply_lvl_2_struct", [
5182 RightsInfoStruct
= struct("rights_info_struct", [
5183 InheritedRightsMask
,
5185 RoutersInfo
= struct("routers_info", [
5186 bytes("node", "Node", 6),
5188 uint16("route_hops", "Hop Count"),
5189 uint16("route_time", "Route Time"),
5190 ], "Router Information")
5191 RTagStructure
= struct("r_tag_struct", [
5197 ScanInfoFileName
= struct("scan_info_file_name", [
5198 SalvageableFileEntryNumber
,
5201 ScanInfoFileNoName
= struct("scan_info_file_no_name", [
5202 SalvageableFileEntryNumber
,
5204 SeachSequenceStruct
= struct("search_seq", [
5206 DirectoryEntryNumber
,
5208 ], "Search Sequence")
5209 Segments
= struct("segments", [
5210 uint32("volume_segment_dev_num", "Volume Segment Device Number"),
5211 uint32("volume_segment_offset", "Volume Segment Offset"),
5212 uint32("volume_segment_size", "Volume Segment Size"),
5213 ], "Volume Segment Information")
5214 SemaInfoStruct
= struct("sema_info_struct", [
5215 LogicalConnectionNumber
,
5218 SemaStruct
= struct("sema_struct", [
5223 ], "Semaphore Information")
5224 ServerInfo
= struct("server_info", [
5225 uint32("reply_canceled", "Reply Canceled Count"),
5226 uint32("write_held_off", "Write Held Off Count"),
5227 uint32("write_held_off_with_dup", "Write Held Off With Duplicate Request"),
5228 uint32("invalid_req_type", "Invalid Request Type Count"),
5229 uint32("being_aborted", "Being Aborted Count"),
5230 uint32("already_doing_realloc", "Already Doing Re-Allocate Count"),
5231 uint32("dealloc_invalid_slot", "De-Allocate Invalid Slot Count"),
5232 uint32("dealloc_being_proc", "De-Allocate Being Processed Count"),
5233 uint32("dealloc_forged_packet", "De-Allocate Forged Packet Count"),
5234 uint32("dealloc_still_transmit", "De-Allocate Still Transmitting Count"),
5235 uint32("start_station_error", "Start Station Error Count"),
5236 uint32("invalid_slot", "Invalid Slot Count"),
5237 uint32("being_processed", "Being Processed Count"),
5238 uint32("forged_packet", "Forged Packet Count"),
5239 uint32("still_transmitting", "Still Transmitting Count"),
5240 uint32("reexecute_request", "Re-Execute Request Count"),
5241 uint32("invalid_sequence_number", "Invalid Sequence Number Count"),
5242 uint32("dup_is_being_sent", "Duplicate Is Being Sent Already Count"),
5243 uint32("sent_pos_ack", "Sent Positive Acknowledge Count"),
5244 uint32("sent_a_dup_reply", "Sent A Duplicate Reply Count"),
5245 uint32("no_mem_for_station", "No Memory For Station Control Count"),
5246 uint32("no_avail_conns", "No Available Connections Count"),
5247 uint32("realloc_slot", "Re-Allocate Slot Count"),
5248 uint32("realloc_slot_came_too_soon", "Re-Allocate Slot Came Too Soon Count"),
5249 ], "Server Information")
5250 ServersSrcInfo
= struct("servers_src_info", [
5254 ], "Source Server Information")
5255 SpaceStruct
= struct("space_struct", [
5259 ], "Space Information")
5260 SPXInformation
= struct("spx_information", [
5261 uint16("spx_max_conn", "SPX Max Connections Count"),
5262 uint16("spx_max_used_conn", "SPX Max Used Connections"),
5263 uint16("spx_est_conn_req", "SPX Establish Connection Requests"),
5264 uint16("spx_est_conn_fail", "SPX Establish Connection Fail"),
5265 uint16("spx_listen_con_req", "SPX Listen Connect Request"),
5266 uint16("spx_listen_con_fail", "SPX Listen Connect Fail"),
5267 uint32("spx_send", "SPX Send Count"),
5268 uint32("spx_window_choke", "SPX Window Choke Count"),
5269 uint16("spx_bad_send", "SPX Bad Send Count"),
5270 uint16("spx_send_fail", "SPX Send Fail Count"),
5271 uint16("spx_abort_conn", "SPX Aborted Connection"),
5272 uint32("spx_listen_pkt", "SPX Listen Packet Count"),
5273 uint16("spx_bad_listen", "SPX Bad Listen Count"),
5274 uint32("spx_incoming_pkt", "SPX Incoming Packet Count"),
5275 uint16("spx_bad_in_pkt", "SPX Bad In Packet Count"),
5276 uint16("spx_supp_pkt", "SPX Suppressed Packet Count"),
5277 uint16("spx_no_ses_listen", "SPX No Session Listen ECB Count"),
5278 uint16("spx_watch_dog", "SPX Watch Dog Destination Session Count"),
5279 ], "SPX Information")
5280 StackInfo
= struct("stack_info", [
5282 fw_string("stack_short_name", "Stack Short Name", 16),
5283 ], "Stack Information")
5284 statsInfo
= struct("stats_info_struct", [
5289 TaskStruct
= struct("task_struct", [
5292 ], "Task Information")
5293 theTimeStruct
= struct("the_time_struct", [
5298 timeInfo
= struct("time_info", [
5306 uint32("login_expiration_time", "Login Expiration Time"),
5308 TotalStreamSizeStruct
= struct("total_stream_size_struct", [
5310 NumberOfDataStreams
,
5312 TrendCounters
= struct("trend_counters", [
5313 uint32("num_of_cache_checks", "Number Of Cache Checks"),
5314 uint32("num_of_cache_hits", "Number Of Cache Hits"),
5315 uint32("num_of_dirty_cache_checks", "Number Of Dirty Cache Checks"),
5316 uint32("num_of_cache_dirty_checks", "Number Of Cache Dirty Checks"),
5317 uint32("cache_used_while_check", "Cache Used While Checking"),
5318 uint32("wait_till_dirty_blcks_dec", "Wait Till Dirty Blocks Decrease Count"),
5319 uint32("alloc_blck_frm_avail", "Allocate Block From Available Count"),
5320 uint32("alloc_blck_frm_lru", "Allocate Block From LRU Count"),
5321 uint32("alloc_blck_already_wait", "Allocate Block Already Waiting"),
5322 uint32("lru_sit_time", "LRU Sitting Time"),
5323 uint32("num_of_cache_check_no_wait", "Number Of Cache Check No Wait"),
5324 uint32("num_of_cache_hits_no_wait", "Number Of Cache Hits No Wait"),
5325 ], "Trend Counters")
5326 TrusteeStruct
= struct("trustee_struct", [
5327 endian(ObjectID
, ENC_LITTLE_ENDIAN
),
5328 AccessRightsMaskWord
,
5330 UpdateDateStruct
= struct("update_date_struct", [
5333 UpdateIDStruct
= struct("update_id_struct", [
5336 UpdateTimeStruct
= struct("update_time_struct", [
5339 UserInformation
= struct("user_info", [
5340 endian(ConnectionNumber
, ENC_LITTLE_ENDIAN
),
5343 ConnectionServiceType
,
5356 TransactionTrackingFlag
,
5357 LogicalLockThreshold
,
5369 ], "User Information")
5370 VolInfoStructure
= struct("vol_info_struct", [
5375 SectorsPerClusterLong
,
5376 VolumeSizeInClusters
,
5378 SubAllocFreeableClusters
,
5379 FreeableLimboSectors
,
5380 NonFreeableLimboSectors
,
5381 NonFreeableAvailableSubAllocSectors
,
5382 NotUsableSubAllocSectors
,
5385 LimboDataStreamsCount
,
5386 OldestDeletedFileAgeInTicks
,
5387 CompressedDataStreamsCount
,
5388 CompressedLimboDataStreamsCount
,
5389 UnCompressableDataStreamsCount
,
5390 PreCompressedSectors
,
5395 ClustersUsedByDirectories
,
5396 ClustersUsedByExtendedDirectories
,
5397 TotalDirectoryEntries
,
5398 UnUsedDirectoryEntries
,
5399 TotalExtendedDirectoryExtents
,
5400 UnUsedExtendedDirectoryExtents
,
5401 ExtendedAttributesDefined
,
5402 ExtendedAttributeExtentsUsed
,
5403 DirectoryServicesObjectID
,
5406 ], "Volume Information")
5407 VolInfoStructure64
= struct("vol_info_struct64", [
5410 uint64("sectoresize64", "Sector Size"),
5411 uint64("sectorspercluster64", "Sectors Per Cluster"),
5412 uint64("volumesizeinclusters64", "Volume Size in Clusters"),
5413 uint64("freedclusters64", "Freed Clusters"),
5414 uint64("suballocfreeableclusters64", "Sub Alloc Freeable Clusters"),
5415 uint64("freeablelimbosectors64", "Freeable Limbo Sectors"),
5416 uint64("nonfreeablelimbosectors64", "Non-Freeable Limbo Sectors"),
5417 uint64("nonfreeableavailalesuballocsectors64", "Non-Freeable Available Sub Alloc Sectors"),
5418 uint64("notusablesuballocsectors64", "Not Usable Sub Alloc Sectors"),
5419 uint64("suballocclusters64", "Sub Alloc Clusters"),
5420 uint64("datastreamscount64", "Data Streams Count"),
5421 uint64("limbodatastreamscount64", "Limbo Data Streams Count"),
5422 uint64("oldestdeletedfileageinticks64", "Oldest Deleted File Age in Ticks"),
5423 uint64("compressdatastreamscount64", "Compressed Data Streams Count"),
5424 uint64("compressedlimbodatastreamscount64", "Compressed Limbo Data Streams Count"),
5425 uint64("uncompressabledatastreamscount64", "Uncompressable Data Streams Count"),
5426 uint64("precompressedsectors64", "Precompressed Sectors"),
5427 uint64("compressedsectors64", "Compressed Sectors"),
5428 uint64("migratedfiles64", "Migrated Files"),
5429 uint64("migratedsectors64", "Migrated Sectors"),
5430 uint64("clustersusedbyfat64", "Clusters Used by FAT"),
5431 uint64("clustersusedbydirectories64", "Clusters Used by Directories"),
5432 uint64("clustersusedbyextendeddirectories64", "Clusters Used by Extended Directories"),
5433 uint64("totaldirectoryentries64", "Total Directory Entries"),
5434 uint64("unuseddirectoryentries64", "Unused Directory Entries"),
5435 uint64("totalextendeddirectoryextents64", "Total Extended Directory Extents"),
5436 uint64("unusedextendeddirectoryextents64", "Unused Total Extended Directory Extents"),
5437 uint64("extendedattributesdefined64", "Extended Attributes Defined"),
5438 uint64("extendedattributeextentsused64", "Extended Attribute Extents Used"),
5439 uint64("directoryservicesobjectid64", "Directory Services Object ID"),
5442 ], "Volume Information")
5443 VolInfo2Struct
= struct("vol_info_struct_2", [
5444 uint32("volume_active_count", "Volume Active Count"),
5445 uint32("volume_use_count", "Volume Use Count"),
5446 uint32("mac_root_ids", "MAC Root IDs"),
5448 uint32("volume_reference_count", "Volume Reference Count"),
5449 uint32("compression_lower_limit", "Compression Lower Limit"),
5450 uint32("outstanding_ios", "Outstanding IOs"),
5451 uint32("outstanding_compression_ios", "Outstanding Compression IOs"),
5452 uint32("compression_ios_limit", "Compression IOs Limit"),
5453 ], "Extended Volume Information")
5454 VolumeWithNameStruct
= struct("volume_with_name_struct", [
5458 VolumeStruct
= struct("volume_struct", [
5462 zFileMap_Allocation
= struct("zfilemap_allocation_struct", [
5463 uint64("extent_byte_offset", "Byte Offset"),
5464 endian(uint64("extent_length_alloc", "Length"), ENC_LITTLE_ENDIAN
),
5466 ], "File Map Allocation")
5467 zFileMap_Logical
= struct("zfilemap_logical_struct", [
5468 uint64("extent_block_number", "Block Number"),
5469 uint64("extent_number_of_blocks", "Number of Blocks"),
5470 ], "File Map Logical")
5471 zFileMap_Physical
= struct("zfilemap_physical_struct", [
5472 uint64("extent_length_physical", "Length"),
5473 uint64("extent_logical_offset", "Logical Offset"),
5474 uint64("extent_pool_offset", "Pool Offset"),
5475 uint64("extent_physical_offset", "Physical Offset"),
5476 fw_string("extent_device_id", "Device ID", 8),
5477 ], "File Map Physical")
5479 ##############################################################################
5481 ##############################################################################
5482 def define_groups():
5483 groups
['accounting'] = "Accounting"
5484 groups
['afp'] = "AFP"
5485 groups
['auditing'] = "Auditing"
5486 groups
['bindery'] = "Bindery"
5487 groups
['connection'] = "Connection"
5488 groups
['enhanced'] = "Enhanced File System"
5489 groups
['extended'] = "Extended Attribute"
5490 groups
['extension'] = "NCP Extension"
5491 groups
['file'] = "File System"
5492 groups
['fileserver'] = "File Server Environment"
5493 groups
['message'] = "Message"
5494 groups
['migration'] = "Data Migration"
5495 groups
['nds'] = "Novell Directory Services"
5496 groups
['pburst'] = "Packet Burst"
5497 groups
['print'] = "Print"
5498 groups
['remote'] = "Remote"
5499 groups
['sync'] = "Synchronization"
5500 groups
['tsync'] = "Time Synchronization"
5501 groups
['tts'] = "Transaction Tracking"
5502 groups
['qms'] = "Queue Management System (QMS)"
5503 groups
['stats'] = "Server Statistics"
5504 groups
['nmas'] = "Novell Modular Authentication Service"
5505 groups
['sss'] = "SecretStore Services"
5507 ##############################################################################
5509 ##############################################################################
5510 def define_errors():
5511 errors
[0x0000] = "Ok"
5512 errors
[0x0001] = "Transaction tracking is available"
5513 errors
[0x0002] = "Ok. The data has been written"
5514 errors
[0x0003] = "Calling Station is a Manager"
5516 errors
[0x0100] = "One or more of the Connection Numbers in the send list are invalid"
5517 errors
[0x0101] = "Invalid space limit"
5518 errors
[0x0102] = "Insufficient disk space"
5519 errors
[0x0103] = "Queue server cannot add jobs"
5520 errors
[0x0104] = "Out of disk space"
5521 errors
[0x0105] = "Semaphore overflow"
5522 errors
[0x0106] = "Invalid Parameter"
5523 errors
[0x0107] = "Invalid Number of Minutes to Delay"
5524 errors
[0x0108] = "Invalid Start or Network Number"
5525 errors
[0x0109] = "Cannot Obtain License"
5526 errors
[0x010a] = "No Purgeable Files Available"
5528 errors
[0x0200] = "One or more clients in the send list are not logged in"
5529 errors
[0x0201] = "Queue server cannot attach"
5531 errors
[0x0300] = "One or more clients in the send list are not accepting messages"
5533 errors
[0x0400] = "Client already has message"
5534 errors
[0x0401] = "Queue server cannot service job"
5536 errors
[0x7300] = "Revoke Handle Rights Not Found"
5537 errors
[0x7700] = "Buffer Too Small"
5538 errors
[0x7900] = "Invalid Parameter in Request Packet"
5539 errors
[0x7901] = "Nothing being Compressed"
5540 errors
[0x7902] = "No Items Found"
5541 errors
[0x7a00] = "Connection Already Temporary"
5542 errors
[0x7b00] = "Connection Already Logged in"
5543 errors
[0x7c00] = "Connection Not Authenticated"
5544 errors
[0x7d00] = "Connection Not Logged In"
5546 errors
[0x7e00] = "NCP failed boundary check"
5547 errors
[0x7e01] = "Invalid Length"
5549 errors
[0x7f00] = "Lock Waiting"
5550 errors
[0x8000] = "Lock fail"
5551 errors
[0x8001] = "File in Use"
5553 errors
[0x8100] = "A file handle could not be allocated by the file server"
5554 errors
[0x8101] = "Out of File Handles"
5556 errors
[0x8200] = "Unauthorized to open the file"
5557 errors
[0x8300] = "Unable to read/write the volume. Possible bad sector on the file server"
5558 errors
[0x8301] = "Hard I/O Error"
5560 errors
[0x8400] = "Unauthorized to create the directory"
5561 errors
[0x8401] = "Unauthorized to create the file"
5563 errors
[0x8500] = "Unauthorized to delete the specified file"
5564 errors
[0x8501] = "Unauthorized to overwrite an existing file in this directory"
5566 errors
[0x8700] = "An unexpected character was encountered in the filename"
5567 errors
[0x8701] = "Create Filename Error"
5569 errors
[0x8800] = "Invalid file handle"
5570 errors
[0x8900] = "Unauthorized to search this file/directory"
5571 errors
[0x8a00] = "Unauthorized to delete this file/directory"
5572 errors
[0x8b00] = "Unauthorized to rename a file in this directory"
5574 errors
[0x8c00] = "No set privileges"
5575 errors
[0x8c01] = "Unauthorized to modify a file in this directory"
5576 errors
[0x8c02] = "Unauthorized to change the restriction on this volume"
5578 errors
[0x8d00] = "Some of the affected files are in use by another client"
5579 errors
[0x8d01] = "The affected file is in use"
5581 errors
[0x8e00] = "All of the affected files are in use by another client"
5582 errors
[0x8f00] = "Some of the affected files are read-only"
5584 errors
[0x9000] = "An attempt to modify a read-only volume occurred"
5585 errors
[0x9001] = "All of the affected files are read-only"
5586 errors
[0x9002] = "Read Only Access to Volume"
5588 errors
[0x9100] = "Some of the affected files already exist"
5589 errors
[0x9101] = "Some Names Exist"
5591 errors
[0x9200] = "Directory with the new name already exists"
5592 errors
[0x9201] = "All of the affected files already exist"
5594 errors
[0x9300] = "Unauthorized to read from this file"
5595 errors
[0x9400] = "Unauthorized to write to this file"
5596 errors
[0x9500] = "The affected file is detached"
5598 errors
[0x9600] = "The file server has run out of memory to service this request"
5599 errors
[0x9601] = "No alloc space for message"
5600 errors
[0x9602] = "Server Out of Space"
5602 errors
[0x9800] = "The affected volume is not mounted"
5603 errors
[0x9801] = "The volume associated with Volume Number is not mounted"
5604 errors
[0x9802] = "The resulting volume does not exist"
5605 errors
[0x9803] = "The destination volume is not mounted"
5606 errors
[0x9804] = "Disk Map Error"
5608 errors
[0x9900] = "The file server has run out of directory space on the affected volume"
5609 errors
[0x9a00] = "Invalid request to rename the affected file to another volume"
5611 errors
[0x9b00] = "DirHandle is not associated with a valid directory path"
5612 errors
[0x9b01] = "A resulting directory handle is not associated with a valid directory path"
5613 errors
[0x9b02] = "The directory associated with DirHandle does not exist"
5614 errors
[0x9b03] = "Bad directory handle"
5616 errors
[0x9c00] = "The resulting path is not valid"
5617 errors
[0x9c01] = "The resulting file path is not valid"
5618 errors
[0x9c02] = "The resulting directory path is not valid"
5619 errors
[0x9c03] = "Invalid path"
5620 errors
[0x9c04] = "No more trustees found, based on requested search sequence number"
5622 errors
[0x9d00] = "A directory handle was not available for allocation"
5624 errors
[0x9e00] = "The name of the directory does not conform to a legal name for this name space"
5625 errors
[0x9e01] = "The new directory name does not conform to a legal name for this name space"
5626 errors
[0x9e02] = "Bad File Name"
5628 errors
[0x9f00] = "The request attempted to delete a directory that is in use by another client"
5630 errors
[0xa000] = "The request attempted to delete a directory that is not empty"
5631 errors
[0xa100] = "An unrecoverable error occurred on the affected directory"
5633 errors
[0xa200] = "The request attempted to read from a file region that is physically locked"
5634 errors
[0xa201] = "I/O Lock Error"
5636 errors
[0xa400] = "Invalid directory rename attempted"
5637 errors
[0xa500] = "Invalid open create mode"
5638 errors
[0xa600] = "Auditor Access has been Removed"
5639 errors
[0xa700] = "Error Auditing Version"
5641 errors
[0xa800] = "Invalid Support Module ID"
5642 errors
[0xa801] = "No Auditing Access Rights"
5643 errors
[0xa802] = "No Access Rights"
5645 errors
[0xa900] = "Error Link in Path"
5646 errors
[0xa901] = "Invalid Path With Junction Present"
5648 errors
[0xaa00] = "Invalid Data Type Flag"
5650 errors
[0xac00] = "Packet Signature Required"
5652 errors
[0xbe00] = "Invalid Data Stream"
5653 errors
[0xbf00] = "Requests for this name space are not valid on this volume"
5655 errors
[0xc000] = "Unauthorized to retrieve accounting data"
5657 errors
[0xc100] = "The ACCOUNT_BALANCE property does not exist"
5658 errors
[0xc101] = "No Account Balance"
5660 errors
[0xc200] = "The object has exceeded its credit limit"
5661 errors
[0xc300] = "Too many holds have been placed against this account"
5662 errors
[0xc400] = "The client account has been disabled"
5664 errors
[0xc500] = "Access to the account has been denied because of intruder detection"
5665 errors
[0xc501] = "Login lockout"
5666 errors
[0xc502] = "Server Login Locked"
5668 errors
[0xc600] = "The caller does not have operator privileges"
5669 errors
[0xc601] = "The client does not have operator privileges"
5671 errors
[0xc800] = "Missing EA Key"
5672 errors
[0xc900] = "EA Not Found"
5673 errors
[0xca00] = "Invalid EA Handle Type"
5674 errors
[0xcb00] = "EA No Key No Data"
5675 errors
[0xcc00] = "EA Number Mismatch"
5676 errors
[0xcd00] = "Extent Number Out of Range"
5677 errors
[0xce00] = "EA Bad Directory Number"
5678 errors
[0xcf00] = "Invalid EA Handle"
5680 errors
[0xd000] = "Queue error"
5681 errors
[0xd001] = "EA Position Out of Range"
5683 errors
[0xd100] = "The queue does not exist"
5684 errors
[0xd101] = "EA Access Denied"
5686 errors
[0xd200] = "A queue server is not associated with this queue"
5687 errors
[0xd201] = "A queue server is not associated with the selected queue"
5688 errors
[0xd202] = "No queue server"
5689 errors
[0xd203] = "Data Page Odd Size"
5691 errors
[0xd300] = "No queue rights"
5692 errors
[0xd301] = "EA Volume Not Mounted"
5694 errors
[0xd400] = "The queue is full and cannot accept another request"
5695 errors
[0xd401] = "The queue associated with ObjectId is full and cannot accept another request"
5696 errors
[0xd402] = "Bad Page Boundary"
5698 errors
[0xd500] = "A job does not exist in this queue"
5699 errors
[0xd501] = "No queue job"
5700 errors
[0xd502] = "The job associated with JobNumber does not exist in this queue"
5701 errors
[0xd503] = "Inspect Failure"
5702 errors
[0xd504] = "Unknown NCP Extension Number"
5704 errors
[0xd600] = "The file server does not allow unencrypted passwords"
5705 errors
[0xd601] = "No job right"
5706 errors
[0xd602] = "EA Already Claimed"
5708 errors
[0xd700] = "Bad account"
5709 errors
[0xd701] = "The old and new password strings are identical"
5710 errors
[0xd702] = "The job is currently being serviced"
5711 errors
[0xd703] = "The queue is currently servicing a job"
5712 errors
[0xd704] = "Queue servicing"
5713 errors
[0xd705] = "Odd Buffer Size"
5715 errors
[0xd800] = "Queue not active"
5716 errors
[0xd801] = "No Scorecards"
5718 errors
[0xd900] = "The file server cannot accept another connection as it has reached its limit"
5719 errors
[0xd901] = "The client is not security equivalent to one of the objects in the Q_SERVERS group property of the target queue"
5720 errors
[0xd902] = "Queue Station is not a server"
5721 errors
[0xd903] = "Bad EDS Signature"
5722 errors
[0xd904] = "Attempt to log in using an account which has limits on the number of concurrent connections and that number has been reached."
5724 errors
[0xda00] = "Attempted to login to the file server during a restricted time period"
5725 errors
[0xda01] = "Queue halted"
5726 errors
[0xda02] = "EA Space Limit"
5728 errors
[0xdb00] = "Attempted to login to the file server from an unauthorized workstation or network"
5729 errors
[0xdb01] = "The queue cannot attach another queue server"
5730 errors
[0xdb02] = "Maximum queue servers"
5731 errors
[0xdb03] = "EA Key Corrupt"
5733 errors
[0xdc00] = "Account Expired"
5734 errors
[0xdc01] = "EA Key Limit"
5736 errors
[0xdd00] = "Tally Corrupt"
5737 errors
[0xde00] = "Attempted to login to the file server with an incorrect password"
5738 errors
[0xdf00] = "Attempted to login to the file server with a password that has expired"
5740 errors
[0xe000] = "No Login Connections Available"
5741 errors
[0xe700] = "No disk track"
5742 errors
[0xe800] = "Write to group"
5743 errors
[0xe900] = "The object is already a member of the group property"
5745 errors
[0xea00] = "No such member"
5746 errors
[0xea01] = "The bindery object is not a member of the set"
5747 errors
[0xea02] = "Non-existent member"
5749 errors
[0xeb00] = "The property is not a set property"
5751 errors
[0xec00] = "No such set"
5752 errors
[0xec01] = "The set property does not exist"
5754 errors
[0xed00] = "Property exists"
5755 errors
[0xed01] = "The property already exists"
5756 errors
[0xed02] = "An attempt was made to create a bindery object property that already exists"
5758 errors
[0xee00] = "The object already exists"
5759 errors
[0xee01] = "The bindery object already exists"
5761 errors
[0xef00] = "Illegal name"
5762 errors
[0xef01] = "Illegal characters in ObjectName field"
5763 errors
[0xef02] = "Invalid name"
5765 errors
[0xf000] = "A wildcard was detected in a field that does not support wildcards"
5766 errors
[0xf001] = "An illegal wildcard was detected in ObjectName"
5768 errors
[0xf100] = "The client does not have the rights to access this bindery object"
5769 errors
[0xf101] = "Bindery security"
5770 errors
[0xf102] = "Invalid bindery security"
5772 errors
[0xf200] = "Unauthorized to read from this object"
5773 errors
[0xf300] = "Unauthorized to rename this object"
5775 errors
[0xf400] = "Unauthorized to delete this object"
5776 errors
[0xf401] = "No object delete privileges"
5777 errors
[0xf402] = "Unauthorized to delete this queue"
5779 errors
[0xf500] = "Unauthorized to create this object"
5780 errors
[0xf501] = "No object create"
5782 errors
[0xf600] = "No property delete"
5783 errors
[0xf601] = "Unauthorized to delete the property of this object"
5784 errors
[0xf602] = "Unauthorized to delete this property"
5786 errors
[0xf700] = "Unauthorized to create this property"
5787 errors
[0xf701] = "No property create privilege"
5789 errors
[0xf800] = "Unauthorized to write to this property"
5790 errors
[0xf900] = "Unauthorized to read this property"
5791 errors
[0xfa00] = "Temporary remap error"
5793 errors
[0xfb00] = "No such property"
5794 errors
[0xfb01] = "The file server does not support this request"
5795 errors
[0xfb02] = "The specified property does not exist"
5796 errors
[0xfb03] = "The PASSWORD property does not exist for this bindery object"
5797 errors
[0xfb04] = "NDS NCP not available"
5798 errors
[0xfb05] = "Bad Directory Handle"
5799 errors
[0xfb06] = "Unknown Request"
5800 errors
[0xfb07] = "Invalid Subfunction Request"
5801 errors
[0xfb08] = "Attempt to use an invalid parameter (drive number, path, or flag value) during a set drive path call"
5802 errors
[0xfb09] = "NMAS not running on this server, NCP NOT Supported"
5803 errors
[0xfb0a] = "Station Not Logged In"
5804 errors
[0xfb0b] = "Secret Store not running on this server, NCP Not supported"
5806 errors
[0xfc00] = "The message queue cannot accept another message"
5807 errors
[0xfc01] = "The trustee associated with ObjectId does not exist"
5808 errors
[0xfc02] = "The specified bindery object does not exist"
5809 errors
[0xfc03] = "The bindery object associated with ObjectID does not exist"
5810 errors
[0xfc04] = "A bindery object does not exist that matches"
5811 errors
[0xfc05] = "The specified queue does not exist"
5812 errors
[0xfc06] = "No such object"
5813 errors
[0xfc07] = "The queue associated with ObjectID does not exist"
5815 errors
[0xfd00] = "Bad station number"
5816 errors
[0xfd01] = "The connection associated with ConnectionNumber is not active"
5817 errors
[0xfd02] = "Lock collision"
5818 errors
[0xfd03] = "Transaction tracking is disabled"
5820 errors
[0xfe00] = "I/O failure"
5821 errors
[0xfe01] = "The files containing the bindery on the file server are locked"
5822 errors
[0xfe02] = "A file with the specified name already exists in this directory"
5823 errors
[0xfe03] = "No more restrictions were found"
5824 errors
[0xfe04] = "The file server was unable to lock the file within the specified time limit"
5825 errors
[0xfe05] = "The file server was unable to lock all files within the specified time limit"
5826 errors
[0xfe06] = "The bindery object associated with ObjectID is not a valid trustee"
5827 errors
[0xfe07] = "Directory locked"
5828 errors
[0xfe08] = "Bindery locked"
5829 errors
[0xfe09] = "Invalid semaphore name length"
5830 errors
[0xfe0a] = "The file server was unable to complete the operation within the specified time limit"
5831 errors
[0xfe0b] = "Transaction restart"
5832 errors
[0xfe0c] = "Bad packet"
5833 errors
[0xfe0d] = "Timeout"
5834 errors
[0xfe0e] = "User Not Found"
5835 errors
[0xfe0f] = "Trustee Not Found"
5837 errors
[0xff00] = "Failure"
5838 errors
[0xff01] = "Lock error"
5839 errors
[0xff02] = "File not found"
5840 errors
[0xff03] = "The file not found or cannot be unlocked"
5841 errors
[0xff04] = "Record not found"
5842 errors
[0xff05] = "The logical record was not found"
5843 errors
[0xff06] = "The printer associated with Printer Number does not exist"
5844 errors
[0xff07] = "No such printer"
5845 errors
[0xff08] = "Unable to complete the request"
5846 errors
[0xff09] = "Unauthorized to change privileges of this trustee"
5847 errors
[0xff0a] = "No files matching the search criteria were found"
5848 errors
[0xff0b] = "A file matching the search criteria was not found"
5849 errors
[0xff0c] = "Verification failed"
5850 errors
[0xff0d] = "Object associated with ObjectID is not a manager"
5851 errors
[0xff0e] = "Invalid initial semaphore value"
5852 errors
[0xff0f] = "The semaphore handle is not valid"
5853 errors
[0xff10] = "SemaphoreHandle is not associated with a valid semaphore"
5854 errors
[0xff11] = "Invalid semaphore handle"
5855 errors
[0xff12] = "Transaction tracking is not available"
5856 errors
[0xff13] = "The transaction has not yet been written to disk"
5857 errors
[0xff14] = "Directory already exists"
5858 errors
[0xff15] = "The file already exists and the deletion flag was not set"
5859 errors
[0xff16] = "No matching files or directories were found"
5860 errors
[0xff17] = "A file or directory matching the search criteria was not found"
5861 errors
[0xff18] = "The file already exists"
5862 errors
[0xff19] = "Failure, No files found"
5863 errors
[0xff1a] = "Unlock Error"
5864 errors
[0xff1b] = "I/O Bound Error"
5865 errors
[0xff1c] = "Not Accepting Messages"
5866 errors
[0xff1d] = "No More Salvageable Files in Directory"
5867 errors
[0xff1e] = "Calling Station is Not a Manager"
5868 errors
[0xff1f] = "Bindery Failure"
5869 errors
[0xff20] = "NCP Extension Not Found"
5870 errors
[0xff21] = "Audit Property Not Found"
5871 errors
[0xff22] = "Server Set Parameter Not Found"
5873 ##############################################################################
5875 ##############################################################################
5876 def ExamineVars(vars, structs_hash
, vars_hash
):
5878 if isinstance(var
, struct
):
5879 structs_hash
[var
.HFName()] = var
5880 struct_vars
= var
.Variables()
5881 ExamineVars(struct_vars
, structs_hash
, vars_hash
)
5883 vars_hash
[repr(var
)] = var
5884 if isinstance(var
, bitfield
):
5885 sub_vars
= var
.SubVariables()
5886 ExamineVars(sub_vars
, structs_hash
, vars_hash
)
5893 print(" * Do not modify this file. Changes will be overwritten.")
5894 print(" * Generated automatically from %s" % (sys
.argv
[0]))
5899 * Portions Copyright (c) Gilbert Ramirez 2000-2002
5900 * Portions Copyright (c) Novell, Inc. 2000-2005
5902 * SPDX-License-Identifier: GPL-2.0-or-later
5908 #include <epan/packet.h>
5909 #include <epan/dfilter/dfilter.h>
5910 #include <epan/exceptions.h>
5911 #include <ftypes/ftypes.h>
5912 #include <epan/to_str.h>
5913 #include <epan/conversation.h>
5914 #include <epan/ptvcursor.h>
5915 #include <epan/strutil.h>
5916 #include <epan/reassemble.h>
5917 #include <epan/tap.h>
5918 #include <epan/proto_data.h>
5919 #include <wsutil/array.h>
5920 #include "packet-ncp-int.h"
5921 #include "packet-ncp-nmas.h"
5922 #include "packet-ncp-sss.h"
5924 /* Function declarations for functions used in proto_register_ncp2222() */
5925 void proto_register_ncp2222(void);
5927 /* Endianness macros */
5928 #define NO_ENDIANNESS 0
5930 #define NO_LENGTH -1
5932 /* We use this int-pointer as a special flag in ptvc_record's */
5933 static int ptvc_struct_int_storage;
5934 #define PTVC_STRUCT (&ptvc_struct_int_storage)
5936 /* Values used in the count-variable ("var"/"repeat") logic. */""")
5939 if global_highest_var
> -1:
5940 print("#define NUM_REPEAT_VARS %d" % (global_highest_var
+ 1))
5941 print("static unsigned repeat_vars[NUM_REPEAT_VARS];")
5943 print("#define NUM_REPEAT_VARS 0")
5944 print("static unsigned *repeat_vars = NULL;")
5947 #define NO_VAR NUM_REPEAT_VARS
5948 #define NO_REPEAT NUM_REPEAT_VARS
5950 #define REQ_COND_SIZE_CONSTANT 0
5951 #define REQ_COND_SIZE_VARIABLE 1
5952 #define NO_REQ_COND_SIZE 0
5955 #define NTREE 0x00020000
5956 #define NDEPTH 0x00000002
5957 #define NREV 0x00000004
5958 #define NFLAGS 0x00000008
5960 static int hf_ncp_number_of_data_streams_long;
5961 static int hf_ncp_func;
5962 static int hf_ncp_length;
5963 static int hf_ncp_subfunc;
5964 static int hf_ncp_group;
5965 static int hf_ncp_fragment_handle;
5966 static int hf_ncp_completion_code;
5967 static int hf_ncp_connection_status;
5968 static int hf_ncp_req_frame_num;
5969 static int hf_ncp_req_frame_time;
5970 static int hf_ncp_fragment_size;
5971 static int hf_ncp_message_size;
5972 static int hf_ncp_nds_flag;
5973 static int hf_ncp_nds_verb;
5974 static int hf_ping_version;
5975 /* static int hf_nds_version; */
5976 /* static int hf_nds_flags; */
5977 static int hf_nds_reply_depth;
5978 static int hf_nds_reply_rev;
5979 static int hf_nds_reply_flags;
5980 static int hf_nds_p1type;
5981 static int hf_nds_uint32value;
5982 static int hf_nds_bit1;
5983 static int hf_nds_bit2;
5984 static int hf_nds_bit3;
5985 static int hf_nds_bit4;
5986 static int hf_nds_bit5;
5987 static int hf_nds_bit6;
5988 static int hf_nds_bit7;
5989 static int hf_nds_bit8;
5990 static int hf_nds_bit9;
5991 static int hf_nds_bit10;
5992 static int hf_nds_bit11;
5993 static int hf_nds_bit12;
5994 static int hf_nds_bit13;
5995 static int hf_nds_bit14;
5996 static int hf_nds_bit15;
5997 static int hf_nds_bit16;
5998 static int hf_outflags;
5999 static int hf_bit1outflags;
6000 static int hf_bit2outflags;
6001 static int hf_bit3outflags;
6002 static int hf_bit4outflags;
6003 static int hf_bit5outflags;
6004 static int hf_bit6outflags;
6005 static int hf_bit7outflags;
6006 static int hf_bit8outflags;
6007 static int hf_bit9outflags;
6008 static int hf_bit10outflags;
6009 static int hf_bit11outflags;
6010 static int hf_bit12outflags;
6011 static int hf_bit13outflags;
6012 static int hf_bit14outflags;
6013 static int hf_bit15outflags;
6014 static int hf_bit16outflags;
6015 static int hf_bit1nflags;
6016 static int hf_bit2nflags;
6017 static int hf_bit3nflags;
6018 static int hf_bit4nflags;
6019 static int hf_bit5nflags;
6020 static int hf_bit6nflags;
6021 static int hf_bit7nflags;
6022 static int hf_bit8nflags;
6023 static int hf_bit9nflags;
6024 static int hf_bit10nflags;
6025 static int hf_bit11nflags;
6026 static int hf_bit12nflags;
6027 static int hf_bit13nflags;
6028 static int hf_bit14nflags;
6029 static int hf_bit15nflags;
6030 static int hf_bit16nflags;
6031 static int hf_bit1rflags;
6032 static int hf_bit2rflags;
6033 static int hf_bit3rflags;
6034 static int hf_bit4rflags;
6035 static int hf_bit5rflags;
6036 static int hf_bit6rflags;
6037 static int hf_bit7rflags;
6038 static int hf_bit8rflags;
6039 static int hf_bit9rflags;
6040 static int hf_bit10rflags;
6041 static int hf_bit11rflags;
6042 static int hf_bit12rflags;
6043 static int hf_bit13rflags;
6044 static int hf_bit14rflags;
6045 static int hf_bit15rflags;
6046 static int hf_bit16rflags;
6047 static int hf_cflags;
6048 static int hf_bit1cflags;
6049 static int hf_bit2cflags;
6050 static int hf_bit3cflags;
6051 static int hf_bit4cflags;
6052 static int hf_bit5cflags;
6053 static int hf_bit6cflags;
6054 static int hf_bit7cflags;
6055 static int hf_bit8cflags;
6056 static int hf_bit9cflags;
6057 static int hf_bit10cflags;
6058 static int hf_bit11cflags;
6059 static int hf_bit12cflags;
6060 static int hf_bit13cflags;
6061 static int hf_bit14cflags;
6062 static int hf_bit15cflags;
6063 static int hf_bit16cflags;
6064 static int hf_bit1acflags;
6065 static int hf_bit2acflags;
6066 static int hf_bit3acflags;
6067 static int hf_bit4acflags;
6068 static int hf_bit5acflags;
6069 static int hf_bit6acflags;
6070 static int hf_bit7acflags;
6071 static int hf_bit8acflags;
6072 static int hf_bit9acflags;
6073 static int hf_bit10acflags;
6074 static int hf_bit11acflags;
6075 static int hf_bit12acflags;
6076 static int hf_bit13acflags;
6077 static int hf_bit14acflags;
6078 static int hf_bit15acflags;
6079 static int hf_bit16acflags;
6080 static int hf_vflags;
6081 static int hf_bit1vflags;
6082 static int hf_bit2vflags;
6083 static int hf_bit3vflags;
6084 static int hf_bit4vflags;
6085 static int hf_bit5vflags;
6086 static int hf_bit6vflags;
6087 static int hf_bit7vflags;
6088 static int hf_bit8vflags;
6089 static int hf_bit9vflags;
6090 static int hf_bit10vflags;
6091 static int hf_bit11vflags;
6092 static int hf_bit12vflags;
6093 static int hf_bit13vflags;
6094 static int hf_bit14vflags;
6095 static int hf_bit15vflags;
6096 static int hf_bit16vflags;
6097 static int hf_eflags;
6098 static int hf_bit1eflags;
6099 static int hf_bit2eflags;
6100 static int hf_bit3eflags;
6101 static int hf_bit4eflags;
6102 static int hf_bit5eflags;
6103 static int hf_bit6eflags;
6104 static int hf_bit7eflags;
6105 static int hf_bit8eflags;
6106 static int hf_bit9eflags;
6107 static int hf_bit10eflags;
6108 static int hf_bit11eflags;
6109 static int hf_bit12eflags;
6110 static int hf_bit13eflags;
6111 static int hf_bit14eflags;
6112 static int hf_bit15eflags;
6113 static int hf_bit16eflags;
6114 static int hf_infoflagsl;
6115 static int hf_retinfoflagsl;
6116 static int hf_bit1infoflagsl;
6117 static int hf_bit2infoflagsl;
6118 static int hf_bit3infoflagsl;
6119 static int hf_bit4infoflagsl;
6120 static int hf_bit5infoflagsl;
6121 static int hf_bit6infoflagsl;
6122 static int hf_bit7infoflagsl;
6123 static int hf_bit8infoflagsl;
6124 static int hf_bit9infoflagsl;
6125 static int hf_bit10infoflagsl;
6126 static int hf_bit11infoflagsl;
6127 static int hf_bit12infoflagsl;
6128 static int hf_bit13infoflagsl;
6129 static int hf_bit14infoflagsl;
6130 static int hf_bit15infoflagsl;
6131 static int hf_bit16infoflagsl;
6132 static int hf_infoflagsh;
6133 static int hf_bit1infoflagsh;
6134 static int hf_bit2infoflagsh;
6135 static int hf_bit3infoflagsh;
6136 static int hf_bit4infoflagsh;
6137 static int hf_bit5infoflagsh;
6138 static int hf_bit6infoflagsh;
6139 static int hf_bit7infoflagsh;
6140 static int hf_bit8infoflagsh;
6141 static int hf_bit9infoflagsh;
6142 static int hf_bit10infoflagsh;
6143 static int hf_bit11infoflagsh;
6144 static int hf_bit12infoflagsh;
6145 static int hf_bit13infoflagsh;
6146 static int hf_bit14infoflagsh;
6147 static int hf_bit15infoflagsh;
6148 static int hf_bit16infoflagsh;
6149 static int hf_retinfoflagsh;
6150 static int hf_bit1retinfoflagsh;
6151 static int hf_bit2retinfoflagsh;
6152 static int hf_bit3retinfoflagsh;
6153 static int hf_bit4retinfoflagsh;
6154 static int hf_bit5retinfoflagsh;
6155 static int hf_bit6retinfoflagsh;
6156 static int hf_bit7retinfoflagsh;
6157 static int hf_bit8retinfoflagsh;
6158 static int hf_bit9retinfoflagsh;
6159 static int hf_bit10retinfoflagsh;
6160 static int hf_bit11retinfoflagsh;
6161 static int hf_bit12retinfoflagsh;
6162 static int hf_bit13retinfoflagsh;
6163 static int hf_bit14retinfoflagsh;
6164 static int hf_bit15retinfoflagsh;
6165 static int hf_bit16retinfoflagsh;
6166 static int hf_bit1lflags;
6167 static int hf_bit2lflags;
6168 static int hf_bit3lflags;
6169 static int hf_bit4lflags;
6170 static int hf_bit5lflags;
6171 static int hf_bit6lflags;
6172 static int hf_bit7lflags;
6173 static int hf_bit8lflags;
6174 static int hf_bit9lflags;
6175 static int hf_bit10lflags;
6176 static int hf_bit11lflags;
6177 static int hf_bit12lflags;
6178 static int hf_bit13lflags;
6179 static int hf_bit14lflags;
6180 static int hf_bit15lflags;
6181 static int hf_bit16lflags;
6182 static int hf_l1flagsl;
6183 static int hf_l1flagsh;
6184 static int hf_bit1l1flagsl;
6185 static int hf_bit2l1flagsl;
6186 static int hf_bit3l1flagsl;
6187 static int hf_bit4l1flagsl;
6188 static int hf_bit5l1flagsl;
6189 static int hf_bit6l1flagsl;
6190 static int hf_bit7l1flagsl;
6191 static int hf_bit8l1flagsl;
6192 static int hf_bit9l1flagsl;
6193 static int hf_bit10l1flagsl;
6194 static int hf_bit11l1flagsl;
6195 static int hf_bit12l1flagsl;
6196 static int hf_bit13l1flagsl;
6197 static int hf_bit14l1flagsl;
6198 static int hf_bit15l1flagsl;
6199 static int hf_bit16l1flagsl;
6200 static int hf_bit1l1flagsh;
6201 static int hf_bit2l1flagsh;
6202 static int hf_bit3l1flagsh;
6203 static int hf_bit4l1flagsh;
6204 static int hf_bit5l1flagsh;
6205 static int hf_bit6l1flagsh;
6206 static int hf_bit7l1flagsh;
6207 static int hf_bit8l1flagsh;
6208 static int hf_bit9l1flagsh;
6209 static int hf_bit10l1flagsh;
6210 static int hf_bit11l1flagsh;
6211 static int hf_bit12l1flagsh;
6212 static int hf_bit13l1flagsh;
6213 static int hf_bit14l1flagsh;
6214 static int hf_bit15l1flagsh;
6215 static int hf_bit16l1flagsh;
6216 static int hf_nds_tree_name;
6217 static int hf_nds_reply_error;
6218 static int hf_nds_net;
6219 static int hf_nds_node;
6220 static int hf_nds_socket;
6221 static int hf_add_ref_ip;
6222 static int hf_add_ref_udp;
6223 static int hf_add_ref_tcp;
6224 static int hf_referral_record;
6225 static int hf_referral_addcount;
6226 static int hf_nds_port;
6227 static int hf_mv_string;
6228 static int hf_nds_syntax;
6229 static int hf_value_string;
6230 static int hf_nds_buffer_size;
6231 static int hf_nds_ver;
6232 static int hf_nds_nflags;
6233 static int hf_nds_scope;
6234 static int hf_nds_name;
6235 static int hf_nds_comm_trans;
6236 static int hf_nds_tree_trans;
6237 static int hf_nds_iteration;
6238 static int hf_nds_eid;
6239 static int hf_nds_info_type;
6240 static int hf_nds_all_attr;
6241 static int hf_nds_req_flags;
6242 static int hf_nds_attr;
6243 static int hf_nds_crc;
6244 static int hf_nds_referrals;
6245 static int hf_nds_result_flags;
6246 static int hf_nds_tag_string;
6247 static int hf_value_bytes;
6248 static int hf_replica_type;
6249 static int hf_replica_state;
6250 static int hf_replica_number;
6251 static int hf_min_nds_ver;
6252 static int hf_nds_ver_include;
6253 static int hf_nds_ver_exclude;
6254 /* static int hf_nds_es; */
6255 static int hf_es_type;
6256 /* static int hf_delim_string; */
6257 static int hf_rdn_string;
6258 static int hf_nds_revent;
6259 static int hf_nds_rnum;
6260 static int hf_nds_name_type;
6261 static int hf_nds_rflags;
6262 static int hf_nds_eflags;
6263 static int hf_nds_depth;
6264 static int hf_nds_class_def_type;
6265 static int hf_nds_classes;
6266 static int hf_nds_return_all_classes;
6267 static int hf_nds_stream_flags;
6268 static int hf_nds_stream_name;
6269 static int hf_nds_file_handle;
6270 static int hf_nds_file_size;
6271 static int hf_nds_dn_output_type;
6272 static int hf_nds_nested_output_type;
6273 static int hf_nds_output_delimiter;
6274 static int hf_nds_output_entry_specifier;
6275 static int hf_es_value;
6276 static int hf_es_rdn_count;
6277 static int hf_nds_replica_num;
6278 static int hf_nds_event_num;
6279 static int hf_es_seconds;
6280 static int hf_nds_compare_results;
6281 static int hf_nds_parent;
6282 static int hf_nds_name_filter;
6283 static int hf_nds_class_filter;
6284 static int hf_nds_time_filter;
6285 static int hf_nds_partition_root_id;
6286 static int hf_nds_replicas;
6287 static int hf_nds_purge;
6288 static int hf_nds_local_partition;
6289 static int hf_partition_busy;
6290 static int hf_nds_number_of_changes;
6291 static int hf_sub_count;
6292 static int hf_nds_revision;
6293 static int hf_nds_base_class;
6294 static int hf_nds_relative_dn;
6295 /* static int hf_nds_root_dn; */
6296 /* static int hf_nds_parent_dn; */
6297 static int hf_deref_base;
6298 /* static int hf_nds_entry_info; */
6299 static int hf_nds_base;
6300 static int hf_nds_privileges;
6301 static int hf_nds_vflags;
6302 static int hf_nds_value_len;
6303 static int hf_nds_cflags;
6304 static int hf_nds_acflags;
6305 static int hf_nds_asn1;
6306 static int hf_nds_upper;
6307 static int hf_nds_lower;
6308 static int hf_nds_trustee_dn;
6309 static int hf_nds_attribute_dn;
6310 static int hf_nds_acl_add;
6311 static int hf_nds_acl_del;
6312 static int hf_nds_att_add;
6313 static int hf_nds_att_del;
6314 static int hf_nds_keep;
6315 static int hf_nds_new_rdn;
6316 static int hf_nds_time_delay;
6317 static int hf_nds_root_name;
6318 static int hf_nds_new_part_id;
6319 static int hf_nds_child_part_id;
6320 static int hf_nds_master_part_id;
6321 static int hf_nds_target_name;
6322 static int hf_nds_super;
6323 static int hf_pingflags2;
6324 static int hf_bit1pingflags2;
6325 static int hf_bit2pingflags2;
6326 static int hf_bit3pingflags2;
6327 static int hf_bit4pingflags2;
6328 static int hf_bit5pingflags2;
6329 static int hf_bit6pingflags2;
6330 static int hf_bit7pingflags2;
6331 static int hf_bit8pingflags2;
6332 static int hf_bit9pingflags2;
6333 static int hf_bit10pingflags2;
6334 static int hf_bit11pingflags2;
6335 static int hf_bit12pingflags2;
6336 static int hf_bit13pingflags2;
6337 static int hf_bit14pingflags2;
6338 static int hf_bit15pingflags2;
6339 static int hf_bit16pingflags2;
6340 static int hf_pingflags1;
6341 static int hf_bit1pingflags1;
6342 static int hf_bit2pingflags1;
6343 static int hf_bit3pingflags1;
6344 static int hf_bit4pingflags1;
6345 static int hf_bit5pingflags1;
6346 static int hf_bit6pingflags1;
6347 static int hf_bit7pingflags1;
6348 static int hf_bit8pingflags1;
6349 static int hf_bit9pingflags1;
6350 static int hf_bit10pingflags1;
6351 static int hf_bit11pingflags1;
6352 static int hf_bit12pingflags1;
6353 static int hf_bit13pingflags1;
6354 static int hf_bit14pingflags1;
6355 static int hf_bit15pingflags1;
6356 static int hf_bit16pingflags1;
6357 static int hf_pingpflags1;
6358 static int hf_bit1pingpflags1;
6359 static int hf_bit2pingpflags1;
6360 static int hf_bit3pingpflags1;
6361 static int hf_bit4pingpflags1;
6362 static int hf_bit5pingpflags1;
6363 static int hf_bit6pingpflags1;
6364 static int hf_bit7pingpflags1;
6365 static int hf_bit8pingpflags1;
6366 static int hf_bit9pingpflags1;
6367 static int hf_bit10pingpflags1;
6368 static int hf_bit11pingpflags1;
6369 static int hf_bit12pingpflags1;
6370 static int hf_bit13pingpflags1;
6371 static int hf_bit14pingpflags1;
6372 static int hf_bit15pingpflags1;
6373 static int hf_bit16pingpflags1;
6374 static int hf_pingvflags1;
6375 static int hf_bit1pingvflags1;
6376 static int hf_bit2pingvflags1;
6377 static int hf_bit3pingvflags1;
6378 static int hf_bit4pingvflags1;
6379 static int hf_bit5pingvflags1;
6380 static int hf_bit6pingvflags1;
6381 static int hf_bit7pingvflags1;
6382 static int hf_bit8pingvflags1;
6383 static int hf_bit9pingvflags1;
6384 static int hf_bit10pingvflags1;
6385 static int hf_bit11pingvflags1;
6386 static int hf_bit12pingvflags1;
6387 static int hf_bit13pingvflags1;
6388 static int hf_bit14pingvflags1;
6389 static int hf_bit15pingvflags1;
6390 static int hf_bit16pingvflags1;
6391 static int hf_nds_letter_ver;
6392 static int hf_nds_os_majver;
6393 static int hf_nds_os_minver;
6394 static int hf_nds_lic_flags;
6395 static int hf_nds_ds_time;
6396 static int hf_nds_ping_version;
6397 static int hf_nds_search_scope;
6398 static int hf_nds_num_objects;
6399 static int hf_siflags;
6400 static int hf_bit1siflags;
6401 static int hf_bit2siflags;
6402 static int hf_bit3siflags;
6403 static int hf_bit4siflags;
6404 static int hf_bit5siflags;
6405 static int hf_bit6siflags;
6406 static int hf_bit7siflags;
6407 static int hf_bit8siflags;
6408 static int hf_bit9siflags;
6409 static int hf_bit10siflags;
6410 static int hf_bit11siflags;
6411 static int hf_bit12siflags;
6412 static int hf_bit13siflags;
6413 static int hf_bit14siflags;
6414 static int hf_bit15siflags;
6415 static int hf_bit16siflags;
6416 static int hf_nds_segments;
6417 static int hf_nds_segment;
6418 static int hf_nds_segment_overlap;
6419 static int hf_nds_segment_overlap_conflict;
6420 static int hf_nds_segment_multiple_tails;
6421 static int hf_nds_segment_too_long_segment;
6422 static int hf_nds_segment_error;
6423 static int hf_nds_segment_count;
6424 static int hf_nds_reassembled_length;
6425 static int hf_nds_verb2b_req_flags;
6426 static int hf_ncp_ip_address;
6427 static int hf_ncp_copyright;
6428 static int hf_ndsprot1flag;
6429 static int hf_ndsprot2flag;
6430 static int hf_ndsprot3flag;
6431 static int hf_ndsprot4flag;
6432 static int hf_ndsprot5flag;
6433 static int hf_ndsprot6flag;
6434 static int hf_ndsprot7flag;
6435 static int hf_ndsprot8flag;
6436 static int hf_ndsprot9flag;
6437 static int hf_ndsprot10flag;
6438 static int hf_ndsprot11flag;
6439 static int hf_ndsprot12flag;
6440 static int hf_ndsprot13flag;
6441 static int hf_ndsprot14flag;
6442 static int hf_ndsprot15flag;
6443 static int hf_ndsprot16flag;
6444 static int hf_nds_svr_dst_name;
6445 static int hf_nds_tune_mark;
6446 /* static int hf_nds_create_time; */
6447 static int hf_srvr_param_number;
6448 static int hf_srvr_param_boolean;
6449 static int hf_srvr_param_string;
6450 static int hf_nds_svr_time;
6451 static int hf_nds_crt_time;
6452 static int hf_nds_number_of_items;
6453 static int hf_nds_compare_attributes;
6454 static int hf_nds_read_attribute;
6455 static int hf_nds_write_add_delete_attribute;
6456 static int hf_nds_add_delete_self;
6457 static int hf_nds_privilege_not_defined;
6458 static int hf_nds_supervisor;
6459 static int hf_nds_inheritance_control;
6460 static int hf_nds_browse_entry;
6461 static int hf_nds_add_entry;
6462 static int hf_nds_delete_entry;
6463 static int hf_nds_rename_entry;
6464 static int hf_nds_supervisor_entry;
6465 static int hf_nds_entry_privilege_not_defined;
6466 static int hf_nds_iterator;
6467 static int hf_ncp_nds_iterverb;
6468 static int hf_iter_completion_code;
6469 /* static int hf_nds_iterobj; */
6470 static int hf_iter_verb_completion_code;
6471 static int hf_iter_ans;
6472 static int hf_positionable;
6473 static int hf_num_skipped;
6474 static int hf_num_to_skip;
6475 static int hf_timelimit;
6476 static int hf_iter_index;
6477 static int hf_num_to_get;
6478 /* static int hf_ret_info_type; */
6479 static int hf_data_size;
6480 static int hf_this_count;
6481 static int hf_max_entries;
6482 static int hf_move_position;
6483 static int hf_iter_copy;
6484 static int hf_iter_position;
6485 static int hf_iter_search;
6486 static int hf_iter_other;
6487 static int hf_nds_oid;
6488 static int hf_ncp_bytes_actually_trans_64;
6489 static int hf_sap_name;
6490 static int hf_os_name;
6491 static int hf_vendor_name;
6492 static int hf_hardware_name;
6493 static int hf_no_request_record_found;
6494 static int hf_search_modifier;
6495 static int hf_search_pattern;
6496 static int hf_nds_acl_protected_attribute;
6497 static int hf_nds_acl_subject;
6498 static int hf_nds_acl_privileges;
6500 static expert_field ei_ncp_file_rights_change;
6501 static expert_field ei_ncp_completion_code;
6502 static expert_field ei_nds_reply_error;
6503 static expert_field ei_ncp_destroy_connection;
6504 static expert_field ei_nds_iteration;
6505 static expert_field ei_ncp_eid;
6506 static expert_field ei_ncp_file_handle;
6507 static expert_field ei_ncp_connection_destroyed;
6508 static expert_field ei_ncp_no_request_record_found;
6509 static expert_field ei_ncp_file_rights;
6510 static expert_field ei_iter_verb_completion_code;
6511 static expert_field ei_ncp_connection_request;
6512 static expert_field ei_ncp_connection_status;
6513 static expert_field ei_ncp_op_lock_handle;
6514 static expert_field ei_ncp_effective_rights;
6515 static expert_field ei_ncp_server;
6516 static expert_field ei_ncp_invalid_offset;
6517 static expert_field ei_ncp_address_type;
6518 static expert_field ei_ncp_value_too_large;
6521 # Look at all packet types in the packets collection, and cull information
6523 errors_used_list
= []
6524 errors_used_hash
= {}
6525 groups_used_list
= []
6526 groups_used_hash
= {}
6527 variables_used_hash
= {}
6528 structs_used_hash
= {}
6531 # Determine which error codes are used.
6532 codes
= pkt
.CompletionCodes()
6533 for code
in codes
.Records():
6534 if code
not in errors_used_hash
:
6535 errors_used_hash
[code
] = len(errors_used_list
)
6536 errors_used_list
.append(code
)
6538 # Determine which groups are used.
6540 if group
not in groups_used_hash
:
6541 groups_used_hash
[group
] = len(groups_used_list
)
6542 groups_used_list
.append(group
)
6547 # Determine which variables are used.
6548 vars = pkt
.Variables()
6549 ExamineVars(vars, structs_used_hash
, variables_used_hash
)
6552 # Print the hf variable declarations
6553 sorted_vars
= list(variables_used_hash
.values())
6555 for var
in sorted_vars
:
6556 print("static int " + var
.HFName() + ";")
6559 # Print the value_string's
6560 for var
in sorted_vars
:
6561 if isinstance(var
, val_string
):
6565 # Determine which error codes are not used
6566 errors_not_used
= {}
6567 # Copy the keys from the error list...
6568 for code
in list(errors
.keys()):
6569 errors_not_used
[code
] = 1
6570 # ... and remove the ones that *were* used.
6571 for code
in errors_used_list
:
6572 del errors_not_used
[code
]
6574 # Print a remark showing errors not used
6575 list_errors_not_used
= list(errors_not_used
.keys())
6576 list_errors_not_used
.sort()
6577 for code
in list_errors_not_used
:
6578 print("/* Error 0x%04x not used: %s */" % (code
, errors
[code
]))
6581 # Print the errors table
6582 print("/* Error strings. */")
6583 print("static const char *ncp_errors[] = {")
6584 for code
in errors_used_list
:
6585 print(' /* %02d (0x%04x) */ "%s",' % (errors_used_hash
[code
], code
, errors
[code
]))
6591 # Determine which groups are not used
6592 groups_not_used
= {}
6593 # Copy the keys from the group list...
6594 for group
in list(groups
.keys()):
6595 groups_not_used
[group
] = 1
6596 # ... and remove the ones that *were* used.
6597 for group
in groups_used_list
:
6598 del groups_not_used
[group
]
6600 # Print a remark showing groups not used
6601 list_groups_not_used
= list(groups_not_used
.keys())
6602 list_groups_not_used
.sort()
6603 for group
in list_groups_not_used
:
6604 print("/* Group not used: %s = %s */" % (group
, groups
[group
]))
6607 # Print the groups table
6608 print("/* Group strings. */")
6609 print("static const char *ncp_groups[] = {")
6610 for group
in groups_used_list
:
6611 print(' /* %02d (%s) */ "%s",' % (groups_used_hash
[group
], group
, groups
[group
]))
6614 # Print the group macros
6615 for group
in groups_used_list
:
6616 name
= str.upper(group
)
6617 print("#define NCP_GROUP_%s %d" % (name
, groups_used_hash
[group
]))
6621 # Print the conditional_records for all Request Conditions.
6623 print("/* Request-Condition dfilter records. The NULL pointer")
6624 print(" is replaced by a pointer to the created dfilter_t. */")
6625 if len(global_req_cond
) == 0:
6626 print("static conditional_record req_conds = NULL;")
6628 print("static conditional_record req_conds[] = {")
6629 req_cond_l
= list(global_req_cond
.keys())
6631 for req_cond
in req_cond_l
:
6632 print(" { \"%s\", NULL }," % (req_cond
,))
6633 global_req_cond
[req_cond
] = num
6636 print("#define NUM_REQ_CONDS %d" % (num
,))
6637 print("#define NO_REQ_COND NUM_REQ_CONDS\n\n")
6641 # Print PTVC's for bitfields
6643 print("/* PTVC records for bit-fields. */")
6644 for var
in sorted_vars
:
6645 if isinstance(var
, bitfield
):
6646 sub_vars_ptvc
= var
.SubVariablesPTVC()
6647 print("/* %s */" % (sub_vars_ptvc
.Name()))
6648 print(sub_vars_ptvc
.Code())
6649 ett_list
.append(sub_vars_ptvc
.ETTName())
6652 # Print the PTVC's for structures
6653 print("/* PTVC records for structs. */")
6656 for svar
in list(structs_used_hash
.values()):
6657 svhash
[svar
.HFName()] = svar
6659 ett_list
.append(svar
.ETTName())
6661 struct_vars
= list(svhash
.keys())
6663 for varname
in struct_vars
:
6664 var
= svhash
[varname
]
6669 # Print info string structures
6670 print("/* Info Strings */")
6672 if pkt
.req_info_str
:
6673 name
= pkt
.InfoStrName() + "_req"
6674 var
= pkt
.req_info_str
[0]
6675 print("static const info_string_t %s = {" % (name
,))
6676 print(" &%s," % (var
.HFName(),))
6677 print(' "%s",' % (pkt
.req_info_str
[1],))
6678 print(' "%s"' % (pkt
.req_info_str
[2],))
6681 # Print regular PTVC's
6682 print("/* PTVC records. These are re-used to save space. */")
6683 for ptvc
in ptvc_lists
.Members():
6684 if not ptvc
.Null() and not ptvc
.Empty():
6687 # Print error_equivalency tables
6688 print("/* Error-Equivalency Tables. These are re-used to save space. */")
6689 for compcodes
in compcode_lists
.Members():
6690 errors
= compcodes
.Records()
6691 # Make sure the record for error = 0x00 comes last.
6692 print("static const error_equivalency %s[] = {" % (compcodes
.Name()))
6693 for error
in errors
:
6694 error_in_packet
= error
>> 8;
6695 ncp_error_index
= errors_used_hash
[error
]
6696 print(" { 0x%02x, %d }, /* 0x%04x */" % (error_in_packet
,
6697 ncp_error_index
, error
))
6698 print(" { 0x00, -1 }\n};\n")
6702 # Print integer arrays for all ncp_records that need
6703 # a list of req_cond_indexes. Do it "uniquely" to save space;
6704 # if multiple packets share the same set of req_cond's,
6705 # then they'll share the same integer array
6706 print("/* Request Condition Indexes */")
6707 # First, make them unique
6708 req_cond_collection
= UniqueCollection("req_cond_collection")
6710 req_conds
= pkt
.CalculateReqConds()
6712 unique_list
= req_cond_collection
.Add(req_conds
)
6713 pkt
.SetReqConds(unique_list
)
6715 pkt
.SetReqConds(None)
6718 for req_cond
in req_cond_collection
.Members():
6719 sys
.stdout
.write("static const int %s[] = {" % (req_cond
.Name()))
6720 sys
.stdout
.write(" ")
6722 for text
in req_cond
.Records():
6723 vals
.append(global_req_cond
[text
])
6726 sys
.stdout
.write("%s, " % (val
,))
6733 # Functions without length parameter
6734 funcs_without_length
= {}
6736 print("/* Forward declaration of expert info functions defined in ncp2222.inc */")
6737 for expert
in expert_hash
:
6738 print("static void %s_expert_func(ptvcursor_t *ptvc, packet_info *pinfo, const ncp_record *ncp_rec, bool request);" % expert
)
6740 # Print ncp_record packet records
6741 print("#define SUBFUNC_WITH_LENGTH 0x02")
6742 print("#define SUBFUNC_NO_LENGTH 0x01")
6743 print("#define NO_SUBFUNC 0x00")
6745 print("/* ncp_record structs for packets */")
6746 print("static const ncp_record ncp_packets[] = {")
6748 if pkt
.HasSubFunction():
6749 func
= pkt
.FunctionCode('high')
6751 subfunc_string
= "SUBFUNC_WITH_LENGTH"
6752 # Ensure that the function either has a length param or not
6753 if func
in funcs_without_length
:
6754 sys
.exit("Function 0x%04x sometimes has length param, sometimes not." \
6755 % (pkt
.FunctionCode(),))
6757 subfunc_string
= "SUBFUNC_NO_LENGTH"
6758 funcs_without_length
[func
] = 1
6760 subfunc_string
= "NO_SUBFUNC"
6761 sys
.stdout
.write(' { 0x%02x, 0x%02x, %s, "%s",' % (pkt
.FunctionCode('high'),
6762 pkt
.FunctionCode('low'), subfunc_string
, pkt
.Description()))
6764 print(' %d /* %s */,' % (groups_used_hash
[pkt
.Group()], pkt
.Group()))
6766 ptvc
= pkt
.PTVCRequest()
6767 if not ptvc
.Null() and not ptvc
.Empty():
6768 ptvc_request
= ptvc
.Name()
6770 ptvc_request
= 'NULL'
6772 ptvc
= pkt
.PTVCReply()
6773 if not ptvc
.Null() and not ptvc
.Empty():
6774 ptvc_reply
= ptvc
.Name()
6778 errors
= pkt
.CompletionCodes()
6780 req_conds_obj
= pkt
.GetReqConds()
6782 req_conds
= req_conds_obj
.Name()
6786 if not req_conds_obj
:
6787 req_cond_size
= "NO_REQ_COND_SIZE"
6789 req_cond_size
= pkt
.ReqCondSize()
6790 if req_cond_size
is None:
6791 msg
.write("NCP packet %s needs a ReqCondSize*() call\n" \
6796 expert_func
= "&" + pkt
.expert_func
+ "_expert_func"
6798 expert_func
= "NULL"
6800 print(' %s, %s, %s, %s, %s, %s },\n' % \
6801 (ptvc_request
, ptvc_reply
, errors
.Name(), req_conds
,
6802 req_cond_size
, expert_func
))
6804 print(' { 0, 0, 0, NULL, 0, NULL, NULL, NULL, NULL, NO_REQ_COND_SIZE, NULL }')
6807 print("/* ncp funcs that require a subfunc */")
6808 print("static const uint8_t ncp_func_requires_subfunc[] = {")
6811 if pkt
.HasSubFunction():
6812 hi_func
= pkt
.FunctionCode('high')
6813 if hi_func
not in hi_seen
:
6814 print(" 0x%02x," % (hi_func
))
6815 hi_seen
[hi_func
] = 1
6820 print("/* ncp funcs that have no length parameter */")
6821 print("static const uint8_t ncp_func_has_no_length_parameter[] = {")
6822 funcs
= list(funcs_without_length
.keys())
6825 print(" 0x%02x," % (func
,))
6831 # proto_register_ncp2222()
6833 static const value_string connection_status_vals[] = {
6835 { 0x01, "Bad Service Connection" },
6836 { 0x10, "File Server is Down" },
6837 { 0x40, "Broadcast Message Pending" },
6841 #include "packet-ncp2222.inc"
6844 proto_register_ncp2222(void)
6847 static hf_register_info hf[] = {
6848 { &hf_ncp_number_of_data_streams_long,
6849 { "Number of Data Streams", "ncp.number_of_data_streams_long", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
6852 { "Function", "ncp.func", FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL }},
6855 { "Packet Length", "ncp.length", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
6858 { "SubFunction", "ncp.subfunc", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }},
6860 { &hf_ncp_completion_code,
6861 { "Completion Code", "ncp.completion_code", FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL }},
6864 { "NCP Group Type", "ncp.group", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
6866 { &hf_ncp_fragment_handle,
6867 { "NDS Fragment Handle", "ncp.ndsfrag", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
6869 { &hf_ncp_fragment_size,
6870 { "NDS Fragment Size", "ncp.ndsfragsize", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
6872 { &hf_ncp_message_size,
6873 { "Message Size", "ncp.ndsmessagesize", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
6876 { "NDS Protocol Flags", "ncp.ndsflag", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }},
6879 { "NDS Verb", "ncp.ndsverb", FT_UINT8, BASE_HEX, VALS(ncp_nds_verb_vals), 0x0, NULL, HFILL }},
6882 { "NDS Version", "ncp.ping_version", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
6884 #if 0 /* Unused ? */
6886 { "NDS Version", "ncp.nds_version", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
6889 { &hf_nds_tree_name,
6890 { "NDS Tree Name", "ncp.nds_tree_name", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
6895 * https://web.archive.org/web/20030629082113/http://www.odyssea.com/whats_new/tcpipnet/tcpipnet.html
6897 * says of the connection status "The Connection Code field may
6898 * contain values that indicate the status of the client host to
6899 * server connection. A value of 1 in the fourth bit of this data
6900 * byte indicates that the server is unavailable (server was
6905 * https://web.archive.org/web/20090809191415/http://www.unm.edu/~network/presentations/course/appendix/appendix_f/tsld088.htm
6907 * says that bit 0 is "bad service", bit 2 is "no connection
6908 * available", bit 4 is "service down", and bit 6 is "server
6909 * has a broadcast message waiting for the client".
6911 * Should it be displayed in hex, and should those bits (and any
6912 * other bits with significance) be displayed as bitfields
6915 { &hf_ncp_connection_status,
6916 { "Connection Status", "ncp.connection_status", FT_UINT8, BASE_DEC, VALS(connection_status_vals), 0x0, NULL, HFILL }},
6918 { &hf_ncp_req_frame_num,
6919 { "Response to Request in Frame Number", "ncp.req_frame_num", FT_FRAMENUM, BASE_NONE, NULL, 0x0, NULL, HFILL }},
6921 { &hf_ncp_req_frame_time,
6922 { "Time from Request", "ncp.time", FT_RELATIVE_TIME, BASE_NONE, NULL, 0x0, "Time between request and response in seconds", HFILL }},
6924 #if 0 /* Unused ? */
6926 { "NDS Return Flags", "ncp.nds_flags", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
6929 { &hf_nds_reply_depth,
6930 { "Distance from Root", "ncp.ndsdepth", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
6932 { &hf_nds_reply_rev,
6933 { "NDS Revision", "ncp.ndsrev", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
6935 { &hf_nds_reply_flags,
6936 { "Flags", "ncp.ndsflags", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
6939 { "NDS Parameter Type", "ncp.p1type", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
6941 { &hf_nds_uint32value,
6942 { "NDS Value", "ncp.uint32value", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
6945 { "Typeless", "ncp.nds_bit1", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
6948 { "All Containers", "ncp.nds_bit2", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
6951 { "Slashed", "ncp.nds_bit3", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
6954 { "Dotted", "ncp.nds_bit4", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
6957 { "Tuned", "ncp.nds_bit5", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
6960 { "Not Defined", "ncp.nds_bit6", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
6963 { "Not Defined", "ncp.nds_bit7", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
6966 { "Not Defined", "ncp.nds_bit8", FT_BOOLEAN, 16, NULL, 0x00000080, NULL, HFILL }},
6969 { "Not Defined", "ncp.nds_bit9", FT_BOOLEAN, 16, NULL, 0x00000100, NULL, HFILL }},
6972 { "Not Defined", "ncp.nds_bit10", FT_BOOLEAN, 16, NULL, 0x00000200, NULL, HFILL }},
6975 { "Not Defined", "ncp.nds_bit11", FT_BOOLEAN, 16, NULL, 0x00000400, NULL, HFILL }},
6978 { "Not Defined", "ncp.nds_bit12", FT_BOOLEAN, 16, NULL, 0x00000800, NULL, HFILL }},
6981 { "Not Defined", "ncp.nds_bit13", FT_BOOLEAN, 16, NULL, 0x00001000, NULL, HFILL }},
6984 { "Not Defined", "ncp.nds_bit14", FT_BOOLEAN, 16, NULL, 0x00002000, NULL, HFILL }},
6987 { "Not Defined", "ncp.nds_bit15", FT_BOOLEAN, 16, NULL, 0x00004000, NULL, HFILL }},
6990 { "Not Defined", "ncp.nds_bit16", FT_BOOLEAN, 16, NULL, 0x00008000, NULL, HFILL }},
6993 { "Output Flags", "ncp.outflags", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
6996 { "Output Flags", "ncp.bit1outflags", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
6999 { "Entry ID", "ncp.bit2outflags", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
7002 { "Replica State", "ncp.bit3outflags", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
7005 { "Modification Timestamp", "ncp.bit4outflags", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
7008 { "Purge Time", "ncp.bit5outflags", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
7011 { "Local Partition ID", "ncp.bit6outflags", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
7014 { "Distinguished Name", "ncp.bit7outflags", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
7017 { "Replica Type", "ncp.bit8outflags", FT_BOOLEAN, 16, NULL, 0x00000080, NULL, HFILL }},
7020 { "Partition Busy", "ncp.bit9outflags", FT_BOOLEAN, 16, NULL, 0x00000100, NULL, HFILL }},
7022 { &hf_bit10outflags,
7023 { "Not Defined", "ncp.bit10outflags", FT_BOOLEAN, 16, NULL, 0x00000200, NULL, HFILL }},
7025 { &hf_bit11outflags,
7026 { "Not Defined", "ncp.bit11outflags", FT_BOOLEAN, 16, NULL, 0x00000400, NULL, HFILL }},
7028 { &hf_bit12outflags,
7029 { "Not Defined", "ncp.bit12outflags", FT_BOOLEAN, 16, NULL, 0x00000800, NULL, HFILL }},
7031 { &hf_bit13outflags,
7032 { "Not Defined", "ncp.bit13outflags", FT_BOOLEAN, 16, NULL, 0x00001000, NULL, HFILL }},
7034 { &hf_bit14outflags,
7035 { "Not Defined", "ncp.bit14outflags", FT_BOOLEAN, 16, NULL, 0x00002000, NULL, HFILL }},
7037 { &hf_bit15outflags,
7038 { "Not Defined", "ncp.bit15outflags", FT_BOOLEAN, 16, NULL, 0x00004000, NULL, HFILL }},
7040 { &hf_bit16outflags,
7041 { "Not Defined", "ncp.bit16outflags", FT_BOOLEAN, 16, NULL, 0x00008000, NULL, HFILL }},
7044 { "Entry ID", "ncp.bit1nflags", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
7047 { "Readable", "ncp.bit2nflags", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
7050 { "Writeable", "ncp.bit3nflags", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
7053 { "Master", "ncp.bit4nflags", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
7056 { "Create ID", "ncp.bit5nflags", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
7059 { "Walk Tree", "ncp.bit6nflags", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
7062 { "Dereference Alias", "ncp.bit7nflags", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
7065 { "Not Defined", "ncp.bit8nflags", FT_BOOLEAN, 16, NULL, 0x00000080, NULL, HFILL }},
7068 { "Not Defined", "ncp.bit9nflags", FT_BOOLEAN, 16, NULL, 0x00000100, NULL, HFILL }},
7071 { "Not Defined", "ncp.bit10nflags", FT_BOOLEAN, 16, NULL, 0x00000200, NULL, HFILL }},
7074 { "Not Defined", "ncp.bit11nflags", FT_BOOLEAN, 16, NULL, 0x00000400, NULL, HFILL }},
7077 { "Not Defined", "ncp.bit12nflags", FT_BOOLEAN, 16, NULL, 0x00000800, NULL, HFILL }},
7080 { "Not Defined", "ncp.bit13nflags", FT_BOOLEAN, 16, NULL, 0x00001000, NULL, HFILL }},
7083 { "Prefer Referrals", "ncp.bit14nflags", FT_BOOLEAN, 16, NULL, 0x00002000, NULL, HFILL }},
7086 { "Prefer Only Referrals", "ncp.bit15nflags", FT_BOOLEAN, 16, NULL, 0x00004000, NULL, HFILL }},
7089 { "Not Defined", "ncp.bit16nflags", FT_BOOLEAN, 16, NULL, 0x00008000, NULL, HFILL }},
7092 { "Typeless", "ncp.bit1rflags", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
7095 { "Slashed", "ncp.bit2rflags", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
7098 { "Dotted", "ncp.bit3rflags", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
7101 { "Tuned", "ncp.bit4rflags", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
7104 { "Not Defined", "ncp.bit5rflags", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
7107 { "Not Defined", "ncp.bit6rflags", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
7110 { "Not Defined", "ncp.bit7rflags", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
7113 { "Not Defined", "ncp.bit8rflags", FT_BOOLEAN, 16, NULL, 0x00000080, NULL, HFILL }},
7116 { "Not Defined", "ncp.bit9rflags", FT_BOOLEAN, 16, NULL, 0x00000100, NULL, HFILL }},
7119 { "Not Defined", "ncp.bit10rflags", FT_BOOLEAN, 16, NULL, 0x00000200, NULL, HFILL }},
7122 { "Not Defined", "ncp.bit11rflags", FT_BOOLEAN, 16, NULL, 0x00000400, NULL, HFILL }},
7125 { "Not Defined", "ncp.bit12rflags", FT_BOOLEAN, 16, NULL, 0x00000800, NULL, HFILL }},
7128 { "Not Defined", "ncp.bit13rflags", FT_BOOLEAN, 16, NULL, 0x00001000, NULL, HFILL }},
7131 { "Not Defined", "ncp.bit14rflags", FT_BOOLEAN, 16, NULL, 0x00002000, NULL, HFILL }},
7134 { "Not Defined", "ncp.bit15rflags", FT_BOOLEAN, 16, NULL, 0x00004000, NULL, HFILL }},
7137 { "Not Defined", "ncp.bit16rflags", FT_BOOLEAN, 16, NULL, 0x00008000, NULL, HFILL }},
7140 { "Entry Flags", "ncp.eflags", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7143 { "Alias Entry", "ncp.bit1eflags", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
7146 { "Partition Root", "ncp.bit2eflags", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
7149 { "Container Entry", "ncp.bit3eflags", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
7152 { "Container Alias", "ncp.bit4eflags", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
7155 { "Matches List Filter", "ncp.bit5eflags", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
7158 { "Reference Entry", "ncp.bit6eflags", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
7161 { "40x Reference Entry", "ncp.bit7eflags", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
7164 { "Back Linked", "ncp.bit8eflags", FT_BOOLEAN, 16, NULL, 0x00000080, NULL, HFILL }},
7167 { "New Entry", "ncp.bit9eflags", FT_BOOLEAN, 16, NULL, 0x00000100, NULL, HFILL }},
7170 { "Temporary Reference", "ncp.bit10eflags", FT_BOOLEAN, 16, NULL, 0x00000200, NULL, HFILL }},
7173 { "Audited", "ncp.bit11eflags", FT_BOOLEAN, 16, NULL, 0x00000400, NULL, HFILL }},
7176 { "Entry Not Present", "ncp.bit12eflags", FT_BOOLEAN, 16, NULL, 0x00000800, NULL, HFILL }},
7179 { "Entry Verify CTS", "ncp.bit13eflags", FT_BOOLEAN, 16, NULL, 0x00001000, NULL, HFILL }},
7182 { "Entry Damaged", "ncp.bit14eflags", FT_BOOLEAN, 16, NULL, 0x00002000, NULL, HFILL }},
7185 { "Not Defined", "ncp.bit15rflags", FT_BOOLEAN, 16, NULL, 0x00004000, NULL, HFILL }},
7188 { "Not Defined", "ncp.bit16rflags", FT_BOOLEAN, 16, NULL, 0x00008000, NULL, HFILL }},
7191 { "Information Flags (low) Byte", "ncp.infoflagsl", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7193 { &hf_retinfoflagsl,
7194 { "Return Information Flags (low) Byte", "ncp.retinfoflagsl", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7196 { &hf_bit1infoflagsl,
7197 { "Output Flags", "ncp.bit1infoflagsl", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
7199 { &hf_bit2infoflagsl,
7200 { "Entry ID", "ncp.bit2infoflagsl", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
7202 { &hf_bit3infoflagsl,
7203 { "Entry Flags", "ncp.bit3infoflagsl", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
7205 { &hf_bit4infoflagsl,
7206 { "Subordinate Count", "ncp.bit4infoflagsl", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
7208 { &hf_bit5infoflagsl,
7209 { "Modification Time", "ncp.bit5infoflagsl", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
7211 { &hf_bit6infoflagsl,
7212 { "Modification Timestamp", "ncp.bit6infoflagsl", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
7214 { &hf_bit7infoflagsl,
7215 { "Creation Timestamp", "ncp.bit7infoflagsl", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
7217 { &hf_bit8infoflagsl,
7218 { "Partition Root ID", "ncp.bit8infoflagsl", FT_BOOLEAN, 16, NULL, 0x00000080, NULL, HFILL }},
7220 { &hf_bit9infoflagsl,
7221 { "Parent ID", "ncp.bit9infoflagsl", FT_BOOLEAN, 16, NULL, 0x00000100, NULL, HFILL }},
7223 { &hf_bit10infoflagsl,
7224 { "Revision Count", "ncp.bit10infoflagsl", FT_BOOLEAN, 16, NULL, 0x00000200, NULL, HFILL }},
7226 { &hf_bit11infoflagsl,
7227 { "Replica Type", "ncp.bit11infoflagsl", FT_BOOLEAN, 16, NULL, 0x00000400, NULL, HFILL }},
7229 { &hf_bit12infoflagsl,
7230 { "Base Class", "ncp.bit12infoflagsl", FT_BOOLEAN, 16, NULL, 0x00000800, NULL, HFILL }},
7232 { &hf_bit13infoflagsl,
7233 { "Relative Distinguished Name", "ncp.bit13infoflagsl", FT_BOOLEAN, 16, NULL, 0x00001000, NULL, HFILL }},
7235 { &hf_bit14infoflagsl,
7236 { "Distinguished Name", "ncp.bit14infoflagsl", FT_BOOLEAN, 16, NULL, 0x00002000, NULL, HFILL }},
7238 { &hf_bit15infoflagsl,
7239 { "Root Distinguished Name", "ncp.bit15infoflagsl", FT_BOOLEAN, 16, NULL, 0x00004000, NULL, HFILL }},
7241 { &hf_bit16infoflagsl,
7242 { "Parent Distinguished Name", "ncp.bit16infoflagsl", FT_BOOLEAN, 16, NULL, 0x00008000, NULL, HFILL }},
7245 { "Information Flags (high) Byte", "ncp.infoflagsh", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7247 { &hf_bit1infoflagsh,
7248 { "Purge Time", "ncp.bit1infoflagsh", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
7250 { &hf_bit2infoflagsh,
7251 { "Dereference Base Class", "ncp.bit2infoflagsh", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
7253 { &hf_bit3infoflagsh,
7254 { "Not Defined", "ncp.bit3infoflagsh", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
7256 { &hf_bit4infoflagsh,
7257 { "Not Defined", "ncp.bit4infoflagsh", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
7259 { &hf_bit5infoflagsh,
7260 { "Not Defined", "ncp.bit5infoflagsh", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
7262 { &hf_bit6infoflagsh,
7263 { "Not Defined", "ncp.bit6infoflagsh", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
7265 { &hf_bit7infoflagsh,
7266 { "Not Defined", "ncp.bit7infoflagsh", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
7268 { &hf_bit8infoflagsh,
7269 { "Not Defined", "ncp.bit8infoflagsh", FT_BOOLEAN, 16, NULL, 0x00000080, NULL, HFILL }},
7271 { &hf_bit9infoflagsh,
7272 { "Not Defined", "ncp.bit9infoflagsh", FT_BOOLEAN, 16, NULL, 0x00000100, NULL, HFILL }},
7274 { &hf_bit10infoflagsh,
7275 { "Not Defined", "ncp.bit10infoflagsh", FT_BOOLEAN, 16, NULL, 0x00000200, NULL, HFILL }},
7277 { &hf_bit11infoflagsh,
7278 { "Not Defined", "ncp.bit11infoflagsh", FT_BOOLEAN, 16, NULL, 0x00000400, NULL, HFILL }},
7280 { &hf_bit12infoflagsh,
7281 { "Not Defined", "ncp.bit12infoflagshs", FT_BOOLEAN, 16, NULL, 0x00000800, NULL, HFILL }},
7283 { &hf_bit13infoflagsh,
7284 { "Not Defined", "ncp.bit13infoflagsh", FT_BOOLEAN, 16, NULL, 0x00001000, NULL, HFILL }},
7286 { &hf_bit14infoflagsh,
7287 { "Not Defined", "ncp.bit14infoflagsh", FT_BOOLEAN, 16, NULL, 0x00002000, NULL, HFILL }},
7289 { &hf_bit15infoflagsh,
7290 { "Not Defined", "ncp.bit15infoflagsh", FT_BOOLEAN, 16, NULL, 0x00004000, NULL, HFILL }},
7292 { &hf_bit16infoflagsh,
7293 { "Not Defined", "ncp.bit16infoflagsh", FT_BOOLEAN, 16, NULL, 0x00008000, NULL, HFILL }},
7295 { &hf_retinfoflagsh,
7296 { "Return Information Flags (high) Byte", "ncp.retinfoflagsh", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7298 { &hf_bit1retinfoflagsh,
7299 { "Purge Time", "ncp.bit1retinfoflagsh", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
7301 { &hf_bit2retinfoflagsh,
7302 { "Dereference Base Class", "ncp.bit2retinfoflagsh", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
7304 { &hf_bit3retinfoflagsh,
7305 { "Replica Number", "ncp.bit3retinfoflagsh", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
7307 { &hf_bit4retinfoflagsh,
7308 { "Replica State", "ncp.bit4retinfoflagsh", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
7310 { &hf_bit5retinfoflagsh,
7311 { "Federation Boundary", "ncp.bit5retinfoflagsh", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
7313 { &hf_bit6retinfoflagsh,
7314 { "Schema Boundary", "ncp.bit6retinfoflagsh", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
7316 { &hf_bit7retinfoflagsh,
7317 { "Federation Boundary ID", "ncp.bit7retinfoflagsh", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
7319 { &hf_bit8retinfoflagsh,
7320 { "Schema Boundary ID", "ncp.bit8retinfoflagsh", FT_BOOLEAN, 16, NULL, 0x00000080, NULL, HFILL }},
7322 { &hf_bit9retinfoflagsh,
7323 { "Current Subcount", "ncp.bit9retinfoflagsh", FT_BOOLEAN, 16, NULL, 0x00000100, NULL, HFILL }},
7325 { &hf_bit10retinfoflagsh,
7326 { "Local Entry Flags", "ncp.bit10retinfoflagsh", FT_BOOLEAN, 16, NULL, 0x00000200, NULL, HFILL }},
7328 { &hf_bit11retinfoflagsh,
7329 { "Not Defined", "ncp.bit11retinfoflagsh", FT_BOOLEAN, 16, NULL, 0x00000400, NULL, HFILL }},
7331 { &hf_bit12retinfoflagsh,
7332 { "Not Defined", "ncp.bit12retinfoflagshs", FT_BOOLEAN, 16, NULL, 0x00000800, NULL, HFILL }},
7334 { &hf_bit13retinfoflagsh,
7335 { "Not Defined", "ncp.bit13retinfoflagsh", FT_BOOLEAN, 16, NULL, 0x00001000, NULL, HFILL }},
7337 { &hf_bit14retinfoflagsh,
7338 { "Not Defined", "ncp.bit14retinfoflagsh", FT_BOOLEAN, 16, NULL, 0x00002000, NULL, HFILL }},
7340 { &hf_bit15retinfoflagsh,
7341 { "Not Defined", "ncp.bit15retinfoflagsh", FT_BOOLEAN, 16, NULL, 0x00004000, NULL, HFILL }},
7343 { &hf_bit16retinfoflagsh,
7344 { "Not Defined", "ncp.bit16retinfoflagsh", FT_BOOLEAN, 16, NULL, 0x00008000, NULL, HFILL }},
7347 { "List Typeless", "ncp.bit1lflags", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
7350 { "List Containers", "ncp.bit2lflags", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
7353 { "List Slashed", "ncp.bit3lflags", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
7356 { "List Dotted", "ncp.bit4lflags", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
7359 { "Dereference Alias", "ncp.bit5lflags", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
7362 { "List All Containers", "ncp.bit6lflags", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
7365 { "List Obsolete", "ncp.bit7lflags", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
7368 { "List Tuned Output", "ncp.bit8lflags", FT_BOOLEAN, 16, NULL, 0x00000080, NULL, HFILL }},
7371 { "List External Reference", "ncp.bit9lflags", FT_BOOLEAN, 16, NULL, 0x00000100, NULL, HFILL }},
7374 { "Not Defined", "ncp.bit10lflags", FT_BOOLEAN, 16, NULL, 0x00000200, NULL, HFILL }},
7377 { "Not Defined", "ncp.bit11lflags", FT_BOOLEAN, 16, NULL, 0x00000400, NULL, HFILL }},
7380 { "Not Defined", "ncp.bit12lflags", FT_BOOLEAN, 16, NULL, 0x00000800, NULL, HFILL }},
7383 { "Not Defined", "ncp.bit13lflags", FT_BOOLEAN, 16, NULL, 0x00001000, NULL, HFILL }},
7386 { "Not Defined", "ncp.bit14lflags", FT_BOOLEAN, 16, NULL, 0x00002000, NULL, HFILL }},
7389 { "Not Defined", "ncp.bit15lflags", FT_BOOLEAN, 16, NULL, 0x00004000, NULL, HFILL }},
7392 { "Not Defined", "ncp.bit16lflags", FT_BOOLEAN, 16, NULL, 0x00008000, NULL, HFILL }},
7395 { "Information Flags (low) Byte", "ncp.l1flagsl", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7398 { "Information Flags (high) Byte", "ncp.l1flagsh", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7401 { "Output Flags", "ncp.bit1l1flagsl", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
7404 { "Entry ID", "ncp.bit2l1flagsl", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
7407 { "Replica State", "ncp.bit3l1flagsl", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
7410 { "Modification Timestamp", "ncp.bit4l1flagsl", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
7413 { "Purge Time", "ncp.bit5l1flagsl", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
7416 { "Local Partition ID", "ncp.bit6l1flagsl", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
7419 { "Distinguished Name", "ncp.bit7l1flagsl", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
7422 { "Replica Type", "ncp.bit8l1flagsl", FT_BOOLEAN, 16, NULL, 0x00000080, NULL, HFILL }},
7425 { "Partition Busy", "ncp.bit9l1flagsl", FT_BOOLEAN, 16, NULL, 0x00000100, NULL, HFILL }},
7427 { &hf_bit10l1flagsl,
7428 { "Not Defined", "ncp.bit10l1flagsl", FT_BOOLEAN, 16, NULL, 0x00000200, NULL, HFILL }},
7430 { &hf_bit11l1flagsl,
7431 { "Not Defined", "ncp.bit11l1flagsl", FT_BOOLEAN, 16, NULL, 0x00000400, NULL, HFILL }},
7433 { &hf_bit12l1flagsl,
7434 { "Not Defined", "ncp.bit12l1flagsl", FT_BOOLEAN, 16, NULL, 0x00000800, NULL, HFILL }},
7436 { &hf_bit13l1flagsl,
7437 { "Not Defined", "ncp.bit13l1flagsl", FT_BOOLEAN, 16, NULL, 0x00001000, NULL, HFILL }},
7439 { &hf_bit14l1flagsl,
7440 { "Not Defined", "ncp.bit14l1flagsl", FT_BOOLEAN, 16, NULL, 0x00002000, NULL, HFILL }},
7442 { &hf_bit15l1flagsl,
7443 { "Not Defined", "ncp.bit15l1flagsl", FT_BOOLEAN, 16, NULL, 0x00004000, NULL, HFILL }},
7445 { &hf_bit16l1flagsl,
7446 { "Not Defined", "ncp.bit16l1flagsl", FT_BOOLEAN, 16, NULL, 0x00008000, NULL, HFILL }},
7449 { "Not Defined", "ncp.bit1l1flagsh", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
7452 { "Not Defined", "ncp.bit2l1flagsh", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
7455 { "Not Defined", "ncp.bit3l1flagsh", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
7458 { "Not Defined", "ncp.bit4l1flagsh", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
7461 { "Not Defined", "ncp.bit5l1flagsh", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
7464 { "Not Defined", "ncp.bit6l1flagsh", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
7467 { "Not Defined", "ncp.bit7l1flagsh", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
7470 { "Not Defined", "ncp.bit8l1flagsh", FT_BOOLEAN, 16, NULL, 0x00000080, NULL, HFILL }},
7473 { "Not Defined", "ncp.bit9l1flagsh", FT_BOOLEAN, 16, NULL, 0x00000100, NULL, HFILL }},
7475 { &hf_bit10l1flagsh,
7476 { "Not Defined", "ncp.bit10l1flagsh", FT_BOOLEAN, 16, NULL, 0x00000200, NULL, HFILL }},
7478 { &hf_bit11l1flagsh,
7479 { "Not Defined", "ncp.bit11l1flagsh", FT_BOOLEAN, 16, NULL, 0x00000400, NULL, HFILL }},
7481 { &hf_bit12l1flagsh,
7482 { "Not Defined", "ncp.bit12l1flagsh", FT_BOOLEAN, 16, NULL, 0x00000800, NULL, HFILL }},
7484 { &hf_bit13l1flagsh,
7485 { "Not Defined", "ncp.bit13l1flagsh", FT_BOOLEAN, 16, NULL, 0x00001000, NULL, HFILL }},
7487 { &hf_bit14l1flagsh,
7488 { "Not Defined", "ncp.bit14l1flagsh", FT_BOOLEAN, 16, NULL, 0x00002000, NULL, HFILL }},
7490 { &hf_bit15l1flagsh,
7491 { "Not Defined", "ncp.bit15l1flagsh", FT_BOOLEAN, 16, NULL, 0x00004000, NULL, HFILL }},
7493 { &hf_bit16l1flagsh,
7494 { "Not Defined", "ncp.bit16l1flagsh", FT_BOOLEAN, 16, NULL, 0x00008000, NULL, HFILL }},
7497 { "Value Flags", "ncp.vflags", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7500 { "Naming", "ncp.bit1vflags", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
7503 { "Base Class", "ncp.bit2vflags", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
7506 { "Present", "ncp.bit3vflags", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
7509 { "Value Damaged", "ncp.bit4vflags", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
7512 { "Not Defined", "ncp.bit5vflags", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
7515 { "Not Defined", "ncp.bit6vflags", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
7518 { "Not Defined", "ncp.bit7vflags", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
7521 { "Not Defined", "ncp.bit8vflags", FT_BOOLEAN, 16, NULL, 0x00000080, NULL, HFILL }},
7524 { "Not Defined", "ncp.bit9vflags", FT_BOOLEAN, 16, NULL, 0x00000100, NULL, HFILL }},
7527 { "Not Defined", "ncp.bit10vflags", FT_BOOLEAN, 16, NULL, 0x00000200, NULL, HFILL }},
7530 { "Not Defined", "ncp.bit11vflags", FT_BOOLEAN, 16, NULL, 0x00000400, NULL, HFILL }},
7533 { "Not Defined", "ncp.bit12vflags", FT_BOOLEAN, 16, NULL, 0x00000800, NULL, HFILL }},
7536 { "Not Defined", "ncp.bit13vflags", FT_BOOLEAN, 16, NULL, 0x00001000, NULL, HFILL }},
7539 { "Not Defined", "ncp.bit14vflags", FT_BOOLEAN, 16, NULL, 0x00002000, NULL, HFILL }},
7542 { "Not Defined", "ncp.bit15vflags", FT_BOOLEAN, 16, NULL, 0x00004000, NULL, HFILL }},
7545 { "Not Defined", "ncp.bit16vflags", FT_BOOLEAN, 16, NULL, 0x00008000, NULL, HFILL }},
7548 { "Class Flags", "ncp.cflags", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7551 { "Container", "ncp.bit1cflags", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
7554 { "Effective", "ncp.bit2cflags", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
7557 { "Class Definition Cannot be Removed", "ncp.bit3cflags", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
7560 { "Ambiguous Naming", "ncp.bit4cflags", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
7563 { "Ambiguous Containment", "ncp.bit5cflags", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
7566 { "Auxiliary", "ncp.bit6cflags", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
7569 { "Operational", "ncp.bit7cflags", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
7572 { "Sparse Required", "ncp.bit8cflags", FT_BOOLEAN, 16, NULL, 0x00000080, NULL, HFILL }},
7575 { "Sparse Operational", "ncp.bit9cflags", FT_BOOLEAN, 16, NULL, 0x00000100, NULL, HFILL }},
7578 { "Not Defined", "ncp.bit10cflags", FT_BOOLEAN, 16, NULL, 0x00000200, NULL, HFILL }},
7581 { "Not Defined", "ncp.bit11cflags", FT_BOOLEAN, 16, NULL, 0x00000400, NULL, HFILL }},
7584 { "Not Defined", "ncp.bit12cflags", FT_BOOLEAN, 16, NULL, 0x00000800, NULL, HFILL }},
7587 { "Not Defined", "ncp.bit13cflags", FT_BOOLEAN, 16, NULL, 0x00001000, NULL, HFILL }},
7590 { "Not Defined", "ncp.bit14cflags", FT_BOOLEAN, 16, NULL, 0x00002000, NULL, HFILL }},
7593 { "Not Defined", "ncp.bit15cflags", FT_BOOLEAN, 16, NULL, 0x00004000, NULL, HFILL }},
7596 { "Not Defined", "ncp.bit16cflags", FT_BOOLEAN, 16, NULL, 0x00008000, NULL, HFILL }},
7599 { "Single Valued", "ncp.bit1acflags", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
7602 { "Sized", "ncp.bit2acflags", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
7605 { "Non-Removable", "ncp.bit3acflags", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
7608 { "Read Only", "ncp.bit4acflags", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
7611 { "Hidden", "ncp.bit5acflags", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
7614 { "String", "ncp.bit6acflags", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
7617 { "Synchronize Immediate", "ncp.bit7acflags", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
7620 { "Public Read", "ncp.bit8acflags", FT_BOOLEAN, 16, NULL, 0x00000080, NULL, HFILL }},
7623 { "Server Read", "ncp.bit9acflags", FT_BOOLEAN, 16, NULL, 0x00000100, NULL, HFILL }},
7626 { "Write Managed", "ncp.bit10acflags", FT_BOOLEAN, 16, NULL, 0x00000200, NULL, HFILL }},
7629 { "Per Replica", "ncp.bit11acflags", FT_BOOLEAN, 16, NULL, 0x00000400, NULL, HFILL }},
7632 { "Never Schedule Synchronization", "ncp.bit12acflags", FT_BOOLEAN, 16, NULL, 0x00000800, NULL, HFILL }},
7635 { "Operational", "ncp.bit13acflags", FT_BOOLEAN, 16, NULL, 0x00001000, NULL, HFILL }},
7638 { "Not Defined", "ncp.bit14acflags", FT_BOOLEAN, 16, NULL, 0x00002000, NULL, HFILL }},
7641 { "Not Defined", "ncp.bit15acflags", FT_BOOLEAN, 16, NULL, 0x00004000, NULL, HFILL }},
7644 { "Not Defined", "ncp.bit16acflags", FT_BOOLEAN, 16, NULL, 0x00008000, NULL, HFILL }},
7647 { &hf_nds_reply_error,
7648 { "NDS Error", "ncp.ndsreplyerror", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7651 { "Network","ncp.ndsnet", FT_IPXNET, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7654 { "Node", "ncp.ndsnode", FT_ETHER, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7657 { "Socket", "ncp.ndssocket", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7660 { "Address Referral", "ncp.ipref", FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7663 { "Address Referral", "ncp.udpref", FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7666 { "Address Referral", "ncp.tcpref", FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7668 { &hf_referral_record,
7669 { "Referral Record", "ncp.ref_rec", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7671 { &hf_referral_addcount,
7672 { "Number of Addresses in Referral", "ncp.ref_addcount", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7675 { "Port", "ncp.ndsport", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7678 { "Attribute Name", "ncp.mv_string", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7681 { "Attribute Syntax", "ncp.nds_syntax", FT_UINT32, BASE_DEC, VALS(nds_syntax), 0x0, NULL, HFILL }},
7684 { "Value", "ncp.value_string", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7686 { &hf_nds_stream_name,
7687 { "Stream Name", "ncp.nds_stream_name", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7689 { &hf_nds_buffer_size,
7690 { "NDS Reply Buffer Size", "ncp.nds_reply_buf", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7693 { "NDS Version", "ncp.nds_ver", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7696 { "Flags", "ncp.nds_nflags", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7699 { "Request Flags", "ncp.nds_rflags", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7702 { "Entry Flags", "ncp.nds_eflags", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7705 { "Scope", "ncp.nds_scope", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7708 { "Name", "ncp.nds_name", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7710 { &hf_nds_name_type,
7711 { "Name Type", "ncp.nds_name_type", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7713 { &hf_nds_comm_trans,
7714 { "Communications Transport", "ncp.nds_comm_trans", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7716 { &hf_nds_tree_trans,
7717 { "Tree Walker Transport", "ncp.nds_tree_trans", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7719 { &hf_nds_iteration,
7720 { "Iteration Handle", "ncp.nds_iteration", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7723 { "Iterator", "ncp.nds_iterator", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7725 { &hf_nds_file_handle,
7726 { "File Handle", "ncp.nds_file_handle", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7728 { &hf_nds_file_size,
7729 { "File Size", "ncp.nds_file_size", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7732 { "NDS EID", "ncp.nds_eid", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7735 { "Distance object is from Root", "ncp.nds_depth", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7737 { &hf_nds_info_type,
7738 { "Info Type", "ncp.nds_info_type", FT_UINT32, BASE_RANGE_STRING|BASE_DEC, RVALS(nds_info_type), 0x0, NULL, HFILL }},
7740 { &hf_nds_class_def_type,
7741 { "Class Definition Type", "ncp.nds_class_def_type", FT_UINT32, BASE_DEC, VALS(class_def_type), 0x0, NULL, HFILL }},
7744 { "All Attributes", "ncp.nds_all_attr", FT_UINT32, BASE_DEC, NULL, 0x0, "Return all Attributes?", HFILL }},
7746 { &hf_nds_return_all_classes,
7747 { "All Classes", "ncp.nds_return_all_classes", FT_UINT32, BASE_DEC, NULL, 0x0, "Return all Classes?", HFILL }},
7749 { &hf_nds_req_flags,
7750 { "Request Flags", "ncp.nds_req_flags", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7753 { "Attributes", "ncp.nds_attributes", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7756 { "Classes", "ncp.nds_classes", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7759 { "CRC", "ncp.nds_crc", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7761 { &hf_nds_referrals,
7762 { "Referrals", "ncp.nds_referrals", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7764 { &hf_nds_result_flags,
7765 { "Result Flags", "ncp.nds_result_flags", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7767 { &hf_nds_stream_flags,
7768 { "Streams Flags", "ncp.nds_stream_flags", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7770 { &hf_nds_tag_string,
7771 { "Tags", "ncp.nds_tags", FT_UINT32, BASE_DEC, VALS(nds_tags), 0x0, NULL, HFILL }},
7774 { "Bytes", "ncp.value_bytes", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7777 { "Replica Type", "ncp.rtype", FT_UINT32, BASE_DEC, VALS(nds_replica_type), 0x0, NULL, HFILL }},
7779 { &hf_replica_state,
7780 { "Replica State", "ncp.rstate", FT_UINT16, BASE_DEC, VALS(nds_replica_state), 0x0, NULL, HFILL }},
7783 { "Replica Number", "ncp.rnum", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7786 { "Event", "ncp.revent", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7788 { &hf_replica_number,
7789 { "Replica Number", "ncp.rnum", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7792 { "Minimum NDS Version", "ncp.min_nds_version", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7794 { &hf_nds_ver_include,
7795 { "Include NDS Version", "ncp.inc_nds_ver", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7797 { &hf_nds_ver_exclude,
7798 { "Exclude NDS Version", "ncp.exc_nds_ver", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7800 #if 0 /* Unused ? */
7802 { "Input Entry Specifier", "ncp.nds_es", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7806 { "Entry Specifier Type", "ncp.nds_es_type", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7809 { "RDN", "ncp.nds_rdn", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7811 #if 0 /* Unused ? */
7813 { "Delimiter", "ncp.nds_delim", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7816 { &hf_nds_dn_output_type,
7817 { "Output Entry Specifier Type", "ncp.nds_out_es_type", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7819 { &hf_nds_nested_output_type,
7820 { "Nested Output Entry Specifier Type", "ncp.nds_nested_out_es", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7822 { &hf_nds_output_delimiter,
7823 { "Output Delimiter", "ncp.nds_out_delimiter", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7825 { &hf_nds_output_entry_specifier,
7826 { "Output Entry Specifier", "ncp.nds_out_es", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7829 { "Entry Specifier Value", "ncp.nds_es_value", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7832 { "RDN Count", "ncp.nds_es_rdn_count", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7834 { &hf_nds_replica_num,
7835 { "Replica Number", "ncp.nds_replica_num", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7838 { "Seconds", "ncp.nds_es_seconds", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0x0, NULL, HFILL }},
7840 { &hf_nds_event_num,
7841 { "Event Number", "ncp.nds_event_num", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7843 { &hf_nds_compare_results,
7844 { "Compare Values Returned", "ncp.nds_compare_results", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7847 { "Parent ID", "ncp.nds_parent", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7849 { &hf_nds_name_filter,
7850 { "Name Filter", "ncp.nds_name_filter", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7852 { &hf_nds_class_filter,
7853 { "Class Filter", "ncp.nds_class_filter", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7855 { &hf_nds_time_filter,
7856 { "Time Filter", "ncp.nds_time_filter", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7858 { &hf_nds_partition_root_id,
7859 { "Partition Root ID", "ncp.nds_partition_root_id", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7862 { "Replicas", "ncp.nds_replicas", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7865 { "Purge Time", "ncp.nds_purge", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0x0, NULL, HFILL }},
7867 { &hf_nds_local_partition,
7868 { "Local Partition ID", "ncp.nds_local_partition", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7870 { &hf_partition_busy,
7871 { "Partition Busy", "ncp.nds_partition_busy", FT_BOOLEAN, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7873 { &hf_nds_number_of_changes,
7874 { "Number of Attribute Changes", "ncp.nds_number_of_changes", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7877 { "Subordinate Count", "ncp.sub_count", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7880 { "Revision Count", "ncp.nds_rev_count", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7882 { &hf_nds_base_class,
7883 { "Base Class", "ncp.nds_base_class", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7885 { &hf_nds_relative_dn,
7886 { "Relative Distinguished Name", "ncp.nds_relative_dn", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7888 #if 0 /* Unused ? */
7890 { "Root Distinguished Name", "ncp.nds_root_dn", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7893 #if 0 /* Unused ? */
7894 { &hf_nds_parent_dn,
7895 { "Parent Distinguished Name", "ncp.nds_parent_dn", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7899 { "Dereference Base Class", "ncp.nds_deref_base", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7902 { "Base Class", "ncp.nds_base", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7905 { "Super Class", "ncp.nds_super", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7907 #if 0 /* Unused ? */
7908 { &hf_nds_entry_info,
7909 { "Entry Information", "ncp.nds_entry_info", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7912 { &hf_nds_privileges,
7913 { "Privileges", "ncp.nds_privileges", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7915 { &hf_nds_compare_attributes,
7916 { "Compare Attributes?", "ncp.nds_compare_attributes", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
7918 { &hf_nds_read_attribute,
7919 { "Read Attribute?", "ncp.nds_read_attribute", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
7921 { &hf_nds_write_add_delete_attribute,
7922 { "Write, Add, Delete Attribute?", "ncp.nds_write_add_delete_attribute", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
7924 { &hf_nds_add_delete_self,
7925 { "Add/Delete Self?", "ncp.nds_add_delete_self", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
7927 { &hf_nds_privilege_not_defined,
7928 { "Privilege Not defined", "ncp.nds_privilege_not_defined", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
7930 { &hf_nds_supervisor,
7931 { "Supervisor?", "ncp.nds_supervisor", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
7933 { &hf_nds_inheritance_control,
7934 { "Inheritance?", "ncp.nds_inheritance_control", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
7936 { &hf_nds_browse_entry,
7937 { "Browse Entry?", "ncp.nds_browse_entry", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
7939 { &hf_nds_add_entry,
7940 { "Add Entry?", "ncp.nds_add_entry", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
7942 { &hf_nds_delete_entry,
7943 { "Delete Entry?", "ncp.nds_delete_entry", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
7945 { &hf_nds_rename_entry,
7946 { "Rename Entry?", "ncp.nds_rename_entry", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
7948 { &hf_nds_supervisor_entry,
7949 { "Supervisor?", "ncp.nds_supervisor_entry", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
7951 { &hf_nds_entry_privilege_not_defined,
7952 { "Privilege Not Defined", "ncp.nds_entry_privilege_not_defined", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
7955 { "Value Flags", "ncp.nds_vflags", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7957 { &hf_nds_value_len,
7958 { "Value Length", "ncp.nds_vlength", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7961 { "Class Flags", "ncp.nds_cflags", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7964 { "ASN.1 ID", "ncp.nds_asn1", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7967 { "Attribute Constraint Flags", "ncp.nds_acflags", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7970 { "Upper Limit Value", "ncp.nds_upper", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7973 { "Lower Limit Value", "ncp.nds_lower", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7975 { &hf_nds_trustee_dn,
7976 { "Trustee Distinguished Name", "ncp.nds_trustee_dn", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7978 { &hf_nds_attribute_dn,
7979 { "Attribute Name", "ncp.nds_attribute_dn", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7982 { "ACL Templates to Add", "ncp.nds_acl_add", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7985 { "Access Control Lists to Delete", "ncp.nds_acl_del", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7988 { "Attribute to Add", "ncp.nds_att_add", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7991 { "Attribute Names to Delete", "ncp.nds_att_del", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7994 { "Delete Original RDN", "ncp.nds_keep", FT_BOOLEAN, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7997 { "New Relative Distinguished Name", "ncp.nds_new_rdn", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7999 { &hf_nds_time_delay,
8000 { "Time Delay", "ncp.nds_time_delay", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
8002 { &hf_nds_root_name,
8003 { "Root Most Object Name", "ncp.nds_root_name", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
8005 { &hf_nds_new_part_id,
8006 { "New Partition Root ID", "ncp.nds_new_part_id", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8008 { &hf_nds_child_part_id,
8009 { "Child Partition Root ID", "ncp.nds_child_part_id", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8011 { &hf_nds_master_part_id,
8012 { "Master Partition Root ID", "ncp.nds_master_part_id", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8014 { &hf_nds_target_name,
8015 { "Target Server Name", "ncp.nds_target_dn", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
8018 { "Ping (low) Request Flags", "ncp.pingflags1", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8020 { &hf_bit1pingflags1,
8021 { "Supported Fields", "ncp.bit1pingflags1", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
8023 { &hf_bit2pingflags1,
8024 { "Depth", "ncp.bit2pingflags1", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
8026 { &hf_bit3pingflags1,
8027 { "Build Number", "ncp.bit3pingflags1", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
8029 { &hf_bit4pingflags1,
8030 { "Flags", "ncp.bit4pingflags1", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
8032 { &hf_bit5pingflags1,
8033 { "Verification Flags", "ncp.bit5pingflags1", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
8035 { &hf_bit6pingflags1,
8036 { "Letter Version", "ncp.bit6pingflags1", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
8038 { &hf_bit7pingflags1,
8039 { "OS Version", "ncp.bit7pingflags1", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
8041 { &hf_bit8pingflags1,
8042 { "Not Defined", "ncp.bit8pingflags1", FT_BOOLEAN, 16, NULL, 0x00000080, NULL, HFILL }},
8044 { &hf_bit9pingflags1,
8045 { "License Flags", "ncp.bit9pingflags1", FT_BOOLEAN, 16, NULL, 0x00000100, NULL, HFILL }},
8047 { &hf_bit10pingflags1,
8048 { "DS Time", "ncp.bit10pingflags1", FT_BOOLEAN, 16, NULL, 0x00000200, NULL, HFILL }},
8050 { &hf_bit11pingflags1,
8051 { "Server Time", "ncp.bit11pingflags1", FT_BOOLEAN, 16, NULL, 0x00000400, NULL, HFILL }},
8053 { &hf_bit12pingflags1,
8054 { "Create Time", "ncp.bit12pingflags1", FT_BOOLEAN, 16, NULL, 0x00000800, NULL, HFILL }},
8056 { &hf_bit13pingflags1,
8057 { "Not Defined", "ncp.bit13pingflags1", FT_BOOLEAN, 16, NULL, 0x00001000, NULL, HFILL }},
8059 { &hf_bit14pingflags1,
8060 { "Not Defined", "ncp.bit14pingflags1", FT_BOOLEAN, 16, NULL, 0x00002000, NULL, HFILL }},
8062 { &hf_bit15pingflags1,
8063 { "Not Defined", "ncp.bit15pingflags1", FT_BOOLEAN, 16, NULL, 0x00004000, NULL, HFILL }},
8065 { &hf_bit16pingflags1,
8066 { "Not Defined", "ncp.bit16pingflags1", FT_BOOLEAN, 16, NULL, 0x00008000, NULL, HFILL }},
8069 { "Ping (high) Request Flags", "ncp.pingflags2", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8071 { &hf_bit1pingflags2,
8072 { "Sap Name", "ncp.bit1pingflags2", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
8074 { &hf_bit2pingflags2,
8075 { "Tree Name", "ncp.bit2pingflags2", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
8077 { &hf_bit3pingflags2,
8078 { "OS Name", "ncp.bit3pingflags2", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
8080 { &hf_bit4pingflags2,
8081 { "Hardware Name", "ncp.bit4pingflags2", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
8083 { &hf_bit5pingflags2,
8084 { "Vendor Name", "ncp.bit5pingflags2", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
8086 { &hf_bit6pingflags2,
8087 { "Not Defined", "ncp.bit6pingflags2", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
8089 { &hf_bit7pingflags2,
8090 { "Not Defined", "ncp.bit7pingflags2", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
8092 { &hf_bit8pingflags2,
8093 { "Not Defined", "ncp.bit8pingflags2", FT_BOOLEAN, 16, NULL, 0x00000080, NULL, HFILL }},
8095 { &hf_bit9pingflags2,
8096 { "Not Defined", "ncp.bit9pingflags2", FT_BOOLEAN, 16, NULL, 0x00000100, NULL, HFILL }},
8098 { &hf_bit10pingflags2,
8099 { "Not Defined", "ncp.bit10pingflags2", FT_BOOLEAN, 16, NULL, 0x00000200, NULL, HFILL }},
8101 { &hf_bit11pingflags2,
8102 { "Not Defined", "ncp.bit11pingflags2", FT_BOOLEAN, 16, NULL, 0x00000400, NULL, HFILL }},
8104 { &hf_bit12pingflags2,
8105 { "Not Defined", "ncp.bit12pingflags2", FT_BOOLEAN, 16, NULL, 0x00000800, NULL, HFILL }},
8107 { &hf_bit13pingflags2,
8108 { "Not Defined", "ncp.bit13pingflags2", FT_BOOLEAN, 16, NULL, 0x00001000, NULL, HFILL }},
8110 { &hf_bit14pingflags2,
8111 { "Not Defined", "ncp.bit14pingflags2", FT_BOOLEAN, 16, NULL, 0x00002000, NULL, HFILL }},
8113 { &hf_bit15pingflags2,
8114 { "Not Defined", "ncp.bit15pingflags2", FT_BOOLEAN, 16, NULL, 0x00004000, NULL, HFILL }},
8116 { &hf_bit16pingflags2,
8117 { "Not Defined", "ncp.bit16pingflags2", FT_BOOLEAN, 16, NULL, 0x00008000, NULL, HFILL }},
8120 { "Ping Data Flags", "ncp.pingpflags1", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8122 { &hf_bit1pingpflags1,
8123 { "Root Most Master Replica", "ncp.bit1pingpflags1", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
8125 { &hf_bit2pingpflags1,
8126 { "Is Time Synchronized?", "ncp.bit2pingpflags1", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
8128 { &hf_bit3pingpflags1,
8129 { "Is Time Valid?", "ncp.bit3pingpflags1", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
8131 { &hf_bit4pingpflags1,
8132 { "Is DS Time Synchronized?", "ncp.bit4pingpflags1", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
8134 { &hf_bit5pingpflags1,
8135 { "Does Agent Have All Replicas?", "ncp.bit5pingpflags1", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
8137 { &hf_bit6pingpflags1,
8138 { "Not Defined", "ncp.bit6pingpflags1", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
8140 { &hf_bit7pingpflags1,
8141 { "Not Defined", "ncp.bit7pingpflags1", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
8143 { &hf_bit8pingpflags1,
8144 { "Not Defined", "ncp.bit8pingpflags1", FT_BOOLEAN, 16, NULL, 0x00000080, NULL, HFILL }},
8146 { &hf_bit9pingpflags1,
8147 { "Not Defined", "ncp.bit9pingpflags1", FT_BOOLEAN, 16, NULL, 0x00000100, NULL, HFILL }},
8149 { &hf_bit10pingpflags1,
8150 { "Not Defined", "ncp.bit10pingpflags1", FT_BOOLEAN, 16, NULL, 0x00000200, NULL, HFILL }},
8152 { &hf_bit11pingpflags1,
8153 { "Not Defined", "ncp.bit11pingpflags1", FT_BOOLEAN, 16, NULL, 0x00000400, NULL, HFILL }},
8155 { &hf_bit12pingpflags1,
8156 { "Not Defined", "ncp.bit12pingpflags1", FT_BOOLEAN, 16, NULL, 0x00000800, NULL, HFILL }},
8158 { &hf_bit13pingpflags1,
8159 { "Not Defined", "ncp.bit13pingpflags1", FT_BOOLEAN, 16, NULL, 0x00001000, NULL, HFILL }},
8161 { &hf_bit14pingpflags1,
8162 { "Not Defined", "ncp.bit14pingpflags1", FT_BOOLEAN, 16, NULL, 0x00002000, NULL, HFILL }},
8164 { &hf_bit15pingpflags1,
8165 { "Not Defined", "ncp.bit15pingpflags1", FT_BOOLEAN, 16, NULL, 0x00004000, NULL, HFILL }},
8167 { &hf_bit16pingpflags1,
8168 { "Not Defined", "ncp.bit16pingpflags1", FT_BOOLEAN, 16, NULL, 0x00008000, NULL, HFILL }},
8171 { "Verification Flags", "ncp.pingvflags1", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8173 { &hf_bit1pingvflags1,
8174 { "Checksum", "ncp.bit1pingvflags1", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
8176 { &hf_bit2pingvflags1,
8177 { "CRC32", "ncp.bit2pingvflags1", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
8179 { &hf_bit3pingvflags1,
8180 { "Not Defined", "ncp.bit3pingvflags1", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
8182 { &hf_bit4pingvflags1,
8183 { "Not Defined", "ncp.bit4pingvflags1", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
8185 { &hf_bit5pingvflags1,
8186 { "Not Defined", "ncp.bit5pingvflags1", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
8188 { &hf_bit6pingvflags1,
8189 { "Not Defined", "ncp.bit6pingvflags1", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
8191 { &hf_bit7pingvflags1,
8192 { "Not Defined", "ncp.bit7pingvflags1", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
8194 { &hf_bit8pingvflags1,
8195 { "Not Defined", "ncp.bit8pingvflags1", FT_BOOLEAN, 16, NULL, 0x00000080, NULL, HFILL }},
8197 { &hf_bit9pingvflags1,
8198 { "Not Defined", "ncp.bit9pingvflags1", FT_BOOLEAN, 16, NULL, 0x00000100, NULL, HFILL }},
8200 { &hf_bit10pingvflags1,
8201 { "Not Defined", "ncp.bit10pingvflags1", FT_BOOLEAN, 16, NULL, 0x00000200, NULL, HFILL }},
8203 { &hf_bit11pingvflags1,
8204 { "Not Defined", "ncp.bit11pingvflags1", FT_BOOLEAN, 16, NULL, 0x00000400, NULL, HFILL }},
8206 { &hf_bit12pingvflags1,
8207 { "Not Defined", "ncp.bit12pingvflags1", FT_BOOLEAN, 16, NULL, 0x00000800, NULL, HFILL }},
8209 { &hf_bit13pingvflags1,
8210 { "Not Defined", "ncp.bit13pingvflags1", FT_BOOLEAN, 16, NULL, 0x00001000, NULL, HFILL }},
8212 { &hf_bit14pingvflags1,
8213 { "Not Defined", "ncp.bit14pingvflags1", FT_BOOLEAN, 16, NULL, 0x00002000, NULL, HFILL }},
8215 { &hf_bit15pingvflags1,
8216 { "Not Defined", "ncp.bit15pingvflags1", FT_BOOLEAN, 16, NULL, 0x00004000, NULL, HFILL }},
8218 { &hf_bit16pingvflags1,
8219 { "Not Defined", "ncp.bit16pingvflags1", FT_BOOLEAN, 16, NULL, 0x00008000, NULL, HFILL }},
8221 { &hf_nds_letter_ver,
8222 { "Letter Version", "ncp.nds_letter_ver", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8224 { &hf_nds_os_majver,
8225 { "OS Major Version", "ncp.nds_os_majver", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
8227 { &hf_nds_os_minver,
8228 { "OS Minor Version", "ncp.nds_os_minver", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
8230 { &hf_nds_lic_flags,
8231 { "License Flags", "ncp.nds_lic_flags", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8234 { "DS Time", "ncp.nds_ds_time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0x0, NULL, HFILL }},
8237 { "Server Time", "ncp.nds_svr_time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0x0, NULL, HFILL }},
8240 { "Agent Create Time", "ncp.nds_crt_time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0x0, NULL, HFILL }},
8242 { &hf_nds_ping_version,
8243 { "Ping Version", "ncp.nds_ping_version", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
8245 { &hf_nds_search_scope,
8246 { "Search Scope", "ncp.nds_search_scope", FT_UINT32, BASE_DEC|BASE_RANGE_STRING, RVALS(nds_search_scope), 0x0, NULL, HFILL }},
8248 { &hf_nds_num_objects,
8249 { "Number of Objects to Search", "ncp.nds_num_objects", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8252 { "Information Types", "ncp.siflags", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8255 { "Names", "ncp.bit1siflags", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
8258 { "Names and Values", "ncp.bit2siflags", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
8261 { "Effective Privileges", "ncp.bit3siflags", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
8264 { "Value Info", "ncp.bit4siflags", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
8267 { "Abbreviated Value", "ncp.bit5siflags", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
8270 { "Not Defined", "ncp.bit6siflags", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
8273 { "Not Defined", "ncp.bit7siflags", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
8276 { "Not Defined", "ncp.bit8siflags", FT_BOOLEAN, 16, NULL, 0x00000080, NULL, HFILL }},
8279 { "Expanded Class", "ncp.bit9siflags", FT_BOOLEAN, 16, NULL, 0x00000100, NULL, HFILL }},
8282 { "Not Defined", "ncp.bit10siflags", FT_BOOLEAN, 16, NULL, 0x00000200, NULL, HFILL }},
8285 { "Not Defined", "ncp.bit11siflags", FT_BOOLEAN, 16, NULL, 0x00000400, NULL, HFILL }},
8288 { "Not Defined", "ncp.bit12siflags", FT_BOOLEAN, 16, NULL, 0x00000800, NULL, HFILL }},
8291 { "Not Defined", "ncp.bit13siflags", FT_BOOLEAN, 16, NULL, 0x00001000, NULL, HFILL }},
8294 { "Not Defined", "ncp.bit14siflags", FT_BOOLEAN, 16, NULL, 0x00002000, NULL, HFILL }},
8297 { "Not Defined", "ncp.bit15siflags", FT_BOOLEAN, 16, NULL, 0x00004000, NULL, HFILL }},
8300 { "Not Defined", "ncp.bit16siflags", FT_BOOLEAN, 16, NULL, 0x00008000, NULL, HFILL }},
8302 { &hf_nds_segment_overlap,
8303 { "Segment overlap", "nds.segment.overlap", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "Segment overlaps with other segments", HFILL }},
8305 { &hf_nds_segment_overlap_conflict,
8306 { "Conflicting data in segment overlap", "nds.segment.overlap.conflict", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "Overlapping segments contained conflicting data", HFILL }},
8308 { &hf_nds_segment_multiple_tails,
8309 { "Multiple tail segments found", "nds.segment.multipletails", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "Several tails were found when desegmenting the packet", HFILL }},
8311 { &hf_nds_segment_too_long_segment,
8312 { "Segment too long", "nds.segment.toolongsegment", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "Segment contained data past end of packet", HFILL }},
8314 { &hf_nds_segment_error,
8315 { "Desegmentation error", "nds.segment.error", FT_FRAMENUM, BASE_NONE, NULL, 0x0, "Desegmentation error due to illegal segments", HFILL }},
8317 { &hf_nds_segment_count,
8318 { "Segment count", "nds.segment.count", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
8320 { &hf_nds_reassembled_length,
8321 { "Reassembled NDS length", "nds.reassembled.length", FT_UINT32, BASE_DEC, NULL, 0x0, "The total length of the reassembled payload", HFILL }},
8324 { "NDS Fragment", "nds.fragment", FT_FRAMENUM, BASE_NONE, NULL, 0x0, "NDPS Fragment", HFILL }},
8327 { "NDS Fragments", "nds.fragments", FT_NONE, BASE_NONE, NULL, 0x0, "NDPS Fragments", HFILL }},
8329 { &hf_nds_verb2b_req_flags,
8330 { "Flags", "ncp.nds_verb2b_flags", FT_UINT32, BASE_HEX, VALS(nds_verb2b_flag_vals), 0x0, NULL, HFILL }},
8332 { &hf_ncp_ip_address,
8333 { "IP Address", "ncp.ip_addr", FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL }},
8335 { &hf_ncp_copyright,
8336 { "Copyright", "ncp.copyright", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
8339 { "Not Defined", "ncp.nds_prot_bit1", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
8342 { "Not Defined", "ncp.nds_prot_bit2", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
8345 { "Not Defined", "ncp.nds_prot_bit3", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
8348 { "Not Defined", "ncp.nds_prot_bit4", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
8351 { "Not Defined", "ncp.nds_prot_bit5", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
8354 { "Not Defined", "ncp.nds_prot_bit6", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
8357 { "Not Defined", "ncp.nds_prot_bit7", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
8360 { "Not Defined", "ncp.nds_prot_bit8", FT_BOOLEAN, 16, NULL, 0x00000080, NULL, HFILL }},
8363 { "Not Defined", "ncp.nds_prot_bit9", FT_BOOLEAN, 16, NULL, 0x00000100, NULL, HFILL }},
8365 { &hf_ndsprot10flag,
8366 { "Not Defined", "ncp.nds_prot_bit10", FT_BOOLEAN, 16, NULL, 0x00000200, NULL, HFILL }},
8368 { &hf_ndsprot11flag,
8369 { "Not Defined", "ncp.nds_prot_bit11", FT_BOOLEAN, 16, NULL, 0x00000400, NULL, HFILL }},
8371 { &hf_ndsprot12flag,
8372 { "Not Defined", "ncp.nds_prot_bit12", FT_BOOLEAN, 16, NULL, 0x00000800, NULL, HFILL }},
8374 { &hf_ndsprot13flag,
8375 { "Not Defined", "ncp.nds_prot_bit13", FT_BOOLEAN, 16, NULL, 0x00001000, NULL, HFILL }},
8377 { &hf_ndsprot14flag,
8378 { "Not Defined", "ncp.nds_prot_bit14", FT_BOOLEAN, 16, NULL, 0x00002000, NULL, HFILL }},
8380 { &hf_ndsprot15flag,
8381 { "Include CRC in NDS Header", "ncp.nds_prot_bit15", FT_BOOLEAN, 16, NULL, 0x00004000, NULL, HFILL }},
8383 { &hf_ndsprot16flag,
8384 { "Client is a Server", "ncp.nds_prot_bit16", FT_BOOLEAN, 16, NULL, 0x00008000, NULL, HFILL }},
8386 { &hf_nds_svr_dst_name,
8387 { "Server Distinguished Name", "ncp.nds_svr_dist_name", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
8389 { &hf_nds_tune_mark,
8390 { "Tune Mark", "ncp.ndstunemark", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8392 #if 0 /* Unused ? */
8393 { &hf_nds_create_time,
8394 { "NDS Creation Time", "ncp.ndscreatetime", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0x0, NULL, HFILL }},
8397 { &hf_srvr_param_string,
8398 { "Set Parameter Value", "ncp.srvr_param_string", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
8400 { &hf_srvr_param_number,
8401 { "Set Parameter Value", "ncp.srvr_param_number", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
8403 { &hf_srvr_param_boolean,
8404 { "Set Parameter Value", "ncp.srvr_param_boolean", FT_BOOLEAN, BASE_NONE, NULL, 0x0, NULL, HFILL }},
8406 { &hf_nds_number_of_items,
8407 { "Number of Items", "ncp.ndsitems", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
8409 { &hf_ncp_nds_iterverb,
8410 { "NDS Iteration Verb", "ncp.ndsiterverb", FT_UINT32, BASE_DEC_HEX, VALS(iterator_subverbs), 0x0, NULL, HFILL }},
8412 { &hf_iter_completion_code,
8413 { "Iteration Completion Code", "ncp.iter_completion_code", FT_UINT32, BASE_HEX, VALS(nds_reply_errors), 0x0, NULL, HFILL }},
8415 #if 0 /* Unused ? */
8417 { "Iterator Object", "ncp.ndsiterobj", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8420 { &hf_iter_verb_completion_code,
8421 { "Completion Code", "ncp.iter_verb_completion_code", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8424 { "Iterator Answer", "ncp.iter_answer", FT_BOOLEAN, BASE_NONE, NULL, 0x0, NULL, HFILL }},
8427 { "Positionable", "ncp.iterpositionable", FT_BOOLEAN, BASE_NONE, NULL, 0x0, NULL, HFILL }},
8430 { "Number Skipped", "ncp.iternumskipped", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8433 { "Number to Skip", "ncp.iternumtoskip", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8436 { "Time Limit", "ncp.itertimelimit", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8439 { "Iterator Index", "ncp.iterindex", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8442 { "Number to Get", "ncp.iternumtoget", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8444 #if 0 /* Unused ? */
8445 { &hf_ret_info_type,
8446 { "Return Information Type", "ncp.iterretinfotype", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8450 { "Data Size", "ncp.iterdatasize", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
8453 { "Number of Items", "ncp.itercount", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
8456 { "Maximum Entries", "ncp.itermaxentries", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8458 { &hf_move_position,
8459 { "Move Position", "ncp.itermoveposition", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8462 { "Iterator Copy", "ncp.itercopy", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8464 { &hf_iter_position,
8465 { "Iteration Position", "ncp.iterposition", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8468 { "Search Filter", "ncp.iter_search", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8471 { "Other Iteration", "ncp.iterother", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8474 { "Object ID", "ncp.nds_oid", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
8476 { &hf_ncp_bytes_actually_trans_64,
8477 { "Bytes Actually Transferred", "ncp.bytes_actually_trans_64", FT_UINT64, BASE_DEC, NULL, 0x0, NULL, HFILL }},
8480 { "SAP Name", "ncp.sap_name", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
8483 { "OS Name", "ncp.os_name", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
8486 { "Vendor Name", "ncp.vendor_name", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
8488 { &hf_hardware_name,
8489 { "Hardware Name", "ncp.hardware_name", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
8491 { &hf_no_request_record_found,
8492 { "No request record found. Parsing is impossible.", "ncp.no_request_record_found", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL }},
8494 { &hf_search_modifier,
8495 { "Search Modifier", "ncp.search_modifier", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8497 { &hf_search_pattern,
8498 { "Search Pattern", "ncp.search_pattern", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
8500 { &hf_nds_acl_protected_attribute,
8501 { "Protected Attribute", "ncp.nds_acl_protected_attribute", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
8503 { &hf_nds_acl_subject,
8504 { "Subject", "ncp.nds_acl_subject", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
8506 { &hf_nds_acl_privileges,
8507 { "Subject", "ncp.nds_acl_privileges", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8510 # Print the registration code for the hf variables
8511 for var
in sorted_vars
:
8512 print(" { &%s," % (var
.HFName()))
8513 print(" { \"%s\", \"%s\", %s, %s, %s, 0x%x, NULL, HFILL }},\n" % \
8514 (var
.Description(), var
.DFilter(),
8515 var
.WiresharkFType(), var
.Display(), var
.ValuesName(),
8521 print(" static int *ett[] = {")
8523 for ett
in ett_list
:
8524 print(" &%s," % (ett
,))
8529 static ei_register_info ei[] = {
8530 { &ei_ncp_file_handle, { "ncp.file_handle.expert", PI_REQUEST_CODE, PI_CHAT, "Close file handle", EXPFILL }},
8531 { &ei_ncp_file_rights, { "ncp.file_rights", PI_REQUEST_CODE, PI_CHAT, "File rights", EXPFILL }},
8532 { &ei_ncp_op_lock_handle, { "ncp.op_lock_handle", PI_REQUEST_CODE, PI_CHAT, "Op-lock on handle", EXPFILL }},
8533 { &ei_ncp_file_rights_change, { "ncp.file_rights.change", PI_REQUEST_CODE, PI_CHAT, "Change handle rights", EXPFILL }},
8534 { &ei_ncp_effective_rights, { "ncp.effective_rights.expert", PI_RESPONSE_CODE, PI_CHAT, "Handle effective rights", EXPFILL }},
8535 { &ei_ncp_server, { "ncp.server", PI_RESPONSE_CODE, PI_CHAT, "Server info", EXPFILL }},
8536 { &ei_iter_verb_completion_code, { "ncp.iter_verb_completion_code.expert", PI_RESPONSE_CODE, PI_ERROR, "Iteration Verb Error", EXPFILL }},
8537 { &ei_ncp_connection_request, { "ncp.connection_request", PI_RESPONSE_CODE, PI_CHAT, "Connection Request", EXPFILL }},
8538 { &ei_ncp_destroy_connection, { "ncp.destroy_connection", PI_RESPONSE_CODE, PI_CHAT, "Destroy Connection Request", EXPFILL }},
8539 { &ei_nds_reply_error, { "ncp.ndsreplyerror.expert", PI_RESPONSE_CODE, PI_ERROR, "NDS Error", EXPFILL }},
8540 { &ei_nds_iteration, { "ncp.nds_iteration.error", PI_RESPONSE_CODE, PI_ERROR, "NDS Iteration Error", EXPFILL }},
8541 { &ei_ncp_eid, { "ncp.eid", PI_RESPONSE_CODE, PI_CHAT, "EID", EXPFILL }},
8542 { &ei_ncp_completion_code, { "ncp.completion_code.expert", PI_RESPONSE_CODE, PI_ERROR, "Code Completion Error", EXPFILL }},
8543 { &ei_ncp_connection_status, { "ncp.connection_status.bad", PI_RESPONSE_CODE, PI_ERROR, "Error: Bad Connection Status", EXPFILL }},
8544 { &ei_ncp_connection_destroyed, { "ncp.connection_destroyed", PI_RESPONSE_CODE, PI_CHAT, "Connection Destroyed", EXPFILL }},
8545 { &ei_ncp_no_request_record_found, { "ncp.no_request_record_found", PI_SEQUENCE, PI_NOTE, "No request record found.", EXPFILL }},
8546 { &ei_ncp_invalid_offset, { "ncp.invalid_offset", PI_MALFORMED, PI_ERROR, "Invalid offset", EXPFILL }},
8547 { &ei_ncp_address_type, { "ncp.address_type.unknown", PI_PROTOCOL, PI_WARN, "Unknown Address Type", EXPFILL }},
8548 { &ei_ncp_value_too_large, { "ncp.value_too_large", PI_MALFORMED, PI_ERROR, "Length value goes past the end of the packet", EXPFILL }},
8551 expert_module_t* expert_ncp;
8553 proto_register_field_array(proto_ncp, hf, array_length(hf));""")
8557 proto_register_subtree_array(ett, array_length(ett));""")
8560 expert_ncp = expert_register_protocol(proto_ncp);
8561 expert_register_field_array(expert_ncp, ei, array_length(ei));
8562 register_init_routine(&ncp_init_protocol);
8564 reassembly_table_register(&nds_reassembly_table,
8565 &addresses_reassembly_table_functions);
8567 ncp_req_hash = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(), ncp_hash, ncp_equal);
8568 ncp_req_eid_hash = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(), ncp_eid_hash, ncp_eid_equal);
8572 # End of proto_register_ncp2222()
8576 print("Usage: ncp2222.py -o output_file")
8580 global compcode_lists
8588 opts
, args
= getopt
.getopt(sys
.argv
[1:], optstring
)
8589 except getopt
.error
:
8592 for opt
, arg
in opts
:
8601 if not out_filename
:
8604 # Create the output file
8606 out_file
= open(out_filename
, "w")
8608 sys
.exit("Could not open %s for writing: %s" % (out_filename
,
8611 # Set msg to current stdout
8614 # Set stdout to the output file
8615 sys
.stdout
= out_file
8617 msg
.write("Processing NCP definitions...\n")
8618 # Run the code, and if we catch any exception,
8619 # erase the output file.
8621 compcode_lists
= UniqueCollection('Completion Code Lists')
8622 ptvc_lists
= UniqueCollection('PTVC Lists')
8629 msg
.write("Defined %d NCP types.\n" % (len(packets
),))
8632 traceback
.print_exc(20, msg
)
8636 msg
.write("Could not close %s: %s\n" % (out_filename
, IOError))
8639 if os
.path
.exists(out_filename
):
8640 os
.remove(out_filename
)
8642 msg
.write("Could not remove %s: %s\n" % (out_filename
, OSError))
8648 def define_ncp2222():
8649 ##############################################################################
8650 # NCP Packets. Here I list functions and subfunctions in hexadecimal like the
8651 # NCP book (and I believe LanAlyzer does this too).
8652 # However, Novell lists these in decimal in their on-line documentation.
8653 ##############################################################################
8655 pkt
= NCP(0x01, "File Set Lock", 'sync')
8658 pkt
.CompletionCodes([0x0000])
8660 pkt
= NCP(0x02, "File Release Lock", 'sync')
8663 pkt
.CompletionCodes([0x0000, 0xff00])
8665 pkt
= NCP(0x03, "Log File Exclusive", 'sync')
8666 pkt
.Request( (12, 267), [
8667 rec( 7, 1, DirHandle
),
8668 rec( 8, 1, LockFlag
),
8669 rec( 9, 2, TimeoutLimit
, ENC_BIG_ENDIAN
),
8670 rec( 11, (1, 256), FilePath
),
8673 pkt
.CompletionCodes([0x0000, 0x8200, 0x9600, 0xfe0d, 0xff01])
8675 pkt
= NCP(0x04, "Lock File Set", 'sync')
8677 rec( 7, 2, TimeoutLimit
),
8680 pkt
.CompletionCodes([0x0000, 0xfe0d, 0xff01])
8682 pkt
= NCP(0x05, "Release File", 'sync')
8683 pkt
.Request( (9, 264), [
8684 rec( 7, 1, DirHandle
),
8685 rec( 8, (1, 256), FilePath
),
8688 pkt
.CompletionCodes([0x0000, 0x9b00, 0x9c03, 0xff1a])
8690 pkt
= NCP(0x06, "Release File Set", 'sync')
8692 rec( 7, 1, LockFlag
),
8695 pkt
.CompletionCodes([0x0000])
8697 pkt
= NCP(0x07, "Clear File", 'sync')
8698 pkt
.Request( (9, 264), [
8699 rec( 7, 1, DirHandle
),
8700 rec( 8, (1, 256), FilePath
),
8703 pkt
.CompletionCodes([0x0000, 0x9600, 0x9804, 0x9b03, 0x9c03,
8704 0xa100, 0xfd00, 0xff1a])
8706 pkt
= NCP(0x08, "Clear File Set", 'sync')
8708 rec( 7, 1, LockFlag
),
8711 pkt
.CompletionCodes([0x0000])
8713 pkt
= NCP(0x09, "Log Logical Record", 'sync')
8714 pkt
.Request( (11, 138), [
8715 rec( 7, 1, LockFlag
),
8716 rec( 8, 2, TimeoutLimit
, ENC_BIG_ENDIAN
),
8717 rec( 10, (1, 128), LogicalRecordName
, info_str
=(LogicalRecordName
, "Log Logical Record: %s", ", %s")),
8720 pkt
.CompletionCodes([0x0000, 0x9600, 0xfe0d, 0xff1a])
8722 pkt
= NCP(0x0A, "Lock Logical Record Set", 'sync')
8724 rec( 7, 1, LockFlag
),
8725 rec( 8, 2, TimeoutLimit
),
8728 pkt
.CompletionCodes([0x0000, 0xfe0d, 0xff1a])
8730 pkt
= NCP(0x0B, "Clear Logical Record", 'sync')
8731 pkt
.Request( (8, 135), [
8732 rec( 7, (1, 128), LogicalRecordName
, info_str
=(LogicalRecordName
, "Clear Logical Record: %s", ", %s") ),
8735 pkt
.CompletionCodes([0x0000, 0xff1a])
8737 pkt
= NCP(0x0C, "Release Logical Record", 'sync')
8738 pkt
.Request( (8, 135), [
8739 rec( 7, (1, 128), LogicalRecordName
, info_str
=(LogicalRecordName
, "Release Logical Record: %s", ", %s") ),
8742 pkt
.CompletionCodes([0x0000, 0xff1a])
8744 pkt
= NCP(0x0D, "Release Logical Record Set", 'sync')
8746 rec( 7, 1, LockFlag
),
8749 pkt
.CompletionCodes([0x0000])
8751 pkt
= NCP(0x0E, "Clear Logical Record Set", 'sync')
8753 rec( 7, 1, LockFlag
),
8756 pkt
.CompletionCodes([0x0000])
8758 pkt
= NCP(0x1100, "Write to Spool File", 'print')
8759 pkt
.Request( (11, 16), [
8760 rec( 10, ( 1, 6 ), Data
, info_str
=(Data
, "Write to Spool File: %s", ", %s") ),
8763 pkt
.CompletionCodes([0x0000, 0x0104, 0x8000, 0x8101, 0x8701, 0x8800,
8764 0x8d00, 0x8e00, 0x8f00, 0x9001, 0x9400, 0x9500,
8765 0x9600, 0x9804, 0x9900, 0xa100, 0xa201, 0xff19])
8767 pkt
= NCP(0x1101, "Close Spool File", 'print')
8769 rec( 10, 1, AbortQueueFlag
),
8772 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8701, 0x8800, 0x8d00,
8773 0x8e00, 0x8f00, 0x9001, 0x9300, 0x9400, 0x9500,
8774 0x9600, 0x9804, 0x9900, 0x9b03, 0x9c03, 0x9d00,
8775 0xa100, 0xd000, 0xd100, 0xd202, 0xd300, 0xd400,
8776 0xda01, 0xe800, 0xea00, 0xeb00, 0xec00, 0xfc06,
8777 0xfd00, 0xfe07, 0xff06])
8779 pkt
= NCP(0x1102, "Set Spool File Flags", 'print')
8781 rec( 10, 1, PrintFlags
),
8782 rec( 11, 1, TabSize
),
8783 rec( 12, 1, TargetPrinter
),
8784 rec( 13, 1, Copies
),
8785 rec( 14, 1, FormType
),
8786 rec( 15, 1, Reserved
),
8787 rec( 16, 14, BannerName
),
8790 pkt
.CompletionCodes([0x0000, 0x9600, 0xd202, 0xd300, 0xe800, 0xea00,
8791 0xeb00, 0xec00, 0xfc06, 0xfe07, 0xff06])
8794 pkt
= NCP(0x1103, "Spool A Disk File", 'print')
8795 pkt
.Request( (12, 23), [
8796 rec( 10, 1, DirHandle
),
8797 rec( 11, (1, 12), Data
, info_str
=(Data
, "Spool a Disk File: %s", ", %s") ),
8800 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8701, 0x8800, 0x8d00,
8801 0x8e00, 0x8f00, 0x9001, 0x9300, 0x9400, 0x9500,
8802 0x9600, 0x9804, 0x9900, 0x9b03, 0x9c03, 0x9d00,
8803 0xa100, 0xd000, 0xd100, 0xd202, 0xd300, 0xd400,
8804 0xda01, 0xe800, 0xea00, 0xeb00, 0xec00, 0xfc06,
8805 0xfd00, 0xfe07, 0xff06])
8808 pkt
= NCP(0x1106, "Get Printer Status", 'print')
8810 rec( 10, 1, TargetPrinter
),
8813 rec( 8, 1, PrinterHalted
),
8814 rec( 9, 1, PrinterOffLine
),
8815 rec( 10, 1, CurrentFormType
),
8816 rec( 11, 1, RedirectedPrinter
),
8818 pkt
.CompletionCodes([0x0000, 0x9600, 0xfb05, 0xfd00, 0xff06])
8821 pkt
= NCP(0x1109, "Create Spool File", 'print')
8822 pkt
.Request( (12, 23), [
8823 rec( 10, 1, DirHandle
),
8824 rec( 11, (1, 12), Data
, info_str
=(Data
, "Create Spool File: %s", ", %s") ),
8827 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8400, 0x8701, 0x8d00,
8828 0x8f00, 0x9001, 0x9400, 0x9600, 0x9804, 0x9900,
8829 0x9b03, 0x9c03, 0xa100, 0xd000, 0xd100, 0xd202,
8830 0xd300, 0xd400, 0xda01, 0xe800, 0xea00, 0xeb00,
8831 0xec00, 0xfc06, 0xfd00, 0xfe07, 0xff06])
8834 pkt
= NCP(0x110A, "Get Printer's Queue", 'print')
8836 rec( 10, 1, TargetPrinter
),
8839 rec( 8, 4, ObjectID
, ENC_BIG_ENDIAN
),
8841 pkt
.CompletionCodes([0x0000, 0x9600, 0xff06])
8844 pkt
= NCP(0x12, "Get Volume Info with Number", 'file')
8846 rec( 7, 1, VolumeNumber
,info_str
=(VolumeNumber
, "Get Volume Information for Volume %d", ", %d") )
8849 rec( 8, 2, SectorsPerCluster
, ENC_BIG_ENDIAN
),
8850 rec( 10, 2, TotalVolumeClusters
, ENC_BIG_ENDIAN
),
8851 rec( 12, 2, AvailableClusters
, ENC_BIG_ENDIAN
),
8852 rec( 14, 2, TotalDirectorySlots
, ENC_BIG_ENDIAN
),
8853 rec( 16, 2, AvailableDirectorySlots
, ENC_BIG_ENDIAN
),
8854 rec( 18, 16, VolumeName
),
8855 rec( 34, 2, RemovableFlag
, ENC_BIG_ENDIAN
),
8857 pkt
.CompletionCodes([0x0000, 0x9804])
8860 pkt
= NCP(0x13, "Get Station Number", 'connection')
8863 rec( 8, 3, StationNumber
)
8865 pkt
.CompletionCodes([0x0000, 0xff00])
8868 pkt
= NCP(0x14, "Get File Server Date And Time", 'fileserver')
8875 rec( 12, 1, Minute
),
8876 rec( 13, 1, Second
),
8877 rec( 14, 1, DayOfWeek
),
8879 pkt
.CompletionCodes([0x0000])
8882 pkt
= NCP(0x1500, "Send Broadcast Message", 'message')
8883 pkt
.Request((13, 70), [
8884 rec( 10, 1, ClientListLen
, var
="x" ),
8885 rec( 11, 1, TargetClientList
, repeat
="x" ),
8886 rec( 12, (1, 58), TargetMessage
, info_str
=(TargetMessage
, "Send Broadcast Message: %s", ", %s") ),
8889 rec( 8, 1, ClientListLen
, var
="x" ),
8890 rec( 9, 1, SendStatus
, repeat
="x" )
8892 pkt
.CompletionCodes([0x0000, 0xfd00])
8895 pkt
= NCP(0x1501, "Get Broadcast Message", 'message')
8898 rec( 8, (1, 58), TargetMessage
)
8900 pkt
.CompletionCodes([0x0000, 0xfd00])
8903 pkt
= NCP(0x1502, "Disable Broadcasts", 'message')
8906 pkt
.CompletionCodes([0x0000, 0xfb0a])
8909 pkt
= NCP(0x1503, "Enable Broadcasts", 'message')
8912 pkt
.CompletionCodes([0x0000])
8915 pkt
= NCP(0x1509, "Broadcast To Console", 'message')
8916 pkt
.Request((11, 68), [
8917 rec( 10, (1, 58), TargetMessage
, info_str
=(TargetMessage
, "Broadcast to Console: %s", ", %s") )
8920 pkt
.CompletionCodes([0x0000])
8923 pkt
= NCP(0x150A, "Send Broadcast Message", 'message')
8924 pkt
.Request((17, 74), [
8925 rec( 10, 2, ClientListCount
, ENC_LITTLE_ENDIAN
, var
="x" ),
8926 rec( 12, 4, ClientList
, ENC_LITTLE_ENDIAN
, repeat
="x" ),
8927 rec( 16, (1, 58), TargetMessage
, info_str
=(TargetMessage
, "Send Broadcast Message: %s", ", %s") ),
8930 rec( 8, 2, ClientListCount
, ENC_LITTLE_ENDIAN
, var
="x" ),
8931 rec( 10, 4, ClientCompFlag
, ENC_LITTLE_ENDIAN
, repeat
="x" ),
8933 pkt
.CompletionCodes([0x0000, 0xfd00])
8936 pkt
= NCP(0x150B, "Get Broadcast Message", 'message')
8939 rec( 8, (1, 58), TargetMessage
)
8941 pkt
.CompletionCodes([0x0000, 0xfd00])
8944 pkt
= NCP(0x150C, "Connection Message Control", 'message')
8946 rec( 10, 1, ConnectionControlBits
),
8947 rec( 11, 3, Reserved3
),
8948 rec( 14, 4, ConnectionListCount
, ENC_LITTLE_ENDIAN
, var
="x" ),
8949 rec( 18, 4, ConnectionList
, ENC_LITTLE_ENDIAN
, repeat
="x" ),
8952 pkt
.CompletionCodes([0x0000, 0xff00])
8955 pkt
= NCP(0x1600, "Set Directory Handle", 'file')
8956 pkt
.Request((13,267), [
8957 rec( 10, 1, TargetDirHandle
),
8958 rec( 11, 1, DirHandle
),
8959 rec( 12, (1, 255), Path
, info_str
=(Path
, "Set Directory Handle to: %s", ", %s") ),
8962 pkt
.CompletionCodes([0x0000, 0x9600, 0x9804, 0x9b03, 0x9c03, 0xa100, 0xfa00,
8967 pkt
= NCP(0x1601, "Get Directory Path", 'file')
8969 rec( 10, 1, DirHandle
,info_str
=(DirHandle
, "Get Directory Path for Directory Handle %d", ", %d") ),
8971 pkt
.Reply((9,263), [
8972 rec( 8, (1,255), Path
),
8974 pkt
.CompletionCodes([0x0000, 0x9600, 0x9b00, 0x9c00, 0xa100])
8977 pkt
= NCP(0x1602, "Scan Directory Information", 'file')
8978 pkt
.Request((14,268), [
8979 rec( 10, 1, DirHandle
),
8980 rec( 11, 2, StartingSearchNumber
, ENC_BIG_ENDIAN
),
8981 rec( 13, (1, 255), Path
, info_str
=(Path
, "Scan Directory Information: %s", ", %s") ),
8984 rec( 8, 16, DirectoryPath
),
8985 rec( 24, 2, CreationDate
, ENC_BIG_ENDIAN
),
8986 rec( 26, 2, CreationTime
, ENC_BIG_ENDIAN
),
8987 rec( 28, 4, CreatorID
, ENC_BIG_ENDIAN
),
8988 rec( 32, 1, AccessRightsMask
),
8989 rec( 33, 1, Reserved
),
8990 rec( 34, 2, NextSearchNumber
, ENC_BIG_ENDIAN
),
8992 pkt
.CompletionCodes([0x0000, 0x9600, 0x9804, 0x9b03, 0x9c03, 0xa100, 0xfa00,
8996 pkt
= NCP(0x1603, "Get Effective Directory Rights", 'file')
8997 pkt
.Request((12,266), [
8998 rec( 10, 1, DirHandle
),
8999 rec( 11, (1, 255), Path
, info_str
=(Path
, "Get Effective Directory Rights: %s", ", %s") ),
9002 rec( 8, 1, AccessRightsMask
),
9004 pkt
.CompletionCodes([0x0000, 0x9600, 0x9804, 0x9b03, 0x9c03, 0xa100, 0xfa00,
9008 pkt
= NCP(0x1604, "Modify Maximum Rights Mask", 'file')
9009 pkt
.Request((14,268), [
9010 rec( 10, 1, DirHandle
),
9011 rec( 11, 1, RightsGrantMask
),
9012 rec( 12, 1, RightsRevokeMask
),
9013 rec( 13, (1, 255), Path
, info_str
=(Path
, "Modify Maximum Rights Mask: %s", ", %s") ),
9016 pkt
.CompletionCodes([0x0000, 0x8c00, 0x9600, 0x9804, 0x9b03, 0x9c03, 0xa100, 0xfa00,
9020 pkt
= NCP(0x1605, "Get Volume Number", 'file')
9021 pkt
.Request((11, 265), [
9022 rec( 10, (1,255), VolumeNameLen
, info_str
=(VolumeNameLen
, "Get Volume Number for: %s", ", %s") ),
9025 rec( 8, 1, VolumeNumber
),
9027 pkt
.CompletionCodes([0x0000, 0x9600, 0x9804])
9030 pkt
= NCP(0x1606, "Get Volume Name", 'file')
9032 rec( 10, 1, VolumeNumber
,info_str
=(VolumeNumber
, "Get Name for Volume %d", ", %d") ),
9034 pkt
.Reply((9, 263), [
9035 rec( 8, (1,255), VolumeNameLen
),
9037 pkt
.CompletionCodes([0x0000, 0x9600, 0x9804, 0xff00])
9040 pkt
= NCP(0x160A, "Create Directory", 'file')
9041 pkt
.Request((13,267), [
9042 rec( 10, 1, DirHandle
),
9043 rec( 11, 1, AccessRightsMask
),
9044 rec( 12, (1, 255), Path
, info_str
=(Path
, "Create Directory: %s", ", %s") ),
9047 pkt
.CompletionCodes([0x0000, 0x8400, 0x9600, 0x9804, 0x9900, 0x9b03, 0x9c03,
9048 0x9e00, 0xa100, 0xfd00, 0xff00])
9051 pkt
= NCP(0x160B, "Delete Directory", 'file')
9052 pkt
.Request((13,267), [
9053 rec( 10, 1, DirHandle
),
9054 rec( 11, 1, Reserved
),
9055 rec( 12, (1, 255), Path
, info_str
=(Path
, "Delete Directory: %s", ", %s") ),
9058 pkt
.CompletionCodes([0x0000, 0x8a00, 0x9600, 0x9804, 0x9b03, 0x9c03,
9059 0x9f00, 0xa000, 0xa100, 0xfd00, 0xff00])
9062 pkt
= NCP(0x160C, "Scan Directory for Trustees", 'file')
9063 pkt
.Request((13,267), [
9064 rec( 10, 1, DirHandle
),
9065 rec( 11, 1, TrusteeSetNumber
),
9066 rec( 12, (1, 255), Path
, info_str
=(Path
, "Scan Directory for Trustees: %s", ", %s") ),
9069 rec( 8, 16, DirectoryPath
),
9070 rec( 24, 2, CreationDate
, ENC_BIG_ENDIAN
),
9071 rec( 26, 2, CreationTime
, ENC_BIG_ENDIAN
),
9072 rec( 28, 4, CreatorID
),
9073 rec( 32, 4, TrusteeID
, ENC_BIG_ENDIAN
),
9074 rec( 36, 4, TrusteeID
, ENC_BIG_ENDIAN
),
9075 rec( 40, 4, TrusteeID
, ENC_BIG_ENDIAN
),
9076 rec( 44, 4, TrusteeID
, ENC_BIG_ENDIAN
),
9077 rec( 48, 4, TrusteeID
, ENC_BIG_ENDIAN
),
9078 rec( 52, 1, AccessRightsMask
),
9079 rec( 53, 1, AccessRightsMask
),
9080 rec( 54, 1, AccessRightsMask
),
9081 rec( 55, 1, AccessRightsMask
),
9082 rec( 56, 1, AccessRightsMask
),
9084 pkt
.CompletionCodes([0x0000, 0x8c00, 0x9600, 0x9804, 0x9b03, 0x9c03,
9085 0xa100, 0xfd00, 0xff00])
9088 pkt
= NCP(0x160D, "Add Trustee to Directory", 'file')
9089 pkt
.Request((17,271), [
9090 rec( 10, 1, DirHandle
),
9091 rec( 11, 4, TrusteeID
, ENC_BIG_ENDIAN
),
9092 rec( 15, 1, AccessRightsMask
),
9093 rec( 16, (1, 255), Path
, info_str
=(Path
, "Add Trustee to Directory: %s", ", %s") ),
9096 pkt
.CompletionCodes([0x0000, 0x8c00, 0x9600, 0x9804, 0x9900, 0x9b03, 0x9c03,
9097 0xa100, 0xfc06, 0xfd00, 0xff00])
9100 pkt
= NCP(0x160E, "Delete Trustee from Directory", 'file')
9101 pkt
.Request((17,271), [
9102 rec( 10, 1, DirHandle
),
9103 rec( 11, 4, TrusteeID
, ENC_BIG_ENDIAN
),
9104 rec( 15, 1, Reserved
),
9105 rec( 16, (1, 255), Path
, info_str
=(Path
, "Delete Trustee from Directory: %s", ", %s") ),
9108 pkt
.CompletionCodes([0x0000, 0x8c00, 0x9600, 0x9804, 0x9900, 0x9b03, 0x9c03,
9109 0xa100, 0xfc06, 0xfd00, 0xfe07, 0xff00])
9112 pkt
= NCP(0x160F, "Rename Directory", 'file')
9113 pkt
.Request((13, 521), [
9114 rec( 10, 1, DirHandle
),
9115 rec( 11, (1, 255), Path
, info_str
=(Path
, "Rename Directory: %s", ", %s") ),
9116 rec( -1, (1, 255), NewPath
),
9119 pkt
.CompletionCodes([0x0000, 0x8b00, 0x9200, 0x9600, 0x9804, 0x9b03, 0x9c03,
9120 0x9e00, 0xa100, 0xef00, 0xfd00, 0xff00])
9123 pkt
= NCP(0x1610, "Purge Erased Files", 'file')
9126 pkt
.CompletionCodes([0x0000, 0x8100, 0x9600, 0x9804, 0xa100, 0xff00])
9129 pkt
= NCP(0x1611, "Recover Erased File", 'file')
9131 rec( 10, 1, DirHandle
,info_str
=(DirHandle
, "Recover Erased File from Directory Handle %d", ", %d") ),
9134 rec( 8, 15, OldFileName
),
9135 rec( 23, 15, NewFileName
),
9137 pkt
.CompletionCodes([0x0000, 0x9600, 0x9804, 0x9b03, 0x9c03,
9138 0xa100, 0xfd00, 0xff00])
9140 pkt
= NCP(0x1612, "Alloc Permanent Directory Handle", 'file')
9141 pkt
.Request((13, 267), [
9142 rec( 10, 1, DirHandle
),
9143 rec( 11, 1, DirHandleName
),
9144 rec( 12, (1,255), Path
, info_str
=(Path
, "Allocate Permanent Directory Handle: %s", ", %s") ),
9147 rec( 8, 1, DirHandle
),
9148 rec( 9, 1, AccessRightsMask
),
9150 pkt
.CompletionCodes([0x0000, 0x9600, 0x9804, 0x9900, 0x9b00, 0x9c03, 0x9d00,
9151 0xa100, 0xfd00, 0xff00])
9153 pkt
= NCP(0x1613, "Alloc Temporary Directory Handle", 'file')
9154 pkt
.Request((13, 267), [
9155 rec( 10, 1, DirHandle
),
9156 rec( 11, 1, DirHandleName
),
9157 rec( 12, (1,255), Path
, info_str
=(Path
, "Allocate Temporary Directory Handle: %s", ", %s") ),
9160 rec( 8, 1, DirHandle
),
9161 rec( 9, 1, AccessRightsMask
),
9163 pkt
.CompletionCodes([0x0000, 0x9600, 0x9804, 0x9900, 0x9c03, 0x9d00,
9164 0xa100, 0xfd00, 0xff00])
9166 pkt
= NCP(0x1614, "Deallocate Directory Handle", 'file')
9168 rec( 10, 1, DirHandle
,info_str
=(DirHandle
, "Deallocate Directory Handle %d", ", %d") ),
9171 pkt
.CompletionCodes([0x0000, 0x9b03])
9173 pkt
= NCP(0x1615, "Get Volume Info with Handle", 'file')
9175 rec( 10, 1, DirHandle
,info_str
=(DirHandle
, "Get Volume Information with Handle %d", ", %d") )
9178 rec( 8, 2, SectorsPerCluster
, ENC_BIG_ENDIAN
),
9179 rec( 10, 2, TotalVolumeClusters
, ENC_BIG_ENDIAN
),
9180 rec( 12, 2, AvailableClusters
, ENC_BIG_ENDIAN
),
9181 rec( 14, 2, TotalDirectorySlots
, ENC_BIG_ENDIAN
),
9182 rec( 16, 2, AvailableDirectorySlots
, ENC_BIG_ENDIAN
),
9183 rec( 18, 16, VolumeName
),
9184 rec( 34, 2, RemovableFlag
, ENC_BIG_ENDIAN
),
9186 pkt
.CompletionCodes([0x0000, 0xff00])
9188 pkt
= NCP(0x1616, "Alloc Special Temporary Directory Handle", 'file')
9189 pkt
.Request((13, 267), [
9190 rec( 10, 1, DirHandle
),
9191 rec( 11, 1, DirHandleName
),
9192 rec( 12, (1,255), Path
, info_str
=(Path
, "Allocate Special Temporary Directory Handle: %s", ", %s") ),
9195 rec( 8, 1, DirHandle
),
9196 rec( 9, 1, AccessRightsMask
),
9198 pkt
.CompletionCodes([0x0000, 0x9600, 0x9804, 0x9900, 0x9b00, 0x9c03, 0x9d00,
9199 0xa100, 0xfd00, 0xff00])
9201 pkt
= NCP(0x1617, "Extract a Base Handle", 'file')
9203 rec( 10, 1, DirHandle
, info_str
=(DirHandle
, "Extract a Base Handle from Directory Handle %d", ", %d") ),
9206 rec( 8, 10, ServerNetworkAddress
),
9207 rec( 18, 4, DirHandleLong
),
9209 pkt
.CompletionCodes([0x0000, 0x9600, 0x9b03])
9211 pkt
= NCP(0x1618, "Restore an Extracted Base Handle", 'file')
9213 rec( 10, 10, ServerNetworkAddress
),
9214 rec( 20, 4, DirHandleLong
),
9217 rec( 8, 1, DirHandle
),
9218 rec( 9, 1, AccessRightsMask
),
9220 pkt
.CompletionCodes([0x0000, 0x9600, 0x9804, 0x9b03, 0x9c00, 0x9d00, 0xa100,
9223 pkt
= NCP(0x1619, "Set Directory Information", 'file')
9224 pkt
.Request((21, 275), [
9225 rec( 10, 1, DirHandle
),
9226 rec( 11, 2, CreationDate
),
9227 rec( 13, 2, CreationTime
),
9228 rec( 15, 4, CreatorID
, ENC_BIG_ENDIAN
),
9229 rec( 19, 1, AccessRightsMask
),
9230 rec( 20, (1,255), Path
, info_str
=(Path
, "Set Directory Information: %s", ", %s") ),
9233 pkt
.CompletionCodes([0x0000, 0x8c00, 0x9600, 0x9804, 0x9b03, 0x9c00, 0xa100,
9236 pkt
= NCP(0x161A, "Get Path Name of a Volume-Directory Number Pair", 'file')
9238 rec( 10, 1, VolumeNumber
),
9239 rec( 11, 2, DirectoryEntryNumberWord
),
9241 pkt
.Reply((9,263), [
9242 rec( 8, (1,255), Path
),
9244 pkt
.CompletionCodes([0x0000, 0x9804, 0x9c00, 0xa100])
9246 pkt
= NCP(0x161B, "Scan Salvageable Files", 'file')
9248 rec( 10, 1, DirHandle
),
9249 rec( 11, 4, SequenceNumber
),
9252 rec( 8, 4, SequenceNumber
),
9253 rec( 12, 2, Subdirectory
),
9254 rec( 14, 2, Reserved2
),
9255 rec( 16, 4, AttributesDef32
),
9256 rec( 20, 1, UniqueID
),
9257 rec( 21, 1, FlagsDef
),
9258 rec( 22, 1, DestNameSpace
),
9259 rec( 23, 1, FileNameLen
),
9260 rec( 24, 12, FileName12
),
9261 rec( 36, 2, CreationTime
),
9262 rec( 38, 2, CreationDate
),
9263 rec( 40, 4, CreatorID
, ENC_BIG_ENDIAN
),
9264 rec( 44, 2, ArchivedTime
),
9265 rec( 46, 2, ArchivedDate
),
9266 rec( 48, 4, ArchiverID
, ENC_BIG_ENDIAN
),
9267 rec( 52, 2, UpdateTime
),
9268 rec( 54, 2, UpdateDate
),
9269 rec( 56, 4, UpdateID
, ENC_BIG_ENDIAN
),
9270 rec( 60, 4, FileSize
, ENC_BIG_ENDIAN
),
9271 rec( 64, 44, Reserved44
),
9272 rec( 108, 2, InheritedRightsMask
),
9273 rec( 110, 2, LastAccessedDate
),
9274 rec( 112, 4, DeletedFileTime
),
9275 rec( 116, 2, DeletedTime
),
9276 rec( 118, 2, DeletedDate
),
9277 rec( 120, 4, DeletedID
, ENC_BIG_ENDIAN
),
9278 rec( 124, 16, Reserved16
),
9280 pkt
.CompletionCodes([0x0000, 0xfb01, 0x9801, 0xff1d])
9282 pkt
= NCP(0x161C, "Recover Salvageable File", 'file')
9283 pkt
.Request((17,525), [
9284 rec( 10, 1, DirHandle
),
9285 rec( 11, 4, SequenceNumber
),
9286 rec( 15, (1, 255), FileName
, info_str
=(FileName
, "Recover File: %s", ", %s") ),
9287 rec( -1, (1, 255), NewFileNameLen
),
9290 pkt
.CompletionCodes([0x0000, 0x8401, 0x9c03, 0xfe02])
9292 pkt
= NCP(0x161D, "Purge Salvageable File", 'file')
9294 rec( 10, 1, DirHandle
),
9295 rec( 11, 4, SequenceNumber
),
9298 pkt
.CompletionCodes([0x0000, 0x8500, 0x9c03])
9300 pkt
= NCP(0x161E, "Scan a Directory", 'file')
9301 pkt
.Request((17, 271), [
9302 rec( 10, 1, DirHandle
),
9303 rec( 11, 1, DOSFileAttributes
),
9304 rec( 12, 4, SequenceNumber
),
9305 rec( 16, (1, 255), SearchPattern
, info_str
=(SearchPattern
, "Scan a Directory: %s", ", %s") ),
9308 rec( 8, 4, SequenceNumber
),
9309 rec( 12, 4, Subdirectory
),
9310 rec( 16, 4, AttributesDef32
),
9311 rec( 20, 1, UniqueID
, ENC_LITTLE_ENDIAN
),
9312 rec( 21, 1, PurgeFlags
),
9313 rec( 22, 1, DestNameSpace
),
9314 rec( 23, 1, NameLen
),
9315 rec( 24, 12, Name12
),
9316 rec( 36, 2, CreationTime
),
9317 rec( 38, 2, CreationDate
),
9318 rec( 40, 4, CreatorID
, ENC_BIG_ENDIAN
),
9319 rec( 44, 2, ArchivedTime
),
9320 rec( 46, 2, ArchivedDate
),
9321 rec( 48, 4, ArchiverID
, ENC_BIG_ENDIAN
),
9322 rec( 52, 2, UpdateTime
),
9323 rec( 54, 2, UpdateDate
),
9324 rec( 56, 4, UpdateID
, ENC_BIG_ENDIAN
),
9325 rec( 60, 4, FileSize
, ENC_BIG_ENDIAN
),
9326 rec( 64, 44, Reserved44
),
9327 rec( 108, 2, InheritedRightsMask
),
9328 rec( 110, 2, LastAccessedDate
),
9329 rec( 112, 28, Reserved28
),
9331 pkt
.CompletionCodes([0x0000, 0x8500, 0x9c03])
9333 pkt
= NCP(0x161F, "Get Directory Entry", 'file')
9335 rec( 10, 1, DirHandle
),
9338 rec( 8, 4, Subdirectory
),
9339 rec( 12, 4, AttributesDef32
),
9340 rec( 16, 1, UniqueID
, ENC_LITTLE_ENDIAN
),
9341 rec( 17, 1, PurgeFlags
),
9342 rec( 18, 1, DestNameSpace
),
9343 rec( 19, 1, NameLen
),
9344 rec( 20, 12, Name12
),
9345 rec( 32, 2, CreationTime
),
9346 rec( 34, 2, CreationDate
),
9347 rec( 36, 4, CreatorID
, ENC_BIG_ENDIAN
),
9348 rec( 40, 2, ArchivedTime
),
9349 rec( 42, 2, ArchivedDate
),
9350 rec( 44, 4, ArchiverID
, ENC_BIG_ENDIAN
),
9351 rec( 48, 2, UpdateTime
),
9352 rec( 50, 2, UpdateDate
),
9353 rec( 52, 4, NextTrusteeEntry
, ENC_BIG_ENDIAN
),
9354 rec( 56, 48, Reserved48
),
9355 rec( 104, 2, MaximumSpace
),
9356 rec( 106, 2, InheritedRightsMask
),
9357 rec( 108, 28, Undefined28
),
9359 pkt
.CompletionCodes([0x0000, 0x8900, 0xbf00, 0xfb00])
9361 pkt
= NCP(0x1620, "Scan Volume's User Disk Restrictions", 'file')
9363 rec( 10, 1, VolumeNumber
),
9364 rec( 11, 4, SequenceNumber
),
9367 rec( 8, 1, NumberOfEntries
, var
="x" ),
9368 rec( 9, 8, ObjectIDStruct
, repeat
="x" ),
9370 pkt
.CompletionCodes([0x0000, 0x9800])
9372 pkt
= NCP(0x1621, "Add User Disk Space Restriction", 'file')
9374 rec( 10, 1, VolumeNumber
),
9375 rec( 11, 4, ObjectID
),
9376 rec( 15, 4, DiskSpaceLimit
),
9379 pkt
.CompletionCodes([0x0000, 0x8c00, 0x9600, 0x9800])
9381 pkt
= NCP(0x1622, "Remove User Disk Space Restrictions", 'file')
9383 rec( 10, 1, VolumeNumber
),
9384 rec( 11, 4, ObjectID
),
9387 pkt
.CompletionCodes([0x0000, 0x8c00, 0xfe0e])
9389 pkt
= NCP(0x1623, "Get Directory Disk Space Restriction", 'file')
9391 rec( 10, 1, DirHandle
),
9394 rec( 8, 1, NumberOfEntries
),
9396 rec( 10, 4, MaxSpace
),
9397 rec( 14, 4, CurrentSpace
),
9399 pkt
.CompletionCodes([0x0000])
9401 pkt
= NCP(0x1624, "Set Directory Disk Space Restriction", 'file')
9403 rec( 10, 1, DirHandle
),
9404 rec( 11, 4, DiskSpaceLimit
),
9407 pkt
.CompletionCodes([0x0000, 0x0101, 0x8c00, 0xbf00])
9409 pkt
= NCP(0x1625, "Set Directory Entry Information", 'file')
9410 pkt
.Request(NO_LENGTH_CHECK
, [
9412 # XXX - this didn't match what was in the spec for 22/37
9413 # on the Novell Web site.
9415 rec( 10, 1, DirHandle
),
9416 rec( 11, 1, SearchAttributes
),
9417 rec( 12, 4, SequenceNumber
),
9418 rec( 16, 2, ChangeBits
),
9419 rec( 18, 2, Reserved2
),
9420 rec( 20, 4, Subdirectory
),
9421 #srec(DOSDirectoryEntryStruct, req_cond="ncp.search_att_sub == TRUE"),
9422 srec(DOSFileEntryStruct
, req_cond
="ncp.search_att_sub == FALSE"),
9425 pkt
.ReqCondSizeConstant()
9426 pkt
.CompletionCodes([0x0000, 0x0106, 0x8c00, 0xbf00])
9428 pkt
= NCP(0x1626, "Scan File or Directory for Extended Trustees", 'file')
9429 pkt
.Request((13,267), [
9430 rec( 10, 1, DirHandle
),
9431 rec( 11, 1, SequenceByte
),
9432 rec( 12, (1, 255), Path
, info_str
=(Path
, "Scan for Extended Trustees: %s", ", %s") ),
9435 rec( 8, 1, NumberOfEntries
, var
="x" ),
9436 rec( 9, 4, ObjectID
),
9437 rec( 13, 4, ObjectID
),
9438 rec( 17, 4, ObjectID
),
9439 rec( 21, 4, ObjectID
),
9440 rec( 25, 4, ObjectID
),
9441 rec( 29, 4, ObjectID
),
9442 rec( 33, 4, ObjectID
),
9443 rec( 37, 4, ObjectID
),
9444 rec( 41, 4, ObjectID
),
9445 rec( 45, 4, ObjectID
),
9446 rec( 49, 4, ObjectID
),
9447 rec( 53, 4, ObjectID
),
9448 rec( 57, 4, ObjectID
),
9449 rec( 61, 4, ObjectID
),
9450 rec( 65, 4, ObjectID
),
9451 rec( 69, 4, ObjectID
),
9452 rec( 73, 4, ObjectID
),
9453 rec( 77, 4, ObjectID
),
9454 rec( 81, 4, ObjectID
),
9455 rec( 85, 4, ObjectID
),
9456 rec( 89, 2, AccessRightsMaskWord
, repeat
="x" ),
9458 pkt
.CompletionCodes([0x0000, 0x9800, 0x9b00, 0x9c00])
9460 pkt
= NCP(0x1627, "Add Extended Trustee to Directory or File", 'file')
9461 pkt
.Request((18,272), [
9462 rec( 10, 1, DirHandle
),
9463 rec( 11, 4, ObjectID
, ENC_BIG_ENDIAN
),
9464 rec( 15, 2, TrusteeRights
),
9465 rec( 17, (1, 255), Path
, info_str
=(Path
, "Add Extended Trustee: %s", ", %s") ),
9468 pkt
.CompletionCodes([0x0000, 0x9000])
9470 pkt
= NCP(0x1628, "Scan Directory Disk Space", 'file')
9471 pkt
.Request((17,271), [
9472 rec( 10, 1, DirHandle
),
9473 rec( 11, 1, SearchAttributes
),
9474 rec( 12, 4, SequenceNumber
),
9475 rec( 16, (1, 255), SearchPattern
, info_str
=(SearchPattern
, "Scan Directory Disk Space: %s", ", %s") ),
9478 rec( 8, 4, SequenceNumber
),
9479 rec( 12, 4, Subdirectory
),
9480 rec( 16, 4, AttributesDef32
),
9481 rec( 20, 1, UniqueID
),
9482 rec( 21, 1, PurgeFlags
),
9483 rec( 22, 1, DestNameSpace
),
9484 rec( 23, 1, NameLen
),
9485 rec( 24, 12, Name12
),
9486 rec( 36, 2, CreationTime
),
9487 rec( 38, 2, CreationDate
),
9488 rec( 40, 4, CreatorID
, ENC_BIG_ENDIAN
),
9489 rec( 44, 2, ArchivedTime
),
9490 rec( 46, 2, ArchivedDate
),
9491 rec( 48, 4, ArchiverID
, ENC_BIG_ENDIAN
),
9492 rec( 52, 2, UpdateTime
),
9493 rec( 54, 2, UpdateDate
),
9494 rec( 56, 4, UpdateID
, ENC_BIG_ENDIAN
),
9495 rec( 60, 4, DataForkSize
, ENC_BIG_ENDIAN
),
9496 rec( 64, 4, DataForkFirstFAT
, ENC_BIG_ENDIAN
),
9497 rec( 68, 4, NextTrusteeEntry
, ENC_BIG_ENDIAN
),
9498 rec( 72, 36, Reserved36
),
9499 rec( 108, 2, InheritedRightsMask
),
9500 rec( 110, 2, LastAccessedDate
),
9501 rec( 112, 4, DeletedFileTime
),
9502 rec( 116, 2, DeletedTime
),
9503 rec( 118, 2, DeletedDate
),
9504 rec( 120, 4, DeletedID
, ENC_BIG_ENDIAN
),
9505 rec( 124, 8, Undefined8
),
9506 rec( 132, 4, PrimaryEntry
, ENC_LITTLE_ENDIAN
),
9507 rec( 136, 4, NameList
, ENC_LITTLE_ENDIAN
),
9508 rec( 140, 4, OtherFileForkSize
, ENC_BIG_ENDIAN
),
9509 rec( 144, 4, OtherFileForkFAT
, ENC_BIG_ENDIAN
),
9511 pkt
.CompletionCodes([0x0000, 0x8900, 0x9c03, 0xfb01, 0xff00])
9513 pkt
= NCP(0x1629, "Get Object Disk Usage and Restrictions", 'file')
9515 rec( 10, 1, VolumeNumber
),
9516 rec( 11, 4, ObjectID
, ENC_LITTLE_ENDIAN
),
9519 rec( 8, 4, Restriction
),
9520 rec( 12, 4, InUse
),
9522 pkt
.CompletionCodes([0x0000, 0x9802])
9524 pkt
= NCP(0x162A, "Get Effective Rights for Directory Entry", 'file')
9525 pkt
.Request((12,266), [
9526 rec( 10, 1, DirHandle
),
9527 rec( 11, (1, 255), Path
, info_str
=(Path
, "Get Effective Rights: %s", ", %s") ),
9530 rec( 8, 2, AccessRightsMaskWord
),
9532 pkt
.CompletionCodes([0x0000, 0x9804, 0x9c03])
9534 pkt
= NCP(0x162B, "Remove Extended Trustee from Dir or File", 'file')
9535 pkt
.Request((17,271), [
9536 rec( 10, 1, DirHandle
),
9537 rec( 11, 4, ObjectID
, ENC_BIG_ENDIAN
),
9538 rec( 15, 1, Unused
),
9539 rec( 16, (1, 255), Path
, info_str
=(Path
, "Remove Extended Trustee from %s", ", %s") ),
9542 pkt
.CompletionCodes([0x0000, 0x9002, 0x9c03, 0xfe0f, 0xff09])
9544 pkt
= NCP(0x162C, "Get Volume and Purge Information", 'file')
9546 rec( 10, 1, VolumeNumber
, info_str
=(VolumeNumber
, "Get Volume and Purge Information for Volume %d", ", %d") )
9548 pkt
.Reply( (38,53), [
9549 rec( 8, 4, TotalBlocks
),
9550 rec( 12, 4, FreeBlocks
),
9551 rec( 16, 4, PurgeableBlocks
),
9552 rec( 20, 4, NotYetPurgeableBlocks
),
9553 rec( 24, 4, TotalDirectoryEntries
),
9554 rec( 28, 4, AvailableDirEntries
),
9555 rec( 32, 4, Reserved4
),
9556 rec( 36, 1, SectorsPerBlock
),
9557 rec( 37, (1,16), VolumeNameLen
),
9559 pkt
.CompletionCodes([0x0000])
9561 pkt
= NCP(0x162D, "Get Directory Information", 'file')
9563 rec( 10, 1, DirHandle
)
9565 pkt
.Reply( (30, 45), [
9566 rec( 8, 4, TotalBlocks
),
9567 rec( 12, 4, AvailableBlocks
),
9568 rec( 16, 4, TotalDirectoryEntries
),
9569 rec( 20, 4, AvailableDirEntries
),
9570 rec( 24, 4, Reserved4
),
9571 rec( 28, 1, SectorsPerBlock
),
9572 rec( 29, (1,16), VolumeNameLen
),
9574 pkt
.CompletionCodes([0x0000, 0x9b03])
9576 pkt
= NCP(0x162E, "Rename Or Move", 'file')
9577 pkt
.Request( (17,525), [
9578 rec( 10, 1, SourceDirHandle
),
9579 rec( 11, 1, SearchAttributes
),
9580 rec( 12, 1, SourcePathComponentCount
),
9581 rec( 13, (1,255), SourcePath
, info_str
=(SourcePath
, "Rename or Move: %s", ", %s") ),
9582 rec( -1, 1, DestDirHandle
),
9583 rec( -1, 1, DestPathComponentCount
),
9584 rec( -1, (1,255), DestPath
),
9587 pkt
.CompletionCodes([0x0000, 0x0102, 0x8701, 0x8b00, 0x8d00, 0x8e00,
9588 0x8f00, 0x9001, 0x9101, 0x9201, 0x9a00, 0x9b03,
9589 0x9c03, 0xa400, 0xff17])
9591 pkt
= NCP(0x162F, "Get Name Space Information", 'file')
9593 rec( 10, 1, VolumeNumber
, info_str
=(VolumeNumber
, "Get Name Space Information for Volume %d", ", %d") )
9595 pkt
.Reply( (15,523), [
9597 # XXX - why does this not display anything at all
9598 # if the stuff after the first IndexNumber is
9599 # un-commented? That stuff really is there....
9601 rec( 8, 1, DefinedNameSpaces
, var
="v" ),
9602 rec( 9, (1,255), NameSpaceName
, repeat
="v" ),
9603 rec( -1, 1, DefinedDataStreams
, var
="w" ),
9604 rec( -1, (2,256), DataStreamInfo
, repeat
="w" ),
9605 rec( -1, 1, LoadedNameSpaces
, var
="x" ),
9606 rec( -1, 1, IndexNumber
, repeat
="x" ),
9607 # rec( -1, 1, VolumeNameSpaces, var="y" ),
9608 # rec( -1, 1, IndexNumber, repeat="y" ),
9609 # rec( -1, 1, VolumeDataStreams, var="z" ),
9610 # rec( -1, 1, IndexNumber, repeat="z" ),
9612 pkt
.CompletionCodes([0x0000, 0x9802, 0xff00])
9614 pkt
= NCP(0x1630, "Get Name Space Directory Entry", 'file')
9616 rec( 10, 1, VolumeNumber
),
9617 rec( 11, 4, DOSSequence
),
9618 rec( 15, 1, SrcNameSpace
),
9621 rec( 8, 4, SequenceNumber
),
9622 rec( 12, 4, Subdirectory
),
9623 rec( 16, 4, AttributesDef32
),
9624 rec( 20, 1, UniqueID
),
9625 rec( 21, 1, Flags
),
9626 rec( 22, 1, SrcNameSpace
),
9627 rec( 23, 1, NameLength
),
9628 rec( 24, 12, Name12
),
9629 rec( 36, 2, CreationTime
),
9630 rec( 38, 2, CreationDate
),
9631 rec( 40, 4, CreatorID
, ENC_BIG_ENDIAN
),
9632 rec( 44, 2, ArchivedTime
),
9633 rec( 46, 2, ArchivedDate
),
9634 rec( 48, 4, ArchiverID
),
9635 rec( 52, 2, UpdateTime
),
9636 rec( 54, 2, UpdateDate
),
9637 rec( 56, 4, UpdateID
),
9638 rec( 60, 4, FileSize
),
9639 rec( 64, 44, Reserved44
),
9640 rec( 108, 2, InheritedRightsMask
),
9641 rec( 110, 2, LastAccessedDate
),
9643 pkt
.CompletionCodes([0x0000, 0x8900, 0x9802, 0xbf00])
9645 pkt
= NCP(0x1631, "Open Data Stream", 'file')
9646 pkt
.Request( (15,269), [
9647 rec( 10, 1, DataStream
),
9648 rec( 11, 1, DirHandle
),
9649 rec( 12, 1, AttributesDef
),
9650 rec( 13, 1, OpenRights
),
9651 rec( 14, (1, 255), FileName
, info_str
=(FileName
, "Open Data Stream: %s", ", %s") ),
9654 rec( 8, 4, CCFileHandle
, ENC_BIG_ENDIAN
),
9656 pkt
.CompletionCodes([0x0000, 0x8000, 0x8200, 0x9002, 0xbe00, 0xff00])
9658 pkt
= NCP(0x1632, "Get Object Effective Rights for Directory Entry", 'file')
9659 pkt
.Request( (16,270), [
9660 rec( 10, 4, ObjectID
, ENC_BIG_ENDIAN
),
9661 rec( 14, 1, DirHandle
),
9662 rec( 15, (1, 255), Path
, info_str
=(Path
, "Get Object Effective Rights: %s", ", %s") ),
9665 rec( 8, 2, TrusteeRights
),
9667 pkt
.CompletionCodes([0x0000, 0x7e01, 0x9b00, 0x9c03, 0xfc06])
9669 pkt
= NCP(0x1633, "Get Extended Volume Information", 'file')
9671 rec( 10, 1, VolumeNumber
, info_str
=(VolumeNumber
, "Get Extended Volume Information for Volume %d", ", %d") ),
9673 pkt
.Reply( (139,266), [
9674 rec( 8, 2, VolInfoReplyLen
),
9675 rec( 10, 128, VolInfoStructure
),
9676 rec( 138, (1,128), VolumeNameLen
),
9678 pkt
.CompletionCodes([0x0000, 0x7e01, 0x9804, 0xfb08, 0xff00])
9679 pkt
.MakeExpert("ncp1633_reply")
9681 pkt
= NCP(0x1634, "Get Mount Volume List", 'file')
9683 rec( 10, 4, StartVolumeNumber
),
9684 rec( 14, 4, VolumeRequestFlags
, ENC_LITTLE_ENDIAN
),
9685 rec( 18, 4, SrcNameSpace
),
9687 pkt
.Reply( NO_LENGTH_CHECK
, [
9688 rec( 8, 4, ItemsInPacket
, var
="x" ),
9689 rec( 12, 4, NextVolumeNumber
),
9690 srec( VolumeStruct
, req_cond
="ncp.volume_request_flags==0x0000", repeat
="x" ),
9691 srec( VolumeWithNameStruct
, req_cond
="ncp.volume_request_flags==0x0001", repeat
="x" ),
9693 pkt
.ReqCondSizeVariable()
9694 pkt
.CompletionCodes([0x0000, 0x9802])
9696 pkt
= NCP(0x1635, "Get Volume Capabilities", 'file')
9698 rec( 10, 4, VolumeNumberLong
),
9699 rec( 14, 4, VersionNumberLong
),
9701 pkt
.Reply( NO_LENGTH_CHECK
, [
9702 rec( 8, 4, VolumeCapabilities
),
9703 rec( 12, 28, Reserved28
),
9704 rec( 40, 64, VolumeNameStringz
),
9705 rec( 104, 128, VolumeGUID
),
9706 rec( 232, 256, PoolName
),
9707 rec( 488, PROTO_LENGTH_UNKNOWN
, VolumeMountPoint
),
9709 pkt
.CompletionCodes([0x0000, 0x7700, 0x9802, 0xfb01])
9711 pkt
= NCP(0x1636, "Add User Disk Space Restriction 64 Bit Aware", 'file')
9713 rec( 10, 4, VolumeNumberLong
),
9714 rec( 14, 4, ObjectID
, ENC_LITTLE_ENDIAN
),
9715 rec( 18, 8, DiskSpaceLimit64
),
9718 pkt
.CompletionCodes([0x0000, 0x8c00, 0x9600, 0x9800])
9720 pkt
= NCP(0x1637, "Get Object Disk Usage and Restrictions 64 Bit Aware", 'file')
9722 rec( 10, 4, VolumeNumberLong
),
9723 rec( 14, 4, ObjectID
, ENC_LITTLE_ENDIAN
),
9726 rec( 8, 8, RestrictionQuad
),
9727 rec( 16, 8, InUse64
),
9729 pkt
.CompletionCodes([0x0000, 0x9802])
9731 pkt
= NCP(0x1638, "Scan Volume's User Disk Restrictions 64 Bit Aware", 'file')
9733 rec( 10, 4, VolumeNumberLong
),
9734 rec( 14, 4, SequenceNumber
),
9737 rec( 8, 4, NumberOfEntriesLong
, var
="x" ),
9738 rec( 12, 12, ObjectIDStruct64
, repeat
="x" ),
9740 pkt
.CompletionCodes([0x0000, 0x9800])
9742 pkt
= NCP(0x1639, "Set Directory Disk Space Restriction 64 Bit Aware", 'file')
9744 rec( 10, 8, DirHandle64
),
9745 rec( 18, 8, DiskSpaceLimit64
),
9748 pkt
.CompletionCodes([0x0000, 0x0101, 0x8c00, 0xbf00])
9750 pkt
= NCP(0x163A, "Get Directory Information 64 Bit Aware", 'file')
9752 rec( 10, 8, DirHandle64
)
9754 pkt
.Reply( (49, 64), [
9755 rec( 8, 8, TotalBlocks64
),
9756 rec( 16, 8, AvailableBlocks64
),
9757 rec( 24, 8, TotalDirEntries64
),
9758 rec( 32, 8, AvailableDirEntries64
),
9759 rec( 40, 4, Reserved4
),
9760 rec( 44, 4, SectorsPerBlockLong
),
9761 rec( 48, (1,16), VolumeNameLen
),
9763 pkt
.CompletionCodes([0x0000, 0x9b03])
9765 # pkt = NCP(0x1641, "Scan Volume's User Disk Restrictions 64-bit Aware", 'file')
9767 # rec( 10, 4, VolumeNumberLong ),
9768 # rec( 14, 4, SequenceNumber ),
9771 # rec( 8, 4, NumberOfEntriesLong, var="x" ),
9772 # rec( 12, 12, ObjectIDStruct64, repeat="x" ),
9774 # pkt.CompletionCodes([0x0000, 0x9800])
9776 pkt
= NCP(0x1700, "Login User", 'connection')
9777 pkt
.Request( (12, 58), [
9778 rec( 10, (1,16), UserName
, info_str
=(UserName
, "Login User: %s", ", %s") ),
9779 rec( -1, (1,32), Password
),
9782 pkt
.CompletionCodes([0x0000, 0x9602, 0xc101, 0xc200, 0xc501, 0xd700,
9783 0xd900, 0xda00, 0xdb00, 0xde00, 0xdf00, 0xe800,
9784 0xec00, 0xed00, 0xef00, 0xf001, 0xf100, 0xf200,
9785 0xf600, 0xfb00, 0xfc06, 0xfe07, 0xff00])
9787 pkt
= NCP(0x1701, "Change User Password", 'bindery')
9788 pkt
.Request( (13, 90), [
9789 rec( 10, (1,16), UserName
, info_str
=(UserName
, "Change Password for User: %s", ", %s") ),
9790 rec( -1, (1,32), Password
),
9791 rec( -1, (1,32), NewPassword
),
9794 pkt
.CompletionCodes([0x0000, 0x9600, 0xd600, 0xf001, 0xf101, 0xf501,
9795 0xfc06, 0xfe07, 0xff00])
9797 pkt
= NCP(0x1702, "Get User Connection List", 'connection')
9798 pkt
.Request( (11, 26), [
9799 rec( 10, (1,16), UserName
, info_str
=(UserName
, "Get User Connection: %s", ", %s") ),
9801 pkt
.Reply( (9, 136), [
9802 rec( 8, (1, 128), ConnectionNumberList
),
9804 pkt
.CompletionCodes([0x0000, 0x9600, 0xf001, 0xfc06, 0xfe07, 0xff00])
9806 pkt
= NCP(0x1703, "Get User Number", 'bindery')
9807 pkt
.Request( (11, 26), [
9808 rec( 10, (1,16), UserName
, info_str
=(UserName
, "Get User Number: %s", ", %s") ),
9811 rec( 8, 4, ObjectID
, ENC_BIG_ENDIAN
),
9813 pkt
.CompletionCodes([0x0000, 0x9600, 0xf001, 0xfc06, 0xfe07, 0xff00])
9815 pkt
= NCP(0x1705, "Get Station's Logged Info", 'connection')
9817 rec( 10, 1, TargetConnectionNumber
, info_str
=(TargetConnectionNumber
, "Get Station's Logged Information on Connection %d", ", %d") ),
9820 rec( 8, 16, UserName16
),
9821 rec( 24, 7, LoginTime
),
9822 rec( 31, 39, FullName
),
9823 rec( 70, 4, UserID
, ENC_BIG_ENDIAN
),
9824 rec( 74, 128, SecurityEquivalentList
),
9825 rec( 202, 64, Reserved64
),
9827 pkt
.CompletionCodes([0x0000, 0x9602, 0xfc06, 0xfd00, 0xfe07, 0xff00])
9829 pkt
= NCP(0x1707, "Get Group Number", 'bindery')
9831 rec( 10, 4, ObjectID
, ENC_BIG_ENDIAN
),
9834 rec( 8, 4, ObjectID
, ENC_BIG_ENDIAN
),
9835 rec( 12, 2, ObjectType
, ENC_BIG_ENDIAN
),
9836 rec( 14, 48, ObjectNameLen
),
9838 pkt
.CompletionCodes([0x0000, 0x9602, 0xf101, 0xfc06, 0xfe07, 0xff00])
9840 pkt
= NCP(0x170C, "Verify Serialization", 'fileserver')
9842 rec( 10, 4, ServerSerialNumber
),
9845 pkt
.CompletionCodes([0x0000, 0xff00])
9847 pkt
= NCP(0x170D, "Log Network Message", 'file')
9848 pkt
.Request( (11, 68), [
9849 rec( 10, (1, 58), TargetMessage
, info_str
=(TargetMessage
, "Log Network Message: %s", ", %s") ),
9852 pkt
.CompletionCodes([0x0000, 0x8000, 0x8100, 0x8800, 0x8d00, 0x8e00, 0x8f00,
9853 0x9001, 0x9400, 0x9600, 0x9804, 0x9900, 0x9b00, 0xa100,
9856 pkt
= NCP(0x170E, "Get Disk Utilization", 'fileserver')
9858 rec( 10, 1, VolumeNumber
),
9859 rec( 11, 4, TrusteeID
, ENC_BIG_ENDIAN
),
9862 rec( 8, 1, VolumeNumber
),
9863 rec( 9, 4, TrusteeID
, ENC_BIG_ENDIAN
),
9864 rec( 13, 2, DirectoryCount
, ENC_BIG_ENDIAN
),
9865 rec( 15, 2, FileCount
, ENC_BIG_ENDIAN
),
9866 rec( 17, 2, ClusterCount
, ENC_BIG_ENDIAN
),
9868 pkt
.CompletionCodes([0x0000, 0x9600, 0x9804, 0xa100, 0xf200])
9870 pkt
= NCP(0x170F, "Scan File Information", 'file')
9871 pkt
.Request((15,269), [
9872 rec( 10, 2, LastSearchIndex
),
9873 rec( 12, 1, DirHandle
),
9874 rec( 13, 1, SearchAttributes
),
9875 rec( 14, (1, 255), FileName
, info_str
=(FileName
, "Scan File Information: %s", ", %s") ),
9878 rec( 8, 2, NextSearchIndex
),
9879 rec( 10, 14, FileName14
),
9880 rec( 24, 2, AttributesDef16
),
9881 rec( 26, 4, FileSize
, ENC_BIG_ENDIAN
),
9882 rec( 30, 2, CreationDate
, ENC_BIG_ENDIAN
),
9883 rec( 32, 2, LastAccessedDate
, ENC_BIG_ENDIAN
),
9884 rec( 34, 2, ModifiedDate
, ENC_BIG_ENDIAN
),
9885 rec( 36, 2, ModifiedTime
, ENC_BIG_ENDIAN
),
9886 rec( 38, 4, CreatorID
, ENC_BIG_ENDIAN
),
9887 rec( 42, 2, ArchivedDate
, ENC_BIG_ENDIAN
),
9888 rec( 44, 2, ArchivedTime
, ENC_BIG_ENDIAN
),
9889 rec( 46, 56, Reserved56
),
9891 pkt
.CompletionCodes([0x0000, 0x8800, 0x8900, 0x9300, 0x9400, 0x9804, 0x9b00, 0x9c00,
9892 0xa100, 0xfd00, 0xff17])
9894 pkt
= NCP(0x1710, "Set File Information", 'file')
9895 pkt
.Request((91,345), [
9896 rec( 10, 2, AttributesDef16
),
9897 rec( 12, 4, FileSize
, ENC_BIG_ENDIAN
),
9898 rec( 16, 2, CreationDate
, ENC_BIG_ENDIAN
),
9899 rec( 18, 2, LastAccessedDate
, ENC_BIG_ENDIAN
),
9900 rec( 20, 2, ModifiedDate
, ENC_BIG_ENDIAN
),
9901 rec( 22, 2, ModifiedTime
, ENC_BIG_ENDIAN
),
9902 rec( 24, 4, CreatorID
, ENC_BIG_ENDIAN
),
9903 rec( 28, 2, ArchivedDate
, ENC_BIG_ENDIAN
),
9904 rec( 30, 2, ArchivedTime
, ENC_BIG_ENDIAN
),
9905 rec( 32, 56, Reserved56
),
9906 rec( 88, 1, DirHandle
),
9907 rec( 89, 1, SearchAttributes
),
9908 rec( 90, (1, 255), FileName
, info_str
=(FileName
, "Set Information for File: %s", ", %s") ),
9911 pkt
.CompletionCodes([0x0000, 0x8800, 0x8c00, 0x8e00, 0x9400, 0x9600, 0x9804,
9912 0x9b03, 0x9c00, 0xa100, 0xa201, 0xfc06, 0xfd00, 0xfe07,
9915 pkt
= NCP(0x1711, "Get File Server Information", 'fileserver')
9918 rec( 8, 48, ServerName
),
9919 rec( 56, 1, OSMajorVersion
),
9920 rec( 57, 1, OSMinorVersion
),
9921 rec( 58, 2, ConnectionsSupportedMax
, ENC_BIG_ENDIAN
),
9922 rec( 60, 2, ConnectionsInUse
, ENC_BIG_ENDIAN
),
9923 rec( 62, 2, VolumesSupportedMax
, ENC_BIG_ENDIAN
),
9924 rec( 64, 1, OSRevision
),
9925 rec( 65, 1, SFTSupportLevel
),
9926 rec( 66, 1, TTSLevel
),
9927 rec( 67, 2, ConnectionsMaxUsed
, ENC_BIG_ENDIAN
),
9928 rec( 69, 1, AccountVersion
),
9929 rec( 70, 1, VAPVersion
),
9930 rec( 71, 1, QueueingVersion
),
9931 rec( 72, 1, PrintServerVersion
),
9932 rec( 73, 1, VirtualConsoleVersion
),
9933 rec( 74, 1, SecurityRestrictionVersion
),
9934 rec( 75, 1, InternetBridgeVersion
),
9935 rec( 76, 1, MixedModePathFlag
),
9936 rec( 77, 1, LocalLoginInfoCcode
),
9937 rec( 78, 2, ProductMajorVersion
, ENC_BIG_ENDIAN
),
9938 rec( 80, 2, ProductMinorVersion
, ENC_BIG_ENDIAN
),
9939 rec( 82, 2, ProductRevisionVersion
, ENC_BIG_ENDIAN
),
9940 rec( 84, 1, OSLanguageID
, ENC_LITTLE_ENDIAN
),
9941 rec( 85, 1, SixtyFourBitOffsetsSupportedFlag
),
9942 rec( 86, 1, OESServer
),
9943 rec( 87, 1, OESLinuxOrNetWare
),
9944 rec( 88, 48, Reserved48
),
9946 pkt
.MakeExpert("ncp1711_reply")
9947 pkt
.CompletionCodes([0x0000, 0x9600])
9949 pkt
= NCP(0x1712, "Get Network Serial Number", 'fileserver')
9952 rec( 8, 4, ServerSerialNumber
),
9953 rec( 12, 2, ApplicationNumber
),
9955 pkt
.CompletionCodes([0x0000, 0x9600])
9957 pkt
= NCP(0x1713, "Get Internet Address", 'connection')
9959 rec( 10, 1, TargetConnectionNumber
, info_str
=(TargetConnectionNumber
, "Get Internet Address for Connection %d", ", %d") ),
9962 rec( 8, 4, NetworkAddress
, ENC_BIG_ENDIAN
),
9963 rec( 12, 6, NetworkNodeAddress
),
9964 rec( 18, 2, NetworkSocket
, ENC_BIG_ENDIAN
),
9966 pkt
.CompletionCodes([0x0000, 0xff00])
9968 pkt
= NCP(0x1714, "Login Object", 'connection')
9969 pkt
.Request( (14, 60), [
9970 rec( 10, 2, ObjectType
, ENC_BIG_ENDIAN
),
9971 rec( 12, (1,16), ClientName
, info_str
=(ClientName
, "Login Object: %s", ", %s") ),
9972 rec( -1, (1,32), Password
),
9975 pkt
.CompletionCodes([0x0000, 0x9602, 0xc101, 0xc200, 0xc501, 0xd600, 0xd700,
9976 0xd900, 0xda00, 0xdb00, 0xde00, 0xdf00, 0xe800, 0xec00,
9977 0xed00, 0xef00, 0xf001, 0xf100, 0xf200, 0xf600, 0xfb00,
9978 0xfc06, 0xfe07, 0xff00])
9980 pkt
= NCP(0x1715, "Get Object Connection List", 'connection')
9981 pkt
.Request( (13, 28), [
9982 rec( 10, 2, ObjectType
, ENC_BIG_ENDIAN
),
9983 rec( 12, (1,16), ObjectName
, info_str
=(ObjectName
, "Get Object Connection List: %s", ", %s") ),
9985 pkt
.Reply( (9, 136), [
9986 rec( 8, (1, 128), ConnectionNumberList
),
9988 pkt
.CompletionCodes([0x0000, 0x9600, 0xf001, 0xfc06, 0xfe07, 0xff00])
9990 pkt
= NCP(0x1716, "Get Station's Logged Info", 'connection')
9992 rec( 10, 1, TargetConnectionNumber
),
9995 rec( 8, 4, UserID
, ENC_BIG_ENDIAN
),
9996 rec( 12, 2, ObjectType
, ENC_BIG_ENDIAN
),
9997 rec( 14, 48, ObjectNameLen
),
9998 rec( 62, 7, LoginTime
),
9999 rec( 69, 1, Reserved
),
10001 pkt
.CompletionCodes([0x0000, 0x9602, 0xfb0a, 0xfc06, 0xfd00, 0xfe07, 0xff00])
10003 pkt
= NCP(0x1717, "Get Login Key", 'connection')
10006 rec( 8, 8, LoginKey
),
10008 pkt
.CompletionCodes([0x0000, 0x9602])
10010 pkt
= NCP(0x1718, "Keyed Object Login", 'connection')
10011 pkt
.Request( (21, 68), [
10012 rec( 10, 8, LoginKey
),
10013 rec( 18, 2, ObjectType
, ENC_BIG_ENDIAN
),
10014 rec( 20, (1,48), ObjectName
, info_str
=(ObjectName
, "Keyed Object Login: %s", ", %s") ),
10017 pkt
.CompletionCodes([0x0000, 0x9602, 0xc101, 0xc200, 0xc500, 0xd904, 0xda00,
10018 0xdb00, 0xdc00, 0xde00, 0xff00])
10020 pkt
= NCP(0x171A, "Get Internet Address", 'connection')
10022 rec( 10, 2, TargetConnectionNumber
),
10024 # Dissect reply in packet-ncp2222.inc
10026 pkt
.CompletionCodes([0x0000])
10028 pkt
= NCP(0x171B, "Get Object Connection List", 'connection')
10029 pkt
.Request( (17,64), [
10030 rec( 10, 4, SearchConnNumber
),
10031 rec( 14, 2, ObjectType
, ENC_BIG_ENDIAN
),
10032 rec( 16, (1,48), ObjectName
, info_str
=(ObjectName
, "Get Object Connection List: %s", ", %s") ),
10035 rec( 8, 1, ConnListLen
, var
="x" ),
10036 rec( 9, 4, ConnectionNumber
, ENC_LITTLE_ENDIAN
, repeat
="x" ),
10038 pkt
.CompletionCodes([0x0000, 0x9600, 0xf001, 0xfc06, 0xfe07, 0xff00])
10040 pkt
= NCP(0x171C, "Get Station's Logged Info", 'connection')
10042 rec( 10, 4, TargetConnectionNumber
),
10045 rec( 8, 4, UserID
, ENC_BIG_ENDIAN
),
10046 rec( 12, 2, ObjectType
, ENC_BIG_ENDIAN
),
10047 rec( 14, 48, ObjectNameLen
),
10048 rec( 62, 7, LoginTime
),
10049 rec( 69, 1, Reserved
),
10051 pkt
.CompletionCodes([0x0000, 0x7d00, 0x9602, 0xfb02, 0xfc06, 0xfd00, 0xfe07, 0xff00])
10053 pkt
= NCP(0x171D, "Change Connection State", 'connection')
10055 rec( 10, 1, RequestCode
),
10058 pkt
.CompletionCodes([0x0000, 0x0109, 0x7a00, 0x7b00, 0x7c00, 0xe000, 0xfb06, 0xfd00])
10060 pkt
= NCP(0x171E, "Set Watchdog Delay Interval", 'connection')
10062 rec( 10, 4, NumberOfMinutesToDelay
),
10065 pkt
.CompletionCodes([0x0000, 0x0107])
10067 pkt
= NCP(0x171F, "Get Connection List From Object", 'connection')
10069 rec( 10, 4, ObjectID
, ENC_BIG_ENDIAN
),
10070 rec( 14, 4, ConnectionNumber
),
10072 pkt
.Reply( (9, 136), [
10073 rec( 8, (1, 128), ConnectionNumberList
),
10075 pkt
.CompletionCodes([0x0000, 0x9600, 0xf001, 0xfc06, 0xfe07, 0xff00])
10077 pkt
= NCP(0x1720, "Scan Bindery Object (List)", 'bindery')
10078 pkt
.Request((23,70), [
10079 rec( 10, 4, NextObjectID
, ENC_BIG_ENDIAN
),
10080 rec( 14, 2, ObjectType
, ENC_BIG_ENDIAN
),
10081 rec( 16, 2, Reserved2
),
10082 rec( 18, 4, InfoFlags
),
10083 rec( 22, (1,48), ObjectName
, info_str
=(ObjectName
, "Scan Bindery Object: %s", ", %s") ),
10085 pkt
.Reply(NO_LENGTH_CHECK
, [
10086 rec( 8, 4, ObjectInfoReturnCount
),
10087 rec( 12, 4, NextObjectID
, ENC_BIG_ENDIAN
),
10088 rec( 16, 4, ObjectID
),
10089 srec(ObjectTypeStruct
, req_cond
="ncp.info_flags_type == TRUE"),
10090 srec(ObjectSecurityStruct
, req_cond
="ncp.info_flags_security == TRUE"),
10091 srec(ObjectFlagsStruct
, req_cond
="ncp.info_flags_flags == TRUE"),
10092 srec(ObjectNameStruct
, req_cond
="ncp.info_flags_name == TRUE"),
10094 pkt
.ReqCondSizeVariable()
10095 pkt
.CompletionCodes([0x0000, 0x9600, 0xef01, 0xfc02, 0xfe01, 0xff00])
10097 pkt
= NCP(0x1721, "Generate GUIDs", 'connection')
10099 rec( 10, 4, ReturnInfoCount
),
10102 rec( 8, 4, ReturnInfoCount
, var
="x" ),
10103 rec( 12, 16, GUID
, repeat
="x" ),
10105 pkt
.CompletionCodes([0x0000, 0x7e01])
10107 pkt
= NCP(0x1722, "Set Connection Language Encoding", 'connection')
10109 rec( 10, 4, SetMask
),
10110 rec( 14, 4, NCPEncodedStringsBits
),
10111 rec( 18, 4, CodePage
),
10114 pkt
.CompletionCodes([0x0000])
10116 pkt
= NCP(0x1732, "Create Bindery Object", 'bindery')
10117 pkt
.Request( (15,62), [
10118 rec( 10, 1, ObjectFlags
),
10119 rec( 11, 1, ObjectSecurity
),
10120 rec( 12, 2, ObjectType
, ENC_BIG_ENDIAN
),
10121 rec( 14, (1,48), ObjectName
, info_str
=(ObjectName
, "Create Bindery Object: %s", ", %s") ),
10124 pkt
.CompletionCodes([0x0000, 0x9600, 0xe700, 0xee00, 0xef00, 0xf101, 0xf501,
10125 0xfc06, 0xfe07, 0xff00])
10127 pkt
= NCP(0x1733, "Delete Bindery Object", 'bindery')
10128 pkt
.Request( (13,60), [
10129 rec( 10, 2, ObjectType
, ENC_BIG_ENDIAN
),
10130 rec( 12, (1,48), ObjectName
, info_str
=(ObjectName
, "Delete Bindery Object: %s", ", %s") ),
10133 pkt
.CompletionCodes([0x0000, 0x9600, 0xf000, 0xf200, 0xf400, 0xf600, 0xfb00,
10134 0xfc06, 0xfe07, 0xff00])
10136 pkt
= NCP(0x1734, "Rename Bindery Object", 'bindery')
10137 pkt
.Request( (14,108), [
10138 rec( 10, 2, ObjectType
, ENC_BIG_ENDIAN
),
10139 rec( 12, (1,48), ObjectName
, info_str
=(ObjectName
, "Rename Bindery Object: %s", ", %s") ),
10140 rec( -1, (1,48), NewObjectName
),
10143 pkt
.CompletionCodes([0x0000, 0x9600, 0xee00, 0xf000, 0xf300, 0xfc06, 0xfe07, 0xff00])
10145 pkt
= NCP(0x1735, "Get Bindery Object ID", 'bindery')
10146 pkt
.Request((13,60), [
10147 rec( 10, 2, ObjectType
, ENC_BIG_ENDIAN
),
10148 rec( 12, (1,48), ObjectName
, info_str
=(ObjectName
, "Get Bindery Object: %s", ", %s") ),
10151 rec( 8, 4, ObjectID
, ENC_LITTLE_ENDIAN
),
10152 rec( 12, 2, ObjectType
, ENC_BIG_ENDIAN
),
10153 rec( 14, 48, ObjectNameLen
),
10155 pkt
.CompletionCodes([0x0000, 0x9600, 0xef01, 0xf000, 0xfc02, 0xfe01, 0xff00])
10157 pkt
= NCP(0x1736, "Get Bindery Object Name", 'bindery')
10159 rec( 10, 4, ObjectID
, ENC_BIG_ENDIAN
),
10162 rec( 8, 4, ObjectID
, ENC_BIG_ENDIAN
),
10163 rec( 12, 2, ObjectType
, ENC_BIG_ENDIAN
),
10164 rec( 14, 48, ObjectNameLen
),
10166 pkt
.CompletionCodes([0x0000, 0x9600, 0xf101, 0xfc02, 0xfe01, 0xff00])
10168 pkt
= NCP(0x1737, "Scan Bindery Object", 'bindery')
10169 pkt
.Request((17,64), [
10170 rec( 10, 4, ObjectID
, ENC_BIG_ENDIAN
),
10171 rec( 14, 2, ObjectType
, ENC_BIG_ENDIAN
),
10172 rec( 16, (1,48), ObjectName
, info_str
=(ObjectName
, "Scan Bindery Object: %s", ", %s") ),
10175 rec( 8, 4, ObjectID
, ENC_BIG_ENDIAN
),
10176 rec( 12, 2, ObjectType
, ENC_BIG_ENDIAN
),
10177 rec( 14, 48, ObjectNameLen
),
10178 rec( 62, 1, ObjectFlags
),
10179 rec( 63, 1, ObjectSecurity
),
10180 rec( 64, 1, ObjectHasProperties
),
10182 pkt
.CompletionCodes([0x0000, 0x9600, 0xef01, 0xfc02,
10185 pkt
= NCP(0x1738, "Change Bindery Object Security", 'bindery')
10186 pkt
.Request((14,61), [
10187 rec( 10, 1, ObjectSecurity
),
10188 rec( 11, 2, ObjectType
, ENC_BIG_ENDIAN
),
10189 rec( 13, (1,48), ObjectName
, info_str
=(ObjectName
, "Change Bindery Object Security: %s", ", %s") ),
10192 pkt
.CompletionCodes([0x0000, 0x9600, 0xf000, 0xf101, 0xf501, 0xfc02, 0xfe01, 0xff00])
10194 pkt
= NCP(0x1739, "Create Property", 'bindery')
10195 pkt
.Request((16,78), [
10196 rec( 10, 2, ObjectType
, ENC_BIG_ENDIAN
),
10197 rec( 12, (1,48), ObjectName
),
10198 rec( -1, 1, PropertyType
),
10199 rec( -1, 1, ObjectSecurity
),
10200 rec( -1, (1,16), PropertyName
, info_str
=(PropertyName
, "Create Property: %s", ", %s") ),
10203 pkt
.CompletionCodes([0x0000, 0x9600, 0xed00, 0xef00, 0xf000, 0xf101,
10204 0xf200, 0xf600, 0xf700, 0xfb00, 0xfc02, 0xfe01,
10207 pkt
= NCP(0x173A, "Delete Property", 'bindery')
10208 pkt
.Request((14,76), [
10209 rec( 10, 2, ObjectType
, ENC_BIG_ENDIAN
),
10210 rec( 12, (1,48), ObjectName
),
10211 rec( -1, (1,16), PropertyName
, info_str
=(PropertyName
, "Delete Property: %s", ", %s") ),
10214 pkt
.CompletionCodes([0x0000, 0x9600, 0xf000, 0xf101, 0xf600, 0xfb00, 0xfc02,
10217 pkt
= NCP(0x173B, "Change Property Security", 'bindery')
10218 pkt
.Request((15,77), [
10219 rec( 10, 2, ObjectType
, ENC_BIG_ENDIAN
),
10220 rec( 12, (1,48), ObjectName
),
10221 rec( -1, 1, ObjectSecurity
),
10222 rec( -1, (1,16), PropertyName
, info_str
=(PropertyName
, "Change Property Security: %s", ", %s") ),
10225 pkt
.CompletionCodes([0x0000, 0x9600, 0xf000, 0xf101, 0xf200, 0xf600, 0xfb00,
10226 0xfc02, 0xfe01, 0xff00])
10228 pkt
= NCP(0x173C, "Scan Property", 'bindery')
10229 pkt
.Request((18,80), [
10230 rec( 10, 2, ObjectType
, ENC_BIG_ENDIAN
),
10231 rec( 12, (1,48), ObjectName
),
10232 rec( -1, 4, LastInstance
, ENC_BIG_ENDIAN
),
10233 rec( -1, (1,16), PropertyName
, info_str
=(PropertyName
, "Scan Property: %s", ", %s") ),
10236 rec( 8, 16, PropertyName16
),
10237 rec( 24, 1, ObjectFlags
),
10238 rec( 25, 1, ObjectSecurity
),
10239 rec( 26, 4, SearchInstance
, ENC_BIG_ENDIAN
),
10240 rec( 30, 1, ValueAvailable
),
10241 rec( 31, 1, MoreProperties
),
10243 pkt
.CompletionCodes([0x0000, 0x9600, 0xf000, 0xf101, 0xf200, 0xf600, 0xfb00,
10244 0xfc02, 0xfe01, 0xff00])
10246 pkt
= NCP(0x173D, "Read Property Value", 'bindery')
10247 pkt
.Request((15,77), [
10248 rec( 10, 2, ObjectType
, ENC_BIG_ENDIAN
),
10249 rec( 12, (1,48), ObjectName
),
10250 rec( -1, 1, PropertySegment
),
10251 rec( -1, (1,16), PropertyName
, info_str
=(PropertyName
, "Read Property Value: %s", ", %s") ),
10254 rec( 8, 128, PropertyData
),
10255 rec( 136, 1, PropertyHasMoreSegments
),
10256 rec( 137, 1, PropertyType
),
10258 pkt
.CompletionCodes([0x0000, 0x8800, 0x9300, 0x9600, 0xec01,
10259 0xf000, 0xf100, 0xf900, 0xfb02, 0xfc02,
10262 pkt
= NCP(0x173E, "Write Property Value", 'bindery')
10263 pkt
.Request((144,206), [
10264 rec( 10, 2, ObjectType
, ENC_BIG_ENDIAN
),
10265 rec( 12, (1,48), ObjectName
),
10266 rec( -1, 1, PropertySegment
),
10267 rec( -1, 1, MoreFlag
),
10268 rec( -1, (1,16), PropertyName
, info_str
=(PropertyName
, "Write Property Value: %s", ", %s") ),
10270 # XXX - don't show this if MoreFlag isn't set?
10271 # In at least some packages where it's not set,
10272 # PropertyValue appears to be garbage.
10274 rec( -1, 128, PropertyValue
),
10277 pkt
.CompletionCodes([0x0000, 0x9600, 0xe800, 0xec01, 0xf000, 0xf800,
10278 0xfb02, 0xfc03, 0xfe01, 0xff00 ])
10280 pkt
= NCP(0x173F, "Verify Bindery Object Password", 'bindery')
10281 pkt
.Request((14,92), [
10282 rec( 10, 2, ObjectType
, ENC_BIG_ENDIAN
),
10283 rec( 12, (1,48), ObjectName
, info_str
=(ObjectName
, "Verify Bindery Object Password: %s", ", %s") ),
10284 rec( -1, (1,32), Password
),
10287 pkt
.CompletionCodes([0x0000, 0x9600, 0xe800, 0xec01, 0xf000, 0xf101,
10288 0xfb02, 0xfc03, 0xfe01, 0xff00 ])
10290 pkt
= NCP(0x1740, "Change Bindery Object Password", 'bindery')
10291 pkt
.Request((15,124), [
10292 rec( 10, 2, ObjectType
, ENC_BIG_ENDIAN
),
10293 rec( 12, (1,48), ObjectName
, info_str
=(ObjectName
, "Change Bindery Object Password: %s", ", %s") ),
10294 rec( -1, (1,32), Password
),
10295 rec( -1, (1,32), NewPassword
),
10298 pkt
.CompletionCodes([0x0000, 0x9600, 0xc501, 0xd701, 0xe800, 0xec01, 0xf001,
10299 0xf100, 0xf800, 0xfb02, 0xfc03, 0xfe01, 0xff00])
10301 pkt
= NCP(0x1741, "Add Bindery Object To Set", 'bindery')
10302 pkt
.Request((17,126), [
10303 rec( 10, 2, ObjectType
, ENC_BIG_ENDIAN
),
10304 rec( 12, (1,48), ObjectName
),
10305 rec( -1, (1,16), PropertyName
),
10306 rec( -1, 2, MemberType
, ENC_BIG_ENDIAN
),
10307 rec( -1, (1,48), MemberName
, info_str
=(MemberName
, "Add Bindery Object to Set: %s", ", %s") ),
10310 pkt
.CompletionCodes([0x0000, 0x9600, 0xe800, 0xe900, 0xea00, 0xeb00,
10311 0xec01, 0xf000, 0xf800, 0xfb02, 0xfc03, 0xfe01,
10314 pkt
= NCP(0x1742, "Delete Bindery Object From Set", 'bindery')
10315 pkt
.Request((17,126), [
10316 rec( 10, 2, ObjectType
, ENC_BIG_ENDIAN
),
10317 rec( 12, (1,48), ObjectName
),
10318 rec( -1, (1,16), PropertyName
),
10319 rec( -1, 2, MemberType
, ENC_BIG_ENDIAN
),
10320 rec( -1, (1,48), MemberName
, info_str
=(MemberName
, "Delete Bindery Object from Set: %s", ", %s") ),
10323 pkt
.CompletionCodes([0x0000, 0x9600, 0xeb00, 0xf000, 0xf800, 0xfb02,
10324 0xfc03, 0xfe01, 0xff00])
10326 pkt
= NCP(0x1743, "Is Bindery Object In Set", 'bindery')
10327 pkt
.Request((17,126), [
10328 rec( 10, 2, ObjectType
, ENC_BIG_ENDIAN
),
10329 rec( 12, (1,48), ObjectName
),
10330 rec( -1, (1,16), PropertyName
),
10331 rec( -1, 2, MemberType
, ENC_BIG_ENDIAN
),
10332 rec( -1, (1,48), MemberName
, info_str
=(MemberName
, "Is Bindery Object in Set: %s", ", %s") ),
10335 pkt
.CompletionCodes([0x0000, 0x9600, 0xea00, 0xeb00, 0xec01, 0xf000,
10336 0xfb02, 0xfc03, 0xfe01, 0xff00])
10338 pkt
= NCP(0x1744, "Close Bindery", 'bindery')
10341 pkt
.CompletionCodes([0x0000, 0xff00])
10343 pkt
= NCP(0x1745, "Open Bindery", 'bindery')
10346 pkt
.CompletionCodes([0x0000, 0xff00])
10348 pkt
= NCP(0x1746, "Get Bindery Access Level", 'bindery')
10351 rec( 8, 1, ObjectSecurity
),
10352 rec( 9, 4, LoggedObjectID
, ENC_BIG_ENDIAN
),
10354 pkt
.CompletionCodes([0x0000, 0x9600])
10356 pkt
= NCP(0x1747, "Scan Bindery Object Trustee Paths", 'bindery')
10358 rec( 10, 1, VolumeNumber
),
10359 rec( 11, 2, LastSequenceNumber
, ENC_BIG_ENDIAN
),
10360 rec( 13, 4, ObjectID
, ENC_BIG_ENDIAN
),
10362 pkt
.Reply((16,270), [
10363 rec( 8, 2, LastSequenceNumber
, ENC_BIG_ENDIAN
),
10364 rec( 10, 4, ObjectID
, ENC_BIG_ENDIAN
),
10365 rec( 14, 1, ObjectSecurity
),
10366 rec( 15, (1,255), Path
),
10368 pkt
.CompletionCodes([0x0000, 0x9300, 0x9600, 0xa100, 0xf000, 0xf100,
10369 0xf200, 0xfc02, 0xfe01, 0xff00])
10371 pkt
= NCP(0x1748, "Get Bindery Object Access Level", 'bindery')
10373 rec( 10, 4, ObjectID
, ENC_BIG_ENDIAN
),
10376 rec( 8, 1, ObjectSecurity
),
10378 pkt
.CompletionCodes([0x0000, 0x9600])
10380 pkt
= NCP(0x1749, "Is Calling Station a Manager", 'bindery')
10383 pkt
.CompletionCodes([0x0003, 0xff1e])
10385 pkt
= NCP(0x174A, "Keyed Verify Password", 'bindery')
10386 pkt
.Request((21,68), [
10387 rec( 10, 8, LoginKey
),
10388 rec( 18, 2, ObjectType
, ENC_BIG_ENDIAN
),
10389 rec( 20, (1,48), ObjectName
, info_str
=(ObjectName
, "Keyed Verify Password: %s", ", %s") ),
10392 pkt
.CompletionCodes([0x0000, 0xc500, 0xfe01, 0xff0c])
10394 pkt
= NCP(0x174B, "Keyed Change Password", 'bindery')
10395 pkt
.Request((22,100), [
10396 rec( 10, 8, LoginKey
),
10397 rec( 18, 2, ObjectType
, ENC_BIG_ENDIAN
),
10398 rec( 20, (1,48), ObjectName
, info_str
=(ObjectName
, "Keyed Change Password: %s", ", %s") ),
10399 rec( -1, (1,32), Password
),
10402 pkt
.CompletionCodes([0x0000, 0xc500, 0xfe01, 0xff0c])
10404 pkt
= NCP(0x174C, "List Relations Of an Object", 'bindery')
10405 pkt
.Request((18,80), [
10406 rec( 10, 4, LastSeen
, ENC_BIG_ENDIAN
),
10407 rec( 14, 2, ObjectType
, ENC_BIG_ENDIAN
),
10408 rec( 16, (1,48), ObjectName
, info_str
=(ObjectName
, "List Relations of an Object: %s", ", %s") ),
10409 rec( -1, (1,16), PropertyName
),
10412 rec( 8, 2, RelationsCount
, ENC_BIG_ENDIAN
, var
="x" ),
10413 rec( 10, 4, ObjectID
, ENC_BIG_ENDIAN
, repeat
="x" ),
10415 pkt
.CompletionCodes([0x0000, 0xf000, 0xf200, 0xfe01, 0xff00])
10416 # 2222/1764, 23/100
10417 pkt
= NCP(0x1764, "Create Queue", 'qms')
10418 pkt
.Request((15,316), [
10419 rec( 10, 2, QueueType
, ENC_BIG_ENDIAN
),
10420 rec( 12, (1,48), QueueName
, info_str
=(QueueName
, "Create Queue: %s", ", %s") ),
10421 rec( -1, 1, PathBase
),
10422 rec( -1, (1,255), Path
),
10425 rec( 8, 4, QueueID
),
10427 pkt
.CompletionCodes([0x0000, 0x9600, 0x9900, 0xd000, 0xd100,
10428 0xd200, 0xd300, 0xd400, 0xd500, 0xd601,
10429 0xd703, 0xd800, 0xd902, 0xda01, 0xdb02,
10431 # 2222/1765, 23/101
10432 pkt
= NCP(0x1765, "Destroy Queue", 'qms')
10434 rec( 10, 4, QueueID
),
10437 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10438 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10439 0xd800, 0xd902, 0xda01, 0xdb02, 0xff00])
10440 # 2222/1766, 23/102
10441 pkt
= NCP(0x1766, "Read Queue Current Status", 'qms')
10443 rec( 10, 4, QueueID
),
10446 rec( 8, 4, QueueID
),
10447 rec( 12, 1, QueueStatus
),
10448 rec( 13, 1, CurrentEntries
),
10449 rec( 14, 1, CurrentServers
, var
="x" ),
10450 rec( 15, 4, ServerID
, repeat
="x" ),
10451 rec( 19, 1, ServerStationList
, repeat
="x" ),
10453 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10454 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10455 0xd800, 0xd902, 0xda01, 0xdb02, 0xff00])
10456 # 2222/1767, 23/103
10457 pkt
= NCP(0x1767, "Set Queue Current Status", 'qms')
10459 rec( 10, 4, QueueID
),
10460 rec( 14, 1, QueueStatus
),
10463 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10464 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10465 0xd800, 0xd902, 0xda01, 0xdb02, 0xfc07,
10467 # 2222/1768, 23/104
10468 pkt
= NCP(0x1768, "Create Queue Job And File", 'qms')
10470 rec( 10, 4, QueueID
),
10471 rec( 14, 250, JobStruct
),
10474 rec( 8, 1, ClientStation
),
10475 rec( 9, 1, ClientTaskNumber
),
10476 rec( 10, 4, ClientIDNumber
, ENC_BIG_ENDIAN
),
10477 rec( 14, 4, TargetServerIDNumber
, ENC_BIG_ENDIAN
),
10478 rec( 18, 6, TargetExecutionTime
),
10479 rec( 24, 6, JobEntryTime
),
10480 rec( 30, 2, JobNumber
, ENC_BIG_ENDIAN
),
10481 rec( 32, 2, JobType
, ENC_BIG_ENDIAN
),
10482 rec( 34, 1, JobPosition
),
10483 rec( 35, 1, JobControlFlags
),
10484 rec( 36, 14, JobFileName
),
10485 rec( 50, 6, JobFileHandle
),
10486 rec( 56, 1, ServerStation
),
10487 rec( 57, 1, ServerTaskNumber
),
10488 rec( 58, 4, ServerID
, ENC_BIG_ENDIAN
),
10490 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10491 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10492 0xd800, 0xd902, 0xda01, 0xdb02, 0xfc07,
10494 # 2222/1769, 23/105
10495 pkt
= NCP(0x1769, "Close File And Start Queue Job", 'qms')
10497 rec( 10, 4, QueueID
),
10498 rec( 14, 2, JobNumber
, ENC_BIG_ENDIAN
),
10501 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10502 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10503 0xd800, 0xd902, 0xda01, 0xdb02, 0xff00])
10504 # 2222/176A, 23/106
10505 pkt
= NCP(0x176A, "Remove Job From Queue", 'qms')
10507 rec( 10, 4, QueueID
),
10508 rec( 14, 2, JobNumber
, ENC_BIG_ENDIAN
),
10511 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10512 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10513 0xd800, 0xd902, 0xda01, 0xdb02, 0xff00])
10514 # 2222/176B, 23/107
10515 pkt
= NCP(0x176B, "Get Queue Job List", 'qms')
10517 rec( 10, 4, QueueID
),
10520 rec( 8, 2, JobCount
, ENC_BIG_ENDIAN
, var
="x" ),
10521 rec( 10, 2, JobNumber
, ENC_BIG_ENDIAN
, repeat
="x" ),
10523 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10524 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10525 0xd800, 0xd902, 0xda01, 0xdb02, 0xff00])
10526 # 2222/176C, 23/108
10527 pkt
= NCP(0x176C, "Read Queue Job Entry", 'qms')
10529 rec( 10, 4, QueueID
),
10530 rec( 14, 2, JobNumber
, ENC_BIG_ENDIAN
),
10533 rec( 8, 250, JobStruct
),
10535 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10536 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10537 0xd800, 0xd902, 0xda01, 0xdb02, 0xff00])
10538 # 2222/176D, 23/109
10539 pkt
= NCP(0x176D, "Change Queue Job Entry", 'qms')
10541 rec( 14, 250, JobStruct
),
10544 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10545 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10546 0xd800, 0xd902, 0xda01, 0xdb02, 0xff18])
10547 # 2222/176E, 23/110
10548 pkt
= NCP(0x176E, "Change Queue Job Position", 'qms')
10550 rec( 10, 4, QueueID
),
10551 rec( 14, 2, JobNumber
, ENC_BIG_ENDIAN
),
10552 rec( 16, 1, NewPosition
),
10555 pkt
.CompletionCodes([0x0000, 0x9600, 0xd000, 0xd100, 0xd300, 0xd500,
10556 0xd601, 0xfe07, 0xff1f])
10557 # 2222/176F, 23/111
10558 pkt
= NCP(0x176F, "Attach Queue Server To Queue", 'qms')
10560 rec( 10, 4, QueueID
),
10563 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10564 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10565 0xd800, 0xd902, 0xda01, 0xdb02, 0xea00,
10567 # 2222/1770, 23/112
10568 pkt
= NCP(0x1770, "Detach Queue Server From Queue", 'qms')
10570 rec( 10, 4, QueueID
),
10573 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10574 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10575 0xd800, 0xd902, 0xda01, 0xdb02, 0xff00])
10576 # 2222/1771, 23/113
10577 pkt
= NCP(0x1771, "Service Queue Job", 'qms')
10579 rec( 10, 4, QueueID
),
10580 rec( 14, 2, ServiceType
, ENC_BIG_ENDIAN
),
10583 rec( 8, 1, ClientStation
),
10584 rec( 9, 1, ClientTaskNumber
),
10585 rec( 10, 4, ClientIDNumber
, ENC_BIG_ENDIAN
),
10586 rec( 14, 4, TargetServerIDNumber
, ENC_BIG_ENDIAN
),
10587 rec( 18, 6, TargetExecutionTime
),
10588 rec( 24, 6, JobEntryTime
),
10589 rec( 30, 2, JobNumber
, ENC_BIG_ENDIAN
),
10590 rec( 32, 2, JobType
, ENC_BIG_ENDIAN
),
10591 rec( 34, 1, JobPosition
),
10592 rec( 35, 1, JobControlFlags
),
10593 rec( 36, 14, JobFileName
),
10594 rec( 50, 6, JobFileHandle
),
10595 rec( 56, 1, ServerStation
),
10596 rec( 57, 1, ServerTaskNumber
),
10597 rec( 58, 4, ServerID
, ENC_BIG_ENDIAN
),
10599 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10600 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10601 0xd800, 0xd902, 0xda01, 0xdb02, 0xff00])
10602 # 2222/1772, 23/114
10603 pkt
= NCP(0x1772, "Finish Servicing Queue Job", 'qms')
10605 rec( 10, 4, QueueID
),
10606 rec( 14, 2, JobNumber
, ENC_BIG_ENDIAN
),
10607 rec( 16, 2, ChargeInformation
, ENC_BIG_ENDIAN
),
10610 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10611 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10612 0xd800, 0xd902, 0xda01, 0xdb02, 0xfc07, 0xff00])
10613 # 2222/1773, 23/115
10614 pkt
= NCP(0x1773, "Abort Servicing Queue Job", 'qms')
10616 rec( 10, 4, QueueID
),
10617 rec( 14, 2, JobNumber
, ENC_BIG_ENDIAN
),
10620 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10621 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10622 0xd800, 0xd902, 0xda01, 0xdb02, 0xfc07, 0xff18])
10623 # 2222/1774, 23/116
10624 pkt
= NCP(0x1774, "Change To Client Rights", 'qms')
10626 rec( 10, 4, QueueID
),
10627 rec( 14, 2, JobNumber
, ENC_BIG_ENDIAN
),
10630 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10631 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10632 0xd800, 0xd902, 0xda01, 0xdb02, 0xff18])
10633 # 2222/1775, 23/117
10634 pkt
= NCP(0x1775, "Restore Queue Server Rights", 'qms')
10637 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10638 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10639 0xd800, 0xd902, 0xda01, 0xdb02, 0xff00])
10640 # 2222/1776, 23/118
10641 pkt
= NCP(0x1776, "Read Queue Server Current Status", 'qms')
10643 rec( 10, 4, QueueID
),
10644 rec( 14, 4, ServerID
, ENC_BIG_ENDIAN
),
10645 rec( 18, 1, ServerStation
),
10648 rec( 8, 64, ServerStatusRecord
),
10650 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10651 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10652 0xd800, 0xd902, 0xda01, 0xdb02, 0xff00])
10653 # 2222/1777, 23/119
10654 pkt
= NCP(0x1777, "Set Queue Server Current Status", 'qms')
10656 rec( 10, 4, QueueID
),
10657 rec( 14, 64, ServerStatusRecord
),
10660 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10661 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10662 0xd800, 0xd902, 0xda01, 0xdb02, 0xff00])
10663 # 2222/1778, 23/120
10664 pkt
= NCP(0x1778, "Get Queue Job File Size", 'qms')
10666 rec( 10, 4, QueueID
),
10667 rec( 14, 2, JobNumber
, ENC_BIG_ENDIAN
),
10670 rec( 8, 4, QueueID
),
10671 rec( 12, 2, JobNumber
, ENC_BIG_ENDIAN
),
10672 rec( 14, 4, FileSize
, ENC_BIG_ENDIAN
),
10674 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10675 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10676 0xd800, 0xd902, 0xda01, 0xdb02, 0xfc07, 0xff00])
10677 # 2222/1779, 23/121
10678 pkt
= NCP(0x1779, "Create Queue Job And File", 'qms')
10680 rec( 10, 4, QueueID
),
10681 rec( 14, 250, JobStruct3x
),
10684 rec( 8, 86, JobStructNew
),
10686 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10687 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10688 0xd800, 0xd902, 0xda01, 0xdb02, 0xfc07, 0xff00])
10689 # 2222/177A, 23/122
10690 pkt
= NCP(0x177A, "Read Queue Job Entry", 'qms')
10692 rec( 10, 4, QueueID
),
10693 rec( 14, 4, JobNumberLong
),
10696 rec( 8, 250, JobStruct3x
),
10698 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10699 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10700 0xd800, 0xd902, 0xda01, 0xdb02, 0xff00])
10701 # 2222/177B, 23/123
10702 pkt
= NCP(0x177B, "Change Queue Job Entry", 'qms')
10704 rec( 10, 4, QueueID
),
10705 rec( 14, 250, JobStruct
),
10708 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10709 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10710 0xd800, 0xd902, 0xda01, 0xdb02, 0xea02, 0xfc07, 0xff00])
10711 # 2222/177C, 23/124
10712 pkt
= NCP(0x177C, "Service Queue Job", 'qms')
10714 rec( 10, 4, QueueID
),
10715 rec( 14, 2, ServiceType
),
10718 rec( 8, 86, JobStructNew
),
10720 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10721 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10722 0xd800, 0xd902, 0xda01, 0xdb02, 0xfc05, 0xff00])
10723 # 2222/177D, 23/125
10724 pkt
= NCP(0x177D, "Read Queue Current Status", 'qms')
10726 rec( 10, 4, QueueID
),
10729 rec( 8, 4, QueueID
),
10730 rec( 12, 1, QueueStatus
),
10731 rec( 13, 3, Reserved3
),
10732 rec( 16, 4, CurrentEntries
),
10733 rec( 20, 4, CurrentServers
, var
="x" ),
10734 rec( 24, 4, ServerID
, repeat
="x" ),
10735 rec( 28, 4, ServerStationLong
, ENC_LITTLE_ENDIAN
, repeat
="x" ),
10737 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10738 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10739 0xd800, 0xd902, 0xda01, 0xdb02, 0xff00])
10740 # 2222/177E, 23/126
10741 pkt
= NCP(0x177E, "Set Queue Current Status", 'qms')
10743 rec( 10, 4, QueueID
),
10744 rec( 14, 1, QueueStatus
),
10747 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10748 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10749 0xd800, 0xd902, 0xda01, 0xdb02, 0xff00])
10750 # 2222/177F, 23/127
10751 pkt
= NCP(0x177F, "Close File And Start Queue Job", 'qms')
10753 rec( 10, 4, QueueID
),
10754 rec( 14, 4, JobNumberLong
),
10757 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10758 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10759 0xd800, 0xd902, 0xda01, 0xdb02, 0xfc07, 0xff00])
10760 # 2222/1780, 23/128
10761 pkt
= NCP(0x1780, "Remove Job From Queue", 'qms')
10763 rec( 10, 4, QueueID
),
10764 rec( 14, 4, JobNumberLong
),
10767 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10768 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10769 0xd800, 0xd902, 0xda01, 0xdb02, 0xff00])
10770 # 2222/1781, 23/129
10771 pkt
= NCP(0x1781, "Get Queue Job List", 'qms')
10773 rec( 10, 4, QueueID
),
10774 rec( 14, 4, JobNumberLong
),
10777 rec( 8, 4, TotalQueueJobs
),
10778 rec( 12, 4, ReplyQueueJobNumbers
, var
="x" ),
10779 rec( 16, 4, JobNumberLong
, repeat
="x" ),
10781 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10782 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10783 0xd800, 0xd902, 0xda01, 0xdb02, 0xff00])
10784 # 2222/1782, 23/130
10785 pkt
= NCP(0x1782, "Change Job Priority", 'qms')
10787 rec( 10, 4, QueueID
),
10788 rec( 14, 4, JobNumberLong
),
10789 rec( 18, 4, Priority
),
10792 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10793 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10794 0xd800, 0xd902, 0xda01, 0xdb02, 0xff00])
10795 # 2222/1783, 23/131
10796 pkt
= NCP(0x1783, "Finish Servicing Queue Job", 'qms')
10798 rec( 10, 4, QueueID
),
10799 rec( 14, 4, JobNumberLong
),
10800 rec( 18, 4, ChargeInformation
),
10803 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10804 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10805 0xd800, 0xd902, 0xda01, 0xdb02, 0xfc05, 0xff00])
10806 # 2222/1784, 23/132
10807 pkt
= NCP(0x1784, "Abort Servicing Queue Job", 'qms')
10809 rec( 10, 4, QueueID
),
10810 rec( 14, 4, JobNumberLong
),
10813 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10814 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10815 0xd800, 0xd902, 0xda01, 0xdb02, 0xfc05, 0xff18])
10816 # 2222/1785, 23/133
10817 pkt
= NCP(0x1785, "Change To Client Rights", 'qms')
10819 rec( 10, 4, QueueID
),
10820 rec( 14, 4, JobNumberLong
),
10823 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10824 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10825 0xd800, 0xd902, 0xda01, 0xdb02, 0xff18])
10826 # 2222/1786, 23/134
10827 pkt
= NCP(0x1786, "Read Queue Server Current Status", 'qms')
10829 rec( 10, 4, QueueID
),
10830 rec( 14, 4, ServerID
, ENC_BIG_ENDIAN
),
10831 rec( 18, 4, ServerStation
),
10834 rec( 8, 64, ServerStatusRecord
),
10836 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10837 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10838 0xd800, 0xd902, 0xda01, 0xdb02, 0xff00])
10839 # 2222/1787, 23/135
10840 pkt
= NCP(0x1787, "Get Queue Job File Size", 'qms')
10842 rec( 10, 4, QueueID
),
10843 rec( 14, 4, JobNumberLong
),
10846 rec( 8, 4, QueueID
),
10847 rec( 12, 4, JobNumberLong
),
10848 rec( 16, 4, FileSize
, ENC_BIG_ENDIAN
),
10850 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10851 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10852 0xd800, 0xd902, 0xda01, 0xdb02, 0xfc05, 0xff00])
10853 # 2222/1788, 23/136
10854 pkt
= NCP(0x1788, "Move Queue Job From Src Q to Dst Q", 'qms')
10856 rec( 10, 4, QueueID
),
10857 rec( 14, 4, JobNumberLong
),
10858 rec( 18, 4, DstQueueID
),
10861 rec( 8, 4, JobNumberLong
),
10863 pkt
.CompletionCodes([0x0000, 0x7e01, 0xfc06])
10864 # 2222/1789, 23/137
10865 pkt
= NCP(0x1789, "Get Queue Jobs From Form List", 'qms')
10867 rec( 10, 4, QueueID
),
10868 rec( 14, 4, QueueStartPosition
),
10869 rec( 18, 4, FormTypeCnt
, ENC_LITTLE_ENDIAN
, var
="x" ),
10870 rec( 22, 2, FormType
, repeat
="x" ),
10873 rec( 8, 4, TotalQueueJobs
),
10874 rec( 12, 4, JobCount
, var
="x" ),
10875 rec( 16, 4, JobNumberLong
, repeat
="x" ),
10877 pkt
.CompletionCodes([0x0000, 0x7e01, 0xd300, 0xfc06])
10878 # 2222/178A, 23/138
10879 pkt
= NCP(0x178A, "Service Queue Job By Form List", 'qms')
10881 rec( 10, 4, QueueID
),
10882 rec( 14, 4, QueueStartPosition
),
10883 rec( 18, 4, FormTypeCnt
, ENC_LITTLE_ENDIAN
, var
= "x" ),
10884 rec( 22, 2, FormType
, repeat
="x" ),
10887 rec( 8, 86, JobStructNew
),
10889 pkt
.CompletionCodes([0x0000, 0x7e01, 0xd902, 0xfc06, 0xff00])
10890 # 2222/1796, 23/150
10891 pkt
= NCP(0x1796, "Get Current Account Status", 'accounting')
10892 pkt
.Request((13,60), [
10893 rec( 10, 2, ObjectType
, ENC_BIG_ENDIAN
),
10894 rec( 12, (1,48), ObjectName
, info_str
=(ObjectName
, "Get Current Account Status: %s", ", %s") ),
10897 rec( 8, 4, AccountBalance
, ENC_BIG_ENDIAN
),
10898 rec( 12, 4, CreditLimit
, ENC_BIG_ENDIAN
),
10899 rec( 16, 120, Reserved120
),
10900 rec( 136, 4, HolderID
, ENC_BIG_ENDIAN
),
10901 rec( 140, 4, HoldAmount
, ENC_BIG_ENDIAN
),
10902 rec( 144, 4, HolderID
, ENC_BIG_ENDIAN
),
10903 rec( 148, 4, HoldAmount
, ENC_BIG_ENDIAN
),
10904 rec( 152, 4, HolderID
, ENC_BIG_ENDIAN
),
10905 rec( 156, 4, HoldAmount
, ENC_BIG_ENDIAN
),
10906 rec( 160, 4, HolderID
, ENC_BIG_ENDIAN
),
10907 rec( 164, 4, HoldAmount
, ENC_BIG_ENDIAN
),
10908 rec( 168, 4, HolderID
, ENC_BIG_ENDIAN
),
10909 rec( 172, 4, HoldAmount
, ENC_BIG_ENDIAN
),
10910 rec( 176, 4, HolderID
, ENC_BIG_ENDIAN
),
10911 rec( 180, 4, HoldAmount
, ENC_BIG_ENDIAN
),
10912 rec( 184, 4, HolderID
, ENC_BIG_ENDIAN
),
10913 rec( 188, 4, HoldAmount
, ENC_BIG_ENDIAN
),
10914 rec( 192, 4, HolderID
, ENC_BIG_ENDIAN
),
10915 rec( 196, 4, HoldAmount
, ENC_BIG_ENDIAN
),
10916 rec( 200, 4, HolderID
, ENC_BIG_ENDIAN
),
10917 rec( 204, 4, HoldAmount
, ENC_BIG_ENDIAN
),
10918 rec( 208, 4, HolderID
, ENC_BIG_ENDIAN
),
10919 rec( 212, 4, HoldAmount
, ENC_BIG_ENDIAN
),
10920 rec( 216, 4, HolderID
, ENC_BIG_ENDIAN
),
10921 rec( 220, 4, HoldAmount
, ENC_BIG_ENDIAN
),
10922 rec( 224, 4, HolderID
, ENC_BIG_ENDIAN
),
10923 rec( 228, 4, HoldAmount
, ENC_BIG_ENDIAN
),
10924 rec( 232, 4, HolderID
, ENC_BIG_ENDIAN
),
10925 rec( 236, 4, HoldAmount
, ENC_BIG_ENDIAN
),
10926 rec( 240, 4, HolderID
, ENC_BIG_ENDIAN
),
10927 rec( 244, 4, HoldAmount
, ENC_BIG_ENDIAN
),
10928 rec( 248, 4, HolderID
, ENC_BIG_ENDIAN
),
10929 rec( 252, 4, HoldAmount
, ENC_BIG_ENDIAN
),
10930 rec( 256, 4, HolderID
, ENC_BIG_ENDIAN
),
10931 rec( 260, 4, HoldAmount
, ENC_BIG_ENDIAN
),
10933 pkt
.CompletionCodes([0x0000, 0x9600, 0xc000, 0xc101, 0xc400, 0xe800,
10934 0xea00, 0xeb00, 0xec00, 0xfc06, 0xfe07, 0xff00])
10935 # 2222/1797, 23/151
10936 pkt
= NCP(0x1797, "Submit Account Charge", 'accounting')
10937 pkt
.Request((26,327), [
10938 rec( 10, 2, ServiceType
, ENC_BIG_ENDIAN
),
10939 rec( 12, 4, ChargeAmount
, ENC_BIG_ENDIAN
),
10940 rec( 16, 4, HoldCancelAmount
, ENC_BIG_ENDIAN
),
10941 rec( 20, 2, ObjectType
, ENC_BIG_ENDIAN
),
10942 rec( 22, 2, CommentType
, ENC_BIG_ENDIAN
),
10943 rec( 24, (1,48), ObjectName
, info_str
=(ObjectName
, "Submit Account Charge: %s", ", %s") ),
10944 rec( -1, (1,255), Comment
),
10947 pkt
.CompletionCodes([0x0000, 0x0102, 0x8800, 0x9400, 0x9600, 0xa201,
10948 0xc000, 0xc101, 0xc200, 0xc400, 0xe800, 0xea00,
10949 0xeb00, 0xec00, 0xfe07, 0xff00])
10950 # 2222/1798, 23/152
10951 pkt
= NCP(0x1798, "Submit Account Hold", 'accounting')
10952 pkt
.Request((17,64), [
10953 rec( 10, 4, HoldCancelAmount
, ENC_BIG_ENDIAN
),
10954 rec( 14, 2, ObjectType
, ENC_BIG_ENDIAN
),
10955 rec( 16, (1,48), ObjectName
, info_str
=(ObjectName
, "Submit Account Hold: %s", ", %s") ),
10958 pkt
.CompletionCodes([0x0000, 0x0102, 0x8800, 0x9400, 0x9600, 0xa201,
10959 0xc000, 0xc101, 0xc200, 0xc400, 0xe800, 0xea00,
10960 0xeb00, 0xec00, 0xfe07, 0xff00])
10961 # 2222/1799, 23/153
10962 pkt
= NCP(0x1799, "Submit Account Note", 'accounting')
10963 pkt
.Request((18,319), [
10964 rec( 10, 2, ServiceType
, ENC_BIG_ENDIAN
),
10965 rec( 12, 2, ObjectType
, ENC_BIG_ENDIAN
),
10966 rec( 14, 2, CommentType
, ENC_BIG_ENDIAN
),
10967 rec( 16, (1,48), ObjectName
, info_str
=(ObjectName
, "Submit Account Note: %s", ", %s") ),
10968 rec( -1, (1,255), Comment
),
10971 pkt
.CompletionCodes([0x0000, 0x0102, 0x9600, 0xc000, 0xc101, 0xc400,
10972 0xe800, 0xea00, 0xeb00, 0xec00, 0xf000, 0xfc06,
10974 # 2222/17c8, 23/200
10975 pkt
= NCP(0x17c8, "Check Console Privileges", 'fileserver')
10978 pkt
.CompletionCodes([0x0000, 0xc601])
10979 # 2222/17c9, 23/201
10980 pkt
= NCP(0x17c9, "Get File Server Description Strings", 'fileserver')
10983 rec( 8, 100, DescriptionStrings
),
10985 pkt
.CompletionCodes([0x0000, 0x9600])
10986 # 2222/17CA, 23/202
10987 pkt
= NCP(0x17CA, "Set File Server Date And Time", 'fileserver')
10989 rec( 10, 1, Year
),
10990 rec( 11, 1, Month
),
10992 rec( 13, 1, Hour
),
10993 rec( 14, 1, Minute
),
10994 rec( 15, 1, Second
),
10997 pkt
.CompletionCodes([0x0000, 0xc601])
10998 # 2222/17CB, 23/203
10999 pkt
= NCP(0x17CB, "Disable File Server Login", 'fileserver')
11002 pkt
.CompletionCodes([0x0000, 0xc601])
11003 # 2222/17CC, 23/204
11004 pkt
= NCP(0x17CC, "Enable File Server Login", 'fileserver')
11007 pkt
.CompletionCodes([0x0000, 0xc601])
11008 # 2222/17CD, 23/205
11009 pkt
= NCP(0x17CD, "Get File Server Login Status", 'fileserver')
11012 rec( 8, 1, UserLoginAllowed
),
11014 pkt
.CompletionCodes([0x0000, 0x9600, 0xfb01])
11015 # 2222/17CF, 23/207
11016 pkt
= NCP(0x17CF, "Disable Transaction Tracking", 'fileserver')
11019 pkt
.CompletionCodes([0x0000, 0xc601])
11020 # 2222/17D0, 23/208
11021 pkt
= NCP(0x17D0, "Enable Transaction Tracking", 'fileserver')
11024 pkt
.CompletionCodes([0x0000, 0xc601])
11025 # 2222/17D1, 23/209
11026 pkt
= NCP(0x17D1, "Send Console Broadcast", 'fileserver')
11027 pkt
.Request((13,267), [
11028 rec( 10, 1, NumberOfStations
, var
="x" ),
11029 rec( 11, 1, StationList
, repeat
="x" ),
11030 rec( 12, (1, 255), TargetMessage
, info_str
=(TargetMessage
, "Send Console Broadcast: %s", ", %s") ),
11033 pkt
.CompletionCodes([0x0000, 0xc601, 0xfd00])
11034 # 2222/17D2, 23/210
11035 pkt
= NCP(0x17D2, "Clear Connection Number", 'fileserver')
11037 rec( 10, 1, ConnectionNumber
, info_str
=(ConnectionNumber
, "Clear Connection Number %d", ", %d") ),
11040 pkt
.CompletionCodes([0x0000, 0xc601, 0xfd00])
11041 # 2222/17D3, 23/211
11042 pkt
= NCP(0x17D3, "Down File Server", 'fileserver')
11044 rec( 10, 1, ForceFlag
),
11047 pkt
.CompletionCodes([0x0000, 0xc601, 0xff00])
11048 # 2222/17D4, 23/212
11049 pkt
= NCP(0x17D4, "Get File System Statistics", 'fileserver')
11052 rec( 8, 4, SystemIntervalMarker
, ENC_BIG_ENDIAN
),
11053 rec( 12, 2, ConfiguredMaxOpenFiles
),
11054 rec( 14, 2, ActualMaxOpenFiles
),
11055 rec( 16, 2, CurrentOpenFiles
),
11056 rec( 18, 4, TotalFilesOpened
),
11057 rec( 22, 4, TotalReadRequests
),
11058 rec( 26, 4, TotalWriteRequests
),
11059 rec( 30, 2, CurrentChangedFATs
),
11060 rec( 32, 4, TotalChangedFATs
),
11061 rec( 36, 2, FATWriteErrors
),
11062 rec( 38, 2, FatalFATWriteErrors
),
11063 rec( 40, 2, FATScanErrors
),
11064 rec( 42, 2, ActualMaxIndexedFiles
),
11065 rec( 44, 2, ActiveIndexedFiles
),
11066 rec( 46, 2, AttachedIndexedFiles
),
11067 rec( 48, 2, AvailableIndexedFiles
),
11069 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xff00])
11070 # 2222/17D5, 23/213
11071 pkt
= NCP(0x17D5, "Get Transaction Tracking Statistics", 'fileserver')
11072 pkt
.Request((13,267), [
11073 rec( 10, 2, LastRecordSeen
),
11074 rec( 12, (1,255), SemaphoreName
),
11077 rec( 8, 4, SystemIntervalMarker
, ENC_BIG_ENDIAN
),
11078 rec( 12, 1, TransactionTrackingSupported
),
11079 rec( 13, 1, TransactionTrackingEnabled
),
11080 rec( 14, 2, TransactionVolumeNumber
),
11081 rec( 16, 2, ConfiguredMaxSimultaneousTransactions
),
11082 rec( 18, 2, ActualMaxSimultaneousTransactions
),
11083 rec( 20, 2, CurrentTransactionCount
),
11084 rec( 22, 4, TotalTransactionsPerformed
),
11085 rec( 26, 4, TotalWriteTransactionsPerformed
),
11086 rec( 30, 4, TotalTransactionsBackedOut
),
11087 rec( 34, 2, TotalUnfilledBackoutRequests
),
11088 rec( 36, 2, TransactionDiskSpace
),
11089 rec( 38, 4, TransactionFATAllocations
),
11090 rec( 42, 4, TransactionFileSizeChanges
),
11091 rec( 46, 4, TransactionFilesTruncated
),
11092 rec( 50, 1, NumberOfEntries
, var
="x" ),
11093 rec( 51, 2, ConnTaskStruct
, repeat
="x" ),
11095 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xff00])
11096 # 2222/17D6, 23/214
11097 pkt
= NCP(0x17D6, "Read Disk Cache Statistics", 'fileserver')
11100 rec( 8, 4, SystemIntervalMarker
, ENC_BIG_ENDIAN
),
11101 rec( 12, 2, CacheBufferCount
),
11102 rec( 14, 2, CacheBufferSize
),
11103 rec( 16, 2, DirtyCacheBuffers
),
11104 rec( 18, 4, CacheReadRequests
),
11105 rec( 22, 4, CacheWriteRequests
),
11106 rec( 26, 4, CacheHits
),
11107 rec( 30, 4, CacheMisses
),
11108 rec( 34, 4, PhysicalReadRequests
),
11109 rec( 38, 4, PhysicalWriteRequests
),
11110 rec( 42, 2, PhysicalReadErrors
),
11111 rec( 44, 2, PhysicalWriteErrors
),
11112 rec( 46, 4, CacheGetRequests
),
11113 rec( 50, 4, CacheFullWriteRequests
),
11114 rec( 54, 4, CachePartialWriteRequests
),
11115 rec( 58, 4, BackgroundDirtyWrites
),
11116 rec( 62, 4, BackgroundAgedWrites
),
11117 rec( 66, 4, TotalCacheWrites
),
11118 rec( 70, 4, CacheAllocations
),
11119 rec( 74, 2, ThrashingCount
),
11120 rec( 76, 2, LRUBlockWasDirty
),
11121 rec( 78, 2, ReadBeyondWrite
),
11122 rec( 80, 2, FragmentWriteOccurred
),
11123 rec( 82, 2, CacheHitOnUnavailableBlock
),
11124 rec( 84, 2, CacheBlockScrapped
),
11126 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xff00])
11127 # 2222/17D7, 23/215
11128 pkt
= NCP(0x17D7, "Get Drive Mapping Table", 'fileserver')
11131 rec( 8, 4, SystemIntervalMarker
, ENC_BIG_ENDIAN
),
11132 rec( 12, 1, SFTSupportLevel
),
11133 rec( 13, 1, LogicalDriveCount
),
11134 rec( 14, 1, PhysicalDriveCount
),
11135 rec( 15, 1, DiskChannelTable
),
11136 rec( 16, 4, Reserved4
),
11137 rec( 20, 2, PendingIOCommands
, ENC_BIG_ENDIAN
),
11138 rec( 22, 32, DriveMappingTable
),
11139 rec( 54, 32, DriveMirrorTable
),
11140 rec( 86, 32, DeadMirrorTable
),
11141 rec( 118, 1, ReMirrorDriveNumber
),
11142 rec( 119, 1, Filler
),
11143 rec( 120, 4, ReMirrorCurrentOffset
, ENC_BIG_ENDIAN
),
11144 rec( 124, 60, SFTErrorTable
),
11146 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xff00])
11147 # 2222/17D8, 23/216
11148 pkt
= NCP(0x17D8, "Read Physical Disk Statistics", 'fileserver')
11150 rec( 10, 1, PhysicalDiskNumber
),
11153 rec( 8, 4, SystemIntervalMarker
, ENC_BIG_ENDIAN
),
11154 rec( 12, 1, PhysicalDiskChannel
),
11155 rec( 13, 1, DriveRemovableFlag
),
11156 rec( 14, 1, PhysicalDriveType
),
11157 rec( 15, 1, ControllerDriveNumber
),
11158 rec( 16, 1, ControllerNumber
),
11159 rec( 17, 1, ControllerType
),
11160 rec( 18, 4, DriveSize
),
11161 rec( 22, 2, DriveCylinders
),
11162 rec( 24, 1, DriveHeads
),
11163 rec( 25, 1, SectorsPerTrack
),
11164 rec( 26, 64, DriveDefinitionString
),
11165 rec( 90, 2, IOErrorCount
),
11166 rec( 92, 4, HotFixTableStart
),
11167 rec( 96, 2, HotFixTableSize
),
11168 rec( 98, 2, HotFixBlocksAvailable
),
11169 rec( 100, 1, HotFixDisabled
),
11171 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xff00])
11172 # 2222/17D9, 23/217
11173 pkt
= NCP(0x17D9, "Get Disk Channel Statistics", 'fileserver')
11175 rec( 10, 1, DiskChannelNumber
),
11178 rec( 8, 4, SystemIntervalMarker
, ENC_BIG_ENDIAN
),
11179 rec( 12, 2, ChannelState
, ENC_BIG_ENDIAN
),
11180 rec( 14, 2, ChannelSynchronizationState
, ENC_BIG_ENDIAN
),
11181 rec( 16, 1, SoftwareDriverType
),
11182 rec( 17, 1, SoftwareMajorVersionNumber
),
11183 rec( 18, 1, SoftwareMinorVersionNumber
),
11184 rec( 19, 65, SoftwareDescription
),
11185 rec( 84, 8, IOAddressesUsed
),
11186 rec( 92, 10, SharedMemoryAddresses
),
11187 rec( 102, 4, InterruptNumbersUsed
),
11188 rec( 106, 4, DMAChannelsUsed
),
11189 rec( 110, 1, FlagBits
),
11190 rec( 111, 1, Reserved
),
11191 rec( 112, 80, ConfigurationDescription
),
11193 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xff00])
11194 # 2222/17DB, 23/219
11195 pkt
= NCP(0x17DB, "Get Connection's Open Files", 'fileserver')
11197 rec( 10, 2, ConnectionNumber
),
11198 rec( 12, 2, LastRecordSeen
, ENC_BIG_ENDIAN
),
11201 rec( 8, 2, NextRequestRecord
),
11202 rec( 10, 1, NumberOfRecords
, var
="x" ),
11203 rec( 11, 21, ConnStruct
, repeat
="x" ),
11205 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xff00])
11206 # 2222/17DC, 23/220
11207 pkt
= NCP(0x17DC, "Get Connection Using A File", 'fileserver')
11208 pkt
.Request((14,268), [
11209 rec( 10, 2, LastRecordSeen
, ENC_BIG_ENDIAN
),
11210 rec( 12, 1, DirHandle
),
11211 rec( 13, (1,255), Path
, info_str
=(Path
, "Get Connection Using File: %s", ", %s") ),
11214 rec( 8, 2, UseCount
, ENC_BIG_ENDIAN
),
11215 rec( 10, 2, OpenCount
, ENC_BIG_ENDIAN
),
11216 rec( 12, 2, OpenForReadCount
, ENC_BIG_ENDIAN
),
11217 rec( 14, 2, OpenForWriteCount
, ENC_BIG_ENDIAN
),
11218 rec( 16, 2, DenyReadCount
, ENC_BIG_ENDIAN
),
11219 rec( 18, 2, DenyWriteCount
, ENC_BIG_ENDIAN
),
11220 rec( 20, 2, NextRequestRecord
, ENC_BIG_ENDIAN
),
11221 rec( 22, 1, Locked
),
11222 rec( 23, 1, NumberOfRecords
, var
="x" ),
11223 rec( 24, 6, ConnFileStruct
, repeat
="x" ),
11225 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xff00])
11226 # 2222/17DD, 23/221
11227 pkt
= NCP(0x17DD, "Get Physical Record Locks By Connection And File", 'fileserver')
11229 rec( 10, 2, TargetConnectionNumber
),
11230 rec( 12, 2, LastRecordSeen
, ENC_BIG_ENDIAN
),
11231 rec( 14, 1, VolumeNumber
),
11232 rec( 15, 2, DirectoryID
),
11233 rec( 17, 14, FileName14
, info_str
=(FileName14
, "Get Physical Record Locks by Connection and File: %s", ", %s") ),
11236 rec( 8, 2, NextRequestRecord
),
11237 rec( 10, 1, NumberOfLocks
, var
="x" ),
11238 rec( 11, 1, Reserved
),
11239 rec( 12, 10, LockStruct
, repeat
="x" ),
11241 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xfd00, 0xff00])
11242 # 2222/17DE, 23/222
11243 pkt
= NCP(0x17DE, "Get Physical Record Locks By File", 'fileserver')
11244 pkt
.Request((14,268), [
11245 rec( 10, 2, TargetConnectionNumber
),
11246 rec( 12, 1, DirHandle
),
11247 rec( 13, (1,255), Path
, info_str
=(Path
, "Get Physical Record Locks by File: %s", ", %s") ),
11250 rec( 8, 2, NextRequestRecord
),
11251 rec( 10, 1, NumberOfLocks
, var
="x" ),
11252 rec( 11, 1, Reserved
),
11253 rec( 12, 16, PhyLockStruct
, repeat
="x" ),
11255 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xfd00, 0xff00])
11256 # 2222/17DF, 23/223
11257 pkt
= NCP(0x17DF, "Get Logical Records By Connection", 'fileserver')
11259 rec( 10, 2, TargetConnectionNumber
),
11260 rec( 12, 2, LastRecordSeen
, ENC_BIG_ENDIAN
),
11262 pkt
.Reply((14,268), [
11263 rec( 8, 2, NextRequestRecord
),
11264 rec( 10, 1, NumberOfRecords
, var
="x" ),
11265 rec( 11, (3, 257), LogLockStruct
, repeat
="x" ),
11267 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xfd00, 0xff00])
11268 # 2222/17E0, 23/224
11269 pkt
= NCP(0x17E0, "Get Logical Record Information", 'fileserver')
11270 pkt
.Request((13,267), [
11271 rec( 10, 2, LastRecordSeen
),
11272 rec( 12, (1,255), LogicalRecordName
, info_str
=(LogicalRecordName
, "Get Logical Record Information: %s", ", %s") ),
11275 rec( 8, 2, UseCount
, ENC_BIG_ENDIAN
),
11276 rec( 10, 2, ShareableLockCount
, ENC_BIG_ENDIAN
),
11277 rec( 12, 2, NextRequestRecord
),
11278 rec( 14, 1, Locked
),
11279 rec( 15, 1, NumberOfRecords
, var
="x" ),
11280 rec( 16, 4, LogRecStruct
, repeat
="x" ),
11282 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xfd00, 0xff00])
11283 # 2222/17E1, 23/225
11284 pkt
= NCP(0x17E1, "Get Connection's Semaphores", 'fileserver')
11286 rec( 10, 2, ConnectionNumber
),
11287 rec( 12, 2, LastRecordSeen
),
11289 pkt
.Reply((18,272), [
11290 rec( 8, 2, NextRequestRecord
),
11291 rec( 10, 2, NumberOfSemaphores
, var
="x" ),
11292 rec( 12, (6,260), SemaStruct
, repeat
="x" ),
11294 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xfd00, 0xff00])
11295 # 2222/17E2, 23/226
11296 pkt
= NCP(0x17E2, "Get Semaphore Information", 'fileserver')
11297 pkt
.Request((13,267), [
11298 rec( 10, 2, LastRecordSeen
),
11299 rec( 12, (1,255), SemaphoreName
, info_str
=(SemaphoreName
, "Get Semaphore Information: %s", ", %s") ),
11302 rec( 8, 2, NextRequestRecord
, ENC_BIG_ENDIAN
),
11303 rec( 10, 2, OpenCount
, ENC_BIG_ENDIAN
),
11304 rec( 12, 1, SemaphoreValue
),
11305 rec( 13, 1, NumberOfRecords
, var
="x" ),
11306 rec( 14, 3, SemaInfoStruct
, repeat
="x" ),
11308 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xfd00, 0xff00])
11309 # 2222/17E3, 23/227
11310 pkt
= NCP(0x17E3, "Get LAN Driver Configuration Information", 'fileserver')
11312 rec( 10, 1, LANDriverNumber
),
11315 rec( 8, 4, NetworkAddress
, ENC_BIG_ENDIAN
),
11316 rec( 12, 6, HostAddress
),
11317 rec( 18, 1, BoardInstalled
),
11318 rec( 19, 1, OptionNumber
),
11319 rec( 20, 160, ConfigurationText
),
11321 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xfd00, 0xff00])
11322 # 2222/17E5, 23/229
11323 pkt
= NCP(0x17E5, "Get Connection Usage Statistics", 'fileserver')
11325 rec( 10, 2, ConnectionNumber
),
11328 rec( 8, 2, NextRequestRecord
),
11329 rec( 10, 6, BytesRead
),
11330 rec( 16, 6, BytesWritten
),
11331 rec( 22, 4, TotalRequestPackets
),
11333 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xfd00, 0xff00])
11334 # 2222/17E6, 23/230
11335 pkt
= NCP(0x17E6, "Get Object's Remaining Disk Space", 'fileserver')
11337 rec( 10, 4, ObjectID
, ENC_BIG_ENDIAN
),
11340 rec( 8, 4, SystemIntervalMarker
, ENC_BIG_ENDIAN
),
11341 rec( 12, 4, ObjectID
),
11342 rec( 16, 4, UnusedDiskBlocks
, ENC_BIG_ENDIAN
),
11343 rec( 20, 1, RestrictionsEnforced
),
11345 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xfd00, 0xff00])
11346 # 2222/17E7, 23/231
11347 pkt
= NCP(0x17E7, "Get File Server LAN I/O Statistics", 'fileserver')
11350 rec( 8, 4, SystemIntervalMarker
, ENC_BIG_ENDIAN
),
11351 rec( 12, 2, ConfiguredMaxRoutingBuffers
),
11352 rec( 14, 2, ActualMaxUsedRoutingBuffers
),
11353 rec( 16, 2, CurrentlyUsedRoutingBuffers
),
11354 rec( 18, 4, TotalFileServicePackets
),
11355 rec( 22, 2, TurboUsedForFileService
),
11356 rec( 24, 2, PacketsFromInvalidConnection
),
11357 rec( 26, 2, BadLogicalConnectionCount
),
11358 rec( 28, 2, PacketsReceivedDuringProcessing
),
11359 rec( 30, 2, RequestsReprocessed
),
11360 rec( 32, 2, PacketsWithBadSequenceNumber
),
11361 rec( 34, 2, DuplicateRepliesSent
),
11362 rec( 36, 2, PositiveAcknowledgesSent
),
11363 rec( 38, 2, PacketsWithBadRequestType
),
11364 rec( 40, 2, AttachDuringProcessing
),
11365 rec( 42, 2, AttachWhileProcessingAttach
),
11366 rec( 44, 2, ForgedDetachedRequests
),
11367 rec( 46, 2, DetachForBadConnectionNumber
),
11368 rec( 48, 2, DetachDuringProcessing
),
11369 rec( 50, 2, RepliesCancelled
),
11370 rec( 52, 2, PacketsDiscardedByHopCount
),
11371 rec( 54, 2, PacketsDiscardedUnknownNet
),
11372 rec( 56, 2, IncomingPacketDiscardedNoDGroup
),
11373 rec( 58, 2, OutgoingPacketDiscardedNoTurboBuffer
),
11374 rec( 60, 2, IPXNotMyNetwork
),
11375 rec( 62, 4, NetBIOSBroadcastWasPropagated
),
11376 rec( 66, 4, TotalOtherPackets
),
11377 rec( 70, 4, TotalRoutedPackets
),
11379 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xfd00, 0xff00])
11380 # 2222/17E8, 23/232
11381 pkt
= NCP(0x17E8, "Get File Server Misc Information", 'fileserver')
11384 rec( 8, 4, SystemIntervalMarker
, ENC_BIG_ENDIAN
),
11385 rec( 12, 1, ProcessorType
),
11386 rec( 13, 1, Reserved
),
11387 rec( 14, 1, NumberOfServiceProcesses
),
11388 rec( 15, 1, ServerUtilizationPercentage
),
11389 rec( 16, 2, ConfiguredMaxBinderyObjects
),
11390 rec( 18, 2, ActualMaxBinderyObjects
),
11391 rec( 20, 2, CurrentUsedBinderyObjects
),
11392 rec( 22, 2, TotalServerMemory
),
11393 rec( 24, 2, WastedServerMemory
),
11394 rec( 26, 2, NumberOfDynamicMemoryAreas
, var
="x" ),
11395 rec( 28, 12, DynMemStruct
, repeat
="x" ),
11397 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xfd00, 0xff00])
11398 # 2222/17E9, 23/233
11399 pkt
= NCP(0x17E9, "Get Volume Information", 'fileserver')
11401 rec( 10, 1, VolumeNumber
, info_str
=(VolumeNumber
, "Get Information on Volume %d", ", %d") ),
11404 rec( 8, 4, SystemIntervalMarker
, ENC_BIG_ENDIAN
),
11405 rec( 12, 1, VolumeNumber
),
11406 rec( 13, 1, LogicalDriveNumber
),
11407 rec( 14, 2, BlockSize
),
11408 rec( 16, 2, StartingBlock
),
11409 rec( 18, 2, TotalBlocks
),
11410 rec( 20, 2, FreeBlocks
),
11411 rec( 22, 2, TotalDirectoryEntries
),
11412 rec( 24, 2, FreeDirectoryEntries
),
11413 rec( 26, 2, ActualMaxUsedDirectoryEntries
),
11414 rec( 28, 1, VolumeHashedFlag
),
11415 rec( 29, 1, VolumeCachedFlag
),
11416 rec( 30, 1, VolumeRemovableFlag
),
11417 rec( 31, 1, VolumeMountedFlag
),
11418 rec( 32, 16, VolumeName
),
11420 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xfd00, 0xff00])
11421 # 2222/17EA, 23/234
11422 pkt
= NCP(0x17EA, "Get Connection's Task Information", 'fileserver')
11424 rec( 10, 2, ConnectionNumber
),
11427 rec( 8, 1, ConnLockStatus
),
11428 rec( 9, 1, NumberOfActiveTasks
, var
="x" ),
11429 rec( 10, 3, TaskStruct
, repeat
="x" ),
11431 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xfd00, 0xff00])
11432 # 2222/17EB, 23/235
11433 pkt
= NCP(0x17EB, "Get Connection's Open Files", 'fileserver')
11435 rec( 10, 2, ConnectionNumber
),
11436 rec( 12, 2, LastRecordSeen
),
11438 pkt
.Reply((29,283), [
11439 rec( 8, 2, NextRequestRecord
),
11440 rec( 10, 2, NumberOfRecords
, var
="x" ),
11441 rec( 12, (17, 271), OpnFilesStruct
, repeat
="x" ),
11443 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xff00])
11444 # 2222/17EC, 23/236
11445 pkt
= NCP(0x17EC, "Get Connection Using A File", 'fileserver')
11447 rec( 10, 1, DataStreamNumber
),
11448 rec( 11, 1, VolumeNumber
),
11449 rec( 12, 4, DirectoryBase
, ENC_LITTLE_ENDIAN
),
11450 rec( 16, 2, LastRecordSeen
),
11453 rec( 8, 2, NextRequestRecord
),
11454 rec( 10, 2, FileUseCount
),
11455 rec( 12, 2, OpenCount
),
11456 rec( 14, 2, OpenForReadCount
),
11457 rec( 16, 2, OpenForWriteCount
),
11458 rec( 18, 2, DenyReadCount
),
11459 rec( 20, 2, DenyWriteCount
),
11460 rec( 22, 1, Locked
),
11461 rec( 23, 1, ForkCount
),
11462 rec( 24, 2, NumberOfRecords
, var
="x" ),
11463 rec( 26, 7, ConnFileStruct
, repeat
="x" ),
11465 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xff00])
11466 # 2222/17ED, 23/237
11467 pkt
= NCP(0x17ED, "Get Physical Record Locks By Connection And File", 'fileserver')
11469 rec( 10, 2, TargetConnectionNumber
),
11470 rec( 12, 1, DataStreamNumber
),
11471 rec( 13, 1, VolumeNumber
),
11472 rec( 14, 4, DirectoryBase
, ENC_LITTLE_ENDIAN
),
11473 rec( 18, 2, LastRecordSeen
),
11476 rec( 8, 2, NextRequestRecord
),
11477 rec( 10, 2, NumberOfLocks
, ENC_LITTLE_ENDIAN
, var
="x" ),
11478 rec( 12, 11, LockStruct
, repeat
="x" ),
11480 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xfd00, 0xff00])
11481 # 2222/17EE, 23/238
11482 pkt
= NCP(0x17EE, "Get Physical Record Locks By File", 'fileserver')
11484 rec( 10, 1, DataStreamNumber
),
11485 rec( 11, 1, VolumeNumber
),
11486 rec( 12, 4, DirectoryBase
),
11487 rec( 16, 2, LastRecordSeen
),
11490 rec( 8, 2, NextRequestRecord
),
11491 rec( 10, 2, NumberOfLocks
, ENC_LITTLE_ENDIAN
, var
="x" ),
11492 rec( 12, 18, PhyLockStruct
, repeat
="x" ),
11494 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xfd00, 0xff00])
11495 # 2222/17EF, 23/239
11496 pkt
= NCP(0x17EF, "Get Logical Records By Connection", 'fileserver')
11498 rec( 10, 2, TargetConnectionNumber
),
11499 rec( 12, 2, LastRecordSeen
),
11501 pkt
.Reply((16,270), [
11502 rec( 8, 2, NextRequestRecord
),
11503 rec( 10, 2, NumberOfRecords
, var
="x" ),
11504 rec( 12, (4, 258), LogLockStruct
, repeat
="x" ),
11506 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xfd00, 0xff00])
11507 # 2222/17F0, 23/240
11508 pkt
= NCP(0x17F0, "Get Logical Record Information (old)", 'fileserver')
11509 pkt
.Request((13,267), [
11510 rec( 10, 2, LastRecordSeen
),
11511 rec( 12, (1,255), LogicalRecordName
),
11514 rec( 8, 2, ShareableLockCount
),
11515 rec( 10, 2, UseCount
),
11516 rec( 12, 1, Locked
),
11517 rec( 13, 2, NextRequestRecord
),
11518 rec( 15, 2, NumberOfRecords
, var
="x" ),
11519 rec( 17, 5, LogRecStruct
, repeat
="x" ),
11521 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xfd00, 0xff00])
11522 # 2222/17F1, 23/241
11523 pkt
= NCP(0x17F1, "Get Connection's Semaphores", 'fileserver')
11525 rec( 10, 2, ConnectionNumber
),
11526 rec( 12, 2, LastRecordSeen
),
11528 pkt
.Reply((19,273), [
11529 rec( 8, 2, NextRequestRecord
),
11530 rec( 10, 2, NumberOfSemaphores
, var
="x" ),
11531 rec( 12, (7, 261), SemaStruct
, repeat
="x" ),
11533 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xfd00, 0xff00])
11534 # 2222/17F2, 23/242
11535 pkt
= NCP(0x17F2, "Get Semaphore Information", 'fileserver')
11536 pkt
.Request((13,267), [
11537 rec( 10, 2, LastRecordSeen
),
11538 rec( 12, (1,255), SemaphoreName
, info_str
=(SemaphoreName
, "Get Semaphore Information: %s", ", %s") ),
11541 rec( 8, 2, NextRequestRecord
),
11542 rec( 10, 2, OpenCount
),
11543 rec( 12, 2, SemaphoreValue
),
11544 rec( 14, 2, NumberOfRecords
, var
="x" ),
11545 rec( 16, 4, SemaInfoStruct
, repeat
="x" ),
11547 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xfd00, 0xff00])
11548 # 2222/17F3, 23/243
11549 pkt
= NCP(0x17F3, "Map Directory Number to Path", 'file')
11551 rec( 10, 1, VolumeNumber
),
11552 rec( 11, 4, DirectoryNumber
),
11553 rec( 15, 1, NameSpace
),
11555 pkt
.Reply((9,263), [
11556 rec( 8, (1,255), Path
),
11558 pkt
.CompletionCodes([0x0000, 0x9600, 0x9c00, 0xc601, 0xfd00, 0xff00])
11559 # 2222/17F4, 23/244
11560 pkt
= NCP(0x17F4, "Convert Path to Dir Entry", 'file')
11561 pkt
.Request((12,266), [
11562 rec( 10, 1, DirHandle
),
11563 rec( 11, (1,255), Path
, info_str
=(Path
, "Convert Path to Directory Entry: %s", ", %s") ),
11566 rec( 8, 1, VolumeNumber
),
11567 rec( 9, 4, DirectoryNumber
),
11569 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xfd00, 0xff00])
11570 # 2222/17FD, 23/253
11571 pkt
= NCP(0x17FD, "Send Console Broadcast", 'fileserver')
11572 pkt
.Request((16, 270), [
11573 rec( 10, 1, NumberOfStations
, var
="x" ),
11574 rec( 11, 4, StationList
, repeat
="x" ),
11575 rec( 15, (1, 255), TargetMessage
, info_str
=(TargetMessage
, "Send Console Broadcast: %s", ", %s") ),
11578 pkt
.CompletionCodes([0x0000, 0xc601, 0xfd00])
11579 # 2222/17FE, 23/254
11580 pkt
= NCP(0x17FE, "Clear Connection Number", 'fileserver')
11582 rec( 10, 4, ConnectionNumber
),
11585 pkt
.CompletionCodes([0x0000, 0xc601, 0xfd00])
11587 pkt
= NCP(0x18, "End of Job", 'connection')
11590 pkt
.CompletionCodes([0x0000])
11592 pkt
= NCP(0x19, "Logout", 'connection')
11595 pkt
.CompletionCodes([0x0000])
11597 pkt
= NCP(0x1A, "Log Physical Record", 'sync')
11599 rec( 7, 1, LockFlag
),
11600 rec( 8, 6, FileHandle
),
11601 rec( 14, 4, LockAreasStartOffset
, ENC_BIG_ENDIAN
),
11602 rec( 18, 4, LockAreaLen
, ENC_BIG_ENDIAN
, info_str
=(LockAreaLen
, "Lock Record - Length of %d", "%d") ),
11603 rec( 22, 2, LockTimeout
),
11606 pkt
.CompletionCodes([0x0000, 0x8800, 0x9600, 0xfd02, 0xfe04, 0xff01])
11608 pkt
= NCP(0x1B, "Lock Physical Record Set", 'sync')
11610 rec( 7, 1, LockFlag
),
11611 rec( 8, 2, LockTimeout
),
11614 pkt
.CompletionCodes([0x0000, 0x8800, 0x9600, 0xfd02, 0xfe04, 0xff01])
11616 pkt
= NCP(0x1C, "Release Physical Record", 'sync')
11618 rec( 7, 1, Reserved
),
11619 rec( 8, 6, FileHandle
),
11620 rec( 14, 4, LockAreasStartOffset
),
11621 rec( 18, 4, LockAreaLen
, info_str
=(LockAreaLen
, "Release Lock Record - Length of %d", "%d") ),
11624 pkt
.CompletionCodes([0x0000, 0x8800, 0x9600, 0xfd02, 0xfe04, 0xff03])
11626 pkt
= NCP(0x1D, "Release Physical Record Set", 'sync')
11628 rec( 7, 1, LockFlag
),
11631 pkt
.CompletionCodes([0x0000, 0x8800, 0x9600, 0xfd02, 0xfe04, 0xff03])
11632 # 2222/1E, 30 #Tested and fixed 6-14-02 GM
11633 pkt
= NCP(0x1E, "Clear Physical Record", 'sync')
11635 rec( 7, 1, Reserved
),
11636 rec( 8, 6, FileHandle
),
11637 rec( 14, 4, LockAreasStartOffset
, ENC_BIG_ENDIAN
),
11638 rec( 18, 4, LockAreaLen
, ENC_BIG_ENDIAN
, info_str
=(LockAreaLen
, "Clear Lock Record - Length of %d", "%d") ),
11641 pkt
.CompletionCodes([0x0000, 0x8000, 0x8800, 0x9600, 0xfd02, 0xfe04, 0xff03])
11643 pkt
= NCP(0x1F, "Clear Physical Record Set", 'sync')
11645 rec( 7, 1, LockFlag
),
11648 pkt
.CompletionCodes([0x0000, 0x8800, 0x9600, 0xfd02, 0xfe04, 0xff03])
11650 pkt
= NCP(0x2000, "Open Semaphore", 'sync', has_length
=0)
11651 pkt
.Request((10,264), [
11652 rec( 8, 1, InitialSemaphoreValue
),
11653 rec( 9, (1,255), SemaphoreName
, info_str
=(SemaphoreName
, "Open Semaphore: %s", ", %s") ),
11656 rec( 8, 4, SemaphoreHandle
, ENC_BIG_ENDIAN
),
11657 rec( 12, 1, SemaphoreOpenCount
),
11659 pkt
.CompletionCodes([0x0000, 0x9600, 0xff01])
11661 pkt
= NCP(0x2001, "Examine Semaphore", 'sync', has_length
=0)
11663 rec( 8, 4, SemaphoreHandle
, ENC_BIG_ENDIAN
),
11666 rec( 8, 1, SemaphoreValue
),
11667 rec( 9, 1, SemaphoreOpenCount
),
11669 pkt
.CompletionCodes([0x0000, 0x9600, 0xff01])
11671 pkt
= NCP(0x2002, "Wait On Semaphore", 'sync', has_length
=0)
11673 rec( 8, 4, SemaphoreHandle
, ENC_BIG_ENDIAN
),
11674 rec( 12, 2, SemaphoreTimeOut
, ENC_BIG_ENDIAN
),
11677 pkt
.CompletionCodes([0x0000, 0x9600, 0xff01])
11679 pkt
= NCP(0x2003, "Signal Semaphore", 'sync', has_length
=0)
11681 rec( 8, 4, SemaphoreHandle
, ENC_BIG_ENDIAN
),
11684 pkt
.CompletionCodes([0x0000, 0x9600, 0xff01])
11686 pkt
= NCP(0x2004, "Close Semaphore", 'sync', has_length
=0)
11688 rec( 8, 4, SemaphoreHandle
, ENC_BIG_ENDIAN
),
11691 pkt
.CompletionCodes([0x0000, 0x9600, 0xff01])
11693 pkt
= NCP(0x21, "Negotiate Buffer Size", 'connection')
11695 rec( 7, 2, BufferSize
, ENC_BIG_ENDIAN
),
11698 rec( 8, 2, BufferSize
, ENC_BIG_ENDIAN
),
11700 pkt
.CompletionCodes([0x0000])
11702 pkt
= NCP(0x2200, "TTS Is Available", 'tts', has_length
=0)
11705 pkt
.CompletionCodes([0x0001, 0xfd03, 0xff12])
11707 pkt
= NCP(0x2201, "TTS Begin Transaction", 'tts', has_length
=0)
11710 pkt
.CompletionCodes([0x0000])
11712 pkt
= NCP(0x2202, "TTS End Transaction", 'tts', has_length
=0)
11715 rec( 8, 4, TransactionNumber
, ENC_BIG_ENDIAN
),
11717 pkt
.CompletionCodes([0x0000, 0xff01])
11719 pkt
= NCP(0x2203, "TTS Abort Transaction", 'tts', has_length
=0)
11722 pkt
.CompletionCodes([0x0000, 0xfd03, 0xfe0b, 0xff01])
11724 pkt
= NCP(0x2204, "TTS Transaction Status", 'tts', has_length
=0)
11726 rec( 8, 4, TransactionNumber
, ENC_BIG_ENDIAN
),
11729 pkt
.CompletionCodes([0x0000])
11731 pkt
= NCP(0x2205, "TTS Get Application Thresholds", 'tts', has_length
=0)
11734 rec( 8, 1, LogicalLockThreshold
),
11735 rec( 9, 1, PhysicalLockThreshold
),
11737 pkt
.CompletionCodes([0x0000])
11739 pkt
= NCP(0x2206, "TTS Set Application Thresholds", 'tts', has_length
=0)
11741 rec( 8, 1, LogicalLockThreshold
),
11742 rec( 9, 1, PhysicalLockThreshold
),
11745 pkt
.CompletionCodes([0x0000, 0x9600])
11747 pkt
= NCP(0x2207, "TTS Get Workstation Thresholds", 'tts', has_length
=0)
11750 rec( 8, 1, LogicalLockThreshold
),
11751 rec( 9, 1, PhysicalLockThreshold
),
11753 pkt
.CompletionCodes([0x0000])
11755 pkt
= NCP(0x2208, "TTS Set Workstation Thresholds", 'tts', has_length
=0)
11757 rec( 8, 1, LogicalLockThreshold
),
11758 rec( 9, 1, PhysicalLockThreshold
),
11761 pkt
.CompletionCodes([0x0000])
11763 pkt
= NCP(0x2209, "TTS Get Transaction Bits", 'tts', has_length
=0)
11766 rec( 8, 1, ControlFlags
),
11768 pkt
.CompletionCodes([0x0000])
11770 pkt
= NCP(0x220A, "TTS Set Transaction Bits", 'tts', has_length
=0)
11772 rec( 8, 1, ControlFlags
),
11775 pkt
.CompletionCodes([0x0000])
11777 pkt
= NCP(0x2301, "AFP Create Directory", 'afp')
11778 pkt
.Request((49, 303), [
11779 rec( 10, 1, VolumeNumber
),
11780 rec( 11, 4, BaseDirectoryID
),
11781 rec( 15, 1, Reserved
),
11782 rec( 16, 4, CreatorID
),
11783 rec( 20, 4, Reserved4
),
11784 rec( 24, 2, FinderAttr
),
11785 rec( 26, 2, HorizLocation
),
11786 rec( 28, 2, VertLocation
),
11787 rec( 30, 2, FileDirWindow
),
11788 rec( 32, 16, Reserved16
),
11789 rec( 48, (1,255), Path
, info_str
=(Path
, "AFP Create Directory: %s", ", %s") ),
11792 rec( 8, 4, NewDirectoryID
),
11794 pkt
.CompletionCodes([0x0000, 0x8301, 0x8400, 0x8800, 0x9300, 0x9600, 0x9804,
11795 0x9900, 0x9c03, 0x9e02, 0xa100, 0xa201, 0xfd00, 0xff18])
11797 pkt
= NCP(0x2302, "AFP Create File", 'afp')
11798 pkt
.Request((49, 303), [
11799 rec( 10, 1, VolumeNumber
),
11800 rec( 11, 4, BaseDirectoryID
),
11801 rec( 15, 1, DeleteExistingFileFlag
),
11802 rec( 16, 4, CreatorID
, ENC_BIG_ENDIAN
),
11803 rec( 20, 4, Reserved4
),
11804 rec( 24, 2, FinderAttr
),
11805 rec( 26, 2, HorizLocation
, ENC_BIG_ENDIAN
),
11806 rec( 28, 2, VertLocation
, ENC_BIG_ENDIAN
),
11807 rec( 30, 2, FileDirWindow
, ENC_BIG_ENDIAN
),
11808 rec( 32, 16, Reserved16
),
11809 rec( 48, (1,255), Path
, info_str
=(Path
, "AFP Create File: %s", ", %s") ),
11812 rec( 8, 4, NewDirectoryID
),
11814 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8301, 0x8400, 0x8701, 0x8800,
11815 0x8a00, 0x8d00, 0x8e00, 0x8f00, 0x9300, 0x9600, 0x9804,
11816 0x9900, 0x9b03, 0x9c03, 0x9e02, 0xa100, 0xa201, 0xfd00,
11819 pkt
= NCP(0x2303, "AFP Delete", 'afp')
11820 pkt
.Request((16,270), [
11821 rec( 10, 1, VolumeNumber
),
11822 rec( 11, 4, BaseDirectoryID
),
11823 rec( 15, (1,255), Path
, info_str
=(Path
, "AFP Delete: %s", ", %s") ),
11826 pkt
.CompletionCodes([0x0000, 0x8301, 0x8800, 0x8a00, 0x8d00, 0x8e00, 0x8f00,
11827 0x9000, 0x9300, 0x9600, 0x9804, 0x9b03, 0x9c03, 0x9e02,
11828 0xa000, 0xa100, 0xa201, 0xfd00, 0xff19])
11830 pkt
= NCP(0x2304, "AFP Get Entry ID From Name", 'afp')
11831 pkt
.Request((16,270), [
11832 rec( 10, 1, VolumeNumber
),
11833 rec( 11, 4, BaseDirectoryID
),
11834 rec( 15, (1,255), Path
, info_str
=(Path
, "AFP Get Entry from Name: %s", ", %s") ),
11837 rec( 8, 4, TargetEntryID
, ENC_BIG_ENDIAN
),
11839 pkt
.CompletionCodes([0x0000, 0x8301, 0x8800, 0x9300, 0x9600, 0x9804, 0x9c03,
11840 0xa100, 0xa201, 0xfd00, 0xff19])
11842 pkt
= NCP(0x2305, "AFP Get File Information", 'afp')
11843 pkt
.Request((18,272), [
11844 rec( 10, 1, VolumeNumber
),
11845 rec( 11, 4, BaseDirectoryID
),
11846 rec( 15, 2, RequestBitMap
, ENC_BIG_ENDIAN
),
11847 rec( 17, (1,255), Path
, info_str
=(Path
, "AFP Get File Information: %s", ", %s") ),
11850 rec( 8, 4, AFPEntryID
, ENC_BIG_ENDIAN
),
11851 rec( 12, 4, ParentID
, ENC_BIG_ENDIAN
),
11852 rec( 16, 2, AttributesDef16
, ENC_LITTLE_ENDIAN
),
11853 rec( 18, 4, DataForkLen
, ENC_BIG_ENDIAN
),
11854 rec( 22, 4, ResourceForkLen
, ENC_BIG_ENDIAN
),
11855 rec( 26, 2, TotalOffspring
, ENC_BIG_ENDIAN
),
11856 rec( 28, 2, CreationDate
, ENC_BIG_ENDIAN
),
11857 rec( 30, 2, LastAccessedDate
, ENC_BIG_ENDIAN
),
11858 rec( 32, 2, ModifiedDate
, ENC_BIG_ENDIAN
),
11859 rec( 34, 2, ModifiedTime
, ENC_BIG_ENDIAN
),
11860 rec( 36, 2, ArchivedDate
, ENC_BIG_ENDIAN
),
11861 rec( 38, 2, ArchivedTime
, ENC_BIG_ENDIAN
),
11862 rec( 40, 4, CreatorID
, ENC_BIG_ENDIAN
),
11863 rec( 44, 4, Reserved4
),
11864 rec( 48, 2, FinderAttr
),
11865 rec( 50, 2, HorizLocation
),
11866 rec( 52, 2, VertLocation
),
11867 rec( 54, 2, FileDirWindow
),
11868 rec( 56, 16, Reserved16
),
11869 rec( 72, 32, LongName
),
11870 rec( 104, 4, CreatorID
, ENC_BIG_ENDIAN
),
11871 rec( 108, 12, ShortName
),
11872 rec( 120, 1, AccessPrivileges
),
11874 pkt
.CompletionCodes([0x0000, 0x8301, 0x8800, 0x9300, 0x9600, 0x9804, 0x9c03,
11875 0xa100, 0xa201, 0xfd00, 0xff19])
11877 pkt
= NCP(0x2306, "AFP Get Entry ID From NetWare Handle", 'afp')
11879 rec( 10, 6, FileHandle
),
11882 rec( 8, 1, VolumeID
),
11883 rec( 9, 4, TargetEntryID
, ENC_BIG_ENDIAN
),
11884 rec( 13, 1, ForkIndicator
),
11886 pkt
.CompletionCodes([0x0000, 0x8301, 0x8800, 0x9300, 0x9600, 0xa201])
11888 pkt
= NCP(0x2307, "AFP Rename", 'afp')
11889 pkt
.Request((21, 529), [
11890 rec( 10, 1, VolumeNumber
),
11891 rec( 11, 4, MacSourceBaseID
, ENC_BIG_ENDIAN
),
11892 rec( 15, 4, MacDestinationBaseID
, ENC_BIG_ENDIAN
),
11893 rec( 19, (1,255), Path
, info_str
=(Path
, "AFP Rename: %s", ", %s") ),
11894 rec( -1, (1,255), NewFileNameLen
),
11897 pkt
.CompletionCodes([0x0000, 0x8301, 0x8401, 0x8800, 0x8b00, 0x8e00,
11898 0x9001, 0x9201, 0x9300, 0x9600, 0x9804, 0x9900,
11899 0x9c03, 0x9e00, 0xa100, 0xa201, 0xfd00, 0xff0a])
11901 pkt
= NCP(0x2308, "AFP Open File Fork", 'afp')
11902 pkt
.Request((18, 272), [
11903 rec( 10, 1, VolumeNumber
),
11904 rec( 11, 4, MacBaseDirectoryID
),
11905 rec( 15, 1, ForkIndicator
),
11906 rec( 16, 1, AccessMode
),
11907 rec( 17, (1,255), Path
, info_str
=(Path
, "AFP Open File Fork: %s", ", %s") ),
11910 rec( 8, 4, AFPEntryID
, ENC_BIG_ENDIAN
),
11911 rec( 12, 4, DataForkLen
, ENC_BIG_ENDIAN
),
11912 rec( 16, 6, NetWareAccessHandle
),
11914 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8301, 0x8800, 0x9300,
11915 0x9400, 0x9600, 0x9804, 0x9900, 0x9c03, 0xa100,
11916 0xa201, 0xfd00, 0xff16])
11918 pkt
= NCP(0x2309, "AFP Set File Information", 'afp')
11919 pkt
.Request((64, 318), [
11920 rec( 10, 1, VolumeNumber
),
11921 rec( 11, 4, MacBaseDirectoryID
),
11922 rec( 15, 2, RequestBitMap
, ENC_BIG_ENDIAN
),
11923 rec( 17, 2, MacAttr
, ENC_BIG_ENDIAN
),
11924 rec( 19, 2, CreationDate
, ENC_BIG_ENDIAN
),
11925 rec( 21, 2, LastAccessedDate
, ENC_BIG_ENDIAN
),
11926 rec( 23, 2, ModifiedDate
, ENC_BIG_ENDIAN
),
11927 rec( 25, 2, ModifiedTime
, ENC_BIG_ENDIAN
),
11928 rec( 27, 2, ArchivedDate
, ENC_BIG_ENDIAN
),
11929 rec( 29, 2, ArchivedTime
, ENC_BIG_ENDIAN
),
11930 rec( 31, 4, CreatorID
, ENC_BIG_ENDIAN
),
11931 rec( 35, 4, Reserved4
),
11932 rec( 39, 2, FinderAttr
),
11933 rec( 41, 2, HorizLocation
),
11934 rec( 43, 2, VertLocation
),
11935 rec( 45, 2, FileDirWindow
),
11936 rec( 47, 16, Reserved16
),
11937 rec( 63, (1,255), Path
, info_str
=(Path
, "AFP Set File Information: %s", ", %s") ),
11940 pkt
.CompletionCodes([0x0000, 0x0104, 0x8301, 0x8800, 0x9300, 0x9400,
11941 0x9500, 0x9600, 0x9804, 0x9c03, 0xa100, 0xa201,
11944 pkt
= NCP(0x230A, "AFP Scan File Information", 'afp')
11945 pkt
.Request((26, 280), [
11946 rec( 10, 1, VolumeNumber
),
11947 rec( 11, 4, MacBaseDirectoryID
),
11948 rec( 15, 4, MacLastSeenID
, ENC_BIG_ENDIAN
),
11949 rec( 19, 2, DesiredResponseCount
, ENC_BIG_ENDIAN
),
11950 rec( 21, 2, SearchBitMap
, ENC_BIG_ENDIAN
),
11951 rec( 23, 2, RequestBitMap
, ENC_BIG_ENDIAN
),
11952 rec( 25, (1,255), Path
, info_str
=(Path
, "AFP Scan File Information: %s", ", %s") ),
11955 rec( 8, 2, ActualResponseCount
, ENC_BIG_ENDIAN
, var
="x" ),
11956 rec( 10, 113, AFP10Struct
, repeat
="x" ),
11958 pkt
.CompletionCodes([0x0000, 0x8301, 0x8800, 0x9300, 0x9600, 0x9804,
11959 0x9c03, 0xa100, 0xa201, 0xfd00, 0xff16])
11961 pkt
= NCP(0x230B, "AFP Alloc Temporary Directory Handle", 'afp')
11962 pkt
.Request((16,270), [
11963 rec( 10, 1, VolumeNumber
),
11964 rec( 11, 4, MacBaseDirectoryID
),
11965 rec( 15, (1,255), Path
, info_str
=(Path
, "AFP Allocate Temporary Directory Handle: %s", ", %s") ),
11968 rec( 8, 1, DirHandle
),
11969 rec( 9, 1, AccessRightsMask
),
11971 pkt
.CompletionCodes([0x0000, 0x8301, 0x8800, 0x9300, 0x9600,
11972 0x9804, 0x9b03, 0x9c03, 0x9d00, 0xa100,
11973 0xa201, 0xfd00, 0xff00])
11975 pkt
= NCP(0x230C, "AFP Get Entry ID From Path Name", 'afp')
11976 pkt
.Request((12,266), [
11977 rec( 10, 1, DirHandle
),
11978 rec( 11, (1,255), Path
, info_str
=(Path
, "AFP Get Entry ID from Path Name: %s", ", %s") ),
11981 rec( 8, 4, AFPEntryID
, ENC_BIG_ENDIAN
),
11983 pkt
.CompletionCodes([0x0000, 0x8301, 0x8800, 0x9300, 0x9600,
11984 0x9804, 0x9b03, 0x9c03, 0xa100, 0xa201,
11987 pkt
= NCP(0x230D, "AFP 2.0 Create Directory", 'afp')
11988 pkt
.Request((55,309), [
11989 rec( 10, 1, VolumeNumber
),
11990 rec( 11, 4, BaseDirectoryID
),
11991 rec( 15, 1, Reserved
),
11992 rec( 16, 4, CreatorID
, ENC_BIG_ENDIAN
),
11993 rec( 20, 4, Reserved4
),
11994 rec( 24, 2, FinderAttr
),
11995 rec( 26, 2, HorizLocation
),
11996 rec( 28, 2, VertLocation
),
11997 rec( 30, 2, FileDirWindow
),
11998 rec( 32, 16, Reserved16
),
11999 rec( 48, 6, ProDOSInfo
),
12000 rec( 54, (1,255), Path
, info_str
=(Path
, "AFP 2.0 Create Directory: %s", ", %s") ),
12003 rec( 8, 4, NewDirectoryID
),
12005 pkt
.CompletionCodes([0x0000, 0x8301, 0x8400, 0x8800, 0x9300,
12006 0x9600, 0x9804, 0x9900, 0x9c03, 0x9e00,
12007 0xa100, 0xa201, 0xfd00, 0xff00])
12009 pkt
= NCP(0x230E, "AFP 2.0 Create File", 'afp')
12010 pkt
.Request((55,309), [
12011 rec( 10, 1, VolumeNumber
),
12012 rec( 11, 4, BaseDirectoryID
),
12013 rec( 15, 1, DeleteExistingFileFlag
),
12014 rec( 16, 4, CreatorID
, ENC_BIG_ENDIAN
),
12015 rec( 20, 4, Reserved4
),
12016 rec( 24, 2, FinderAttr
),
12017 rec( 26, 2, HorizLocation
),
12018 rec( 28, 2, VertLocation
),
12019 rec( 30, 2, FileDirWindow
),
12020 rec( 32, 16, Reserved16
),
12021 rec( 48, 6, ProDOSInfo
),
12022 rec( 54, (1,255), Path
, info_str
=(Path
, "AFP 2.0 Create File: %s", ", %s") ),
12025 rec( 8, 4, NewDirectoryID
),
12027 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8301, 0x8400,
12028 0x8701, 0x8800, 0x8a00, 0x8d00, 0x8e00,
12029 0x8f00, 0x9001, 0x9300, 0x9600, 0x9804,
12030 0x9900, 0x9b03, 0x9c03, 0x9e00, 0xa100,
12031 0xa201, 0xfd00, 0xff00])
12033 pkt
= NCP(0x230F, "AFP 2.0 Get File Or Directory Information", 'afp')
12034 pkt
.Request((18,272), [
12035 rec( 10, 1, VolumeNumber
),
12036 rec( 11, 4, BaseDirectoryID
),
12037 rec( 15, 2, RequestBitMap
, ENC_BIG_ENDIAN
),
12038 rec( 17, (1,255), Path
, info_str
=(Path
, "AFP 2.0 Get Information: %s", ", %s") ),
12041 rec( 8, 4, AFPEntryID
, ENC_BIG_ENDIAN
),
12042 rec( 12, 4, ParentID
, ENC_BIG_ENDIAN
),
12043 rec( 16, 2, AttributesDef16
),
12044 rec( 18, 4, DataForkLen
, ENC_BIG_ENDIAN
),
12045 rec( 22, 4, ResourceForkLen
, ENC_BIG_ENDIAN
),
12046 rec( 26, 2, TotalOffspring
, ENC_BIG_ENDIAN
),
12047 rec( 28, 2, CreationDate
, ENC_BIG_ENDIAN
),
12048 rec( 30, 2, LastAccessedDate
, ENC_BIG_ENDIAN
),
12049 rec( 32, 2, ModifiedDate
, ENC_BIG_ENDIAN
),
12050 rec( 34, 2, ModifiedTime
, ENC_BIG_ENDIAN
),
12051 rec( 36, 2, ArchivedDate
, ENC_BIG_ENDIAN
),
12052 rec( 38, 2, ArchivedTime
, ENC_BIG_ENDIAN
),
12053 rec( 40, 4, CreatorID
, ENC_BIG_ENDIAN
),
12054 rec( 44, 4, Reserved4
),
12055 rec( 48, 2, FinderAttr
),
12056 rec( 50, 2, HorizLocation
),
12057 rec( 52, 2, VertLocation
),
12058 rec( 54, 2, FileDirWindow
),
12059 rec( 56, 16, Reserved16
),
12060 rec( 72, 32, LongName
),
12061 rec( 104, 4, CreatorID
, ENC_BIG_ENDIAN
),
12062 rec( 108, 12, ShortName
),
12063 rec( 120, 1, AccessPrivileges
),
12064 rec( 121, 1, Reserved
),
12065 rec( 122, 6, ProDOSInfo
),
12067 pkt
.CompletionCodes([0x0000, 0x8301, 0x8800, 0x9300, 0x9600, 0x9804, 0x9c03,
12068 0xa100, 0xa201, 0xfd00, 0xff19])
12070 pkt
= NCP(0x2310, "AFP 2.0 Set File Information", 'afp')
12071 pkt
.Request((70, 324), [
12072 rec( 10, 1, VolumeNumber
),
12073 rec( 11, 4, MacBaseDirectoryID
),
12074 rec( 15, 2, RequestBitMap
, ENC_BIG_ENDIAN
),
12075 rec( 17, 2, AttributesDef16
),
12076 rec( 19, 2, CreationDate
, ENC_BIG_ENDIAN
),
12077 rec( 21, 2, LastAccessedDate
, ENC_BIG_ENDIAN
),
12078 rec( 23, 2, ModifiedDate
, ENC_BIG_ENDIAN
),
12079 rec( 25, 2, ModifiedTime
, ENC_BIG_ENDIAN
),
12080 rec( 27, 2, ArchivedDate
, ENC_BIG_ENDIAN
),
12081 rec( 29, 2, ArchivedTime
, ENC_BIG_ENDIAN
),
12082 rec( 31, 4, CreatorID
, ENC_BIG_ENDIAN
),
12083 rec( 35, 4, Reserved4
),
12084 rec( 39, 2, FinderAttr
),
12085 rec( 41, 2, HorizLocation
),
12086 rec( 43, 2, VertLocation
),
12087 rec( 45, 2, FileDirWindow
),
12088 rec( 47, 16, Reserved16
),
12089 rec( 63, 6, ProDOSInfo
),
12090 rec( 69, (1,255), Path
, info_str
=(Path
, "AFP 2.0 Set File Information: %s", ", %s") ),
12093 pkt
.CompletionCodes([0x0000, 0x0104, 0x8301, 0x8800, 0x9300, 0x9400,
12094 0x9500, 0x9600, 0x9804, 0x9c03, 0xa100, 0xa201,
12097 pkt
= NCP(0x2311, "AFP 2.0 Scan File Information", 'afp')
12098 pkt
.Request((26, 280), [
12099 rec( 10, 1, VolumeNumber
),
12100 rec( 11, 4, MacBaseDirectoryID
),
12101 rec( 15, 4, MacLastSeenID
, ENC_BIG_ENDIAN
),
12102 rec( 19, 2, DesiredResponseCount
, ENC_BIG_ENDIAN
),
12103 rec( 21, 2, SearchBitMap
, ENC_BIG_ENDIAN
),
12104 rec( 23, 2, RequestBitMap
, ENC_BIG_ENDIAN
),
12105 rec( 25, (1,255), Path
, info_str
=(Path
, "AFP 2.0 Scan File Information: %s", ", %s") ),
12108 rec( 8, 2, ActualResponseCount
, var
="x" ),
12109 rec( 10, 4, AFP20Struct
, repeat
="x" ),
12111 pkt
.CompletionCodes([0x0000, 0x8301, 0x8800, 0x9300, 0x9600, 0x9804,
12112 0x9c03, 0xa100, 0xa201, 0xfd00, 0xff16])
12114 pkt
= NCP(0x2312, "AFP Get DOS Name From Entry ID", 'afp')
12116 rec( 10, 1, VolumeNumber
),
12117 rec( 11, 4, AFPEntryID
, ENC_BIG_ENDIAN
),
12119 pkt
.Reply((9,263), [
12120 rec( 8, (1,255), Path
),
12122 pkt
.CompletionCodes([0x0000, 0x8900, 0x9600, 0xbf00])
12124 pkt
= NCP(0x2313, "AFP Get Macintosh Info On Deleted File", 'afp')
12126 rec( 10, 1, VolumeNumber
),
12127 rec( 11, 4, DirectoryNumber
, ENC_BIG_ENDIAN
),
12129 pkt
.Reply((51,305), [
12130 rec( 8, 4, CreatorID
, ENC_BIG_ENDIAN
),
12131 rec( 12, 4, Reserved4
),
12132 rec( 16, 2, FinderAttr
),
12133 rec( 18, 2, HorizLocation
),
12134 rec( 20, 2, VertLocation
),
12135 rec( 22, 2, FileDirWindow
),
12136 rec( 24, 16, Reserved16
),
12137 rec( 40, 6, ProDOSInfo
),
12138 rec( 46, 4, ResourceForkSize
, ENC_BIG_ENDIAN
),
12139 rec( 50, (1,255), FileName
),
12141 pkt
.CompletionCodes([0x0000, 0x9c03, 0xbf00])
12143 pkt
= NCP(0x2400, "Get NCP Extension Information", 'extension')
12145 rec( 10, 4, NCPextensionNumber
, ENC_LITTLE_ENDIAN
),
12147 pkt
.Reply((16,270), [
12148 rec( 8, 4, NCPextensionNumber
),
12149 rec( 12, 1, NCPextensionMajorVersion
),
12150 rec( 13, 1, NCPextensionMinorVersion
),
12151 rec( 14, 1, NCPextensionRevisionNumber
),
12152 rec( 15, (1, 255), NCPextensionName
),
12154 pkt
.CompletionCodes([0x0000, 0x7e01, 0xfe00, 0xff20])
12156 pkt
= NCP(0x2401, "Get NCP Extension Maximum Data Size", 'extension')
12159 rec( 8, 2, NCPdataSize
),
12161 pkt
.CompletionCodes([0x0000, 0x7e01, 0xfe00, 0xff20])
12163 pkt
= NCP(0x2402, "Get NCP Extension Information by Name", 'extension')
12164 pkt
.Request((11, 265), [
12165 rec( 10, (1,255), NCPextensionName
, info_str
=(NCPextensionName
, "Get NCP Extension Information by Name: %s", ", %s") ),
12167 pkt
.Reply((16,270), [
12168 rec( 8, 4, NCPextensionNumber
),
12169 rec( 12, 1, NCPextensionMajorVersion
),
12170 rec( 13, 1, NCPextensionMinorVersion
),
12171 rec( 14, 1, NCPextensionRevisionNumber
),
12172 rec( 15, (1, 255), NCPextensionName
),
12174 pkt
.CompletionCodes([0x0000, 0x7e01, 0xfe00, 0xff20])
12176 pkt
= NCP(0x2403, "Get Number of Registered NCP Extensions", 'extension')
12179 rec( 8, 4, NumberOfNCPExtensions
),
12181 pkt
.CompletionCodes([0x0000, 0x7e01, 0xfe00, 0xff20])
12183 pkt
= NCP(0x2404, "Get NCP Extension Registered Verbs List", 'extension')
12185 rec( 10, 4, StartingNumber
),
12188 rec( 8, 4, ReturnedListCount
, var
="x" ),
12189 rec( 12, 4, nextStartingNumber
),
12190 rec( 16, 4, NCPExtensionNumbers
, repeat
="x" ),
12192 pkt
.CompletionCodes([0x0000, 0x7e01, 0xfe00, 0xff20])
12194 pkt
= NCP(0x2405, "Return NCP Extension Information", 'extension')
12196 rec( 10, 4, NCPextensionNumber
),
12198 pkt
.Reply((16,270), [
12199 rec( 8, 4, NCPextensionNumber
),
12200 rec( 12, 1, NCPextensionMajorVersion
),
12201 rec( 13, 1, NCPextensionMinorVersion
),
12202 rec( 14, 1, NCPextensionRevisionNumber
),
12203 rec( 15, (1, 255), NCPextensionName
),
12205 pkt
.CompletionCodes([0x0000, 0x7e01, 0xfe00, 0xff20])
12207 pkt
= NCP(0x2406, "Return NCP Extension Maximum Data Size", 'extension')
12210 rec( 8, 4, NCPdataSize
),
12212 pkt
.CompletionCodes([0x0000, 0x7e01, 0xfe00, 0xff20])
12214 pkt
= NCP(0x25, "Execute NCP Extension", 'extension')
12216 rec( 7, 4, NCPextensionNumber
),
12217 # The following value is Unicode
12218 #rec[ 13, (1,255), RequestData ],
12221 # The following value is Unicode
12222 #[ 8, (1, 255), ReplyBuffer ],
12223 pkt
.CompletionCodes([0x0000, 0x7e01, 0xf000, 0x9c00, 0xd504, 0xee00, 0xfe00, 0xff20])
12225 pkt
= NCP(0x3B, "Commit File", 'file', has_length
=0 )
12227 rec( 7, 1, Reserved
),
12228 rec( 8, 6, FileHandle
, info_str
=(FileHandle
, "Commit File - 0x%s", ", %s") ),
12231 pkt
.CompletionCodes([0x0000, 0x8800, 0x9804, 0xff00])
12233 pkt
= NCP(0x3D, "Commit File", 'file', has_length
=0 )
12235 rec( 7, 1, Reserved
),
12236 rec( 8, 6, FileHandle
, info_str
=(FileHandle
, "Commit File - 0x%s", ", %s") ),
12239 pkt
.CompletionCodes([0x0000, 0x8800, 0x9804, 0xff00])
12241 pkt
= NCP(0x3E, "File Search Initialize", 'file', has_length
=0 )
12242 pkt
.Request((9, 263), [
12243 rec( 7, 1, DirHandle
),
12244 rec( 8, (1,255), Path
, info_str
=(Path
, "Initialize File Search: %s", ", %s") ),
12247 rec( 8, 1, VolumeNumber
),
12248 rec( 9, 2, DirectoryID
),
12249 rec( 11, 2, SequenceNumber
, ENC_BIG_ENDIAN
),
12250 rec( 13, 1, AccessRightsMask
),
12252 pkt
.CompletionCodes([0x0000, 0x9600, 0x9804, 0x9b03, 0x9c03, 0xa100,
12255 pkt
= NCP(0x3F, "File Search Continue", 'file', has_length
=0 )
12256 pkt
.Request((14, 268), [
12257 rec( 7, 1, VolumeNumber
),
12258 rec( 8, 2, DirectoryID
),
12259 rec( 10, 2, SequenceNumber
, ENC_BIG_ENDIAN
),
12260 rec( 12, 1, SearchAttributes
),
12261 rec( 13, (1,255), Path
, info_str
=(Path
, "File Search Continue: %s", ", %s") ),
12263 pkt
.Reply( NO_LENGTH_CHECK
, [
12265 # XXX - don't show this if we got back a non-zero
12266 # completion code? For example, 255 means "No
12267 # matching files or directories were found", so
12268 # presumably it can't show you a matching file or
12269 # directory instance - it appears to just leave crap
12272 srec( DirectoryInstance
, req_cond
="ncp.sattr_sub==TRUE"),
12273 srec( FileInstance
, req_cond
="ncp.sattr_sub!=TRUE"),
12275 pkt
.ReqCondSizeVariable()
12276 pkt
.CompletionCodes([0x0000, 0xff16])
12278 pkt
= NCP(0x40, "Search for a File", 'file')
12279 pkt
.Request((12, 266), [
12280 rec( 7, 2, SequenceNumber
, ENC_BIG_ENDIAN
),
12281 rec( 9, 1, DirHandle
),
12282 rec( 10, 1, SearchAttributes
),
12283 rec( 11, (1,255), FileName
, info_str
=(FileName
, "Search for File: %s", ", %s") ),
12286 rec( 8, 2, SequenceNumber
, ENC_BIG_ENDIAN
),
12287 rec( 10, 2, Reserved2
),
12288 rec( 12, 14, FileName14
),
12289 rec( 26, 1, AttributesDef
),
12290 rec( 27, 1, FileExecuteType
),
12291 rec( 28, 4, FileSize
),
12292 rec( 32, 2, CreationDate
, ENC_BIG_ENDIAN
),
12293 rec( 34, 2, LastAccessedDate
, ENC_BIG_ENDIAN
),
12294 rec( 36, 2, ModifiedDate
, ENC_BIG_ENDIAN
),
12295 rec( 38, 2, ModifiedTime
, ENC_BIG_ENDIAN
),
12297 pkt
.CompletionCodes([0x0000, 0x8900, 0x9600, 0x9804, 0x9b03,
12298 0x9c03, 0xa100, 0xfd00, 0xff16])
12300 pkt
= NCP(0x41, "Open File", 'file')
12301 pkt
.Request((10, 264), [
12302 rec( 7, 1, DirHandle
),
12303 rec( 8, 1, SearchAttributes
),
12304 rec( 9, (1,255), FileName
, info_str
=(FileName
, "Open File: %s", ", %s") ),
12307 rec( 8, 6, FileHandle
),
12308 rec( 14, 2, Reserved2
),
12309 rec( 16, 14, FileName14
),
12310 rec( 30, 1, AttributesDef
),
12311 rec( 31, 1, FileExecuteType
),
12312 rec( 32, 4, FileSize
, ENC_BIG_ENDIAN
),
12313 rec( 36, 2, CreationDate
, ENC_BIG_ENDIAN
),
12314 rec( 38, 2, LastAccessedDate
, ENC_BIG_ENDIAN
),
12315 rec( 40, 2, ModifiedDate
, ENC_BIG_ENDIAN
),
12316 rec( 42, 2, ModifiedTime
, ENC_BIG_ENDIAN
),
12318 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8200, 0x9400,
12319 0x9600, 0x9804, 0x9c03, 0xa100, 0xfd00,
12322 pkt
= NCP(0x42, "Close File", 'file')
12324 rec( 7, 1, Reserved
),
12325 rec( 8, 6, FileHandle
, info_str
=(FileHandle
, "Close File - 0x%s", ", %s") ),
12328 pkt
.CompletionCodes([0x0000, 0x8800, 0xff1a])
12329 pkt
.MakeExpert("ncp42_request")
12331 pkt
= NCP(0x43, "Create File", 'file')
12332 pkt
.Request((10, 264), [
12333 rec( 7, 1, DirHandle
),
12334 rec( 8, 1, AttributesDef
),
12335 rec( 9, (1,255), FileName
, info_str
=(FileName
, "Create File: %s", ", %s") ),
12338 rec( 8, 6, FileHandle
),
12339 rec( 14, 2, Reserved2
),
12340 rec( 16, 14, FileName14
),
12341 rec( 30, 1, AttributesDef
),
12342 rec( 31, 1, FileExecuteType
),
12343 rec( 32, 4, FileSize
, ENC_BIG_ENDIAN
),
12344 rec( 36, 2, CreationDate
, ENC_BIG_ENDIAN
),
12345 rec( 38, 2, LastAccessedDate
, ENC_BIG_ENDIAN
),
12346 rec( 40, 2, ModifiedDate
, ENC_BIG_ENDIAN
),
12347 rec( 42, 2, ModifiedTime
, ENC_BIG_ENDIAN
),
12349 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
12350 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
12351 0x9804, 0x9900, 0x9b03, 0x9c03, 0xfd00,
12354 pkt
= NCP(0x44, "Erase File", 'file')
12355 pkt
.Request((10, 264), [
12356 rec( 7, 1, DirHandle
),
12357 rec( 8, 1, SearchAttributes
),
12358 rec( 9, (1,255), FileName
, info_str
=(FileName
, "Erase File: %s", ", %s") ),
12361 pkt
.CompletionCodes([0x0000, 0x8a00, 0x8d00, 0x8e00, 0x8f00,
12362 0x9001, 0x9600, 0x9804, 0x9b03, 0x9c03,
12363 0xa100, 0xfd00, 0xff00])
12365 pkt
= NCP(0x45, "Rename File", 'file')
12366 pkt
.Request((12, 520), [
12367 rec( 7, 1, DirHandle
),
12368 rec( 8, 1, SearchAttributes
),
12369 rec( 9, (1,255), FileName
, info_str
=(FileName
, "Rename File: %s", ", %s") ),
12370 rec( -1, 1, TargetDirHandle
),
12371 rec( -1, (1, 255), NewFileNameLen
),
12374 pkt
.CompletionCodes([0x0000, 0x8701, 0x8b00, 0x8d00, 0x8e00,
12375 0x8f00, 0x9001, 0x9101, 0x9201, 0x9600,
12376 0x9804, 0x9a00, 0x9b03, 0x9c03, 0xa100,
12379 pkt
= NCP(0x46, "Set File Attributes", 'file')
12380 pkt
.Request((11, 265), [
12381 rec( 7, 1, AttributesDef
),
12382 rec( 8, 1, DirHandle
),
12383 rec( 9, 1, SearchAttributes
),
12384 rec( 10, (1,255), FileName
, info_str
=(FileName
, "Set File Attributes: %s", ", %s") ),
12387 pkt
.CompletionCodes([0x0000, 0x8c00, 0x8d00, 0x8e00, 0x9600,
12388 0x9804, 0x9b03, 0x9c03, 0xa100, 0xfd00,
12391 pkt
= NCP(0x47, "Get Current Size of File", 'file')
12393 rec(7, 1, Reserved
),
12394 rec( 8, 6, FileHandle
, info_str
=(FileHandle
, "Get Current Size of File - 0x%s", ", %s") ),
12397 rec( 8, 4, FileSize
, ENC_BIG_ENDIAN
),
12399 pkt
.CompletionCodes([0x0000, 0x8800])
12401 pkt
= NCP(0x48, "Read From A File", 'file')
12403 rec( 7, 1, Reserved
),
12404 rec( 8, 6, FileHandle
, info_str
=(FileHandle
, "Read From File - 0x%s", ", %s") ),
12405 rec( 14, 4, FileOffset
, ENC_BIG_ENDIAN
),
12406 rec( 18, 2, MaxBytes
, ENC_BIG_ENDIAN
),
12409 rec( 8, 2, NumBytes
, ENC_BIG_ENDIAN
),
12411 pkt
.CompletionCodes([0x0000, 0x8300, 0x8800, 0x9300, 0xff1b])
12413 pkt
= NCP(0x49, "Write to a File", 'file')
12415 rec( 7, 1, Reserved
),
12416 rec( 8, 6, FileHandle
, info_str
=(FileHandle
, "Write to a File - 0x%s", ", %s") ),
12417 rec( 14, 4, FileOffset
, ENC_BIG_ENDIAN
),
12418 rec( 18, 2, MaxBytes
, ENC_BIG_ENDIAN
),
12421 pkt
.CompletionCodes([0x0000, 0x0104, 0x8300, 0x8800, 0x9400, 0x9500, 0xa201, 0xff1b])
12423 pkt
= NCP(0x4A, "Copy from One File to Another", 'file')
12425 rec( 7, 1, Reserved
),
12426 rec( 8, 6, FileHandle
),
12427 rec( 14, 6, TargetFileHandle
),
12428 rec( 20, 4, FileOffset
, ENC_BIG_ENDIAN
),
12429 rec( 24, 4, TargetFileOffset
, ENC_BIG_ENDIAN
),
12430 rec( 28, 2, BytesToCopy
, ENC_BIG_ENDIAN
),
12433 rec( 8, 4, BytesActuallyTransferred
, ENC_BIG_ENDIAN
),
12435 pkt
.CompletionCodes([0x0000, 0x0104, 0x8300, 0x8800, 0x9300, 0x9400,
12436 0x9500, 0x9600, 0xa201, 0xff1b])
12438 pkt
= NCP(0x4B, "Set File Time Date Stamp", 'file')
12440 rec( 7, 1, Reserved
),
12441 rec( 8, 6, FileHandle
, info_str
=(FileHandle
, "Set Time and Date Stamp for File - 0x%s", ", %s") ),
12442 rec( 14, 2, FileTime
, ENC_BIG_ENDIAN
),
12443 rec( 16, 2, FileDate
, ENC_BIG_ENDIAN
),
12446 pkt
.CompletionCodes([0x0000, 0x8800, 0x9400, 0x9600, 0xfb08])
12448 pkt
= NCP(0x4C, "Open File", 'file')
12449 pkt
.Request((11, 265), [
12450 rec( 7, 1, DirHandle
),
12451 rec( 8, 1, SearchAttributes
),
12452 rec( 9, 1, AccessRightsMask
),
12453 rec( 10, (1,255), FileName
, info_str
=(FileName
, "Open File: %s", ", %s") ),
12456 rec( 8, 6, FileHandle
),
12457 rec( 14, 2, Reserved2
),
12458 rec( 16, 14, FileName14
),
12459 rec( 30, 1, AttributesDef
),
12460 rec( 31, 1, FileExecuteType
),
12461 rec( 32, 4, FileSize
, ENC_BIG_ENDIAN
),
12462 rec( 36, 2, CreationDate
, ENC_BIG_ENDIAN
),
12463 rec( 38, 2, LastAccessedDate
, ENC_BIG_ENDIAN
),
12464 rec( 40, 2, ModifiedDate
, ENC_BIG_ENDIAN
),
12465 rec( 42, 2, ModifiedTime
, ENC_BIG_ENDIAN
),
12467 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8200, 0x9400,
12468 0x9600, 0x9804, 0x9c03, 0xa100, 0xfd00,
12471 pkt
= NCP(0x4D, "Create File", 'file')
12472 pkt
.Request((10, 264), [
12473 rec( 7, 1, DirHandle
),
12474 rec( 8, 1, AttributesDef
),
12475 rec( 9, (1,255), FileName
, info_str
=(FileName
, "Create File: %s", ", %s") ),
12478 rec( 8, 6, FileHandle
),
12479 rec( 14, 2, Reserved2
),
12480 rec( 16, 14, FileName14
),
12481 rec( 30, 1, AttributesDef
),
12482 rec( 31, 1, FileExecuteType
),
12483 rec( 32, 4, FileSize
, ENC_BIG_ENDIAN
),
12484 rec( 36, 2, CreationDate
, ENC_BIG_ENDIAN
),
12485 rec( 38, 2, LastAccessedDate
, ENC_BIG_ENDIAN
),
12486 rec( 40, 2, ModifiedDate
, ENC_BIG_ENDIAN
),
12487 rec( 42, 2, ModifiedTime
, ENC_BIG_ENDIAN
),
12489 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
12490 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
12491 0x9804, 0x9900, 0x9b03, 0x9c03, 0xfd00,
12494 pkt
= NCP(0x4F, "Set File Extended Attributes", 'file')
12495 pkt
.Request((11, 265), [
12496 rec( 7, 1, AttributesDef
),
12497 rec( 8, 1, DirHandle
),
12498 rec( 9, 1, AccessRightsMask
),
12499 rec( 10, (1,255), FileName
, info_str
=(FileName
, "Set File Extended Attributes: %s", ", %s") ),
12502 pkt
.CompletionCodes([0x0000, 0x8c00, 0x8d00, 0x8e00, 0x9600,
12503 0x9804, 0x9b03, 0x9c03, 0xa100, 0xfd00,
12506 pkt
= NCP(0x54, "Open/Create File", 'file')
12507 pkt
.Request((12, 266), [
12508 rec( 7, 1, DirHandle
),
12509 rec( 8, 1, AttributesDef
),
12510 rec( 9, 1, AccessRightsMask
),
12511 rec( 10, 1, ActionFlag
),
12512 rec( 11, (1,255), FileName
, info_str
=(FileName
, "Open/Create File: %s", ", %s") ),
12515 rec( 8, 6, FileHandle
),
12516 rec( 14, 2, Reserved2
),
12517 rec( 16, 14, FileName14
),
12518 rec( 30, 1, AttributesDef
),
12519 rec( 31, 1, FileExecuteType
),
12520 rec( 32, 4, FileSize
, ENC_BIG_ENDIAN
),
12521 rec( 36, 2, CreationDate
, ENC_BIG_ENDIAN
),
12522 rec( 38, 2, LastAccessedDate
, ENC_BIG_ENDIAN
),
12523 rec( 40, 2, ModifiedDate
, ENC_BIG_ENDIAN
),
12524 rec( 42, 2, ModifiedTime
, ENC_BIG_ENDIAN
),
12526 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
12527 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
12528 0x9804, 0x9b03, 0x9c03, 0xfd00, 0xff16])
12530 pkt
= NCP(0x55, "Get Sparse File Data Block Bit Map", 'file', has_length
=1)
12532 rec( 7, 2, SubFuncStrucLen
, ENC_BIG_ENDIAN
),
12533 rec( 9, 6, FileHandle
, info_str
=(FileHandle
, "Get Sparse File Data Block Bitmap for File - 0x%s", ", %s") ),
12534 rec( 15, 4, FileOffset
),
12537 rec( 8, 4, AllocationBlockSize
),
12538 rec( 12, 4, Reserved4
),
12539 rec( 16, 512, BitMap
),
12541 pkt
.CompletionCodes([0x0000, 0x8800])
12543 pkt
= NCP(0x5601, "Close Extended Attribute Handle", 'extended', has_length
=0 )
12545 rec( 8, 2, Reserved2
),
12546 rec( 10, 4, EAHandle
),
12549 pkt
.CompletionCodes([0x0000, 0xcf00, 0xd301])
12551 pkt
= NCP(0x5602, "Write Extended Attribute", 'extended', has_length
=0 )
12552 pkt
.Request((35,97), [
12553 rec( 8, 2, EAFlags
),
12554 rec( 10, 4, EAHandleOrNetWareHandleOrVolume
, ENC_BIG_ENDIAN
),
12555 rec( 14, 4, ReservedOrDirectoryNumber
),
12556 rec( 18, 4, TtlWriteDataSize
),
12557 rec( 22, 4, FileOffset
),
12558 rec( 26, 4, EAAccessFlag
),
12559 rec( 30, 2, EAValueLength
, var
='x' ),
12560 rec( 32, (2,64), EAKey
, info_str
=(EAKey
, "Write Extended Attribute: %s", ", %s") ),
12561 rec( -1, 1, EAValueRep
, repeat
='x' ),
12564 rec( 8, 4, EAErrorCodes
),
12565 rec( 12, 4, EABytesWritten
),
12566 rec( 16, 4, NewEAHandle
),
12568 pkt
.CompletionCodes([0x0000, 0xc800, 0xc900, 0xcb00, 0xce00, 0xcf00, 0xd101,
12569 0xd203, 0xd301, 0xd402, 0xda02, 0xdc01, 0xef00, 0xff00])
12571 pkt
= NCP(0x5603, "Read Extended Attribute", 'extended', has_length
=0 )
12572 pkt
.Request((28,538), [
12573 rec( 8, 2, EAFlags
),
12574 rec( 10, 4, EAHandleOrNetWareHandleOrVolume
),
12575 rec( 14, 4, ReservedOrDirectoryNumber
),
12576 rec( 18, 4, FileOffset
),
12577 rec( 22, 4, InspectSize
),
12578 rec( 26, (2,512), EAKey
, info_str
=(EAKey
, "Read Extended Attribute: %s", ", %s") ),
12580 pkt
.Reply((26,536), [
12581 rec( 8, 4, EAErrorCodes
),
12582 rec( 12, 4, TtlValuesLength
),
12583 rec( 16, 4, NewEAHandle
),
12584 rec( 20, 4, EAAccessFlag
),
12585 rec( 24, (2,512), EAValue
),
12587 pkt
.CompletionCodes([0x0000, 0x8800, 0x9c03, 0xc900, 0xce00, 0xcf00, 0xd101,
12590 pkt
= NCP(0x5604, "Enumerate Extended Attribute", 'extended', has_length
=0 )
12591 pkt
.Request((26,536), [
12592 rec( 8, 2, EAFlags
),
12593 rec( 10, 4, EAHandleOrNetWareHandleOrVolume
),
12594 rec( 14, 4, ReservedOrDirectoryNumber
),
12595 rec( 18, 4, InspectSize
),
12596 rec( 22, 2, SequenceNumber
),
12597 rec( 24, (2,512), EAKey
, info_str
=(EAKey
, "Enumerate Extended Attribute: %s", ", %s") ),
12600 rec( 8, 4, EAErrorCodes
),
12601 rec( 12, 4, TtlEAs
),
12602 rec( 16, 4, TtlEAsDataSize
),
12603 rec( 20, 4, TtlEAsKeySize
),
12604 rec( 24, 4, NewEAHandle
),
12606 pkt
.CompletionCodes([0x0000, 0x8800, 0x8c01, 0xc800, 0xc900, 0xce00, 0xcf00, 0xd101,
12607 0xd301, 0xd503, 0xfb08, 0xff00])
12609 pkt
= NCP(0x5605, "Duplicate Extended Attributes", 'extended', has_length
=0 )
12611 rec( 8, 2, EAFlags
),
12612 rec( 10, 2, DstEAFlags
),
12613 rec( 12, 4, EAHandleOrNetWareHandleOrVolume
),
12614 rec( 16, 4, ReservedOrDirectoryNumber
),
12615 rec( 20, 4, EAHandleOrNetWareHandleOrVolume
),
12616 rec( 24, 4, ReservedOrDirectoryNumber
),
12619 rec( 8, 4, EADuplicateCount
),
12620 rec( 12, 4, EADataSizeDuplicated
),
12621 rec( 16, 4, EAKeySizeDuplicated
),
12623 pkt
.CompletionCodes([0x0000, 0x8800, 0xd101])
12625 pkt
= NCP(0x5701, "Open/Create File or Subdirectory", 'file', has_length
=0)
12626 pkt
.Request((30, 284), [
12627 rec( 8, 1, NameSpace
),
12628 rec( 9, 1, OpenCreateMode
),
12629 rec( 10, 2, SearchAttributesLow
),
12630 rec( 12, 2, ReturnInfoMask
),
12631 rec( 14, 2, ExtendedInfo
),
12632 rec( 16, 4, AttributesDef32
),
12633 rec( 20, 2, DesiredAccessRights
),
12634 rec( 22, 1, VolumeNumber
),
12635 rec( 23, 4, DirectoryBase
),
12636 rec( 27, 1, HandleFlag
),
12637 rec( 28, 1, PathCount
, var
="x" ),
12638 rec( 29, (1,255), Path
, repeat
="x", info_str
=(Path
, "Open or Create: %s", "/%s") ),
12640 pkt
.Reply( NO_LENGTH_CHECK
, [
12641 rec( 8, 4, FileHandle
),
12642 rec( 12, 1, OpenCreateAction
),
12643 rec( 13, 1, Reserved
),
12644 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 1)" ),
12645 srec( PadDSSpaceAllocate
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 0)" ),
12646 srec( AttributesStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 1)" ),
12647 srec( PadAttributes
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 0)" ),
12648 srec( DataStreamSizeStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 1)" ),
12649 srec( PadDataStreamSize
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 0)" ),
12650 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 1)" ),
12651 srec( PadTotalStreamSize
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 0)" ),
12652 srec( CreationInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 1)" ),
12653 srec( PadCreationInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 0)" ),
12654 srec( ModifyInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 1)" ),
12655 srec( PadModifyInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 0)" ),
12656 srec( ArchiveInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 1)" ),
12657 srec( PadArchiveInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 0)" ),
12658 srec( RightsInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 1)" ),
12659 srec( PadRightsInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 0)" ),
12660 srec( DirEntryStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 1)" ),
12661 srec( PadDirEntry
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 0)" ),
12662 srec( EAInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 1)" ),
12663 srec( PadEAInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 0)" ),
12664 srec( NSInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 1)" ),
12665 srec( PadNSInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 0)" ),
12666 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_alloc == 1)" ),
12667 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_attr == 1)" ),
12668 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_size == 1)" ),
12669 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_tspace == 1)" ),
12670 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_eattr == 1)" ),
12671 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_mod == 1)" ),
12672 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_create == 1)" ),
12673 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_arch == 1)" ),
12674 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_dir == 1)" ),
12675 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_rights == 1)" ),
12676 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_ns == 1)" ),
12677 srec( ReferenceIDStruct
, req_cond
="ncp.ret_info_mask_id == 1" ),
12678 srec( NSAttributeStruct
, req_cond
="ncp.ret_info_mask_ns_attr == 1" ),
12679 rec( -1, 4, DataStreamsCount
, var
="x" , req_cond
="ncp.ret_info_mask_actual == 1" ),
12680 srec( DStreamActual
, repeat
= "x" , req_cond
="ncp.ret_info_mask_actual == 1" ),
12681 rec( -1, 4, DataStreamsCount
, var
="y", req_cond
="ncp.ret_info_mask_logical == 1" ),
12682 srec( DStreamLogical
, repeat
="y" , req_cond
="ncp.ret_info_mask_logical == 1" ),
12683 srec( LastUpdatedInSecondsStruct
, req_cond
="ncp.ext_info_update == 1" ),
12684 srec( DOSNameStruct
, req_cond
="ncp.ext_info_dos_name == 1" ),
12685 srec( FlushTimeStruct
, req_cond
="ncp.ext_info_flush == 1" ),
12686 srec( ParentBaseIDStruct
, req_cond
="ncp.ext_info_parental == 1" ),
12687 srec( MacFinderInfoStruct
, req_cond
="ncp.ext_info_mac_finder == 1" ),
12688 srec( SiblingCountStruct
, req_cond
="ncp.ext_info_sibling == 1" ),
12689 srec( EffectiveRightsStruct
, req_cond
="ncp.ext_info_effective == 1" ),
12690 srec( MacTimeStruct
, req_cond
="ncp.ext_info_mac_date == 1" ),
12691 srec( LastAccessedTimeStruct
, req_cond
="ncp.ext_info_access == 1" ),
12692 srec( FileNameStruct
, req_cond
="ncp.ret_info_mask_fname == 1" ),
12694 pkt
.ReqCondSizeVariable()
12695 pkt
.CompletionCodes([0x0000, 0x0102, 0x7f00, 0x8001, 0x8101, 0x8401, 0x8501,
12696 0x8701, 0x8900, 0x8d00, 0x8f00, 0x9001, 0x9400, 0x9600,
12697 0x9804, 0x9900, 0x9b03, 0x9c03, 0xa500, 0xa802, 0xa901, 0xbf00, 0xfd00, 0xff16])
12698 pkt
.MakeExpert("file_rights")
12700 pkt
= NCP(0x5702, "Initialize Search", 'file', has_length
=0)
12701 pkt
.Request( (18,272), [
12702 rec( 8, 1, NameSpace
),
12703 rec( 9, 1, Reserved
),
12704 rec( 10, 1, VolumeNumber
),
12705 rec( 11, 4, DirectoryBase
),
12706 rec( 15, 1, HandleFlag
),
12707 rec( 16, 1, PathCount
, var
="x" ),
12708 rec( 17, (1,255), Path
, repeat
="x", info_str
=(Path
, "Set Search Pointer to: %s", "/%s") ),
12711 rec( 8, 1, VolumeNumber
),
12712 rec( 9, 4, DirectoryNumber
),
12713 rec( 13, 4, DirectoryEntryNumber
),
12715 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
12716 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
12717 0x9804, 0x9b03, 0x9c03, 0xa901, 0xbf00, 0xfd00, 0xff16])
12719 pkt
= NCP(0x5703, "Search for File or Subdirectory", 'file', has_length
=0)
12720 pkt
.Request((26, 280), [
12721 rec( 8, 1, NameSpace
),
12722 rec( 9, 1, DataStream
),
12723 rec( 10, 2, SearchAttributesLow
),
12724 rec( 12, 2, ReturnInfoMask
),
12725 rec( 14, 2, ExtendedInfo
),
12726 rec( 16, 9, SeachSequenceStruct
),
12727 rec( 25, (1,255), SearchPattern
, info_str
=(SearchPattern
, "Search for: %s", "/%s") ),
12729 pkt
.Reply( NO_LENGTH_CHECK
, [
12730 rec( 8, 9, SeachSequenceStruct
),
12731 rec( 17, 1, Reserved
),
12732 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 1)" ),
12733 srec( PadDSSpaceAllocate
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 0)" ),
12734 srec( AttributesStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 1)" ),
12735 srec( PadAttributes
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 0)" ),
12736 srec( DataStreamSizeStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 1)" ),
12737 srec( PadDataStreamSize
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 0)" ),
12738 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 1)" ),
12739 srec( PadTotalStreamSize
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 0)" ),
12740 srec( CreationInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 1)" ),
12741 srec( PadCreationInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 0)" ),
12742 srec( ModifyInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 1)" ),
12743 srec( PadModifyInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 0)" ),
12744 srec( ArchiveInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 1)" ),
12745 srec( PadArchiveInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 0)" ),
12746 srec( RightsInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 1)" ),
12747 srec( PadRightsInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 0)" ),
12748 srec( DirEntryStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 1)" ),
12749 srec( PadDirEntry
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 0)" ),
12750 srec( EAInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 1)" ),
12751 srec( PadEAInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 0)" ),
12752 srec( NSInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 1)" ),
12753 srec( PadNSInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 0)" ),
12754 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_alloc == 1)" ),
12755 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_attr == 1)" ),
12756 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_size == 1)" ),
12757 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_eattr == 1)" ),
12758 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_mod == 1)" ),
12759 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_create == 1)" ),
12760 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_arch == 1)" ),
12761 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_dir == 1)" ),
12762 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_rights == 1)" ),
12763 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_ns == 1)" ),
12764 srec( ReferenceIDStruct
, req_cond
="ncp.ret_info_mask_id == 1" ),
12765 srec( NSAttributeStruct
, req_cond
="ncp.ret_info_mask_ns_attr == 1" ),
12766 srec( DStreamActual
, req_cond
="ncp.ret_info_mask_actual == 1" ),
12767 srec( DStreamLogical
, req_cond
="ncp.ret_info_mask_logical == 1" ),
12768 srec( LastUpdatedInSecondsStruct
, req_cond
="ncp.ext_info_update == 1" ),
12769 srec( DOSNameStruct
, req_cond
="ncp.ext_info_dos_name == 1" ),
12770 srec( FlushTimeStruct
, req_cond
="ncp.ext_info_flush == 1" ),
12771 srec( ParentBaseIDStruct
, req_cond
="ncp.ext_info_parental == 1" ),
12772 srec( MacFinderInfoStruct
, req_cond
="ncp.ext_info_mac_finder == 1" ),
12773 srec( SiblingCountStruct
, req_cond
="ncp.ext_info_sibling == 1" ),
12774 srec( EffectiveRightsStruct
, req_cond
="ncp.ext_info_effective == 1" ),
12775 srec( MacTimeStruct
, req_cond
="ncp.ext_info_mac_date == 1" ),
12776 srec( LastAccessedTimeStruct
, req_cond
="ncp.ext_info_access == 1" ),
12777 srec( FileNameStruct
, req_cond
="ncp.ret_info_mask_fname == 1" ),
12779 pkt
.ReqCondSizeVariable()
12780 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
12781 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
12782 0x9804, 0x9b03, 0x9c03, 0xa901, 0xbf00, 0xfd00, 0xff16])
12784 pkt
= NCP(0x5704, "Rename Or Move a File or Subdirectory", 'file', has_length
=0)
12785 pkt
.Request((28, 536), [
12786 rec( 8, 1, NameSpace
),
12787 rec( 9, 1, RenameFlag
),
12788 rec( 10, 2, SearchAttributesLow
),
12789 rec( 12, 1, VolumeNumber
),
12790 rec( 13, 4, DirectoryBase
),
12791 rec( 17, 1, HandleFlag
),
12792 rec( 18, 1, PathCount
, var
="x" ),
12793 rec( 19, 1, VolumeNumber
),
12794 rec( 20, 4, DirectoryBase
),
12795 rec( 24, 1, HandleFlag
),
12796 rec( 25, 1, PathCount
, var
="y" ),
12797 rec( 26, (1, 255), Path
, repeat
="x", info_str
=(Path
, "Rename or Move: %s", "/%s") ),
12798 rec( -1, (1,255), DestPath
, repeat
="y" ),
12801 pkt
.CompletionCodes([0x0000, 0x0102, 0x8000, 0x8101, 0x8401, 0x8501,
12802 0x8701, 0x8d00, 0x8e00, 0x8f00, 0x9001, 0x9100, 0x9200, 0x9600,
12803 0x9804, 0x9a00, 0x9b03, 0x9c03, 0x9e00, 0xa901, 0xbf00, 0xfd00, 0xff16])
12805 pkt
= NCP(0x5705, "Scan File or Subdirectory for Trustees", 'file', has_length
=0)
12806 pkt
.Request((24, 278), [
12807 rec( 8, 1, NameSpace
),
12808 rec( 9, 1, Reserved
),
12809 rec( 10, 2, SearchAttributesLow
),
12810 rec( 12, 4, SequenceNumber
),
12811 rec( 16, 1, VolumeNumber
),
12812 rec( 17, 4, DirectoryBase
),
12813 rec( 21, 1, HandleFlag
),
12814 rec( 22, 1, PathCount
, var
="x" ),
12815 rec( 23, (1, 255), Path
, repeat
="x", info_str
=(Path
, "Scan Trustees for: %s", "/%s") ),
12818 rec( 8, 4, SequenceNumber
),
12819 rec( 12, 2, ObjectIDCount
, var
="x" ),
12820 rec( 14, 6, TrusteeStruct
, repeat
="x" ),
12822 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
12823 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
12824 0x9804, 0x9b03, 0x9c04, 0xa901, 0xbf00, 0xfd00, 0xff16])
12826 pkt
= NCP(0x5706, "Obtain File or SubDirectory Information", 'file', has_length
=0)
12827 pkt
.Request((24,278), [
12828 rec( 10, 1, SrcNameSpace
),
12829 rec( 11, 1, DestNameSpace
),
12830 rec( 12, 2, SearchAttributesLow
),
12831 rec( 14, 2, ReturnInfoMask
, ENC_LITTLE_ENDIAN
),
12832 rec( 16, 2, ExtendedInfo
),
12833 rec( 18, 1, VolumeNumber
),
12834 rec( 19, 4, DirectoryBase
),
12835 rec( 23, 1, HandleFlag
),
12836 rec( 24, 1, PathCount
, var
="x" ),
12837 rec( 25, (1,255), Path
, repeat
="x", info_str
=(Path
, "Obtain Info for: %s", "/%s")),
12839 pkt
.Reply(NO_LENGTH_CHECK
, [
12840 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 1)" ),
12841 srec( PadDSSpaceAllocate
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 0)" ),
12842 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 1)" ),
12843 srec( PadAttributes
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 0)" ),
12844 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 1)" ),
12845 srec( PadDataStreamSize
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 0)" ),
12846 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 1)" ),
12847 srec( PadTotalStreamSize
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 0)" ),
12848 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 1)" ),
12849 srec( PadCreationInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 0)" ),
12850 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 1)" ),
12851 srec( PadModifyInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 0)" ),
12852 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 1)" ),
12853 srec( PadArchiveInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 0)" ),
12854 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 1)" ),
12855 srec( PadRightsInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 0)" ),
12856 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 1)" ),
12857 srec( PadDirEntry
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 0)" ),
12858 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 1)" ),
12859 srec( PadEAInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 0)" ),
12860 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 1)" ),
12861 srec( PadNSInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 0)" ),
12862 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_alloc == 1)" ),
12863 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_attr == 1)" ),
12864 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_size == 1)" ),
12865 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_tspace == 1)" ),
12866 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_eattr == 1)" ),
12867 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_arch == 1)" ),
12868 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_mod == 1)" ),
12869 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_create == 1)" ),
12870 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_ns == 1)" ),
12871 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_dir == 1)" ),
12872 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_rights == 1)" ),
12873 srec( ReferenceIDStruct
, req_cond
="ncp.ret_info_mask_id == 1" ),
12874 srec( NSAttributeStruct
, req_cond
="ncp.ret_info_mask_ns_attr == 1" ),
12875 rec( -1, 4, DataStreamsCount
, var
="x" , req_cond
="ncp.ret_info_mask_actual == 1" ),
12876 srec( DStreamActual
, repeat
= "x" , req_cond
="ncp.ret_info_mask_actual == 1" ),
12877 rec( -1, 4, DataStreamsCount
, var
="y", req_cond
="ncp.ret_info_mask_logical == 1" ),
12878 srec( DStreamLogical
, repeat
="y" , req_cond
="ncp.ret_info_mask_logical == 1" ),
12879 srec( LastUpdatedInSecondsStruct
, req_cond
="ncp.ext_info_update == 1" ),
12880 srec( DOSNameStruct
, req_cond
="ncp.ext_info_dos_name == 1" ),
12881 srec( FlushTimeStruct
, req_cond
="ncp.ext_info_flush == 1" ),
12882 srec( ParentBaseIDStruct
, req_cond
="ncp.ext_info_parental == 1" ),
12883 srec( MacFinderInfoStruct
, req_cond
="ncp.ext_info_mac_finder == 1" ),
12884 srec( SiblingCountStruct
, req_cond
="ncp.ext_info_sibling == 1" ),
12885 srec( EffectiveRightsStruct
, req_cond
="ncp.ext_info_effective == 1" ),
12886 srec( MacTimeStruct
, req_cond
="ncp.ext_info_mac_date == 1" ),
12887 srec( LastAccessedTimeStruct
, req_cond
="ncp.ext_info_access == 1" ),
12888 srec( FileSize64bitStruct
, req_cond
="ncp.ext_info_64_bit_fs == 1" ),
12889 srec( FileNameStruct
, req_cond
="ncp.ret_info_mask_fname == 1" ),
12891 pkt
.ReqCondSizeVariable()
12892 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
12893 0x8700, 0x8900, 0x8d00, 0x8f00, 0x9001, 0x9600,
12894 0x9802, 0x9b03, 0x9c03, 0xa802, 0xa901, 0xbf00, 0xfd00, 0xff16])
12896 pkt
= NCP(0x5707, "Modify File or Subdirectory DOS Information", 'file', has_length
=0)
12897 pkt
.Request((62,316), [
12898 rec( 8, 1, NameSpace
),
12899 rec( 9, 1, Reserved
),
12900 rec( 10, 2, SearchAttributesLow
),
12901 rec( 12, 2, ModifyDOSInfoMask
),
12902 rec( 14, 2, Reserved2
),
12903 rec( 16, 2, AttributesDef16
),
12904 rec( 18, 1, FileMode
),
12905 rec( 19, 1, FileExtendedAttributes
),
12906 rec( 20, 2, CreationDate
),
12907 rec( 22, 2, CreationTime
),
12908 rec( 24, 4, CreatorID
, ENC_BIG_ENDIAN
),
12909 rec( 28, 2, ModifiedDate
),
12910 rec( 30, 2, ModifiedTime
),
12911 rec( 32, 4, ModifierID
, ENC_BIG_ENDIAN
),
12912 rec( 36, 2, ArchivedDate
),
12913 rec( 38, 2, ArchivedTime
),
12914 rec( 40, 4, ArchiverID
, ENC_BIG_ENDIAN
),
12915 rec( 44, 2, LastAccessedDate
),
12916 rec( 46, 2, InheritedRightsMask
),
12917 rec( 48, 2, InheritanceRevokeMask
),
12918 rec( 50, 4, MaxSpace
),
12919 rec( 54, 1, VolumeNumber
),
12920 rec( 55, 4, DirectoryBase
),
12921 rec( 59, 1, HandleFlag
),
12922 rec( 60, 1, PathCount
, var
="x" ),
12923 rec( 61, (1,255), Path
, repeat
="x", info_str
=(Path
, "Modify DOS Information for: %s", "/%s") ),
12926 pkt
.CompletionCodes([0x0000, 0x0102, 0x8000, 0x8101, 0x8401, 0x8501,
12927 0x8701, 0x8c01, 0x8d00, 0x8e00, 0x8f00, 0x9001, 0x9600,
12928 0x9804, 0x9b03, 0x9c03, 0xa901, 0xbf00, 0xfd00, 0xff16])
12930 pkt
= NCP(0x5708, "Delete a File or Subdirectory", 'file', has_length
=0)
12931 pkt
.Request((20,274), [
12932 rec( 8, 1, NameSpace
),
12933 rec( 9, 1, Reserved
),
12934 rec( 10, 2, SearchAttributesLow
),
12935 rec( 12, 1, VolumeNumber
),
12936 rec( 13, 4, DirectoryBase
),
12937 rec( 17, 1, HandleFlag
),
12938 rec( 18, 1, PathCount
, var
="x" ),
12939 rec( 19, (1,255), Path
, repeat
="x", info_str
=(Path
, "Delete a File or Subdirectory: %s", "/%s") ),
12942 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
12943 0x8701, 0x8900, 0x8a00, 0x8d00, 0x8e00, 0x8f00, 0x9001, 0x9600,
12944 0x9804, 0x9b03, 0x9c03, 0xa901, 0xbf00, 0xfd00, 0xff16])
12946 pkt
= NCP(0x5709, "Set Short Directory Handle", 'file', has_length
=0)
12947 pkt
.Request((20,274), [
12948 rec( 8, 1, NameSpace
),
12949 rec( 9, 1, DataStream
),
12950 rec( 10, 1, DestDirHandle
),
12951 rec( 11, 1, Reserved
),
12952 rec( 12, 1, VolumeNumber
),
12953 rec( 13, 4, DirectoryBase
),
12954 rec( 17, 1, HandleFlag
),
12955 rec( 18, 1, PathCount
, var
="x" ),
12956 rec( 19, (1,255), Path
, repeat
="x", info_str
=(Path
, "Set Short Directory Handle to: %s", "/%s") ),
12959 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
12960 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
12961 0x9804, 0x9b03, 0x9c03, 0xa901, 0xbf00, 0xfd00, 0xff16])
12963 pkt
= NCP(0x570A, "Add Trustee Set to File or Subdirectory", 'file', has_length
=0)
12964 pkt
.Request((31,285), [
12965 rec( 8, 1, NameSpace
),
12966 rec( 9, 1, Reserved
),
12967 rec( 10, 2, SearchAttributesLow
),
12968 rec( 12, 2, AccessRightsMaskWord
),
12969 rec( 14, 2, ObjectIDCount
, var
="y" ),
12970 rec( 16, 1, VolumeNumber
),
12971 rec( 17, 4, DirectoryBase
),
12972 rec( 21, 1, HandleFlag
),
12973 rec( 22, 1, PathCount
, var
="x" ),
12974 rec( 23, (1,255), Path
, repeat
="x", info_str
=(Path
, "Add Trustee Set to: %s", "/%s") ),
12975 rec( -1, 7, TrusteeStruct
, repeat
="y" ),
12978 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
12979 0x8701, 0x8c01, 0x8d00, 0x8f00, 0x9001, 0x9600,
12980 0x9804, 0x9b03, 0x9c03, 0xa802, 0xa901, 0xbf00, 0xfc01, 0xfd00, 0xff16])
12982 pkt
= NCP(0x570B, "Delete Trustee Set from File or SubDirectory", 'file', has_length
=0)
12983 pkt
.Request((27,281), [
12984 rec( 8, 1, NameSpace
),
12985 rec( 9, 1, Reserved
),
12986 rec( 10, 2, ObjectIDCount
, var
="y" ),
12987 rec( 12, 1, VolumeNumber
),
12988 rec( 13, 4, DirectoryBase
),
12989 rec( 17, 1, HandleFlag
),
12990 rec( 18, 1, PathCount
, var
="x" ),
12991 rec( 19, (1,255), Path
, repeat
="x", info_str
=(Path
, "Delete Trustee Set from: %s", "/%s") ),
12992 rec( -1, 7, TrusteeStruct
, repeat
="y" ),
12995 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
12996 0x8701, 0x8c01, 0x8d00, 0x8f00, 0x9001, 0x9600,
12997 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16])
12999 pkt
= NCP(0x570C, "Allocate Short Directory Handle", 'file', has_length
=0)
13000 pkt
.Request((20,274), [
13001 rec( 8, 1, NameSpace
),
13002 rec( 9, 1, Reserved
),
13003 rec( 10, 2, AllocateMode
),
13004 rec( 12, 1, VolumeNumber
),
13005 rec( 13, 4, DirectoryBase
),
13006 rec( 17, 1, HandleFlag
),
13007 rec( 18, 1, PathCount
, var
="x" ),
13008 rec( 19, (1,255), Path
, repeat
="x", info_str
=(Path
, "Allocate Short Directory Handle to: %s", "/%s") ),
13010 pkt
.Reply(NO_LENGTH_CHECK
, [
13011 srec( ReplyLevel2Struct
, req_cond
="ncp.alloc_reply_lvl2 == TRUE" ),
13012 srec( ReplyLevel1Struct
, req_cond
="ncp.alloc_reply_lvl2 == FALSE" ),
13014 pkt
.ReqCondSizeVariable()
13015 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
13016 0x8701, 0x8900, 0x8d00, 0x8f00, 0x9001, 0x9600,
13017 0x9804, 0x9b03, 0x9c03, 0x9d00, 0xa901, 0xbf00, 0xfd00, 0xff16])
13019 pkt
= NCP(0x5710, "Scan Salvageable Files", 'file', has_length
=0)
13020 pkt
.Request((26,280), [
13021 rec( 8, 1, NameSpace
),
13022 rec( 9, 1, DataStream
),
13023 rec( 10, 2, ReturnInfoMask
),
13024 rec( 12, 2, ExtendedInfo
),
13025 rec( 14, 4, SequenceNumber
),
13026 rec( 18, 1, VolumeNumber
),
13027 rec( 19, 4, DirectoryBase
),
13028 rec( 23, 1, HandleFlag
),
13029 rec( 24, 1, PathCount
, var
="x" ),
13030 rec( 25, (1,255), Path
, repeat
="x", info_str
=(Path
, "Scan for Deleted Files in: %s", "/%s") ),
13032 pkt
.Reply(NO_LENGTH_CHECK
, [
13033 rec( 8, 4, SequenceNumber
),
13034 rec( 12, 2, DeletedTime
),
13035 rec( 14, 2, DeletedDate
),
13036 rec( 16, 4, DeletedID
, ENC_BIG_ENDIAN
),
13037 rec( 20, 4, VolumeID
),
13038 rec( 24, 4, DirectoryBase
),
13039 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 1)" ),
13040 srec( PadDSSpaceAllocate
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 0)" ),
13041 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 1)" ),
13042 srec( PadAttributes
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 0)" ),
13043 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 1)" ),
13044 srec( PadDataStreamSize
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 0)" ),
13045 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 1)" ),
13046 srec( PadTotalStreamSize
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 0)" ),
13047 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 1)" ),
13048 srec( PadCreationInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 0)" ),
13049 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 1)" ),
13050 srec( PadModifyInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 0)" ),
13051 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 1)" ),
13052 srec( PadArchiveInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 0)" ),
13053 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 1)" ),
13054 srec( PadRightsInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 0)" ),
13055 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 1)" ),
13056 srec( PadDirEntry
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 0)" ),
13057 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 1)" ),
13058 srec( PadEAInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 0)" ),
13059 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 1)" ),
13060 srec( PadNSInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 0)" ),
13061 srec( FileNameStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_fname == 1)" ),
13062 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_alloc == 1)" ),
13063 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_attr == 1)" ),
13064 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_size == 1)" ),
13065 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_tspace == 1)" ),
13066 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_create == 1)" ),
13067 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_mod == 1)" ),
13068 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_arch == 1)" ),
13069 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_rights == 1)" ),
13070 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_dir == 1)" ),
13071 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_eattr == 1)" ),
13072 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_ns == 1)" ),
13073 srec( FileNameStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_fname == 1)" ),
13075 pkt
.ReqCondSizeVariable()
13076 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
13077 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13078 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16])
13080 pkt
= NCP(0x5711, "Recover Salvageable File", 'file', has_length
=0)
13081 pkt
.Request((23,277), [
13082 rec( 8, 1, NameSpace
),
13083 rec( 9, 1, Reserved
),
13084 rec( 10, 4, SequenceNumber
),
13085 rec( 14, 4, VolumeID
),
13086 rec( 18, 4, DirectoryBase
),
13087 rec( 22, (1,255), FileName
, info_str
=(FileName
, "Recover Deleted File: %s", ", %s") ),
13090 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
13091 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13092 0x9804, 0x9b03, 0x9c03, 0xa802, 0xbf00, 0xfe02, 0xfd00, 0xff16])
13094 pkt
= NCP(0x5712, "Purge Salvageable Files", 'file', has_length
=0)
13096 rec( 8, 1, NameSpace
),
13097 rec( 9, 1, Reserved
),
13098 rec( 10, 4, SequenceNumber
),
13099 rec( 14, 4, VolumeID
),
13100 rec( 18, 4, DirectoryBase
),
13103 pkt
.CompletionCodes([0x0000, 0x010a, 0x8000, 0x8101, 0x8401, 0x8501,
13104 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13105 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16])
13107 pkt
= NCP(0x5713, "Get Name Space Information", 'file', has_length
=0)
13109 rec( 8, 1, SrcNameSpace
),
13110 rec( 9, 1, DestNameSpace
),
13111 rec( 10, 1, Reserved
),
13112 rec( 11, 1, VolumeNumber
),
13113 rec( 12, 4, DirectoryBase
),
13114 rec( 16, 2, NamesSpaceInfoMask
),
13116 pkt
.Reply(NO_LENGTH_CHECK
, [
13117 srec( FileNameStruct
, req_cond
="ncp.ns_info_mask_modify == TRUE" ),
13118 srec( FileAttributesStruct
, req_cond
="ncp.ns_info_mask_fatt == TRUE" ),
13119 srec( CreationDateStruct
, req_cond
="ncp.ns_info_mask_cdate == TRUE" ),
13120 srec( CreationTimeStruct
, req_cond
="ncp.ns_info_mask_ctime == TRUE" ),
13121 srec( OwnerIDStruct
, req_cond
="ncp.ns_info_mask_owner == TRUE" ),
13122 srec( ArchiveDateStruct
, req_cond
="ncp.ns_info_mask_adate == TRUE" ),
13123 srec( ArchiveTimeStruct
, req_cond
="ncp.ns_info_mask_atime == TRUE" ),
13124 srec( ArchiveIdStruct
, req_cond
="ncp.ns_info_mask_aid == TRUE" ),
13125 srec( UpdateDateStruct
, req_cond
="ncp.ns_info_mask_udate == TRUE" ),
13126 srec( UpdateTimeStruct
, req_cond
="ncp.ns_info_mask_utime == TRUE" ),
13127 srec( UpdateIDStruct
, req_cond
="ncp.ns_info_mask_uid == TRUE" ),
13128 srec( LastAccessStruct
, req_cond
="ncp.ns_info_mask_acc_date == TRUE" ),
13129 srec( RightsInfoStruct
, req_cond
="ncp.ns_info_mask_max_acc_mask == TRUE" ),
13131 pkt
.ReqCondSizeVariable()
13132 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
13133 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13134 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16])
13136 pkt
= NCP(0x5714, "Search for File or Subdirectory Set", 'file', has_length
=0)
13137 pkt
.Request((27, 27), [
13138 rec( 8, 1, NameSpace
),
13139 rec( 9, 1, DataStream
),
13140 rec( 10, 2, SearchAttributesLow
),
13141 rec( 12, 2, ReturnInfoMask
),
13142 rec( 14, 2, ExtendedInfo
),
13143 rec( 16, 2, ReturnInfoCount
),
13144 rec( 18, 9, SeachSequenceStruct
),
13145 # rec( 27, (1,255), SearchPattern ),
13147 # The reply packet is dissected in packet-ncp2222.inc
13148 pkt
.Reply(NO_LENGTH_CHECK
, [
13150 pkt
.ReqCondSizeVariable()
13151 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
13152 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13153 0x9804, 0x9b03, 0x9c03, 0xa901, 0xbf00, 0xfd00, 0xff16])
13155 pkt
= NCP(0x5715, "Get Path String from Short Directory Handle", 'file', has_length
=0)
13157 rec( 8, 1, NameSpace
),
13158 rec( 9, 1, DirHandle
),
13160 pkt
.Reply((9,263), [
13161 rec( 8, (1,255), Path
),
13163 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
13164 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13165 0x9804, 0x9b03, 0x9c03, 0xfd00, 0xff16])
13167 pkt
= NCP(0x5716, "Generate Directory Base and Volume Number", 'file', has_length
=0)
13168 pkt
.Request((20,274), [
13169 rec( 8, 1, SrcNameSpace
),
13170 rec( 9, 1, DestNameSpace
),
13171 rec( 10, 2, dstNSIndicator
),
13172 rec( 12, 1, VolumeNumber
),
13173 rec( 13, 4, DirectoryBase
),
13174 rec( 17, 1, HandleFlag
),
13175 rec( 18, 1, PathCount
, var
="x" ),
13176 rec( 19, (1,255), Path
, repeat
="x", info_str
=(Path
, "Get Volume and Directory Base from: %s", "/%s") ),
13179 rec( 8, 4, DirectoryBase
),
13180 rec( 12, 4, DOSDirectoryBase
),
13181 rec( 16, 1, VolumeNumber
),
13183 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
13184 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13185 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16])
13187 pkt
= NCP(0x5717, "Query Name Space Information Format", 'file', has_length
=0)
13189 rec( 8, 1, NameSpace
),
13190 rec( 9, 1, VolumeNumber
),
13193 rec( 8, 4, FixedBitMask
),
13194 rec( 12, 4, VariableBitMask
),
13195 rec( 16, 4, HugeBitMask
),
13196 rec( 20, 2, FixedBitsDefined
),
13197 rec( 22, 2, VariableBitsDefined
),
13198 rec( 24, 2, HugeBitsDefined
),
13199 rec( 26, 32, FieldsLenTable
),
13201 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
13202 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13203 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16])
13205 pkt
= NCP(0x5718, "Get Name Spaces Loaded List from Volume Number", 'file', has_length
=0)
13207 rec( 8, 2, Reserved2
),
13208 rec( 10, 1, VolumeNumber
, info_str
=(VolumeNumber
, "Get Name Spaces Loaded List from Vol: %d", "/%d") ),
13211 rec( 8, 2, NumberOfNSLoaded
, var
="x" ),
13212 rec( 10, 1, NameSpace
, repeat
="x" ),
13214 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
13215 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13216 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16])
13218 pkt
= NCP(0x5719, "Set Name Space Information", 'file', has_length
=0)
13220 rec( 8, 1, SrcNameSpace
),
13221 rec( 9, 1, DestNameSpace
),
13222 rec( 10, 1, VolumeNumber
),
13223 rec( 11, 4, DirectoryBase
),
13224 rec( 15, 2, NamesSpaceInfoMask
),
13225 rec( 17, 2, Reserved2
),
13226 rec( 19, 512, NSSpecificInfo
),
13229 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
13230 0x8701, 0x8b00, 0x8d00, 0x8f00, 0x9001,
13231 0x9600, 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00,
13234 pkt
= NCP(0x571A, "Get Huge Name Space Information", 'file', has_length
=0)
13236 rec( 8, 1, NameSpace
),
13237 rec( 9, 1, VolumeNumber
),
13238 rec( 10, 4, DirectoryBase
),
13239 rec( 14, 4, HugeBitMask
),
13240 rec( 18, 16, HugeStateInfo
),
13242 pkt
.Reply((25,279), [
13243 rec( 8, 16, NextHugeStateInfo
),
13244 rec( 24, (1,255), HugeData
),
13246 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
13247 0x8701, 0x8b00, 0x8d00, 0x8f00, 0x9001,
13248 0x9600, 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00,
13251 pkt
= NCP(0x571B, "Set Huge Name Space Information", 'file', has_length
=0)
13252 pkt
.Request((35,289), [
13253 rec( 8, 1, NameSpace
),
13254 rec( 9, 1, VolumeNumber
),
13255 rec( 10, 4, DirectoryBase
),
13256 rec( 14, 4, HugeBitMask
),
13257 rec( 18, 16, HugeStateInfo
),
13258 rec( 34, (1,255), HugeData
),
13261 rec( 8, 16, NextHugeStateInfo
),
13262 rec( 24, 4, HugeDataUsed
),
13264 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
13265 0x8701, 0x8b00, 0x8d00, 0x8f00, 0x9001,
13266 0x9600, 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00,
13269 pkt
= NCP(0x571C, "Get Full Path String", 'file', has_length
=0)
13270 pkt
.Request((28,282), [
13271 rec( 8, 1, SrcNameSpace
),
13272 rec( 9, 1, DestNameSpace
),
13273 rec( 10, 2, PathCookieFlags
),
13274 rec( 12, 4, Cookie1
),
13275 rec( 16, 4, Cookie2
),
13276 rec( 20, 1, VolumeNumber
),
13277 rec( 21, 4, DirectoryBase
),
13278 rec( 25, 1, HandleFlag
),
13279 rec( 26, 1, PathCount
, var
="x" ),
13280 rec( 27, (1,255), Path
, repeat
="x", info_str
=(Path
, "Get Full Path from: %s", "/%s") ),
13282 pkt
.Reply((23,277), [
13283 rec( 8, 2, PathCookieFlags
),
13284 rec( 10, 4, Cookie1
),
13285 rec( 14, 4, Cookie2
),
13286 rec( 18, 2, PathComponentSize
),
13287 rec( 20, 2, PathComponentCount
, var
='x' ),
13288 rec( 22, (1,255), Path
, repeat
='x' ),
13290 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
13291 0x8701, 0x8b00, 0x8d00, 0x8f00, 0x9001,
13292 0x9600, 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00,
13295 pkt
= NCP(0x571D, "Get Effective Directory Rights", 'file', has_length
=0)
13296 pkt
.Request((24, 278), [
13297 rec( 8, 1, NameSpace
),
13298 rec( 9, 1, DestNameSpace
),
13299 rec( 10, 2, SearchAttributesLow
),
13300 rec( 12, 2, ReturnInfoMask
),
13301 rec( 14, 2, ExtendedInfo
),
13302 rec( 16, 1, VolumeNumber
),
13303 rec( 17, 4, DirectoryBase
),
13304 rec( 21, 1, HandleFlag
),
13305 rec( 22, 1, PathCount
, var
="x" ),
13306 rec( 23, (1,255), Path
, repeat
="x", info_str
=(Path
, "Get Effective Rights for: %s", "/%s") ),
13308 pkt
.Reply(NO_LENGTH_CHECK
, [
13309 rec( 8, 2, EffectiveRights
),
13310 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 1)" ),
13311 srec( PadDSSpaceAllocate
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 0)" ),
13312 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 1)" ),
13313 srec( PadAttributes
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 0)" ),
13314 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 1)" ),
13315 srec( PadDataStreamSize
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 0)" ),
13316 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 1)" ),
13317 srec( PadTotalStreamSize
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 0)" ),
13318 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 1)" ),
13319 srec( PadCreationInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 0)" ),
13320 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 1)" ),
13321 srec( PadModifyInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 0)" ),
13322 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 1)" ),
13323 srec( PadArchiveInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 0)" ),
13324 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 1)" ),
13325 srec( PadRightsInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 0)" ),
13326 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 1)" ),
13327 srec( PadDirEntry
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 0)" ),
13328 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 1)" ),
13329 srec( PadEAInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 0)" ),
13330 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 1)" ),
13331 srec( PadNSInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 0)" ),
13332 srec( FileNameStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_fname == 1)" ),
13333 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_alloc == 1)" ),
13334 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_attr == 1)" ),
13335 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_size == 1)" ),
13336 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_tspace == 1)" ),
13337 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_create == 1)" ),
13338 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_mod == 1)" ),
13339 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_arch == 1)" ),
13340 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_rights == 1)" ),
13341 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_dir == 1)" ),
13342 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_eattr == 1)" ),
13343 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_ns == 1)" ),
13344 srec( FileNameStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_fname == 1)" ),
13346 pkt
.ReqCondSizeVariable()
13347 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
13348 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13349 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16])
13351 pkt
= NCP(0x571E, "Open/Create File or Subdirectory", 'file', has_length
=0)
13352 pkt
.Request((34, 288), [
13353 rec( 8, 1, NameSpace
),
13354 rec( 9, 1, DataStream
),
13355 rec( 10, 1, OpenCreateMode
),
13356 rec( 11, 1, Reserved
),
13357 rec( 12, 2, SearchAttributesLow
),
13358 rec( 14, 2, Reserved2
),
13359 rec( 16, 2, ReturnInfoMask
),
13360 rec( 18, 2, ExtendedInfo
),
13361 rec( 20, 4, AttributesDef32
),
13362 rec( 24, 2, DesiredAccessRights
),
13363 rec( 26, 1, VolumeNumber
),
13364 rec( 27, 4, DirectoryBase
),
13365 rec( 31, 1, HandleFlag
),
13366 rec( 32, 1, PathCount
, var
="x" ),
13367 rec( 33, (1,255), Path
, repeat
="x", info_str
=(Path
, "Open or Create File: %s", "/%s") ),
13369 pkt
.Reply(NO_LENGTH_CHECK
, [
13370 rec( 8, 4, FileHandle
, ENC_BIG_ENDIAN
),
13371 rec( 12, 1, OpenCreateAction
),
13372 rec( 13, 1, Reserved
),
13373 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 1)" ),
13374 srec( PadDSSpaceAllocate
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 0)" ),
13375 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 1)" ),
13376 srec( PadAttributes
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 0)" ),
13377 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 1)" ),
13378 srec( PadDataStreamSize
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 0)" ),
13379 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 1)" ),
13380 srec( PadTotalStreamSize
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 0)" ),
13381 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 1)" ),
13382 srec( PadCreationInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 0)" ),
13383 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 1)" ),
13384 srec( PadModifyInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 0)" ),
13385 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 1)" ),
13386 srec( PadArchiveInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 0)" ),
13387 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 1)" ),
13388 srec( PadRightsInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 0)" ),
13389 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 1)" ),
13390 srec( PadDirEntry
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 0)" ),
13391 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 1)" ),
13392 srec( PadEAInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 0)" ),
13393 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 1)" ),
13394 srec( PadNSInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 0)" ),
13395 srec( FileNameStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_fname == 1)" ),
13396 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_alloc == 1)" ),
13397 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_attr == 1)" ),
13398 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_size == 1)" ),
13399 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_tspace == 1)" ),
13400 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_create == 1)" ),
13401 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_mod == 1)" ),
13402 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_arch == 1)" ),
13403 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_rights == 1)" ),
13404 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_dir == 1)" ),
13405 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_eattr == 1)" ),
13406 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_ns == 1)" ),
13407 srec( FileNameStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_fname == 1)" ),
13409 pkt
.ReqCondSizeVariable()
13410 pkt
.CompletionCodes([0x0000, 0x0102, 0x8000, 0x8101, 0x8401, 0x8501,
13411 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13412 0x9804, 0x9b03, 0x9c03, 0xbe00, 0xbf00, 0xfd00, 0xff16])
13413 pkt
.MakeExpert("file_rights")
13415 pkt
= NCP(0x571F, "Get File Information", 'file', has_length
=0)
13417 rec( 8, 6, FileHandle
, info_str
=(FileHandle
, "Get File Information - 0x%s", ", %s") ),
13418 rec( 14, 1, HandleInfoLevel
),
13420 pkt
.Reply(NO_LENGTH_CHECK
, [
13421 rec( 8, 4, VolumeNumberLong
),
13422 rec( 12, 4, DirectoryBase
),
13423 srec(HandleInfoLevel0
, req_cond
="ncp.handle_info_level==0x00" ),
13424 srec(HandleInfoLevel1
, req_cond
="ncp.handle_info_level==0x01" ),
13425 srec(HandleInfoLevel2
, req_cond
="ncp.handle_info_level==0x02" ),
13426 srec(HandleInfoLevel3
, req_cond
="ncp.handle_info_level==0x03" ),
13427 srec(HandleInfoLevel4
, req_cond
="ncp.handle_info_level==0x04" ),
13428 srec(HandleInfoLevel5
, req_cond
="ncp.handle_info_level==0x05" ),
13430 pkt
.ReqCondSizeVariable()
13431 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
13432 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13433 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16])
13435 pkt
= NCP(0x5720, "Open/Create File or Subdirectory with Callback", 'file', has_length
=0)
13436 pkt
.Request((30, 284), [
13437 rec( 8, 1, NameSpace
),
13438 rec( 9, 1, OpenCreateMode
),
13439 rec( 10, 2, SearchAttributesLow
),
13440 rec( 12, 2, ReturnInfoMask
),
13441 rec( 14, 2, ExtendedInfo
),
13442 rec( 16, 4, AttributesDef32
),
13443 rec( 20, 2, DesiredAccessRights
),
13444 rec( 22, 1, VolumeNumber
),
13445 rec( 23, 4, DirectoryBase
),
13446 rec( 27, 1, HandleFlag
),
13447 rec( 28, 1, PathCount
, var
="x" ),
13448 rec( 29, (1,255), Path
, repeat
="x", info_str
=(Path
, "Open or Create with Op-Lock: %s", "/%s") ),
13450 pkt
.Reply( NO_LENGTH_CHECK
, [
13451 rec( 8, 4, FileHandle
, ENC_BIG_ENDIAN
),
13452 rec( 12, 1, OpenCreateAction
),
13453 rec( 13, 1, OCRetFlags
),
13454 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 1)" ),
13455 srec( PadDSSpaceAllocate
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 0)" ),
13456 srec( AttributesStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 1)" ),
13457 srec( PadAttributes
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 0)" ),
13458 srec( DataStreamSizeStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 1)" ),
13459 srec( PadDataStreamSize
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 0)" ),
13460 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 1)" ),
13461 srec( PadTotalStreamSize
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 0)" ),
13462 srec( CreationInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 1)" ),
13463 srec( PadCreationInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 0)" ),
13464 srec( ModifyInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 1)" ),
13465 srec( PadModifyInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 0)" ),
13466 srec( ArchiveInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 1)" ),
13467 srec( PadArchiveInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 0)" ),
13468 srec( RightsInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 1)" ),
13469 srec( PadRightsInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 0)" ),
13470 srec( DirEntryStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 1)" ),
13471 srec( PadDirEntry
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 0)" ),
13472 srec( EAInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 1)" ),
13473 srec( PadEAInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 0)" ),
13474 srec( NSInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 1)" ),
13475 srec( PadNSInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 0)" ),
13476 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_alloc == 1)" ),
13477 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_attr == 1)" ),
13478 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_size == 1)" ),
13479 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_tspace == 1)" ),
13480 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_eattr == 1)" ),
13481 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_mod == 1)" ),
13482 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_create == 1)" ),
13483 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_arch == 1)" ),
13484 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_dir == 1)" ),
13485 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_rights == 1)" ),
13486 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_ns == 1)" ),
13487 srec( ReferenceIDStruct
, req_cond
="ncp.ret_info_mask_id == 1" ),
13488 srec( NSAttributeStruct
, req_cond
="ncp.ret_info_mask_ns_attr == 1" ),
13489 rec( -1, 4, DataStreamsCount
, var
="x" , req_cond
="ncp.ret_info_mask_actual == 1" ),
13490 srec( DStreamActual
, repeat
= "x" , req_cond
="ncp.ret_info_mask_actual == 1" ),
13491 rec( -1, 4, DataStreamsCount
, var
="y", req_cond
="ncp.ret_info_mask_logical == 1" ),
13492 srec( DStreamLogical
, repeat
="y" , req_cond
="ncp.ret_info_mask_logical == 1" ),
13493 srec( LastUpdatedInSecondsStruct
, req_cond
="ncp.ext_info_update == 1" ),
13494 srec( DOSNameStruct
, req_cond
="ncp.ext_info_dos_name == 1" ),
13495 srec( FlushTimeStruct
, req_cond
="ncp.ext_info_flush == 1" ),
13496 srec( ParentBaseIDStruct
, req_cond
="ncp.ext_info_parental == 1" ),
13497 srec( MacFinderInfoStruct
, req_cond
="ncp.ext_info_mac_finder == 1" ),
13498 srec( SiblingCountStruct
, req_cond
="ncp.ext_info_sibling == 1" ),
13499 srec( EffectiveRightsStruct
, req_cond
="ncp.ext_info_effective == 1" ),
13500 srec( MacTimeStruct
, req_cond
="ncp.ext_info_mac_date == 1" ),
13501 srec( LastAccessedTimeStruct
, req_cond
="ncp.ext_info_access == 1" ),
13502 srec( FileNameStruct
, req_cond
="ncp.ret_info_mask_fname == 1" ),
13504 pkt
.ReqCondSizeVariable()
13505 pkt
.CompletionCodes([0x0000, 0x0102, 0x7f00, 0x8000, 0x8101, 0x8401, 0x8501,
13506 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13507 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16])
13508 pkt
.MakeExpert("file_rights")
13510 pkt
= NCP(0x5721, "Open/Create File or Subdirectory II with Callback", 'file', has_length
=0)
13511 pkt
.Request((34, 288), [
13512 rec( 8, 1, NameSpace
),
13513 rec( 9, 1, DataStream
),
13514 rec( 10, 1, OpenCreateMode
),
13515 rec( 11, 1, Reserved
),
13516 rec( 12, 2, SearchAttributesLow
),
13517 rec( 14, 2, Reserved2
),
13518 rec( 16, 2, ReturnInfoMask
),
13519 rec( 18, 2, ExtendedInfo
),
13520 rec( 20, 4, AttributesDef32
),
13521 rec( 24, 2, DesiredAccessRights
),
13522 rec( 26, 1, VolumeNumber
),
13523 rec( 27, 4, DirectoryBase
),
13524 rec( 31, 1, HandleFlag
),
13525 rec( 32, 1, PathCount
, var
="x" ),
13526 rec( 33, (1,255), Path
, repeat
="x", info_str
=(Path
, "Open or Create II with Op-Lock: %s", "/%s") ),
13528 pkt
.Reply(NO_LENGTH_CHECK
, [
13529 rec( 8, 4, FileHandle
),
13530 rec( 12, 1, OpenCreateAction
),
13531 rec( 13, 1, OCRetFlags
),
13532 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 1)" ),
13533 srec( PadDSSpaceAllocate
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 0)" ),
13534 srec( AttributesStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 1)" ),
13535 srec( PadAttributes
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 0)" ),
13536 srec( DataStreamSizeStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 1)" ),
13537 srec( PadDataStreamSize
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 0)" ),
13538 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 1)" ),
13539 srec( PadTotalStreamSize
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 0)" ),
13540 srec( CreationInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 1)" ),
13541 srec( PadCreationInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 0)" ),
13542 srec( ModifyInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 1)" ),
13543 srec( PadModifyInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 0)" ),
13544 srec( ArchiveInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 1)" ),
13545 srec( PadArchiveInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 0)" ),
13546 srec( RightsInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 1)" ),
13547 srec( PadRightsInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 0)" ),
13548 srec( DirEntryStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 1)" ),
13549 srec( PadDirEntry
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 0)" ),
13550 srec( EAInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 1)" ),
13551 srec( PadEAInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 0)" ),
13552 srec( NSInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 1)" ),
13553 srec( PadNSInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 0)" ),
13554 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_alloc == 1)" ),
13555 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_attr == 1)" ),
13556 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_size == 1)" ),
13557 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_tspace == 1)" ),
13558 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_eattr == 1)" ),
13559 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_mod == 1)" ),
13560 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_create == 1)" ),
13561 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_arch == 1)" ),
13562 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_dir == 1)" ),
13563 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_rights == 1)" ),
13564 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_ns == 1)" ),
13565 srec( ReferenceIDStruct
, req_cond
="ncp.ret_info_mask_id == 1" ),
13566 srec( NSAttributeStruct
, req_cond
="ncp.ret_info_mask_ns_attr == 1" ),
13567 rec( -1, 4, DataStreamsCount
, var
="x" , req_cond
="ncp.ret_info_mask_actual == 1" ),
13568 srec( DStreamActual
, repeat
= "x" , req_cond
="ncp.ret_info_mask_actual == 1" ),
13569 rec( -1, 4, DataStreamsCount
, var
="y", req_cond
="ncp.ret_info_mask_logical == 1" ),
13570 srec( DStreamLogical
, repeat
="y" , req_cond
="ncp.ret_info_mask_logical == 1" ),
13571 srec( LastUpdatedInSecondsStruct
, req_cond
="ncp.ext_info_update == 1" ),
13572 srec( DOSNameStruct
, req_cond
="ncp.ext_info_dos_name == 1" ),
13573 srec( FlushTimeStruct
, req_cond
="ncp.ext_info_flush == 1" ),
13574 srec( ParentBaseIDStruct
, req_cond
="ncp.ext_info_parental == 1" ),
13575 srec( MacFinderInfoStruct
, req_cond
="ncp.ext_info_mac_finder == 1" ),
13576 srec( SiblingCountStruct
, req_cond
="ncp.ext_info_sibling == 1" ),
13577 srec( EffectiveRightsStruct
, req_cond
="ncp.ext_info_effective == 1" ),
13578 srec( MacTimeStruct
, req_cond
="ncp.ext_info_mac_date == 1" ),
13579 srec( LastAccessedTimeStruct
, req_cond
="ncp.ext_info_access == 1" ),
13580 srec( FileNameStruct
, req_cond
="ncp.ret_info_mask_fname == 1" ),
13582 pkt
.ReqCondSizeVariable()
13583 pkt
.CompletionCodes([0x0000, 0x0102, 0x8000, 0x8101, 0x8401, 0x8501,
13584 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13585 0x9804, 0x9b03, 0x9c03, 0xbe00, 0xbf00, 0xfd00, 0xff16])
13586 pkt
.MakeExpert("file_rights")
13588 pkt
= NCP(0x5722, "Open CallBack Control (Op-Lock)", 'file', has_length
=0)
13590 rec( 10, 4, CCFileHandle
, ENC_BIG_ENDIAN
),
13591 rec( 14, 1, CCFunction
),
13594 pkt
.CompletionCodes([0x0000, 0x8000, 0x8800, 0xff16])
13595 pkt
.MakeExpert("ncp5722_request")
13597 pkt
= NCP(0x5723, "Modify DOS Attributes on a File or Subdirectory", 'file', has_length
=0)
13598 pkt
.Request((28, 282), [
13599 rec( 8, 1, NameSpace
),
13600 rec( 9, 1, Flags
),
13601 rec( 10, 2, SearchAttributesLow
),
13602 rec( 12, 2, ReturnInfoMask
),
13603 rec( 14, 2, ExtendedInfo
),
13604 rec( 16, 4, AttributesDef32
),
13605 rec( 20, 1, VolumeNumber
),
13606 rec( 21, 4, DirectoryBase
),
13607 rec( 25, 1, HandleFlag
),
13608 rec( 26, 1, PathCount
, var
="x" ),
13609 rec( 27, (1,255), Path
, repeat
="x", info_str
=(Path
, "Modify DOS Attributes for: %s", "/%s") ),
13612 rec( 8, 4, ItemsChecked
),
13613 rec( 12, 4, ItemsChanged
),
13614 rec( 16, 4, AttributeValidFlag
),
13615 rec( 20, 4, AttributesDef32
),
13617 pkt
.CompletionCodes([0x0000, 0x0102, 0x8000, 0x8101, 0x8401, 0x8501,
13618 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13619 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16])
13621 pkt
= NCP(0x5724, "Log File", 'sync', has_length
=0)
13622 pkt
.Request((28, 282), [
13623 rec( 8, 1, NameSpace
),
13624 rec( 9, 1, Reserved
),
13625 rec( 10, 2, Reserved2
),
13626 rec( 12, 1, LogFileFlagLow
),
13627 rec( 13, 1, LogFileFlagHigh
),
13628 rec( 14, 2, Reserved2
),
13629 rec( 16, 4, WaitTime
),
13630 rec( 20, 1, VolumeNumber
),
13631 rec( 21, 4, DirectoryBase
),
13632 rec( 25, 1, HandleFlag
),
13633 rec( 26, 1, PathCount
, var
="x" ),
13634 rec( 27, (1,255), Path
, repeat
="x", info_str
=(Path
, "Lock File: %s", "/%s") ),
13637 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
13638 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13639 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16])
13641 pkt
= NCP(0x5725, "Release File", 'sync', has_length
=0)
13642 pkt
.Request((20, 274), [
13643 rec( 8, 1, NameSpace
),
13644 rec( 9, 1, Reserved
),
13645 rec( 10, 2, Reserved2
),
13646 rec( 12, 1, VolumeNumber
),
13647 rec( 13, 4, DirectoryBase
),
13648 rec( 17, 1, HandleFlag
),
13649 rec( 18, 1, PathCount
, var
="x" ),
13650 rec( 19, (1,255), Path
, repeat
="x", info_str
=(Path
, "Release Lock on: %s", "/%s") ),
13653 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
13654 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13655 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16])
13657 pkt
= NCP(0x5726, "Clear File", 'sync', has_length
=0)
13658 pkt
.Request((20, 274), [
13659 rec( 8, 1, NameSpace
),
13660 rec( 9, 1, Reserved
),
13661 rec( 10, 2, Reserved2
),
13662 rec( 12, 1, VolumeNumber
),
13663 rec( 13, 4, DirectoryBase
),
13664 rec( 17, 1, HandleFlag
),
13665 rec( 18, 1, PathCount
, var
="x" ),
13666 rec( 19, (1,255), Path
, repeat
="x", info_str
=(Path
, "Clear File: %s", "/%s") ),
13669 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
13670 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13671 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16])
13673 pkt
= NCP(0x5727, "Get Directory Disk Space Restriction", 'file', has_length
=0)
13674 pkt
.Request((19, 273), [
13675 rec( 8, 1, NameSpace
),
13676 rec( 9, 2, Reserved2
),
13677 rec( 11, 1, VolumeNumber
),
13678 rec( 12, 4, DirectoryBase
),
13679 rec( 16, 1, HandleFlag
),
13680 rec( 17, 1, PathCount
, var
="x" ),
13681 rec( 18, (1,255), Path
, repeat
="x", info_str
=(Path
, "Get Disk Space Restriction for: %s", "/%s") ),
13684 rec( 8, 1, NumberOfEntries
, var
="x" ),
13685 rec( 9, 9, SpaceStruct
, repeat
="x" ),
13687 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
13688 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13689 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00,
13692 pkt
= NCP(0x5728, "Search for File or Subdirectory Set (Extended Errors)", 'file', has_length
=0)
13693 pkt
.Request((28, 282), [
13694 rec( 8, 1, NameSpace
),
13695 rec( 9, 1, DataStream
),
13696 rec( 10, 2, SearchAttributesLow
),
13697 rec( 12, 2, ReturnInfoMask
),
13698 rec( 14, 2, ExtendedInfo
),
13699 rec( 16, 2, ReturnInfoCount
),
13700 rec( 18, 9, SeachSequenceStruct
),
13701 rec( 27, (1,255), SearchPattern
, info_str
=(SearchPattern
, "Search for: %s", ", %s") ),
13703 pkt
.Reply(NO_LENGTH_CHECK
, [
13704 rec( 8, 9, SeachSequenceStruct
),
13705 rec( 17, 1, MoreFlag
),
13706 rec( 18, 2, InfoCount
),
13707 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 1)" ),
13708 srec( PadDSSpaceAllocate
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 0)" ),
13709 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 1)" ),
13710 srec( PadAttributes
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 0)" ),
13711 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 1)" ),
13712 srec( PadDataStreamSize
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 0)" ),
13713 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 1)" ),
13714 srec( PadTotalStreamSize
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 0)" ),
13715 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 1)" ),
13716 srec( PadCreationInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 0)" ),
13717 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 1)" ),
13718 srec( PadModifyInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 0)" ),
13719 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 1)" ),
13720 srec( PadArchiveInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 0)" ),
13721 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 1)" ),
13722 srec( PadRightsInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 0)" ),
13723 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 1)" ),
13724 srec( PadDirEntry
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 0)" ),
13725 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 1)" ),
13726 srec( PadEAInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 0)" ),
13727 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 1)" ),
13728 srec( PadNSInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 0)" ),
13729 srec( FileNameStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_fname == 1)" ),
13730 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_alloc == 1)" ),
13731 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_attr == 1)" ),
13732 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_size == 1)" ),
13733 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_tspace == 1)" ),
13734 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_create == 1)" ),
13735 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_mod == 1)" ),
13736 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_arch == 1)" ),
13737 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_rights == 1)" ),
13738 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_dir == 1)" ),
13739 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_eattr == 1)" ),
13740 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_ns == 1)" ),
13741 srec( FileNameStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_fname == 1)" ),
13743 pkt
.ReqCondSizeVariable()
13744 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
13745 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13746 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16])
13748 pkt
= NCP(0x5729, "Scan Salvageable Files", 'file', has_length
=0)
13749 pkt
.Request((24,278), [
13750 rec( 8, 1, NameSpace
),
13751 rec( 9, 1, Reserved
),
13752 rec( 10, 2, CtrlFlags
, ENC_LITTLE_ENDIAN
),
13753 rec( 12, 4, SequenceNumber
),
13754 rec( 16, 1, VolumeNumber
),
13755 rec( 17, 4, DirectoryBase
),
13756 rec( 21, 1, HandleFlag
),
13757 rec( 22, 1, PathCount
, var
="x" ),
13758 rec( 23, (1,255), Path
, repeat
="x", info_str
=(Path
, "Scan Deleted Files: %s", "/%s") ),
13760 pkt
.Reply(NO_LENGTH_CHECK
, [
13761 rec( 8, 4, SequenceNumber
),
13762 rec( 12, 4, DirectoryBase
),
13763 rec( 16, 4, ScanItems
, var
="x" ),
13764 srec(ScanInfoFileName
, req_cond
="ncp.ctrl_flags==0x0001", repeat
="x" ),
13765 srec(ScanInfoFileNoName
, req_cond
="ncp.ctrl_flags==0x0000", repeat
="x" ),
13767 pkt
.ReqCondSizeVariable()
13768 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
13769 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13770 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16])
13772 pkt
= NCP(0x572A, "Purge Salvageable File List", 'file', has_length
=0)
13774 rec( 8, 1, NameSpace
),
13775 rec( 9, 1, Reserved
),
13776 rec( 10, 2, PurgeFlags
),
13777 rec( 12, 4, VolumeNumberLong
),
13778 rec( 16, 4, DirectoryBase
),
13779 rec( 20, 4, PurgeCount
, var
="x" ),
13780 rec( 24, 4, PurgeList
, repeat
="x" ),
13783 rec( 8, 4, PurgeCount
, var
="x" ),
13784 rec( 12, 4, PurgeCcode
, repeat
="x" ),
13786 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
13787 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13788 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16])
13790 pkt
= NCP(0x572B, "Revoke File Handle Rights", 'file', has_length
=0)
13792 rec( 8, 3, Reserved3
),
13793 rec( 11, 1, RevQueryFlag
),
13794 rec( 12, 4, FileHandle
),
13795 rec( 16, 1, RemoveOpenRights
),
13798 rec( 8, 4, FileHandle
),
13799 rec( 12, 1, OpenRights
),
13801 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
13802 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13803 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16])
13805 pkt
= NCP(0x572C, "Update File Handle Rights", 'file', has_length
=0)
13807 rec( 8, 2, Reserved2
),
13808 rec( 10, 1, VolumeNumber
),
13809 rec( 11, 1, NameSpace
),
13810 rec( 12, 4, DirectoryNumber
),
13811 rec( 16, 2, AccessRightsMaskWord
),
13812 rec( 18, 2, NewAccessRights
),
13813 rec( 20, 4, FileHandle
, ENC_BIG_ENDIAN
),
13816 rec( 8, 4, FileHandle
, ENC_BIG_ENDIAN
),
13817 rec( 12, 4, EffectiveRights
, ENC_LITTLE_ENDIAN
),
13819 pkt
.CompletionCodes([0x0000, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
13820 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
13821 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16])
13822 pkt
.MakeExpert("ncp572c")
13824 pkt
= NCP(0x5740, "Read from File", 'file', has_length
=0)
13826 rec( 8, 4, FileHandle
, ENC_BIG_ENDIAN
),
13827 rec( 12, 8, StartOffset64bit
, ENC_BIG_ENDIAN
),
13828 rec( 20, 2, NumBytes
, ENC_BIG_ENDIAN
),
13831 rec( 8, 2, NumBytes
, ENC_BIG_ENDIAN
),
13833 pkt
.CompletionCodes([0x0000, 0x8300, 0x8800, 0x9300, 0x9500, 0xa201, 0xfd00, 0xff1b])
13835 pkt
= NCP(0x5741, "Write to File", 'file', has_length
=0)
13837 rec( 8, 4, FileHandle
, ENC_BIG_ENDIAN
),
13838 rec( 12, 8, StartOffset64bit
, ENC_BIG_ENDIAN
),
13839 rec( 20, 2, NumBytes
, ENC_BIG_ENDIAN
),
13842 pkt
.CompletionCodes([0x0000, 0x0102, 0x8300, 0x8800, 0x9400, 0x9500, 0xa201, 0xfd00, 0xff1b])
13844 pkt
= NCP(0x5742, "Get Current Size of File", 'file', has_length
=0)
13846 rec( 8, 4, FileHandle
, ENC_BIG_ENDIAN
),
13849 rec( 8, 8, FileSize64bit
),
13851 pkt
.CompletionCodes([0x0000, 0x7f00, 0x8800, 0x9600, 0xfd02, 0xff01])
13853 pkt
= NCP(0x5743, "Log Physical Record", 'file', has_length
=0)
13855 rec( 8, 4, LockFlag
, ENC_BIG_ENDIAN
),
13856 rec(12, 4, FileHandle
, ENC_BIG_ENDIAN
),
13857 rec(16, 8, StartOffset64bit
, ENC_BIG_ENDIAN
),
13858 rec(24, 8, Length64bit
, ENC_BIG_ENDIAN
),
13859 rec(32, 4, LockTimeout
, ENC_BIG_ENDIAN
),
13862 pkt
.CompletionCodes([0x0000, 0x7f00, 0x8800, 0x9600, 0xfb08, 0xfd02, 0xff01])
13864 pkt
= NCP(0x5744, "Release Physical Record", 'file', has_length
=0)
13866 rec(8, 4, FileHandle
, ENC_BIG_ENDIAN
),
13867 rec(12, 8, StartOffset64bit
, ENC_BIG_ENDIAN
),
13868 rec(20, 8, Length64bit
, ENC_BIG_ENDIAN
),
13871 pkt
.CompletionCodes([0x0000, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
13872 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
13873 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff1a])
13875 pkt
= NCP(0x5745, "Clear Physical Record", 'file', has_length
=0)
13877 rec(8, 4, FileHandle
, ENC_BIG_ENDIAN
),
13878 rec(12, 8, StartOffset64bit
, ENC_BIG_ENDIAN
),
13879 rec(20, 8, Length64bit
, ENC_BIG_ENDIAN
),
13882 pkt
.CompletionCodes([0x0000, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
13883 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
13884 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff1a])
13886 pkt
= NCP(0x5746, "Copy from One File to Another (64 Bit offset capable)", 'file', has_length
=0)
13888 rec(8, 6, SourceFileHandle
, ENC_BIG_ENDIAN
),
13889 rec(14, 6, TargetFileHandle
, ENC_BIG_ENDIAN
),
13890 rec(20, 8, SourceFileOffset
, ENC_BIG_ENDIAN
),
13891 rec(28, 8, TargetFileOffset64bit
, ENC_BIG_ENDIAN
),
13892 rec(36, 8, BytesToCopy64bit
, ENC_BIG_ENDIAN
),
13895 rec( 8, 8, BytesActuallyTransferred64bit
, ENC_BIG_ENDIAN
),
13897 pkt
.CompletionCodes([0x0000, 0x0104, 0x8301, 0x8800, 0x9300, 0x9400,
13898 0x9500, 0x9600, 0xa201])
13900 pkt
= NCP(0x5747, "Get Sparse File Data Block Bit Map", 'file', has_length
=0)
13902 rec(8, 6, SourceFileHandle
, ENC_BIG_ENDIAN
),
13903 rec(14, 8, SourceFileOffset
, ENC_BIG_ENDIAN
),
13904 rec(22, 1, ExtentListFormat
, ENC_BIG_ENDIAN
),
13906 pkt
.Reply(NO_LENGTH_CHECK
, [
13907 rec( 8, 1, ExtentListFormat
),
13908 rec( 9, 1, RetExtentListCount
, var
="x" ),
13909 rec( 10, 8, EndingOffset
),
13910 srec(zFileMap_Allocation
, req_cond
="ncp.ext_lst_format==0", repeat
="x" ),
13911 srec(zFileMap_Logical
, req_cond
="ncp.ext_lst_format==1", repeat
="x" ),
13912 srec(zFileMap_Physical
, req_cond
="ncp.ext_lst_format==2", repeat
="x" ),
13914 pkt
.ReqCondSizeVariable()
13915 pkt
.CompletionCodes([0x0000, 0x8800, 0xff00])
13917 pkt
= NCP(0x5748, "Read a File", 'file', has_length
=0)
13919 rec( 8, 4, FileHandle
, ENC_BIG_ENDIAN
),
13920 rec( 12, 8, StartOffset64bit
, ENC_BIG_ENDIAN
),
13921 rec( 20, 4, NumBytesLong
, ENC_BIG_ENDIAN
),
13923 pkt
.Reply(NO_LENGTH_CHECK
, [
13924 rec( 8, 4, NumBytesLong
, ENC_BIG_ENDIAN
),
13925 rec( 12, PROTO_LENGTH_UNKNOWN
, Data64
),
13926 #decoded in packet-ncp2222.inc
13927 # rec( NumBytesLong, 4, BytesActuallyTransferred64bit, ENC_BIG_ENDIAN),
13929 pkt
.CompletionCodes([0x0000, 0x8300, 0x8800, 0x9300, 0x9500, 0xa201, 0xfd00, 0xff1b])
13932 pkt
= NCP(0x5749, "Write to a File", 'file', has_length
=0)
13934 rec( 8, 4, FileHandle
, ENC_BIG_ENDIAN
),
13935 rec( 12, 8, StartOffset64bit
, ENC_BIG_ENDIAN
),
13936 rec( 20, 4, NumBytesLong
, ENC_BIG_ENDIAN
),
13939 pkt
.CompletionCodes([0x0000, 0x0102, 0x8300, 0x8800, 0x9400, 0x9500, 0xa201, 0xfd00, 0xff1b])
13942 pkt
= NCP(0x5801, "Query Volume Audit Status", "auditing", has_length
=0)
13944 rec( 8, 4, ConnectionNumber
),
13947 rec(8, 32, NWAuditStatus
),
13949 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
13950 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
13951 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
13953 pkt
= NCP(0x5802, "Add User Audit Property", "auditing", has_length
=0)
13955 rec(8, 4, AuditIDType
),
13956 rec(12, 4, AuditID
),
13957 rec(16, 4, AuditHandle
),
13958 rec(20, 4, ObjectID
),
13959 rec(24, 1, AuditFlag
),
13962 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
13963 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
13964 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
13966 pkt
= NCP(0x5803, "Add Auditor Access", "auditing", has_length
=0)
13969 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
13970 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
13971 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xde00, 0xfd00, 0xff16])
13973 pkt
= NCP(0x5804, "Change Auditor Volume Password", "auditing", has_length
=0)
13976 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
13977 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
13978 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
13980 pkt
= NCP(0x5805, "Check Auditor Access", "auditing", has_length
=0)
13983 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
13984 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
13985 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
13987 pkt
= NCP(0x5806, "Delete User Audit Property", "auditing", has_length
=0)
13990 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
13991 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
13992 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff21])
13994 pkt
= NCP(0x5807, "Disable Auditing On A Volume", "auditing", has_length
=0)
13997 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
13998 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
13999 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
14001 pkt
= NCP(0x5808, "Enable Auditing On A Volume", "auditing", has_length
=0)
14004 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
14005 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
14006 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xde00, 0xfd00, 0xff16])
14008 pkt
= NCP(0x5809, "Query User Being Audited", "auditing", has_length
=0)
14011 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
14012 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
14013 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
14015 pkt
= NCP(0x580A, "Read Audit Bit Map", "auditing", has_length
=0)
14018 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
14019 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
14020 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
14022 pkt
= NCP(0x580B, "Read Audit File Configuration Header", "auditing", has_length
=0)
14025 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
14026 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
14027 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
14029 pkt
= NCP(0x580D, "Remove Auditor Access", "auditing", has_length
=0)
14032 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
14033 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
14034 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
14036 pkt
= NCP(0x580E, "Reset Audit File", "auditing", has_length
=0)
14039 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
14040 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
14041 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
14044 pkt
= NCP(0x580F, "Auditing NCP", "auditing", has_length
=0)
14047 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
14048 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
14049 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfb00, 0xfd00, 0xff16])
14051 pkt
= NCP(0x5810, "Write Audit Bit Map", "auditing", has_length
=0)
14054 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
14055 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
14056 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
14058 pkt
= NCP(0x5811, "Write Audit File Configuration Header", "auditing", has_length
=0)
14061 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
14062 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
14063 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
14065 pkt
= NCP(0x5812, "Change Auditor Volume Password2", "auditing", has_length
=0)
14068 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
14069 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
14070 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
14072 pkt
= NCP(0x5813, "Return Audit Flags", "auditing", has_length
=0)
14075 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
14076 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
14077 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
14079 pkt
= NCP(0x5814, "Close Old Audit File", "auditing", has_length
=0)
14082 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
14083 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
14084 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
14086 pkt
= NCP(0x5816, "Check Level Two Access", "auditing", has_length
=0)
14089 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
14090 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
14091 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xde00, 0xfd00, 0xff16])
14093 pkt
= NCP(0x5817, "Return Old Audit File List", "auditing", has_length
=0)
14096 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
14097 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
14098 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
14100 pkt
= NCP(0x5818, "Init Audit File Reads", "auditing", has_length
=0)
14103 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
14104 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
14105 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
14107 pkt
= NCP(0x5819, "Read Auditing File", "auditing", has_length
=0)
14110 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
14111 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
14112 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
14114 pkt
= NCP(0x581A, "Delete Old Audit File", "auditing", has_length
=0)
14117 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
14118 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
14119 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
14121 pkt
= NCP(0x581E, "Restart Volume auditing", "auditing", has_length
=0)
14124 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
14125 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
14126 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
14128 pkt
= NCP(0x581F, "Set Volume Password", "auditing", has_length
=0)
14131 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
14132 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
14133 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
14135 pkt
= NCP(0x5901, "Open/Create File or Subdirectory", "enhanced", has_length
=0)
14136 pkt
.Request((37,290), [
14137 rec( 8, 1, NameSpace
),
14138 rec( 9, 1, OpenCreateMode
),
14139 rec( 10, 2, SearchAttributesLow
),
14140 rec( 12, 2, ReturnInfoMask
),
14141 rec( 14, 2, ExtendedInfo
),
14142 rec( 16, 4, AttributesDef32
),
14143 rec( 20, 2, DesiredAccessRights
),
14144 rec( 22, 4, DirectoryBase
),
14145 rec( 26, 1, VolumeNumber
),
14146 rec( 27, 1, HandleFlag
),
14147 rec( 28, 1, DataTypeFlag
),
14148 rec( 29, 5, Reserved5
),
14149 rec( 34, 1, PathCount
, var
="x" ),
14150 rec( 35, (2,255), Path16
, repeat
="x", info_str
=(Path16
, "Open or Create File or Subdirectory: %s", "/%s") ),
14152 pkt
.Reply( NO_LENGTH_CHECK
, [
14153 rec( 8, 4, FileHandle
, ENC_BIG_ENDIAN
),
14154 rec( 12, 1, OpenCreateAction
),
14155 rec( 13, 1, Reserved
),
14156 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 1)" ),
14157 srec( PadDSSpaceAllocate
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 0)" ),
14158 srec( AttributesStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 1)" ),
14159 srec( PadAttributes
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 0)" ),
14160 srec( DataStreamSizeStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 1)" ),
14161 srec( PadDataStreamSize
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 0)" ),
14162 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 1)" ),
14163 srec( PadTotalStreamSize
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 0)" ),
14164 srec( CreationInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 1)" ),
14165 srec( PadCreationInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 0)" ),
14166 srec( ModifyInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 1)" ),
14167 srec( PadModifyInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 0)" ),
14168 srec( ArchiveInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 1)" ),
14169 srec( PadArchiveInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 0)" ),
14170 srec( RightsInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 1)" ),
14171 srec( PadRightsInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 0)" ),
14172 srec( DirEntryStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 1)" ),
14173 srec( PadDirEntry
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 0)" ),
14174 srec( EAInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 1)" ),
14175 srec( PadEAInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 0)" ),
14176 srec( NSInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 1)" ),
14177 srec( PadNSInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 0)" ),
14178 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_alloc == 1)" ),
14179 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_attr == 1)" ),
14180 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_size == 1)" ),
14181 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_tspace == 1)" ),
14182 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_eattr == 1)" ),
14183 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_mod == 1)" ),
14184 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_create == 1)" ),
14185 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_arch == 1)" ),
14186 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_dir == 1)" ),
14187 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_rights == 1)" ),
14188 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_ns == 1)" ),
14189 srec( ReferenceIDStruct
, req_cond
="ncp.ret_info_mask_id == 1" ),
14190 srec( NSAttributeStruct
, req_cond
="ncp.ret_info_mask_ns_attr == 1" ),
14191 rec( -1, 4, DataStreamsCount
, var
="x" , req_cond
="ncp.ret_info_mask_actual == 1" ),
14192 srec( DStreamActual
, repeat
= "x" , req_cond
="ncp.ret_info_mask_actual == 1" ),
14193 rec( -1, 4, DataStreamsCount
, var
="y", req_cond
="ncp.ret_info_mask_logical == 1" ),
14194 srec( DStreamLogical
, repeat
="y" , req_cond
="ncp.ret_info_mask_logical == 1" ),
14195 srec( LastUpdatedInSecondsStruct
, req_cond
="ncp.ext_info_update == 1" ),
14196 srec( DOSName16Struct
, req_cond
="ncp.ext_info_dos_name == 1" ),
14197 srec( FlushTimeStruct
, req_cond
="ncp.ext_info_flush == 1" ),
14198 srec( ParentBaseIDStruct
, req_cond
="ncp.ext_info_parental == 1" ),
14199 srec( MacFinderInfoStruct
, req_cond
="ncp.ext_info_mac_finder == 1" ),
14200 srec( SiblingCountStruct
, req_cond
="ncp.ext_info_sibling == 1" ),
14201 srec( EffectiveRightsStruct
, req_cond
="ncp.ext_info_effective == 1" ),
14202 srec( MacTimeStruct
, req_cond
="ncp.ext_info_mac_date == 1" ),
14203 srec( LastAccessedTimeStruct
, req_cond
="ncp.ext_info_access == 1" ),
14204 srec( FileSize64bitStruct
, req_cond
="ncp.ext_info_64_bit_fs == 1" ),
14205 srec( FileName16Struct
, req_cond
="ncp.ret_info_mask_fname == 1" ),
14207 pkt
.ReqCondSizeVariable()
14208 pkt
.CompletionCodes([0x0000, 0x0102, 0x7f00, 0x8000, 0x8101, 0x8401, 0x8501,
14209 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
14210 0x9804, 0x9900, 0x9b03, 0x9c03, 0xa901, 0xa500, 0xaa00, 0xbf00, 0xfd00, 0xff16])
14211 pkt
.MakeExpert("file_rights")
14213 pkt
= NCP(0x5902, "Initialize Search", 'enhanced', has_length
=0)
14214 pkt
.Request( (25,278), [
14215 rec( 8, 1, NameSpace
),
14216 rec( 9, 1, Reserved
),
14217 rec( 10, 4, DirectoryBase
),
14218 rec( 14, 1, VolumeNumber
),
14219 rec( 15, 1, HandleFlag
),
14220 rec( 16, 1, DataTypeFlag
),
14221 rec( 17, 5, Reserved5
),
14222 rec( 22, 1, PathCount
, var
="x" ),
14223 rec( 23, (2,255), Path16
, repeat
="x", info_str
=(Path16
, "Set Search Pointer to: %s", "/%s") ),
14226 rec( 8, 1, VolumeNumber
),
14227 rec( 9, 4, DirectoryNumber
),
14228 rec( 13, 4, DirectoryEntryNumber
),
14230 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
14231 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
14232 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
14234 pkt
= NCP(0x5903, "Search for File or Subdirectory", 'enhanced', has_length
=0)
14236 rec( 8, 1, NameSpace
),
14237 rec( 9, 1, DataStream
),
14238 rec( 10, 2, SearchAttributesLow
),
14239 rec( 12, 2, ReturnInfoMask
),
14240 rec( 14, 2, ExtendedInfo
),
14241 rec( 16, 9, SeachSequenceStruct
),
14242 rec( 25, 1, DataTypeFlag
),
14243 # next field is dissected in packet-ncp2222.inc
14244 #rec( 26, (2,255), SearchPattern16, info_str=(SearchPattern16, "Search for: %s", "/%s") ),
14246 pkt
.Reply( NO_LENGTH_CHECK
, [
14247 rec( 8, 9, SeachSequenceStruct
),
14248 rec( 17, 1, Reserved
),
14249 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 1)" ),
14250 srec( PadDSSpaceAllocate
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 0)" ),
14251 srec( AttributesStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 1)" ),
14252 srec( PadAttributes
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 0)" ),
14253 srec( DataStreamSizeStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 1)" ),
14254 srec( PadDataStreamSize
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 0)" ),
14255 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 1)" ),
14256 srec( PadTotalStreamSize
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 0)" ),
14257 srec( CreationInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 1)" ),
14258 srec( PadCreationInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 0)" ),
14259 srec( ModifyInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 1)" ),
14260 srec( PadModifyInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 0)" ),
14261 srec( ArchiveInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 1)" ),
14262 srec( PadArchiveInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 0)" ),
14263 srec( RightsInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 1)" ),
14264 srec( PadRightsInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 0)" ),
14265 srec( DirEntryStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 1)" ),
14266 srec( PadDirEntry
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 0)" ),
14267 srec( EAInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 1)" ),
14268 srec( PadEAInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 0)" ),
14269 srec( NSInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 1)" ),
14270 srec( PadNSInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 0)" ),
14271 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_alloc == 1)" ),
14272 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_attr == 1)" ),
14273 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_size == 1)" ),
14274 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_tspace == 1)" ),
14275 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_eattr == 1)" ),
14276 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_arch == 1)" ),
14277 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_mod == 1)" ),
14278 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_create == 1)" ),
14279 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_ns == 1)" ),
14280 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_dir == 1)" ),
14281 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_rights == 1)" ),
14282 srec( ReferenceIDStruct
, req_cond
="ncp.ret_info_mask_id == 1" ),
14283 srec( NSAttributeStruct
, req_cond
="ncp.ret_info_mask_ns_attr == 1" ),
14284 rec( -1, 4, DataStreamsCount
, var
="x" , req_cond
="ncp.ret_info_mask_actual == 1" ),
14285 srec( DStreamActual
, repeat
= "x" , req_cond
="ncp.ret_info_mask_actual == 1" ),
14286 rec( -1, 4, DataStreamsCount
, var
="y", req_cond
="ncp.ret_info_mask_logical == 1" ),
14287 srec( DStreamLogical
, repeat
="y" , req_cond
="ncp.ret_info_mask_logical == 1" ),
14288 srec( LastUpdatedInSecondsStruct
, req_cond
="ncp.ext_info_update == 1" ),
14289 srec( DOSName16Struct
, req_cond
="ncp.ext_info_dos_name == 1" ),
14290 srec( FlushTimeStruct
, req_cond
="ncp.ext_info_flush == 1" ),
14291 srec( ParentBaseIDStruct
, req_cond
="ncp.ext_info_parental == 1" ),
14292 srec( MacFinderInfoStruct
, req_cond
="ncp.ext_info_mac_finder == 1" ),
14293 srec( SiblingCountStruct
, req_cond
="ncp.ext_info_sibling == 1" ),
14294 srec( EffectiveRightsStruct
, req_cond
="ncp.ext_info_effective == 1" ),
14295 srec( MacTimeStruct
, req_cond
="ncp.ext_info_mac_date == 1" ),
14296 srec( LastAccessedTimeStruct
, req_cond
="ncp.ext_info_access == 1" ),
14297 srec( FileSize64bitStruct
, req_cond
="ncp.ext_info_64_bit_fs == 1" ),
14298 srec( FileName16Struct
, req_cond
="ncp.ret_info_mask_fname == 1" ),
14300 pkt
.ReqCondSizeVariable()
14301 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
14302 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
14303 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
14305 pkt
= NCP(0x5904, "Rename Or Move a File or Subdirectory", 'enhanced', has_length
=0)
14306 pkt
.Request((42, 548), [
14307 rec( 8, 1, NameSpace
),
14308 rec( 9, 1, RenameFlag
),
14309 rec( 10, 2, SearchAttributesLow
),
14310 rec( 12, 12, SrcEnhNWHandlePathS1
),
14311 rec( 24, 1, PathCount
, var
="x" ),
14312 rec( 25, 12, DstEnhNWHandlePathS1
),
14313 rec( 37, 1, PathCount
, var
="y" ),
14314 rec( 38, (2, 255), Path16
, repeat
="x", info_str
=(Path16
, "Rename or Move: %s", "/%s") ),
14315 rec( -1, (2,255), DestPath16
, repeat
="y" ),
14318 pkt
.CompletionCodes([0x0000, 0x0102, 0x8000, 0x8101, 0x8401, 0x8501,
14319 0x8701, 0x8d00, 0x8e00, 0x8f00, 0x9001, 0x9200, 0x9600,
14320 0x9804, 0x9a00, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
14322 pkt
= NCP(0x5905, "Scan File or Subdirectory for Trustees", 'enhanced', has_length
=0)
14323 pkt
.Request((31, 284), [
14324 rec( 8, 1, NameSpace
),
14325 rec( 9, 1, MaxReplyObjectIDCount
),
14326 rec( 10, 2, SearchAttributesLow
),
14327 rec( 12, 4, SequenceNumber
),
14328 rec( 16, 4, DirectoryBase
),
14329 rec( 20, 1, VolumeNumber
),
14330 rec( 21, 1, HandleFlag
),
14331 rec( 22, 1, DataTypeFlag
),
14332 rec( 23, 5, Reserved5
),
14333 rec( 28, 1, PathCount
, var
="x" ),
14334 rec( 29, (2, 255), Path16
, repeat
="x", info_str
=(Path16
, "Scan Trustees for: %s", "/%s") ),
14337 rec( 8, 4, SequenceNumber
),
14338 rec( 12, 2, ObjectIDCount
, var
="x" ),
14339 rec( 14, 6, TrusteeStruct
, repeat
="x" ),
14341 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
14342 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
14343 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
14345 pkt
= NCP(0x5906, "Obtain File or SubDirectory Information", 'enhanced', has_length
=0)
14346 pkt
.Request((22), [
14347 rec( 8, 1, SrcNameSpace
),
14348 rec( 9, 1, DestNameSpace
),
14349 rec( 10, 2, SearchAttributesLow
),
14350 rec( 12, 2, ReturnInfoMask
, ENC_LITTLE_ENDIAN
),
14351 rec( 14, 2, ExtendedInfo
),
14352 rec( 16, 4, DirectoryBase
),
14353 rec( 20, 1, VolumeNumber
),
14354 rec( 21, 1, HandleFlag
),
14356 # Move to packet-ncp2222.inc
14357 # The datatype flag indicates if the path is represented as ASCII or UTF8
14358 # ASCII has a 1 byte count field whereas UTF8 has a two byte count field.
14360 #rec( 22, 1, DataTypeFlag ),
14361 #rec( 23, 5, Reserved5 ),
14362 #rec( 28, 1, PathCount, var="x" ),
14363 #rec( 29, (2,255), Path16, repeat="x", info_str=(Path16, "Obtain Info for: %s", "/%s")),
14365 pkt
.Reply(NO_LENGTH_CHECK
, [
14366 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 1)" ),
14367 srec( PadDSSpaceAllocate
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 0)" ),
14368 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 1)" ),
14369 srec( PadAttributes
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 0)" ),
14370 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 1)" ),
14371 srec( PadDataStreamSize
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 0)" ),
14372 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 1)" ),
14373 srec( PadTotalStreamSize
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 0)" ),
14374 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 1)" ),
14375 srec( PadCreationInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 0)" ),
14376 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 1)" ),
14377 srec( PadModifyInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 0)" ),
14378 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 1)" ),
14379 srec( PadArchiveInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 0)" ),
14380 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 1)" ),
14381 srec( PadRightsInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 0)" ),
14382 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 1)" ),
14383 srec( PadDirEntry
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 0)" ),
14384 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 1)" ),
14385 srec( PadEAInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 0)" ),
14386 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 1)" ),
14387 srec( PadNSInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 0)" ),
14388 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_alloc == 1)" ),
14389 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_attr == 1)" ),
14390 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_size == 1)" ),
14391 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_tspace == 1)" ),
14392 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_eattr == 1)" ),
14393 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_arch == 1)" ),
14394 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_mod == 1)" ),
14395 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_create == 1)" ),
14396 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_ns == 1)" ),
14397 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_dir == 1)" ),
14398 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_rights == 1)" ),
14399 srec( ReferenceIDStruct
, req_cond
="ncp.ret_info_mask_id == 1" ),
14400 srec( NSAttributeStruct
, req_cond
="ncp.ret_info_mask_ns_attr == 1" ),
14401 rec( -1, 4, DataStreamsCount
, var
="x" , req_cond
="ncp.ret_info_mask_actual == 1" ),
14402 srec( DStreamActual
, repeat
= "x" , req_cond
="ncp.ret_info_mask_actual == 1" ),
14403 rec( -1, 4, DataStreamsCount
, var
="y", req_cond
="ncp.ret_info_mask_logical == 1" ),
14404 srec( DStreamLogical
, repeat
="y" , req_cond
="ncp.ret_info_mask_logical == 1" ),
14405 srec( LastUpdatedInSecondsStruct
, req_cond
="ncp.ext_info_update == 1" ),
14406 srec( FlushTimeStruct
, req_cond
="ncp.ext_info_flush == 1" ),
14407 srec( ParentBaseIDStruct
, req_cond
="ncp.ext_info_parental == 1" ),
14408 srec( MacFinderInfoStruct
, req_cond
="ncp.ext_info_mac_finder == 1" ),
14409 srec( SiblingCountStruct
, req_cond
="ncp.ext_info_sibling == 1" ),
14410 srec( EffectiveRightsStruct
, req_cond
="ncp.ext_info_effective == 1" ),
14411 srec( MacTimeStruct
, req_cond
="ncp.ext_info_mac_date == 1" ),
14412 srec( LastAccessedTimeStruct
, req_cond
="ncp.ext_info_access == 1" ),
14413 srec( DOSName16Struct
, req_cond
="ncp.ext_info_dos_name == 1" ),
14414 srec( FileSize64bitStruct
, req_cond
="ncp.ext_info_64_bit_fs == 1" ),
14415 srec( FileName16Struct
, req_cond
="ncp.ret_info_mask_fname == 1" ),
14417 pkt
.ReqCondSizeVariable()
14418 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
14419 0x8700, 0x8900, 0x8d00, 0x8f00, 0x9001, 0x9600,
14420 0x9804, 0x9b03, 0x9c03, 0xa802, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
14422 pkt
= NCP(0x5907, "Modify File or Subdirectory DOS Information", 'enhanced', has_length
=0)
14423 pkt
.Request((69,322), [
14424 rec( 8, 1, NameSpace
),
14425 rec( 9, 1, Reserved
),
14426 rec( 10, 2, SearchAttributesLow
),
14427 rec( 12, 2, ModifyDOSInfoMask
),
14428 rec( 14, 2, Reserved2
),
14429 rec( 16, 2, AttributesDef16
),
14430 rec( 18, 1, FileMode
),
14431 rec( 19, 1, FileExtendedAttributes
),
14432 rec( 20, 2, CreationDate
),
14433 rec( 22, 2, CreationTime
),
14434 rec( 24, 4, CreatorID
, ENC_BIG_ENDIAN
),
14435 rec( 28, 2, ModifiedDate
),
14436 rec( 30, 2, ModifiedTime
),
14437 rec( 32, 4, ModifierID
, ENC_BIG_ENDIAN
),
14438 rec( 36, 2, ArchivedDate
),
14439 rec( 38, 2, ArchivedTime
),
14440 rec( 40, 4, ArchiverID
, ENC_BIG_ENDIAN
),
14441 rec( 44, 2, LastAccessedDate
),
14442 rec( 46, 2, InheritedRightsMask
),
14443 rec( 48, 2, InheritanceRevokeMask
),
14444 rec( 50, 4, MaxSpace
),
14445 rec( 54, 4, DirectoryBase
),
14446 rec( 58, 1, VolumeNumber
),
14447 rec( 59, 1, HandleFlag
),
14448 rec( 60, 1, DataTypeFlag
),
14449 rec( 61, 5, Reserved5
),
14450 rec( 66, 1, PathCount
, var
="x" ),
14451 rec( 67, (2,255), Path16
, repeat
="x", info_str
=(Path16
, "Modify DOS Information for: %s", "/%s") ),
14454 pkt
.CompletionCodes([0x0000, 0x0102, 0x7902, 0x8000, 0x8101, 0x8401, 0x8501,
14455 0x8701, 0x8c01, 0x8d00, 0x8e00, 0x8f00, 0x9001, 0x9600,
14456 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
14458 pkt
= NCP(0x5908, "Delete a File or Subdirectory", 'enhanced', has_length
=0)
14459 pkt
.Request((27,280), [
14460 rec( 8, 1, NameSpace
),
14461 rec( 9, 1, Reserved
),
14462 rec( 10, 2, SearchAttributesLow
),
14463 rec( 12, 4, DirectoryBase
),
14464 rec( 16, 1, VolumeNumber
),
14465 rec( 17, 1, HandleFlag
),
14466 rec( 18, 1, DataTypeFlag
),
14467 rec( 19, 5, Reserved5
),
14468 rec( 24, 1, PathCount
, var
="x" ),
14469 rec( 25, (2,255), Path16
, repeat
="x", info_str
=(Path16
, "Delete a File or Subdirectory: %s", "/%s") ),
14472 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
14473 0x8701, 0x8900, 0x8a00, 0x8d00, 0x8e00, 0x8f00, 0x9001, 0x9600,
14474 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
14476 pkt
= NCP(0x5909, "Set Short Directory Handle", 'enhanced', has_length
=0)
14477 pkt
.Request((27,280), [
14478 rec( 8, 1, NameSpace
),
14479 rec( 9, 1, DataStream
),
14480 rec( 10, 1, DestDirHandle
),
14481 rec( 11, 1, Reserved
),
14482 rec( 12, 4, DirectoryBase
),
14483 rec( 16, 1, VolumeNumber
),
14484 rec( 17, 1, HandleFlag
),
14485 rec( 18, 1, DataTypeFlag
),
14486 rec( 19, 5, Reserved5
),
14487 rec( 24, 1, PathCount
, var
="x" ),
14488 rec( 25, (2,255), Path16
, repeat
="x", info_str
=(Path16
, "Set Short Directory Handle to: %s", "/%s") ),
14491 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
14492 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
14493 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
14495 pkt
= NCP(0x590A, "Add Trustee Set to File or Subdirectory", 'enhanced', has_length
=0)
14496 pkt
.Request((37,290), [
14497 rec( 8, 1, NameSpace
),
14498 rec( 9, 1, Reserved
),
14499 rec( 10, 2, SearchAttributesLow
),
14500 rec( 12, 2, AccessRightsMaskWord
),
14501 rec( 14, 2, ObjectIDCount
, var
="y" ),
14502 rec( -1, 6, TrusteeStruct
, repeat
="y" ),
14503 rec( -1, 4, DirectoryBase
),
14504 rec( -1, 1, VolumeNumber
),
14505 rec( -1, 1, HandleFlag
),
14506 rec( -1, 1, DataTypeFlag
),
14507 rec( -1, 5, Reserved5
),
14508 rec( -1, 1, PathCount
, var
="x" ),
14509 rec( -1, (2,255), Path16
, repeat
="x", info_str
=(Path16
, "Add Trustee Set to: %s", "/%s") ),
14512 pkt
.CompletionCodes([0x0000, 0x0102, 0x8000, 0x8101, 0x8401, 0x8501,
14513 0x8701, 0x8c01, 0x8d00, 0x8f00, 0x9001, 0x9600,
14514 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfc01, 0xfd00, 0xff16])
14516 pkt
= NCP(0x590B, "Delete Trustee Set from File or SubDirectory", 'enhanced', has_length
=0)
14517 pkt
.Request((34,287), [
14518 rec( 8, 1, NameSpace
),
14519 rec( 9, 1, Reserved
),
14520 rec( 10, 2, ObjectIDCount
, var
="y" ),
14521 rec( 12, 7, TrusteeStruct
, repeat
="y" ),
14522 rec( 19, 4, DirectoryBase
),
14523 rec( 23, 1, VolumeNumber
),
14524 rec( 24, 1, HandleFlag
),
14525 rec( 25, 1, DataTypeFlag
),
14526 rec( 26, 5, Reserved5
),
14527 rec( 31, 1, PathCount
, var
="x" ),
14528 rec( 32, (2,255), Path16
, repeat
="x", info_str
=(Path16
, "Delete Trustee Set from: %s", "/%s") ),
14531 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
14532 0x8701, 0x8c01, 0x8d00, 0x8f00, 0x9001, 0x9600,
14533 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
14535 pkt
= NCP(0x590C, "Allocate Short Directory Handle", 'enhanced', has_length
=0)
14536 pkt
.Request((27,280), [
14537 rec( 8, 1, NameSpace
),
14538 rec( 9, 1, DestNameSpace
),
14539 rec( 10, 2, AllocateMode
),
14540 rec( 12, 4, DirectoryBase
),
14541 rec( 16, 1, VolumeNumber
),
14542 rec( 17, 1, HandleFlag
),
14543 rec( 18, 1, DataTypeFlag
),
14544 rec( 19, 5, Reserved5
),
14545 rec( 24, 1, PathCount
, var
="x" ),
14546 rec( 25, (2,255), Path16
, repeat
="x", info_str
=(Path16
, "Allocate Short Directory Handle to: %s", "/%s") ),
14548 pkt
.Reply(NO_LENGTH_CHECK
, [
14549 srec( ReplyLevel2Struct
, req_cond
="ncp.alloc_reply_lvl2 == TRUE" ),
14550 srec( ReplyLevel1Struct
, req_cond
="ncp.alloc_reply_lvl2 == FALSE" ),
14552 pkt
.ReqCondSizeVariable()
14553 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
14554 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
14555 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
14557 pkt
= NCP(0x5910, "Scan Salvageable Files", 'enhanced', has_length
=0)
14558 pkt
.Request((33,286), [
14559 rec( 8, 1, NameSpace
),
14560 rec( 9, 1, DataStream
),
14561 rec( 10, 2, ReturnInfoMask
),
14562 rec( 12, 2, ExtendedInfo
),
14563 rec( 14, 4, SequenceNumber
),
14564 rec( 18, 4, DirectoryBase
),
14565 rec( 22, 1, VolumeNumber
),
14566 rec( 23, 1, HandleFlag
),
14567 rec( 24, 1, DataTypeFlag
),
14568 rec( 25, 5, Reserved5
),
14569 rec( 30, 1, PathCount
, var
="x" ),
14570 rec( 31, (2,255), Path16
, repeat
="x", info_str
=(Path16
, "Scan for Deleted Files in: %s", "/%s") ),
14572 pkt
.Reply(NO_LENGTH_CHECK
, [
14573 rec( 8, 4, SequenceNumber
),
14574 rec( 12, 2, DeletedTime
),
14575 rec( 14, 2, DeletedDate
),
14576 rec( 16, 4, DeletedID
, ENC_BIG_ENDIAN
),
14577 rec( 20, 4, VolumeID
),
14578 rec( 24, 4, DirectoryBase
),
14579 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 1)" ),
14580 srec( PadDSSpaceAllocate
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 0)" ),
14581 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 1)" ),
14582 srec( PadAttributes
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 0)" ),
14583 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 1)" ),
14584 srec( PadDataStreamSize
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 0)" ),
14585 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 1)" ),
14586 srec( PadTotalStreamSize
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 0)" ),
14587 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 1)" ),
14588 srec( PadCreationInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 0)" ),
14589 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 1)" ),
14590 srec( PadModifyInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 0)" ),
14591 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 1)" ),
14592 srec( PadArchiveInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 0)" ),
14593 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 1)" ),
14594 srec( PadRightsInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 0)" ),
14595 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 1)" ),
14596 srec( PadDirEntry
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 0)" ),
14597 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 1)" ),
14598 srec( PadEAInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 0)" ),
14599 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 1)" ),
14600 srec( PadNSInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 0)" ),
14601 srec( FileName16Struct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_fname == 1)" ),
14602 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_alloc == 1)" ),
14603 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_attr == 1)" ),
14604 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_size == 1)" ),
14605 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_tspace == 1)" ),
14606 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_eattr == 1)" ),
14607 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_arch == 1)" ),
14608 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_mod == 1)" ),
14609 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_create == 1)" ),
14610 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_ns == 1)" ),
14611 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_dir == 1)" ),
14612 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_rights == 1)" ),
14613 srec( ReferenceIDStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_id == 1)" ),
14614 srec( NSAttributeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_ns_attr == 1)" ),
14615 rec( -1, 4, DataStreamsCount
, var
="x" , req_cond
="ncp.ret_info_mask_actual == 1" ),
14616 srec( DStreamActual
, repeat
= "x" , req_cond
="ncp.ret_info_mask_actual == 1" ),
14617 rec( -1, 4, DataStreamsCount
, var
="y", req_cond
="ncp.ret_info_mask_logical == 1" ),
14618 srec( DStreamLogical
, repeat
="y" , req_cond
="ncp.ret_info_mask_logical == 1" ),
14619 srec( LastUpdatedInSecondsStruct
, req_cond
="ncp.ext_info_update == 1" ),
14620 srec( FlushTimeStruct
, req_cond
="ncp.ext_info_flush == 1" ),
14621 srec( ParentBaseIDStruct
, req_cond
="ncp.ext_info_parental == 1" ),
14622 srec( MacFinderInfoStruct
, req_cond
="ncp.ext_info_mac_finder == 1" ),
14623 srec( SiblingCountStruct
, req_cond
="ncp.ext_info_sibling == 1" ),
14624 srec( EffectiveRightsStruct
, req_cond
="ncp.ext_info_effective == 1" ),
14625 srec( MacTimeStruct
, req_cond
="ncp.ext_info_mac_date == 1" ),
14626 srec( LastAccessedTimeStruct
, req_cond
="ncp.ext_info_access == 1" ),
14627 srec( DOSName16Struct
, req_cond
="ncp.ext_info_dos_name == 1" ),
14628 srec( FileSize64bitStruct
, req_cond
="ncp.ext_info_64_bit_fs == 1" ),
14629 srec( FileName16Struct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_fname == 1)" ),
14631 pkt
.ReqCondSizeVariable()
14632 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
14633 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
14634 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
14636 pkt
= NCP(0x5911, "Recover Salvageable File", 'enhanced', has_length
=0)
14637 pkt
.Request((24,278), [
14638 rec( 8, 1, NameSpace
),
14639 rec( 9, 1, Reserved
),
14640 rec( 10, 4, SequenceNumber
),
14641 rec( 14, 4, VolumeID
),
14642 rec( 18, 4, DirectoryBase
),
14643 rec( 22, 1, DataTypeFlag
),
14644 rec( 23, (1,255), FileName16
, info_str
=(FileName16
, "Recover Deleted File: %s", ", %s") ),
14647 pkt
.CompletionCodes([0x0000, 0x0102, 0x8000, 0x8101, 0x8401, 0x8501,
14648 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
14649 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
14651 pkt
= NCP(0x5913, "Get Name Space Information", 'enhanced', has_length
=0)
14653 rec( 8, 1, SrcNameSpace
),
14654 rec( 9, 1, DestNameSpace
),
14655 rec( 10, 1, DataTypeFlag
),
14656 rec( 11, 1, VolumeNumber
),
14657 rec( 12, 4, DirectoryBase
),
14658 rec( 16, 2, NamesSpaceInfoMask
),
14660 pkt
.Reply(NO_LENGTH_CHECK
, [
14661 srec( FileName16Struct
, req_cond
="ncp.ns_info_mask_modify == TRUE" ),
14662 srec( FileAttributesStruct
, req_cond
="ncp.ns_info_mask_fatt == TRUE" ),
14663 srec( CreationDateStruct
, req_cond
="ncp.ns_info_mask_cdate == TRUE" ),
14664 srec( CreationTimeStruct
, req_cond
="ncp.ns_info_mask_ctime == TRUE" ),
14665 srec( OwnerIDStruct
, req_cond
="ncp.ns_info_mask_owner == TRUE" ),
14666 srec( ArchiveDateStruct
, req_cond
="ncp.ns_info_mask_adate == TRUE" ),
14667 srec( ArchiveTimeStruct
, req_cond
="ncp.ns_info_mask_atime == TRUE" ),
14668 srec( ArchiveIdStruct
, req_cond
="ncp.ns_info_mask_aid == TRUE" ),
14669 srec( UpdateDateStruct
, req_cond
="ncp.ns_info_mask_udate == TRUE" ),
14670 srec( UpdateTimeStruct
, req_cond
="ncp.ns_info_mask_utime == TRUE" ),
14671 srec( UpdateIDStruct
, req_cond
="ncp.ns_info_mask_uid == TRUE" ),
14672 srec( LastAccessStruct
, req_cond
="ncp.ns_info_mask_acc_date == TRUE" ),
14673 srec( RightsInfoStruct
, req_cond
="ncp.ns_info_mask_max_acc_mask == TRUE" ),
14675 pkt
.ReqCondSizeVariable()
14676 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
14677 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
14678 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
14680 pkt
= NCP(0x5914, "Search for File or Subdirectory Set", 'enhanced', has_length
=0)
14681 pkt
.Request((28, 28), [
14682 rec( 8, 1, NameSpace
),
14683 rec( 9, 1, DataStream
),
14684 rec( 10, 2, SearchAttributesLow
),
14685 rec( 12, 2, ReturnInfoMask
),
14686 rec( 14, 2, ExtendedInfo
),
14687 rec( 16, 2, ReturnInfoCount
),
14688 rec( 18, 9, SeachSequenceStruct
),
14689 rec( 27, 1, DataTypeFlag
),
14690 # next field is dissected in packet-ncp2222.inc
14691 #rec( 28, (2,255), SearchPattern16 ),
14693 # The reply packet is dissected in packet-ncp2222.inc
14694 pkt
.Reply(NO_LENGTH_CHECK
, [
14696 pkt
.ReqCondSizeVariable()
14697 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
14698 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
14699 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
14701 pkt
= NCP(0x5916, "Generate Directory Base and Volume Number", 'enhanced', has_length
=0)
14702 pkt
.Request((27,280), [
14703 rec( 8, 1, SrcNameSpace
),
14704 rec( 9, 1, DestNameSpace
),
14705 rec( 10, 2, dstNSIndicator
),
14706 rec( 12, 4, DirectoryBase
),
14707 rec( 16, 1, VolumeNumber
),
14708 rec( 17, 1, HandleFlag
),
14709 rec( 18, 1, DataTypeFlag
),
14710 rec( 19, 5, Reserved5
),
14711 rec( 24, 1, PathCount
, var
="x" ),
14712 rec( 25, (2,255), Path16
, repeat
="x", info_str
=(Path16
, "Get Volume and Directory Base from: %s", "/%s") ),
14715 rec( 8, 4, DirectoryBase
),
14716 rec( 12, 4, DOSDirectoryBase
),
14717 rec( 16, 1, VolumeNumber
),
14719 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
14720 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
14721 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
14723 pkt
= NCP(0x5919, "Set Name Space Information", 'enhanced', has_length
=0)
14725 rec( 8, 1, SrcNameSpace
),
14726 rec( 9, 1, DestNameSpace
),
14727 rec( 10, 1, VolumeNumber
),
14728 rec( 11, 4, DirectoryBase
),
14729 rec( 15, 2, NamesSpaceInfoMask
),
14730 rec( 17, 1, DataTypeFlag
),
14731 rec( 18, 512, NSSpecificInfo
),
14734 pkt
.CompletionCodes([0x0000, 0x0102, 0x8000, 0x8101, 0x8401, 0x8501,
14735 0x8701, 0x8b00, 0x8d00, 0x8f00, 0x9001,
14736 0x9600, 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00,
14739 pkt
= NCP(0x591C, "Get Full Path String", 'enhanced', has_length
=0)
14740 pkt
.Request((35,288), [
14741 rec( 8, 1, SrcNameSpace
),
14742 rec( 9, 1, DestNameSpace
),
14743 rec( 10, 2, PathCookieFlags
),
14744 rec( 12, 4, Cookie1
),
14745 rec( 16, 4, Cookie2
),
14746 rec( 20, 4, DirectoryBase
),
14747 rec( 24, 1, VolumeNumber
),
14748 rec( 25, 1, HandleFlag
),
14749 rec( 26, 1, DataTypeFlag
),
14750 rec( 27, 5, Reserved5
),
14751 rec( 32, 1, PathCount
, var
="x" ),
14752 rec( 33, (2,255), Path16
, repeat
="x", info_str
=(Path16
, "Get Full Path from: %s", "/%s") ),
14754 pkt
.Reply((24,277), [
14755 rec( 8, 2, PathCookieFlags
),
14756 rec( 10, 4, Cookie1
),
14757 rec( 14, 4, Cookie2
),
14758 rec( 18, 2, PathComponentSize
),
14759 rec( 20, 2, PathComponentCount
, var
='x' ),
14760 rec( 22, (2,255), Path16
, repeat
='x' ),
14762 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
14763 0x8701, 0x8b00, 0x8d00, 0x8f00, 0x9001,
14764 0x9600, 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00,
14767 pkt
= NCP(0x591D, "Get Effective Directory Rights", 'enhanced', has_length
=0)
14768 pkt
.Request((31, 284), [
14769 rec( 8, 1, NameSpace
),
14770 rec( 9, 1, DestNameSpace
),
14771 rec( 10, 2, SearchAttributesLow
),
14772 rec( 12, 2, ReturnInfoMask
),
14773 rec( 14, 2, ExtendedInfo
),
14774 rec( 16, 4, DirectoryBase
),
14775 rec( 20, 1, VolumeNumber
),
14776 rec( 21, 1, HandleFlag
),
14777 rec( 22, 1, DataTypeFlag
),
14778 rec( 23, 5, Reserved5
),
14779 rec( 28, 1, PathCount
, var
="x" ),
14780 rec( 29, (2,255), Path16
, repeat
="x", info_str
=(Path16
, "Get Effective Rights for: %s", "/%s") ),
14782 pkt
.Reply(NO_LENGTH_CHECK
, [
14783 rec( 8, 2, EffectiveRights
, ENC_LITTLE_ENDIAN
),
14784 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 1)" ),
14785 srec( PadDSSpaceAllocate
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 0)" ),
14786 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 1)" ),
14787 srec( PadAttributes
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 0)" ),
14788 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 1)" ),
14789 srec( PadDataStreamSize
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 0)" ),
14790 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 1)" ),
14791 srec( PadTotalStreamSize
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 0)" ),
14792 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 1)" ),
14793 srec( PadCreationInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 0)" ),
14794 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 1)" ),
14795 srec( PadModifyInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 0)" ),
14796 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 1)" ),
14797 srec( PadArchiveInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 0)" ),
14798 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 1)" ),
14799 srec( PadRightsInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 0)" ),
14800 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 1)" ),
14801 srec( PadDirEntry
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 0)" ),
14802 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 1)" ),
14803 srec( PadEAInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 0)" ),
14804 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 1)" ),
14805 srec( PadNSInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 0)" ),
14806 srec( FileName16Struct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_fname == 1)" ),
14807 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_alloc == 1)" ),
14808 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_attr == 1)" ),
14809 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_size == 1)" ),
14810 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_tspace == 1)" ),
14811 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_create == 1)" ),
14812 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_mod == 1)" ),
14813 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_arch == 1)" ),
14814 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_rights == 1)" ),
14815 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_dir == 1)" ),
14816 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_eattr == 1)" ),
14817 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_ns == 1)" ),
14818 srec( FileSize64bitStruct
, req_cond
="(ncp.ext_info_64_bit_fs == 1) && (ncp.ret_info_mask_fname == 1)" ),
14819 srec( FileName16Struct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_fname == 1)" ),
14821 pkt
.ReqCondSizeVariable()
14822 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
14823 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
14824 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
14826 pkt
= NCP(0x591E, "Open/Create File or Subdirectory", 'enhanced', has_length
=0)
14827 pkt
.Request((41, 294), [
14828 rec( 8, 1, NameSpace
),
14829 rec( 9, 1, DataStream
),
14830 rec( 10, 1, OpenCreateMode
),
14831 rec( 11, 1, Reserved
),
14832 rec( 12, 2, SearchAttributesLow
),
14833 rec( 14, 2, Reserved2
),
14834 rec( 16, 2, ReturnInfoMask
),
14835 rec( 18, 2, ExtendedInfo
),
14836 rec( 20, 4, AttributesDef32
),
14837 rec( 24, 2, DesiredAccessRights
),
14838 rec( 26, 4, DirectoryBase
),
14839 rec( 30, 1, VolumeNumber
),
14840 rec( 31, 1, HandleFlag
),
14841 rec( 32, 1, DataTypeFlag
),
14842 rec( 33, 5, Reserved5
),
14843 rec( 38, 1, PathCount
, var
="x" ),
14844 rec( 39, (2,255), Path16
, repeat
="x", info_str
=(Path16
, "Open or Create File: %s", "/%s") ),
14846 pkt
.Reply(NO_LENGTH_CHECK
, [
14847 rec( 8, 4, FileHandle
, ENC_BIG_ENDIAN
),
14848 rec( 12, 1, OpenCreateAction
),
14849 rec( 13, 1, Reserved
),
14850 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 1)" ),
14851 srec( PadDSSpaceAllocate
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 0)" ),
14852 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 1)" ),
14853 srec( PadAttributes
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 0)" ),
14854 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 1)" ),
14855 srec( PadDataStreamSize
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 0)" ),
14856 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 1)" ),
14857 srec( PadTotalStreamSize
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 0)" ),
14858 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 1)" ),
14859 srec( PadCreationInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 0)" ),
14860 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 1)" ),
14861 srec( PadModifyInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 0)" ),
14862 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 1)" ),
14863 srec( PadArchiveInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 0)" ),
14864 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 1)" ),
14865 srec( PadRightsInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 0)" ),
14866 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 1)" ),
14867 srec( PadDirEntry
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 0)" ),
14868 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 1)" ),
14869 srec( PadEAInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 0)" ),
14870 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 1)" ),
14871 srec( PadNSInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 0)" ),
14872 srec( FileName16Struct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_fname == 1)" ),
14873 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_alloc == 1)" ),
14874 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_attr == 1)" ),
14875 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_size == 1)" ),
14876 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_tspace == 1)" ),
14877 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_create == 1)" ),
14878 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_mod == 1)" ),
14879 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_arch == 1)" ),
14880 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_rights == 1)" ),
14881 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_dir == 1)" ),
14882 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_eattr == 1)" ),
14883 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_ns == 1)" ),
14884 srec( FileSize64bitStruct
, req_cond
="(ncp.ext_info_64_bit_fs == 1) && (ncp.ret_info_mask_fname == 1)" ),
14885 srec( FileName16Struct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_fname == 1)" ),
14887 pkt
.ReqCondSizeVariable()
14888 pkt
.CompletionCodes([0x0000, 0x0102, 0x8000, 0x8101, 0x8401, 0x8501,
14889 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
14890 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
14891 pkt
.MakeExpert("file_rights")
14893 pkt
= NCP(0x5920, "Open/Create File or Subdirectory with Callback", 'enhanced', has_length
=0)
14894 pkt
.Request((37, 290), [
14895 rec( 8, 1, NameSpace
),
14896 rec( 9, 1, OpenCreateMode
),
14897 rec( 10, 2, SearchAttributesLow
),
14898 rec( 12, 2, ReturnInfoMask
),
14899 rec( 14, 2, ExtendedInfo
),
14900 rec( 16, 4, AttributesDef32
),
14901 rec( 20, 2, DesiredAccessRights
),
14902 rec( 22, 4, DirectoryBase
),
14903 rec( 26, 1, VolumeNumber
),
14904 rec( 27, 1, HandleFlag
),
14905 rec( 28, 1, DataTypeFlag
),
14906 rec( 29, 5, Reserved5
),
14907 rec( 34, 1, PathCount
, var
="x" ),
14908 rec( 35, (2,255), Path16
, repeat
="x", info_str
=(Path16
, "Open or Create with Op-Lock: %s", "/%s") ),
14910 pkt
.Reply( NO_LENGTH_CHECK
, [
14911 rec( 8, 4, FileHandle
, ENC_BIG_ENDIAN
),
14912 rec( 12, 1, OpenCreateAction
),
14913 rec( 13, 1, OCRetFlags
),
14914 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 1)" ),
14915 srec( PadDSSpaceAllocate
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 0)" ),
14916 srec( AttributesStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 1)" ),
14917 srec( PadAttributes
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 0)" ),
14918 srec( DataStreamSizeStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 1)" ),
14919 srec( PadDataStreamSize
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 0)" ),
14920 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 1)" ),
14921 srec( PadTotalStreamSize
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 0)" ),
14922 srec( CreationInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 1)" ),
14923 srec( PadCreationInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 0)" ),
14924 srec( ModifyInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 1)" ),
14925 srec( PadModifyInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 0)" ),
14926 srec( ArchiveInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 1)" ),
14927 srec( PadArchiveInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 0)" ),
14928 srec( RightsInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 1)" ),
14929 srec( PadRightsInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 0)" ),
14930 srec( DirEntryStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 1)" ),
14931 srec( PadDirEntry
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 0)" ),
14932 srec( EAInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 1)" ),
14933 srec( PadEAInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 0)" ),
14934 srec( NSInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 1)" ),
14935 srec( PadNSInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 0)" ),
14936 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_alloc == 1)" ),
14937 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_attr == 1)" ),
14938 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_size == 1)" ),
14939 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_tspace == 1)" ),
14940 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_eattr == 1)" ),
14941 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_mod == 1)" ),
14942 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_create == 1)" ),
14943 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_arch == 1)" ),
14944 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_dir == 1)" ),
14945 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_rights == 1)" ),
14946 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_ns == 1)" ),
14947 srec( ReferenceIDStruct
, req_cond
="ncp.ret_info_mask_id == 1" ),
14948 srec( NSAttributeStruct
, req_cond
="ncp.ret_info_mask_ns_attr == 1" ),
14949 rec( -1, 4, DataStreamsCount
, var
="x" , req_cond
="ncp.ret_info_mask_actual == 1" ),
14950 srec( DStreamActual
, repeat
= "x" , req_cond
="ncp.ret_info_mask_actual == 1" ),
14951 rec( -1, 4, DataStreamsCount
, var
="y", req_cond
="ncp.ret_info_mask_logical == 1" ),
14952 srec( DStreamLogical
, repeat
="y" , req_cond
="ncp.ret_info_mask_logical == 1" ),
14953 srec( LastUpdatedInSecondsStruct
, req_cond
="ncp.ext_info_update == 1" ),
14954 srec( DOSName16Struct
, req_cond
="ncp.ext_info_dos_name == 1" ),
14955 srec( FlushTimeStruct
, req_cond
="ncp.ext_info_flush == 1" ),
14956 srec( ParentBaseIDStruct
, req_cond
="ncp.ext_info_parental == 1" ),
14957 srec( MacFinderInfoStruct
, req_cond
="ncp.ext_info_mac_finder == 1" ),
14958 srec( SiblingCountStruct
, req_cond
="ncp.ext_info_sibling == 1" ),
14959 srec( EffectiveRightsStruct
, req_cond
="ncp.ext_info_effective == 1" ),
14960 srec( MacTimeStruct
, req_cond
="ncp.ext_info_mac_date == 1" ),
14961 srec( LastAccessedTimeStruct
, req_cond
="ncp.ext_info_access == 1" ),
14962 srec( FileSize64bitStruct
, req_cond
="ncp.ext_info_64_bit_fs == 1" ),
14963 srec( FileName16Struct
, req_cond
="ncp.ret_info_mask_fname == 1" ),
14965 pkt
.ReqCondSizeVariable()
14966 pkt
.CompletionCodes([0x0000, 0x0102, 0x7f00, 0x8000, 0x8101, 0x8401, 0x8501,
14967 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9400, 0x9600,
14968 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
14969 pkt
.MakeExpert("file_rights")
14971 pkt
= NCP(0x5921, "Open/Create File or Subdirectory II with Callback", 'enhanced', has_length
=0)
14972 pkt
.Request((41, 294), [
14973 rec( 8, 1, NameSpace
),
14974 rec( 9, 1, DataStream
),
14975 rec( 10, 1, OpenCreateMode
),
14976 rec( 11, 1, Reserved
),
14977 rec( 12, 2, SearchAttributesLow
),
14978 rec( 14, 2, Reserved2
),
14979 rec( 16, 2, ReturnInfoMask
),
14980 rec( 18, 2, ExtendedInfo
),
14981 rec( 20, 4, AttributesDef32
),
14982 rec( 24, 2, DesiredAccessRights
),
14983 rec( 26, 4, DirectoryBase
),
14984 rec( 30, 1, VolumeNumber
),
14985 rec( 31, 1, HandleFlag
),
14986 rec( 32, 1, DataTypeFlag
),
14987 rec( 33, 5, Reserved5
),
14988 rec( 38, 1, PathCount
, var
="x" ),
14989 rec( 39, (2,255), Path16
, repeat
="x", info_str
=(Path16
, "Open or Create II with Op-Lock: %s", "/%s") ),
14991 pkt
.Reply( NO_LENGTH_CHECK
, [
14992 rec( 8, 4, FileHandle
),
14993 rec( 12, 1, OpenCreateAction
),
14994 rec( 13, 1, OCRetFlags
),
14995 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 1)" ),
14996 srec( PadDSSpaceAllocate
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 0)" ),
14997 srec( AttributesStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 1)" ),
14998 srec( PadAttributes
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 0)" ),
14999 srec( DataStreamSizeStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 1)" ),
15000 srec( PadDataStreamSize
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 0)" ),
15001 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 1)" ),
15002 srec( PadTotalStreamSize
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 0)" ),
15003 srec( CreationInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 1)" ),
15004 srec( PadCreationInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 0)" ),
15005 srec( ModifyInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 1)" ),
15006 srec( PadModifyInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 0)" ),
15007 srec( ArchiveInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 1)" ),
15008 srec( PadArchiveInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 0)" ),
15009 srec( RightsInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 1)" ),
15010 srec( PadRightsInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 0)" ),
15011 srec( DirEntryStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 1)" ),
15012 srec( PadDirEntry
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 0)" ),
15013 srec( EAInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 1)" ),
15014 srec( PadEAInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 0)" ),
15015 srec( NSInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 1)" ),
15016 srec( PadNSInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 0)" ),
15017 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_alloc == 1)" ),
15018 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_attr == 1)" ),
15019 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_size == 1)" ),
15020 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_tspace == 1)" ),
15021 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_eattr == 1)" ),
15022 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_mod == 1)" ),
15023 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_create == 1)" ),
15024 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_arch == 1)" ),
15025 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_dir == 1)" ),
15026 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_rights == 1)" ),
15027 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_ns == 1)" ),
15028 srec( ReferenceIDStruct
, req_cond
="ncp.ret_info_mask_id == 1" ),
15029 srec( NSAttributeStruct
, req_cond
="ncp.ret_info_mask_ns_attr == 1" ),
15030 rec( -1, 4, DataStreamsCount
, var
="x" , req_cond
="ncp.ret_info_mask_actual == 1" ),
15031 srec( DStreamActual
, repeat
= "x" , req_cond
="ncp.ret_info_mask_actual == 1" ),
15032 rec( -1, 4, DataStreamsCount
, var
="y", req_cond
="ncp.ret_info_mask_logical == 1" ),
15033 srec( DStreamLogical
, repeat
="y" , req_cond
="ncp.ret_info_mask_logical == 1" ),
15034 srec( LastUpdatedInSecondsStruct
, req_cond
="ncp.ext_info_update == 1" ),
15035 srec( DOSName16Struct
, req_cond
="ncp.ext_info_dos_name == 1" ),
15036 srec( FlushTimeStruct
, req_cond
="ncp.ext_info_flush == 1" ),
15037 srec( ParentBaseIDStruct
, req_cond
="ncp.ext_info_parental == 1" ),
15038 srec( MacFinderInfoStruct
, req_cond
="ncp.ext_info_mac_finder == 1" ),
15039 srec( SiblingCountStruct
, req_cond
="ncp.ext_info_sibling == 1" ),
15040 srec( EffectiveRightsStruct
, req_cond
="ncp.ext_info_effective == 1" ),
15041 srec( MacTimeStruct
, req_cond
="ncp.ext_info_mac_date == 1" ),
15042 srec( LastAccessedTimeStruct
, req_cond
="ncp.ext_info_access == 1" ),
15043 srec( FileSize64bitStruct
, req_cond
="ncp.ext_info_64_bit_fs == 1" ),
15044 srec( FileName16Struct
, req_cond
="ncp.ret_info_mask_fname == 1" ),
15046 pkt
.ReqCondSizeVariable()
15047 pkt
.CompletionCodes([0x0000, 0x0102, 0x8000, 0x8101, 0x8401, 0x8501,
15048 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
15049 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
15050 pkt
.MakeExpert("file_rights")
15052 pkt
= NCP(0x5923, "Modify DOS Attributes on a File or Subdirectory", 'enhanced', has_length
=0)
15053 pkt
.Request((35, 288), [
15054 rec( 8, 1, NameSpace
),
15055 rec( 9, 1, Flags
),
15056 rec( 10, 2, SearchAttributesLow
),
15057 rec( 12, 2, ReturnInfoMask
),
15058 rec( 14, 2, ExtendedInfo
),
15059 rec( 16, 4, AttributesDef32
),
15060 rec( 20, 4, DirectoryBase
),
15061 rec( 24, 1, VolumeNumber
),
15062 rec( 25, 1, HandleFlag
),
15063 rec( 26, 1, DataTypeFlag
),
15064 rec( 27, 5, Reserved5
),
15065 rec( 32, 1, PathCount
, var
="x" ),
15066 rec( 33, (2,255), Path16
, repeat
="x", info_str
=(Path16
, "Modify DOS Attributes for: %s", "/%s") ),
15069 rec( 8, 4, ItemsChecked
),
15070 rec( 12, 4, ItemsChanged
),
15071 rec( 16, 4, AttributeValidFlag
),
15072 rec( 20, 4, AttributesDef32
),
15074 pkt
.CompletionCodes([0x0000, 0x0102, 0x8000, 0x8101, 0x8401, 0x8501,
15075 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
15076 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
15078 pkt
= NCP(0x5927, "Get Directory Disk Space Restriction", 'enhanced', has_length
=0)
15079 pkt
.Request((26, 279), [
15080 rec( 8, 1, NameSpace
),
15081 rec( 9, 2, Reserved2
),
15082 rec( 11, 4, DirectoryBase
),
15083 rec( 15, 1, VolumeNumber
),
15084 rec( 16, 1, HandleFlag
),
15085 rec( 17, 1, DataTypeFlag
),
15086 rec( 18, 5, Reserved5
),
15087 rec( 23, 1, PathCount
, var
="x" ),
15088 rec( 24, (2,255), Path16
, repeat
="x", info_str
=(Path16
, "Get Disk Space Restriction for: %s", "/%s") ),
15091 rec( 8, 1, NumberOfEntries
, var
="x" ),
15092 rec( 9, 9, SpaceStruct
, repeat
="x" ),
15094 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
15095 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
15096 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00,
15099 pkt
= NCP(0x5928, "Search for File or Subdirectory Set (Extended Errors)", 'enhanced', has_length
=0)
15100 pkt
.Request((30, 283), [
15101 rec( 8, 1, NameSpace
),
15102 rec( 9, 1, DataStream
),
15103 rec( 10, 2, SearchAttributesLow
),
15104 rec( 12, 2, ReturnInfoMask
),
15105 rec( 14, 2, ExtendedInfo
),
15106 rec( 16, 2, ReturnInfoCount
),
15107 rec( 18, 9, SeachSequenceStruct
),
15108 rec( 27, 1, DataTypeFlag
),
15109 rec( 28, (2,255), SearchPattern16
, info_str
=(SearchPattern16
, "Search for: %s", ", %s") ),
15111 pkt
.Reply(NO_LENGTH_CHECK
, [
15112 rec( 8, 9, SeachSequenceStruct
),
15113 rec( 17, 1, MoreFlag
),
15114 rec( 18, 2, InfoCount
),
15115 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 1)" ),
15116 srec( PadDSSpaceAllocate
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 0)" ),
15117 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 1)" ),
15118 srec( PadAttributes
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 0)" ),
15119 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 1)" ),
15120 srec( PadDataStreamSize
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 0)" ),
15121 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 1)" ),
15122 srec( PadTotalStreamSize
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 0)" ),
15123 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 1)" ),
15124 srec( PadCreationInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 0)" ),
15125 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 1)" ),
15126 srec( PadModifyInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 0)" ),
15127 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 1)" ),
15128 srec( PadArchiveInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 0)" ),
15129 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 1)" ),
15130 srec( PadRightsInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 0)" ),
15131 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 1)" ),
15132 srec( PadDirEntry
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 0)" ),
15133 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 1)" ),
15134 srec( PadEAInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 0)" ),
15135 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 1)" ),
15136 srec( PadNSInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 0)" ),
15137 srec( FileName16Struct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_fname == 1)" ),
15138 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_alloc == 1)" ),
15139 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_attr == 1)" ),
15140 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_size == 1)" ),
15141 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_tspace == 1)" ),
15142 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_create == 1)" ),
15143 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_mod == 1)" ),
15144 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_arch == 1)" ),
15145 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_rights == 1)" ),
15146 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_dir == 1)" ),
15147 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_eattr == 1)" ),
15148 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_ns == 1)" ),
15149 srec( FileSize64bitStruct
, req_cond
="(ncp.ext_info_64_bit_fs == 1) && (ncp.ret_info_mask_fname == 1)" ),
15150 srec( FileName16Struct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_fname == 1)" ),
15152 pkt
.ReqCondSizeVariable()
15153 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
15154 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
15155 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
15157 pkt
= NCP(0x5929, "Get Directory Disk Space Restriction 64 Bit Aware", 'enhanced', has_length
=0)
15158 pkt
.Request((26, 279), [
15159 rec( 8, 1, NameSpace
),
15160 rec( 9, 1, Reserved
),
15161 rec( 10, 1, InfoLevelNumber
),
15162 rec( 11, 4, DirectoryBase
),
15163 rec( 15, 1, VolumeNumber
),
15164 rec( 16, 1, HandleFlag
),
15165 rec( 17, 1, DataTypeFlag
),
15166 rec( 18, 5, Reserved5
),
15167 rec( 23, 1, PathCount
, var
="x" ),
15168 rec( 24, (2,255), Path16
, repeat
="x", info_str
=(Path16
, "Get Disk Space Restriction for: %s", "/%s") ),
15170 pkt
.Reply(NO_LENGTH_CHECK
, [
15171 rec( -1, 8, MaxSpace64
, req_cond
= "(ncp.info_level_num == 0)" ),
15172 rec( -1, 8, MinSpaceLeft64
, req_cond
= "(ncp.info_level_num == 0)" ),
15173 rec( -1, 1, NumberOfEntries
, var
="x", req_cond
= "(ncp.info_level_num == 1)" ),
15174 srec( DirDiskSpaceRest64bit
, repeat
="x", req_cond
= "(ncp.info_level_num == 1)" ),
15176 pkt
.ReqCondSizeVariable()
15177 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
15178 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
15179 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00,
15182 pkt
= NCP(0x5932, "Get Object Effective Rights", "enhanced", has_length
=0)
15184 rec( 8, 1, NameSpace
),
15185 rec( 9, 4, ObjectID
),
15186 rec( 13, 4, DirectoryBase
),
15187 rec( 17, 1, VolumeNumber
),
15188 rec( 18, 1, HandleFlag
),
15189 rec( 19, 1, DataTypeFlag
),
15190 rec( 20, 5, Reserved5
),
15193 rec( 8, 2, TrusteeRights
),
15195 pkt
.CompletionCodes([0x0000, 0x7e01, 0x9b00, 0x9c03, 0xa901, 0xaa00])
15197 pkt
= NCP(0x5934, "Write Extended Attribute", 'enhanced', has_length
=0 )
15198 pkt
.Request((36,98), [
15199 rec( 8, 2, EAFlags
),
15200 rec( 10, 4, EAHandleOrNetWareHandleOrVolume
),
15201 rec( 14, 4, ReservedOrDirectoryNumber
),
15202 rec( 18, 4, TtlWriteDataSize
),
15203 rec( 22, 4, FileOffset
),
15204 rec( 26, 4, EAAccessFlag
),
15205 rec( 30, 1, DataTypeFlag
),
15206 rec( 31, 2, EAValueLength
, var
='x' ),
15207 rec( 33, (2,64), EAKey
, info_str
=(EAKey
, "Write Extended Attribute: %s", ", %s") ),
15208 rec( -1, 1, EAValueRep
, repeat
='x' ),
15211 rec( 8, 4, EAErrorCodes
),
15212 rec( 12, 4, EABytesWritten
),
15213 rec( 16, 4, NewEAHandle
),
15215 pkt
.CompletionCodes([0x0000, 0xc800, 0xc900, 0xcb00, 0xce00, 0xcf00, 0xd101,
15216 0xd203, 0xa901, 0xaa00, 0xd301, 0xd402])
15218 pkt
= NCP(0x5935, "Read Extended Attribute", 'enhanced', has_length
=0 )
15219 pkt
.Request((31,541), [
15220 rec( 8, 2, EAFlags
),
15221 rec( 10, 4, EAHandleOrNetWareHandleOrVolume
),
15222 rec( 14, 4, ReservedOrDirectoryNumber
),
15223 rec( 18, 4, FileOffset
),
15224 rec( 22, 4, InspectSize
),
15225 rec( 26, 1, DataTypeFlag
),
15226 rec( 27, 2, MaxReadDataReplySize
),
15227 rec( 29, (2,512), EAKey
, info_str
=(EAKey
, "Read Extended Attribute: %s", ", %s") ),
15229 pkt
.Reply((26,536), [
15230 rec( 8, 4, EAErrorCodes
),
15231 rec( 12, 4, TtlValuesLength
),
15232 rec( 16, 4, NewEAHandle
),
15233 rec( 20, 4, EAAccessFlag
),
15234 rec( 24, (2,512), EAValue
),
15236 pkt
.CompletionCodes([0x0000, 0xa901, 0xaa00, 0xc900, 0xce00, 0xcf00, 0xd101,
15239 pkt
= NCP(0x5936, "Enumerate Extended Attribute", 'enhanced', has_length
=0 )
15240 pkt
.Request((27,537), [
15241 rec( 8, 2, EAFlags
),
15242 rec( 10, 4, EAHandleOrNetWareHandleOrVolume
),
15243 rec( 14, 4, ReservedOrDirectoryNumber
),
15244 rec( 18, 4, InspectSize
),
15245 rec( 22, 2, SequenceNumber
),
15246 rec( 24, 1, DataTypeFlag
),
15247 rec( 25, (2,512), EAKey
, info_str
=(EAKey
, "Enumerate Extended Attribute: %s", ", %s") ),
15250 rec( 8, 4, EAErrorCodes
),
15251 rec( 12, 4, TtlEAs
),
15252 rec( 16, 4, TtlEAsDataSize
),
15253 rec( 20, 4, TtlEAsKeySize
),
15254 rec( 24, 4, NewEAHandle
),
15256 pkt
.CompletionCodes([0x0000, 0x8800, 0xa901, 0xaa00, 0xc900, 0xce00, 0xcf00, 0xd101,
15259 pkt
= NCP(0x5947, "Scan Volume Trustee Object Paths", 'enhanced', has_length
=0)
15261 rec( 8, 4, VolumeID
),
15262 rec( 12, 4, ObjectID
),
15263 rec( 16, 4, SequenceNumber
),
15264 rec( 20, 1, DataTypeFlag
),
15266 pkt
.Reply((20,273), [
15267 rec( 8, 4, SequenceNumber
),
15268 rec( 12, 4, ObjectID
),
15269 rec( 16, 1, TrusteeAccessMask
),
15270 rec( 17, 1, PathCount
, var
="x" ),
15271 rec( 18, (2,255), Path16
, repeat
="x" ),
15273 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
15274 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
15275 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
15277 pkt
= NCP(0x5A00, "Parse Tree", 'file')
15279 rec( 10, 4, InfoMask
),
15280 rec( 14, 4, Reserved4
),
15281 rec( 18, 4, Reserved4
),
15282 rec( 22, 4, limbCount
),
15283 rec( 26, 4, limbFlags
),
15284 rec( 30, 4, VolumeNumberLong
),
15285 rec( 34, 4, DirectoryBase
),
15286 rec( 38, 4, limbScanNum
),
15287 rec( 42, 4, NameSpace
),
15290 rec( 8, 4, limbCount
),
15291 rec( 12, 4, ItemsCount
),
15292 rec( 16, 4, nextLimbScanNum
),
15293 rec( 20, 4, CompletionCode
),
15294 rec( 24, 1, FolderFlag
),
15295 rec( 25, 3, Reserved
),
15296 rec( 28, 4, DirectoryBase
),
15298 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15299 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
15300 0x9804, 0x9b03, 0x9c03, 0xfd00, 0xff16])
15302 pkt
= NCP(0x5A0A, "Get Reference Count from Dir Entry Number", 'file')
15304 rec( 10, 4, VolumeNumberLong
),
15305 rec( 14, 4, DirectoryBase
),
15306 rec( 18, 1, NameSpace
),
15309 rec( 8, 4, ReferenceCount
),
15311 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15312 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
15313 0x9804, 0x9b03, 0x9c03, 0xfd00, 0xff16])
15315 pkt
= NCP(0x5A0B, "Get Reference Count from Dir Handle", 'file')
15317 rec( 10, 4, DirHandle
),
15320 rec( 8, 4, ReferenceCount
),
15322 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15323 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
15324 0x9804, 0x9b03, 0x9c03, 0xfd00, 0xff16])
15326 pkt
= NCP(0x5A0C, "Set Compressed File Size", 'file')
15328 rec( 10, 6, FileHandle
),
15329 rec( 16, 4, SuggestedFileSize
),
15332 rec( 8, 4, OldFileSize
),
15333 rec( 12, 4, NewFileSize
),
15335 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15336 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
15337 0x9804, 0x9b03, 0x9c03, 0xfd00, 0xff16])
15338 # 2222/5A80, 90/128
15339 pkt
= NCP(0x5A80, "Move File Data To Data Migration", 'migration')
15341 rec( 10, 4, VolumeNumberLong
),
15342 rec( 14, 4, DirectoryEntryNumber
),
15343 rec( 18, 1, NameSpace
),
15344 rec( 19, 3, Reserved
),
15345 rec( 22, 4, SupportModuleID
),
15346 rec( 26, 1, DMFlags
),
15349 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15350 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
15351 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
15352 # 2222/5A81, 90/129
15353 pkt
= NCP(0x5A81, "Data Migration File Information", 'migration')
15355 rec( 10, 4, VolumeNumberLong
),
15356 rec( 14, 4, DirectoryEntryNumber
),
15357 rec( 18, 1, NameSpace
),
15360 rec( 8, 4, SupportModuleID
),
15361 rec( 12, 4, RestoreTime
),
15362 rec( 16, 4, DMInfoEntries
, var
="x" ),
15363 rec( 20, 4, DataSize
, repeat
="x" ),
15365 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15366 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
15367 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
15368 # 2222/5A82, 90/130
15369 pkt
= NCP(0x5A82, "Volume Data Migration Status", 'migration')
15371 rec( 10, 4, VolumeNumberLong
),
15372 rec( 14, 4, SupportModuleID
),
15375 rec( 8, 4, NumOfFilesMigrated
),
15376 rec( 12, 4, TtlMigratedSize
),
15377 rec( 16, 4, SpaceUsed
),
15378 rec( 20, 4, LimboUsed
),
15379 rec( 24, 4, SpaceMigrated
),
15380 rec( 28, 4, FileLimbo
),
15382 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15383 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
15384 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
15385 # 2222/5A83, 90/131
15386 pkt
= NCP(0x5A83, "Migrator Status Info", 'migration')
15389 rec( 8, 1, DMPresentFlag
),
15390 rec( 9, 3, Reserved3
),
15391 rec( 12, 4, DMmajorVersion
),
15392 rec( 16, 4, DMminorVersion
),
15394 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15395 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
15396 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
15397 # 2222/5A84, 90/132
15398 pkt
= NCP(0x5A84, "Data Migration Support Module Information", 'migration')
15400 rec( 10, 1, DMInfoLevel
),
15401 rec( 11, 3, Reserved3
),
15402 rec( 14, 4, SupportModuleID
),
15404 pkt
.Reply(NO_LENGTH_CHECK
, [
15405 srec( DMInfoLevel0
, req_cond
="ncp.dm_info_level == 0x00" ),
15406 srec( DMInfoLevel1
, req_cond
="ncp.dm_info_level == 0x01" ),
15407 srec( DMInfoLevel2
, req_cond
="ncp.dm_info_level == 0x02" ),
15409 pkt
.ReqCondSizeVariable()
15410 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15411 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
15412 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
15413 # 2222/5A85, 90/133
15414 pkt
= NCP(0x5A85, "Move File Data From Data Migration", 'migration')
15416 rec( 10, 4, VolumeNumberLong
),
15417 rec( 14, 4, DirectoryEntryNumber
),
15418 rec( 18, 1, NameSpace
),
15421 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15422 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
15423 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
15424 # 2222/5A86, 90/134
15425 pkt
= NCP(0x5A86, "Get/Set Default Read-Write Support Module ID", 'migration')
15427 rec( 10, 1, GetSetFlag
),
15428 rec( 11, 3, Reserved3
),
15429 rec( 14, 4, SupportModuleID
),
15432 rec( 8, 4, SupportModuleID
),
15434 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15435 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
15436 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
15437 # 2222/5A87, 90/135
15438 pkt
= NCP(0x5A87, "Data Migration Support Module Capacity Request", 'migration')
15440 rec( 10, 4, SupportModuleID
),
15441 rec( 14, 4, VolumeNumberLong
),
15442 rec( 18, 4, DirectoryBase
),
15445 rec( 8, 4, BlockSizeInSectors
),
15446 rec( 12, 4, TotalBlocks
),
15447 rec( 16, 4, UsedBlocks
),
15449 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15450 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
15451 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
15452 # 2222/5A88, 90/136
15453 pkt
= NCP(0x5A88, "RTDM Request", 'migration')
15455 rec( 10, 4, Verb
),
15456 rec( 14, 1, VerbData
),
15459 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15460 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
15461 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
15462 # 2222/5A96, 90/150
15463 pkt
= NCP(0x5A96, "File Migration Request", 'file')
15465 rec( 10, 4, VolumeNumberLong
),
15466 rec( 14, 4, DirectoryBase
),
15467 rec( 18, 4, FileMigrationState
),
15470 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15471 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
15472 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfb00, 0xff16])
15474 pkt
= NCP(0x5B, "NMAS Graded Authentication", 'nmas')
15475 #Need info on this packet structure
15478 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15479 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600, 0xfb0b,
15480 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
15481 # SecretStore data is dissected by packet-ncp-sss.c
15483 pkt
= NCP(0x5C01, "SecretStore Services (Ping Server)", 'sss', 0)
15486 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15487 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600, 0xfb0b,
15488 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
15490 pkt
= NCP(0x5C02, "SecretStore Services (Fragment)", 'sss', 0)
15493 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15494 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600, 0xfb0b,
15495 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
15497 pkt
= NCP(0x5C03, "SecretStore Services (Write App Secrets)", 'sss', 0)
15500 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15501 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600, 0xfb0b,
15502 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
15504 pkt
= NCP(0x5C04, "SecretStore Services (Add Secret ID)", 'sss', 0)
15507 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15508 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600, 0xfb0b,
15509 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
15511 pkt
= NCP(0x5C05, "SecretStore Services (Remove Secret ID)", 'sss', 0)
15514 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15515 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600, 0xfb0b,
15516 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
15518 pkt
= NCP(0x5C06, "SecretStore Services (Remove SecretStore)", 'sss', 0)
15521 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15522 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600, 0xfb0b,
15523 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
15525 pkt
= NCP(0x5C07, "SecretStore Services (Enumerate Secret IDs)", 'sss', 0)
15528 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15529 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600, 0xfb0b,
15530 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
15532 pkt
= NCP(0x5C08, "SecretStore Services (Unlock Store)", 'sss', 0)
15535 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15536 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600, 0xfb0b,
15537 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
15539 pkt
= NCP(0x5C09, "SecretStore Services (Set Master Password)", 'sss', 0)
15542 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15543 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600, 0xfb0b,
15544 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
15546 pkt
= NCP(0x5C0a, "SecretStore Services (Get Service Information)", 'sss', 0)
15549 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15550 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600, 0xfb0b,
15551 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
15552 # NMAS packets are dissected in packet-ncp-nmas.c
15554 pkt
= NCP(0x5E01, "NMAS Communications Packet (Ping)", 'nmas', 0)
15557 pkt
.CompletionCodes([0x0000, 0xfb09, 0xff08])
15559 pkt
= NCP(0x5E02, "NMAS Communications Packet (Fragment)", 'nmas', 0)
15562 pkt
.CompletionCodes([0x0000, 0xfb09, 0xff08])
15564 pkt
= NCP(0x5E03, "NMAS Communications Packet (Abort)", 'nmas', 0)
15567 pkt
.CompletionCodes([0x0000, 0xfb09, 0xff08])
15569 pkt
= NCP(0x61, "Get Big Packet NCP Max Packet Size", 'connection')
15571 rec( 7, 2, ProposedMaxSize
, ENC_BIG_ENDIAN
, info_str
=(ProposedMaxSize
, "Get Big Max Packet Size - %d", ", %d") ),
15572 rec( 9, 1, SecurityFlag
),
15575 rec( 8, 2, AcceptedMaxSize
, ENC_BIG_ENDIAN
),
15576 rec( 10, 2, EchoSocket
, ENC_BIG_ENDIAN
),
15577 rec( 12, 1, SecurityFlag
),
15579 pkt
.CompletionCodes([0x0000])
15581 pkt
= NCP(0x62, "Negotiate NDS connection buffer size", 'connection')
15583 rec( 7, 8, ProposedMaxSize64
, ENC_BIG_ENDIAN
, Info_str
=(ProposedMaxSize
, "Negotiate NDS connection - %d", ", %d")),
15586 rec( 8, 8, AcceptedMaxSize64
, ENC_BIG_ENDIAN
),
15587 rec( 16, 2, EchoSocket
, ENC_BIG_ENDIAN
),
15589 pkt
.CompletionCodes([0x0000])
15591 pkt
= NCP(0x63, "Undocumented Packet Burst", 'pburst')
15594 pkt
.CompletionCodes([0x0000])
15596 pkt
= NCP(0x64, "Undocumented Packet Burst", 'pburst')
15599 pkt
.CompletionCodes([0x0000])
15601 pkt
= NCP(0x65, "Packet Burst Connection Request", 'pburst')
15603 rec( 7, 4, LocalConnectionID
, ENC_BIG_ENDIAN
),
15604 rec( 11, 4, LocalMaxPacketSize
, ENC_BIG_ENDIAN
),
15605 rec( 15, 2, LocalTargetSocket
, ENC_BIG_ENDIAN
),
15606 rec( 17, 4, LocalMaxSendSize
, ENC_BIG_ENDIAN
),
15607 rec( 21, 4, LocalMaxRecvSize
, ENC_BIG_ENDIAN
),
15610 rec( 8, 4, RemoteTargetID
, ENC_BIG_ENDIAN
),
15611 rec( 12, 4, RemoteMaxPacketSize
, ENC_BIG_ENDIAN
),
15613 pkt
.CompletionCodes([0x0000])
15615 pkt
= NCP(0x66, "Undocumented Packet Burst", 'pburst')
15618 pkt
.CompletionCodes([0x0000])
15620 pkt
= NCP(0x67, "Undocumented Packet Burst", 'pburst')
15623 pkt
.CompletionCodes([0x0000])
15624 # 2222/6801, 104/01
15625 pkt
= NCP(0x6801, "Ping for NDS NCP", "nds", has_length
=0)
15628 pkt
.ReqCondSizeVariable()
15629 pkt
.CompletionCodes([0x0000, 0x8100, 0xfb04, 0xfe0c])
15630 # 2222/6802, 104/02
15632 # XXX - if FraggerHandle is not 0xffffffff, this is not the
15633 # first fragment, so we can only dissect this by reassembling;
15634 # the fields after "Fragment Handle" are bogus for non-0xffffffff
15635 # fragments, so we shouldn't dissect them. This is all handled in packet-ncp2222.inc.
15637 pkt
= NCP(0x6802, "Send NDS Fragmented Request/Reply", "nds", has_length
=0)
15640 pkt
.ReqCondSizeVariable()
15641 pkt
.CompletionCodes([0x0000, 0xac00, 0xfd01])
15642 # 2222/6803, 104/03
15643 pkt
= NCP(0x6803, "Fragment Close", "nds", has_length
=0)
15645 rec( 8, 4, FraggerHandle
),
15648 pkt
.CompletionCodes([0x0000, 0xff00])
15649 # 2222/6804, 104/04
15650 pkt
= NCP(0x6804, "Return Bindery Context", "nds", has_length
=0)
15652 pkt
.Reply((9, 263), [
15653 rec( 8, (1,255), binderyContext
),
15655 pkt
.CompletionCodes([0x0000, 0xfe0c, 0xff00])
15656 # 2222/6805, 104/05
15657 pkt
= NCP(0x6805, "Monitor NDS Connection", "nds", has_length
=0)
15660 pkt
.CompletionCodes([0x0000, 0x7700, 0xfb00, 0xfe0c, 0xff00])
15661 # 2222/6806, 104/06
15662 pkt
= NCP(0x6806, "Return NDS Statistics", "nds", has_length
=0)
15664 rec( 8, 2, NDSRequestFlags
),
15667 #Need to investigate how to decode Statistics Return Value
15668 pkt
.CompletionCodes([0x0000, 0xfb00, 0xfe0c, 0xff00])
15669 # 2222/6807, 104/07
15670 pkt
= NCP(0x6807, "Clear NDS Statistics", "nds", has_length
=0)
15673 pkt
.CompletionCodes([0x0000, 0xfb00, 0xfe0c, 0xff00])
15674 # 2222/6808, 104/08
15675 pkt
= NCP(0x6808, "Reload NDS Software", "nds", has_length
=0)
15678 rec( 8, 4, NDSStatus
),
15680 pkt
.CompletionCodes([0x0000, 0xfb00, 0xfe0c, 0xff00])
15681 # 2222/68C8, 104/200
15682 pkt
= NCP(0x68C8, "Query Container Audit Status", "auditing", has_length
=0)
15684 rec( 8, 4, ConnectionNumber
),
15687 rec(8, 32, NWAuditStatus
),
15689 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15690 # 2222/68CA, 104/202
15691 pkt
= NCP(0x68CA, "Add Auditor Access", "auditing", has_length
=0)
15694 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15695 # 2222/68CB, 104/203
15696 pkt
= NCP(0x68CB, "Change Auditor Container Password", "auditing", has_length
=0)
15699 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15700 # 2222/68CC, 104/204
15701 pkt
= NCP(0x68CC, "Check Auditor Access", "auditing", has_length
=0)
15704 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15705 # 2222/68CE, 104/206
15706 pkt
= NCP(0x680CE, "Disable Container Auditing", "auditing", has_length
=0)
15709 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15710 # 2222/68CF, 104/207
15711 pkt
= NCP(0x68CF, "Enable Container Auditing", "auditing", has_length
=0)
15714 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15715 # 2222/68D1, 104/209
15716 pkt
= NCP(0x68D1, "Read Audit File Header", "auditing", has_length
=0)
15719 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15720 # 2222/68D3, 104/211
15721 pkt
= NCP(0x68D3, "Remove Auditor Access", "auditing", has_length
=0)
15724 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15725 # 2222/68D4, 104/212
15726 pkt
= NCP(0x68D4, "Reset Audit File", "auditing", has_length
=0)
15729 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15730 # 2222/68D6, 104/214
15731 pkt
= NCP(0x68D6, "Write Audit File Configuration Header", "auditing", has_length
=0)
15734 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15735 # 2222/68D7, 104/215
15736 pkt
= NCP(0x68D7, "Change Auditor Container Password2", "auditing", has_length
=0)
15739 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15740 # 2222/68D8, 104/216
15741 pkt
= NCP(0x68D8, "Return Audit Flags", "auditing", has_length
=0)
15744 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15745 # 2222/68D9, 104/217
15746 pkt
= NCP(0x68D9, "Close Old Audit File", "auditing", has_length
=0)
15749 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15750 # 2222/68DB, 104/219
15751 pkt
= NCP(0x68DB, "Check Level Two Access", "auditing", has_length
=0)
15754 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15755 # 2222/68DC, 104/220
15756 pkt
= NCP(0x68DC, "Check Object Audited", "auditing", has_length
=0)
15759 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15760 # 2222/68DD, 104/221
15761 pkt
= NCP(0x68DD, "Change Object Audited", "auditing", has_length
=0)
15764 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15765 # 2222/68DE, 104/222
15766 pkt
= NCP(0x68DE, "Return Old Audit File List", "auditing", has_length
=0)
15769 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15770 # 2222/68DF, 104/223
15771 pkt
= NCP(0x68DF, "Init Audit File Reads", "auditing", has_length
=0)
15774 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15775 # 2222/68E0, 104/224
15776 pkt
= NCP(0x68E0, "Read Auditing File", "auditing", has_length
=0)
15779 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15780 # 2222/68E1, 104/225
15781 pkt
= NCP(0x68E1, "Delete Old Audit File", "auditing", has_length
=0)
15784 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15785 # 2222/68E5, 104/229
15786 pkt
= NCP(0x68E5, "Set Audit Password", "auditing", has_length
=0)
15789 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15790 # 2222/68E7, 104/231
15791 pkt
= NCP(0x68E7, "External Audit Append To File", "auditing", has_length
=0)
15794 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15796 pkt
= NCP(0x69, "Log File", 'sync')
15797 pkt
.Request( (12, 267), [
15798 rec( 7, 1, DirHandle
),
15799 rec( 8, 1, LockFlag
),
15800 rec( 9, 2, TimeoutLimit
),
15801 rec( 11, (1, 256), FilePath
, info_str
=(FilePath
, "Log File: %s", "/%s") ),
15804 pkt
.CompletionCodes([0x0000, 0x7f00, 0x8200, 0x9600, 0xfe0d, 0xff01])
15806 pkt
= NCP(0x6A, "Lock File Set", 'sync')
15808 rec( 7, 2, TimeoutLimit
),
15811 pkt
.CompletionCodes([0x0000, 0x7f00, 0x8200, 0x9600, 0xfe0d, 0xff01])
15813 pkt
= NCP(0x6B, "Log Logical Record", 'sync')
15814 pkt
.Request( (11, 266), [
15815 rec( 7, 1, LockFlag
),
15816 rec( 8, 2, TimeoutLimit
),
15817 rec( 10, (1, 256), SynchName
, info_str
=(SynchName
, "Log Logical Record: %s", ", %s") ),
15820 pkt
.CompletionCodes([0x0000, 0x7f00, 0x9600, 0xfe0d, 0xff01])
15822 pkt
= NCP(0x6C, "Log Logical Record", 'sync')
15824 rec( 7, 1, LockFlag
),
15825 rec( 8, 2, TimeoutLimit
),
15828 pkt
.CompletionCodes([0x0000, 0x7f00, 0x9600, 0xfe0d, 0xff01])
15830 pkt
= NCP(0x6D, "Log Physical Record", 'sync')
15832 rec( 7, 1, LockFlag
),
15833 rec( 8, 6, FileHandle
),
15834 rec( 14, 4, LockAreasStartOffset
),
15835 rec( 18, 4, LockAreaLen
),
15836 rec( 22, 2, LockTimeout
),
15839 pkt
.CompletionCodes([0x0000, 0x7f00, 0x8200, 0x8800, 0x9600, 0xfd02, 0xfe04, 0xff01])
15841 pkt
= NCP(0x6E, "Lock Physical Record Set", 'sync')
15843 rec( 7, 1, LockFlag
),
15844 rec( 8, 2, LockTimeout
),
15847 pkt
.CompletionCodes([0x0000, 0x7f00, 0x8200, 0x8800, 0x9600, 0xfd02, 0xfe04, 0xff01])
15848 # 2222/6F00, 111/00
15849 pkt
= NCP(0x6F00, "Open/Create a Semaphore", 'sync', has_length
=0)
15850 pkt
.Request((10,521), [
15851 rec( 8, 1, InitialSemaphoreValue
),
15852 rec( 9, (1, 512), SemaphoreName
, info_str
=(SemaphoreName
, "Open/Create Semaphore: %s", ", %s") ),
15855 rec( 8, 4, SemaphoreHandle
),
15856 rec( 12, 1, SemaphoreOpenCount
),
15858 pkt
.CompletionCodes([0x0000, 0x9600, 0xff01])
15859 # 2222/6F01, 111/01
15860 pkt
= NCP(0x6F01, "Examine Semaphore", 'sync', has_length
=0)
15862 rec( 8, 4, SemaphoreHandle
),
15865 rec( 8, 1, SemaphoreValue
),
15866 rec( 9, 1, SemaphoreOpenCount
),
15868 pkt
.CompletionCodes([0x0000, 0x9600, 0xff01])
15869 # 2222/6F02, 111/02
15870 pkt
= NCP(0x6F02, "Wait On (P) Semaphore", 'sync', has_length
=0)
15872 rec( 8, 4, SemaphoreHandle
),
15873 rec( 12, 2, LockTimeout
),
15876 pkt
.CompletionCodes([0x0000, 0x9600, 0xfe04, 0xff01])
15877 # 2222/6F03, 111/03
15878 pkt
= NCP(0x6F03, "Signal (V) Semaphore", 'sync', has_length
=0)
15880 rec( 8, 4, SemaphoreHandle
),
15883 pkt
.CompletionCodes([0x0000, 0x9600, 0xfe04, 0xff01])
15884 # 2222/6F04, 111/04
15885 pkt
= NCP(0x6F04, "Close Semaphore", 'sync', has_length
=0)
15887 rec( 8, 4, SemaphoreHandle
),
15890 rec( 8, 1, SemaphoreOpenCount
),
15891 rec( 9, 1, SemaphoreShareCount
),
15893 pkt
.CompletionCodes([0x0000, 0x9600, 0xfe04, 0xff01])
15895 pkt
= NCP(0x70, "Clear and Get Waiting Lock Completion", 'sync')
15898 pkt
.CompletionCodes([0x0000, 0x9b00, 0x9c03, 0xff1a])
15899 # 2222/7201, 114/01
15900 pkt
= NCP(0x7201, "Timesync Get Time", 'tsync')
15903 rec( 8, 12, theTimeStruct
),
15904 rec(20, 8, eventOffset
),
15905 rec(28, 4, eventTime
),
15907 pkt
.CompletionCodes([0x0000, 0x7e00, 0xfb06, 0xff00])
15908 # 2222/7202, 114/02
15909 pkt
= NCP(0x7202, "Timesync Exchange Time", 'tsync')
15910 pkt
.Request((63,112), [
15911 rec( 10, 4, protocolFlags
),
15912 rec( 14, 4, nodeFlags
),
15913 rec( 18, 8, sourceOriginateTime
),
15914 rec( 26, 8, targetReceiveTime
),
15915 rec( 34, 8, targetTransmitTime
),
15916 rec( 42, 8, sourceReturnTime
),
15917 rec( 50, 8, eventOffset
),
15918 rec( 58, 4, eventTime
),
15919 rec( 62, (1,50), ServerNameLen
, info_str
=(ServerNameLen
, "Timesync Exchange Time: %s", ", %s") ),
15921 pkt
.Reply((64,113), [
15922 rec( 8, 3, Reserved3
),
15923 rec( 11, 4, protocolFlags
),
15924 rec( 15, 4, nodeFlags
),
15925 rec( 19, 8, sourceOriginateTime
),
15926 rec( 27, 8, targetReceiveTime
),
15927 rec( 35, 8, targetTransmitTime
),
15928 rec( 43, 8, sourceReturnTime
),
15929 rec( 51, 8, eventOffset
),
15930 rec( 59, 4, eventTime
),
15931 rec( 63, (1,50), ServerNameLen
),
15933 pkt
.CompletionCodes([0x0000, 0x7e00, 0xfb06, 0xff00])
15934 # 2222/7205, 114/05
15935 pkt
= NCP(0x7205, "Timesync Get Server List", 'tsync')
15937 rec( 10, 4, StartNumber
),
15940 rec( 8, 4, nameType
),
15941 rec( 12, 48, ServerName
),
15942 rec( 60, 4, serverListFlags
),
15943 rec( 64, 2, startNumberFlag
),
15945 pkt
.CompletionCodes([0x0000, 0x7e00, 0xfb06, 0xff00])
15946 # 2222/7206, 114/06
15947 pkt
= NCP(0x7206, "Timesync Set Server List", 'tsync')
15949 rec( 10, 4, StartNumber
),
15952 rec( 8, 4, nameType
),
15953 rec( 12, 48, ServerName
),
15954 rec( 60, 4, serverListFlags
),
15955 rec( 64, 2, startNumberFlag
),
15957 pkt
.CompletionCodes([0x0000, 0x7e00, 0xfb06, 0xff00])
15958 # 2222/720C, 114/12
15959 pkt
= NCP(0x720C, "Timesync Get Version", 'tsync')
15962 rec( 8, 4, version
),
15964 pkt
.CompletionCodes([0x0000, 0x7e00, 0xfb06, 0xff00])
15965 # 2222/7B01, 123/01
15966 pkt
= NCP(0x7B01, "Get Cache Information", 'stats')
15969 rec(8, 4, CurrentServerTime
, ENC_LITTLE_ENDIAN
),
15970 rec(12, 1, VConsoleVersion
),
15971 rec(13, 1, VConsoleRevision
),
15972 rec(14, 2, Reserved2
),
15973 rec(16, 104, Counters
),
15974 rec(120, 40, ExtraCacheCntrs
),
15975 rec(160, 40, MemoryCounters
),
15976 rec(200, 48, TrendCounters
),
15977 rec(248, 40, CacheInfo
),
15979 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xff00])
15980 # 2222/7B02, 123/02
15981 pkt
= NCP(0x7B02, "Get File Server Information", 'stats')
15984 rec(8, 4, CurrentServerTime
),
15985 rec(12, 1, VConsoleVersion
),
15986 rec(13, 1, VConsoleRevision
),
15987 rec(14, 2, Reserved2
),
15988 rec(16, 4, NCPStaInUseCnt
),
15989 rec(20, 4, NCPPeakStaInUse
),
15990 rec(24, 4, NumOfNCPReqs
),
15991 rec(28, 4, ServerUtilization
),
15992 rec(32, 96, ServerInfo
),
15993 rec(128, 22, FileServerCounters
),
15995 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
15996 # 2222/7B03, 123/03
15997 pkt
= NCP(0x7B03, "NetWare File System Information", 'stats')
15999 rec(10, 1, FileSystemID
),
16002 rec(8, 4, CurrentServerTime
),
16003 rec(12, 1, VConsoleVersion
),
16004 rec(13, 1, VConsoleRevision
),
16005 rec(14, 2, Reserved2
),
16006 rec(16, 52, FileSystemInfo
),
16008 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16009 # 2222/7B04, 123/04
16010 pkt
= NCP(0x7B04, "User Information", 'stats')
16012 rec(10, 4, ConnectionNumber
, ENC_LITTLE_ENDIAN
),
16014 pkt
.Reply((85, 132), [
16015 rec(8, 4, CurrentServerTime
),
16016 rec(12, 1, VConsoleVersion
),
16017 rec(13, 1, VConsoleRevision
),
16018 rec(14, 2, Reserved2
),
16019 rec(16, 68, UserInformation
),
16020 rec(84, (1, 48), UserName
),
16022 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16023 # 2222/7B05, 123/05
16024 pkt
= NCP(0x7B05, "Packet Burst Information", 'stats')
16027 rec(8, 4, CurrentServerTime
),
16028 rec(12, 1, VConsoleVersion
),
16029 rec(13, 1, VConsoleRevision
),
16030 rec(14, 2, Reserved2
),
16031 rec(16, 200, PacketBurstInformation
),
16033 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16034 # 2222/7B06, 123/06
16035 pkt
= NCP(0x7B06, "IPX SPX Information", 'stats')
16038 rec(8, 4, CurrentServerTime
),
16039 rec(12, 1, VConsoleVersion
),
16040 rec(13, 1, VConsoleRevision
),
16041 rec(14, 2, Reserved2
),
16042 rec(16, 34, IPXInformation
),
16043 rec(50, 44, SPXInformation
),
16045 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16046 # 2222/7B07, 123/07
16047 pkt
= NCP(0x7B07, "Garbage Collection Information", 'stats')
16050 rec(8, 4, CurrentServerTime
),
16051 rec(12, 1, VConsoleVersion
),
16052 rec(13, 1, VConsoleRevision
),
16053 rec(14, 2, Reserved2
),
16054 rec(16, 4, FailedAllocReqCnt
),
16055 rec(20, 4, NumberOfAllocs
),
16056 rec(24, 4, NoMoreMemAvlCnt
),
16057 rec(28, 4, NumOfGarbageColl
),
16058 rec(32, 4, FoundSomeMem
),
16059 rec(36, 4, NumOfChecks
),
16061 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16062 # 2222/7B08, 123/08
16063 pkt
= NCP(0x7B08, "CPU Information", 'stats')
16065 rec(10, 4, CPUNumber
),
16068 rec(8, 4, CurrentServerTime
),
16069 rec(12, 1, VConsoleVersion
),
16070 rec(13, 1, VConsoleRevision
),
16071 rec(14, 2, Reserved2
),
16072 rec(16, 4, NumberOfCPUs
),
16073 rec(20, 31, CPUInformation
),
16075 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16076 # 2222/7B09, 123/09
16077 pkt
= NCP(0x7B09, "Volume Switch Information", 'stats')
16079 rec(10, 4, StartNumber
)
16082 rec(8, 4, CurrentServerTime
),
16083 rec(12, 1, VConsoleVersion
),
16084 rec(13, 1, VConsoleRevision
),
16085 rec(14, 2, Reserved2
),
16086 rec(16, 4, TotalLFSCounters
),
16087 rec(20, 4, CurrentLFSCounters
, var
="x"),
16088 rec(24, 4, LFSCounters
, repeat
="x"),
16090 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16091 # 2222/7B0A, 123/10
16092 pkt
= NCP(0x7B0A, "Get NLM Loaded List", 'stats')
16094 rec(10, 4, StartNumber
)
16097 rec(8, 4, CurrentServerTime
),
16098 rec(12, 1, VConsoleVersion
),
16099 rec(13, 1, VConsoleRevision
),
16100 rec(14, 2, Reserved2
),
16101 rec(16, 4, NLMcount
),
16102 rec(20, 4, NLMsInList
, var
="x" ),
16103 rec(24, 4, NLMNumbers
, repeat
="x" ),
16105 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16106 # 2222/7B0B, 123/11
16107 pkt
= NCP(0x7B0B, "NLM Information", 'stats')
16109 rec(10, 4, NLMNumber
),
16111 pkt
.Reply(NO_LENGTH_CHECK
, [
16112 rec(8, 4, CurrentServerTime
),
16113 rec(12, 1, VConsoleVersion
),
16114 rec(13, 1, VConsoleRevision
),
16115 rec(14, 2, Reserved2
),
16116 rec(16, 60, NLMInformation
),
16117 # The remainder of this dissection is manually decoded in packet-ncp2222.inc
16118 #rec(-1, (1,255), FileName ),
16119 #rec(-1, (1,255), Name ),
16120 #rec(-1, (1,255), Copyright ),
16122 pkt
.ReqCondSizeVariable()
16123 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16124 # 2222/7B0C, 123/12
16125 pkt
= NCP(0x7B0C, "Get Directory Cache Information", 'stats')
16128 rec(8, 4, CurrentServerTime
),
16129 rec(12, 1, VConsoleVersion
),
16130 rec(13, 1, VConsoleRevision
),
16131 rec(14, 2, Reserved2
),
16132 rec(16, 56, DirCacheInfo
),
16134 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16135 # 2222/7B0D, 123/13
16136 pkt
= NCP(0x7B0D, "Get Operating System Version Information", 'stats')
16139 rec(8, 4, CurrentServerTime
),
16140 rec(12, 1, VConsoleVersion
),
16141 rec(13, 1, VConsoleRevision
),
16142 rec(14, 2, Reserved2
),
16143 rec(16, 1, OSMajorVersion
),
16144 rec(17, 1, OSMinorVersion
),
16145 rec(18, 1, OSRevision
),
16146 rec(19, 1, AccountVersion
),
16147 rec(20, 1, VAPVersion
),
16148 rec(21, 1, QueueingVersion
),
16149 rec(22, 1, SecurityRestrictionVersion
),
16150 rec(23, 1, InternetBridgeVersion
),
16151 rec(24, 4, MaxNumOfVol
),
16152 rec(28, 4, MaxNumOfConn
),
16153 rec(32, 4, MaxNumOfUsers
),
16154 rec(36, 4, MaxNumOfNmeSps
),
16155 rec(40, 4, MaxNumOfLANS
),
16156 rec(44, 4, MaxNumOfMedias
),
16157 rec(48, 4, MaxNumOfStacks
),
16158 rec(52, 4, MaxDirDepth
),
16159 rec(56, 4, MaxDataStreams
),
16160 rec(60, 4, MaxNumOfSpoolPr
),
16161 rec(64, 4, ServerSerialNumber
),
16162 rec(68, 2, ServerAppNumber
),
16164 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16165 # 2222/7B0E, 123/14
16166 pkt
= NCP(0x7B0E, "Get Active Connection List by Type", 'stats')
16168 rec(10, 4, StartConnNumber
),
16169 rec(14, 1, ConnectionType
),
16172 rec(8, 4, CurrentServerTime
),
16173 rec(12, 1, VConsoleVersion
),
16174 rec(13, 1, VConsoleRevision
),
16175 rec(14, 2, Reserved2
),
16176 rec(16, 512, ActiveConnBitList
),
16178 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfd01, 0xff00])
16179 # 2222/7B0F, 123/15
16180 pkt
= NCP(0x7B0F, "Get NLM Resource Tag List", 'stats')
16182 rec(10, 4, NLMNumber
),
16183 rec(14, 4, NLMStartNumber
),
16186 rec(8, 4, CurrentServerTime
),
16187 rec(12, 1, VConsoleVersion
),
16188 rec(13, 1, VConsoleRevision
),
16189 rec(14, 2, Reserved2
),
16190 rec(16, 4, TtlNumOfRTags
),
16191 rec(20, 4, CurNumOfRTags
),
16192 rec(24, 13, RTagStructure
),
16194 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16195 # 2222/7B10, 123/16
16196 pkt
= NCP(0x7B10, "Enumerate Connection Information from Connection List", 'stats')
16198 rec(10, 1, EnumInfoMask
),
16199 rec(11, 3, Reserved3
),
16200 rec(14, 4, itemsInList
, var
="x"),
16201 rec(18, 4, connList
, repeat
="x"),
16203 pkt
.Reply(NO_LENGTH_CHECK
, [
16204 rec(8, 4, CurrentServerTime
),
16205 rec(12, 1, VConsoleVersion
),
16206 rec(13, 1, VConsoleRevision
),
16207 rec(14, 2, Reserved2
),
16208 rec(16, 4, ItemsInPacket
),
16209 srec(netAddr
, req_cond
="ncp.enum_info_transport==TRUE"),
16210 srec(timeInfo
, req_cond
="ncp.enum_info_time==TRUE"),
16211 srec(nameInfo
, req_cond
="ncp.enum_info_name==TRUE"),
16212 srec(lockInfo
, req_cond
="ncp.enum_info_lock==TRUE"),
16213 srec(printInfo
, req_cond
="ncp.enum_info_print==TRUE"),
16214 srec(statsInfo
, req_cond
="ncp.enum_info_stats==TRUE"),
16215 srec(acctngInfo
, req_cond
="ncp.enum_info_account==TRUE"),
16216 srec(authInfo
, req_cond
="ncp.enum_info_auth==TRUE"),
16218 pkt
.ReqCondSizeVariable()
16219 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16220 # 2222/7B11, 123/17
16221 pkt
= NCP(0x7B11, "Enumerate NCP Service Network Addresses", 'stats')
16223 rec(10, 4, SearchNumber
),
16226 rec(8, 4, CurrentServerTime
),
16227 rec(12, 1, VConsoleVersion
),
16228 rec(13, 1, VConsoleRevision
),
16229 rec(14, 2, ServerInfoFlags
),
16230 rec(16, 16, GUID
),
16231 rec(32, 4, NextSearchNum
),
16232 # The following two items are dissected in packet-ncp2222.inc
16233 #rec(36, 4, ItemsInPacket, var="x"),
16234 #rec(40, 20, NCPNetworkAddress, repeat="x" ),
16236 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb01, 0xff00])
16237 # 2222/7B14, 123/20
16238 pkt
= NCP(0x7B14, "Active LAN Board List", 'stats')
16240 rec(10, 4, StartNumber
),
16243 rec(8, 4, CurrentServerTime
),
16244 rec(12, 1, VConsoleVersion
),
16245 rec(13, 1, VConsoleRevision
),
16246 rec(14, 2, Reserved2
),
16247 rec(16, 4, MaxNumOfLANS
),
16248 rec(20, 4, ItemsInPacket
, var
="x"),
16249 rec(24, 4, BoardNumbers
, repeat
="x"),
16251 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16252 # 2222/7B15, 123/21
16253 pkt
= NCP(0x7B15, "LAN Configuration Information", 'stats')
16255 rec(10, 4, BoardNumber
),
16258 rec(8, 4, CurrentServerTime
),
16259 rec(12, 1, VConsoleVersion
),
16260 rec(13, 1, VConsoleRevision
),
16261 rec(14, 2, Reserved2
),
16262 rec(16,136, LANConfigInfo
),
16264 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16265 # 2222/7B16, 123/22
16266 pkt
= NCP(0x7B16, "LAN Common Counters Information", 'stats')
16268 rec(10, 4, BoardNumber
),
16269 rec(14, 4, BlockNumber
),
16272 rec(8, 4, CurrentServerTime
),
16273 rec(12, 1, VConsoleVersion
),
16274 rec(13, 1, VConsoleRevision
),
16275 rec(14, 1, StatMajorVersion
),
16276 rec(15, 1, StatMinorVersion
),
16277 rec(16, 4, TotalCommonCnts
),
16278 rec(20, 4, TotalCntBlocks
),
16279 rec(24, 4, CustomCounters
),
16280 rec(28, 4, NextCntBlock
),
16281 rec(32, 54, CommonLanStruc
),
16283 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16284 # 2222/7B17, 123/23
16285 pkt
= NCP(0x7B17, "LAN Custom Counters Information", 'stats')
16287 rec(10, 4, BoardNumber
),
16288 rec(14, 4, StartNumber
),
16291 rec(8, 4, CurrentServerTime
),
16292 rec(12, 1, VConsoleVersion
),
16293 rec(13, 1, VConsoleRevision
),
16294 rec(14, 2, Reserved2
),
16295 rec(16, 4, NumOfCCinPkt
, var
="x"),
16296 rec(20, 5, CustomCntsInfo
, repeat
="x"),
16298 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16299 # 2222/7B18, 123/24
16300 pkt
= NCP(0x7B18, "LAN Name Information", 'stats')
16302 rec(10, 4, BoardNumber
),
16304 pkt
.Reply(NO_LENGTH_CHECK
, [
16305 rec(8, 4, CurrentServerTime
),
16306 rec(12, 1, VConsoleVersion
),
16307 rec(13, 1, VConsoleRevision
),
16308 rec(14, 2, Reserved2
),
16309 rec(16, PROTO_LENGTH_UNKNOWN
, DriverBoardName
),
16310 rec(-1, PROTO_LENGTH_UNKNOWN
, DriverShortName
),
16311 rec(-1, PROTO_LENGTH_UNKNOWN
, DriverLogicalName
),
16313 pkt
.ReqCondSizeVariable()
16314 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16315 # 2222/7B19, 123/25
16316 pkt
= NCP(0x7B19, "LSL Information", 'stats')
16319 rec(8, 4, CurrentServerTime
),
16320 rec(12, 1, VConsoleVersion
),
16321 rec(13, 1, VConsoleRevision
),
16322 rec(14, 2, Reserved2
),
16323 rec(16, 74, LSLInformation
),
16325 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16326 # 2222/7B1A, 123/26
16327 pkt
= NCP(0x7B1A, "LSL Logical Board Statistics", 'stats')
16329 rec(10, 4, BoardNumber
),
16332 rec(8, 4, CurrentServerTime
),
16333 rec(12, 1, VConsoleVersion
),
16334 rec(13, 1, VConsoleRevision
),
16335 rec(14, 2, Reserved2
),
16336 rec(16, 4, LogTtlTxPkts
),
16337 rec(20, 4, LogTtlRxPkts
),
16338 rec(24, 4, UnclaimedPkts
),
16340 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16341 # 2222/7B1B, 123/27
16342 pkt
= NCP(0x7B1B, "MLID Board Information", 'stats')
16344 rec(10, 4, BoardNumber
),
16347 rec(8, 4, CurrentServerTime
),
16348 rec(12, 1, VConsoleVersion
),
16349 rec(13, 1, VConsoleRevision
),
16350 rec(14, 1, Reserved
),
16351 rec(15, 1, NumberOfProtocols
),
16352 rec(16, 28, MLIDBoardInfo
),
16354 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16355 # 2222/7B1E, 123/30
16356 pkt
= NCP(0x7B1E, "Get Media Manager Object Information", 'stats')
16358 rec(10, 4, ObjectNumber
),
16361 rec(8, 4, CurrentServerTime
),
16362 rec(12, 1, VConsoleVersion
),
16363 rec(13, 1, VConsoleRevision
),
16364 rec(14, 2, Reserved2
),
16365 rec(16, 196, GenericInfoDef
),
16367 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16368 # 2222/7B1F, 123/31
16369 pkt
= NCP(0x7B1F, "Get Media Manager Objects List", 'stats')
16371 rec(10, 4, StartNumber
),
16372 rec(14, 1, MediaObjectType
),
16375 rec(8, 4, CurrentServerTime
),
16376 rec(12, 1, VConsoleVersion
),
16377 rec(13, 1, VConsoleRevision
),
16378 rec(14, 2, Reserved2
),
16379 rec(16, 4, nextStartingNumber
),
16380 rec(20, 4, ObjectCount
, var
="x"),
16381 rec(24, 4, ObjectID
, repeat
="x"),
16383 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16384 # 2222/7B20, 123/32
16385 pkt
= NCP(0x7B20, "Get Media Manager Object Childrens List", 'stats')
16387 rec(10, 4, StartNumber
),
16388 rec(14, 1, MediaObjectType
),
16389 rec(15, 3, Reserved3
),
16390 rec(18, 4, ParentObjectNumber
),
16393 rec(8, 4, CurrentServerTime
),
16394 rec(12, 1, VConsoleVersion
),
16395 rec(13, 1, VConsoleRevision
),
16396 rec(14, 2, Reserved2
),
16397 rec(16, 4, nextStartingNumber
),
16398 rec(20, 4, ObjectCount
, var
="x" ),
16399 rec(24, 4, ObjectID
, repeat
="x" ),
16401 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16402 # 2222/7B21, 123/33
16403 pkt
= NCP(0x7B21, "Get Volume Segment List", 'stats')
16405 rec(10, 4, VolumeNumberLong
),
16408 rec(8, 4, CurrentServerTime
),
16409 rec(12, 1, VConsoleVersion
),
16410 rec(13, 1, VConsoleRevision
),
16411 rec(14, 2, Reserved2
),
16412 rec(16, 4, NumOfSegments
, var
="x" ),
16413 rec(20, 12, Segments
, repeat
="x" ),
16415 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0x9801, 0xfb06, 0xff00])
16416 # 2222/7B22, 123/34
16417 pkt
= NCP(0x7B22, "Get Volume Information by Level", 'stats')
16419 rec(10, 4, VolumeNumberLong
),
16420 rec(14, 1, InfoLevelNumber
),
16422 pkt
.Reply(NO_LENGTH_CHECK
, [
16423 rec(8, 4, CurrentServerTime
),
16424 rec(12, 1, VConsoleVersion
),
16425 rec(13, 1, VConsoleRevision
),
16426 rec(14, 2, Reserved2
),
16427 rec(16, 1, InfoLevelNumber
),
16428 rec(17, 3, Reserved3
),
16429 srec(VolInfoStructure
, req_cond
="ncp.info_level_num==0x01"),
16430 srec(VolInfo2Struct
, req_cond
="ncp.info_level_num==0x02"),
16432 pkt
.ReqCondSizeVariable()
16433 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16434 # 2222/7B23, 123/35
16435 pkt
= NCP(0x7B23, "Get Volume Information by Level 64 Bit Aware", 'stats')
16437 rec(10, 4, InpInfotype
),
16438 rec(14, 4, Inpld
),
16439 rec(18, 4, VolInfoReturnInfoMask
),
16441 pkt
.Reply(NO_LENGTH_CHECK
, [
16442 rec(8, 4, CurrentServerTime
),
16443 rec(12, 1, VConsoleVersion
),
16444 rec(13, 1, VConsoleRevision
),
16445 rec(14, 2, Reserved2
),
16446 rec(16, 4, VolInfoReturnInfoMask
),
16447 srec(VolInfoStructure64
, req_cond
="ncp.vinfo_info64==0x00000001"),
16448 rec( -1, (1,255), VolumeNameLen
, req_cond
="ncp.vinfo_volname==0x00000002" ),
16450 pkt
.ReqCondSizeVariable()
16451 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16452 # 2222/7B28, 123/40
16453 pkt
= NCP(0x7B28, "Active Protocol Stacks", 'stats')
16455 rec(10, 4, StartNumber
),
16458 rec(8, 4, CurrentServerTime
),
16459 rec(12, 1, VConsoleVersion
),
16460 rec(13, 1, VConsoleRevision
),
16461 rec(14, 2, Reserved2
),
16462 rec(16, 4, MaxNumOfLANS
),
16463 rec(20, 4, StackCount
, var
="x" ),
16464 rec(24, 4, nextStartingNumber
),
16465 rec(28, 20, StackInfo
, repeat
="x" ),
16467 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16468 # 2222/7B29, 123/41
16469 pkt
= NCP(0x7B29, "Get Protocol Stack Configuration Information", 'stats')
16471 rec(10, 4, StackNumber
),
16473 pkt
.Reply((37,164), [
16474 rec(8, 4, CurrentServerTime
),
16475 rec(12, 1, VConsoleVersion
),
16476 rec(13, 1, VConsoleRevision
),
16477 rec(14, 2, Reserved2
),
16478 rec(16, 1, ConfigMajorVN
),
16479 rec(17, 1, ConfigMinorVN
),
16480 rec(18, 1, StackMajorVN
),
16481 rec(19, 1, StackMinorVN
),
16482 rec(20, 16, ShortStkName
),
16483 rec(36, (1,128), StackFullNameStr
),
16485 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16486 # 2222/7B2A, 123/42
16487 pkt
= NCP(0x7B2A, "Get Protocol Stack Statistics Information", 'stats')
16489 rec(10, 4, StackNumber
),
16492 rec(8, 4, CurrentServerTime
),
16493 rec(12, 1, VConsoleVersion
),
16494 rec(13, 1, VConsoleRevision
),
16495 rec(14, 2, Reserved2
),
16496 rec(16, 1, StatMajorVersion
),
16497 rec(17, 1, StatMinorVersion
),
16498 rec(18, 2, ComCnts
),
16499 rec(20, 4, CounterMask
),
16500 rec(24, 4, TotalTxPkts
),
16501 rec(28, 4, TotalRxPkts
),
16502 rec(32, 4, IgnoredRxPkts
),
16503 rec(36, 2, CustomCnts
),
16505 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16506 # 2222/7B2B, 123/43
16507 pkt
= NCP(0x7B2B, "Get Protocol Stack Custom Information", 'stats')
16509 rec(10, 4, StackNumber
),
16510 rec(14, 4, StartNumber
),
16513 rec(8, 4, CurrentServerTime
),
16514 rec(12, 1, VConsoleVersion
),
16515 rec(13, 1, VConsoleRevision
),
16516 rec(14, 2, Reserved2
),
16517 rec(16, 4, CustomCount
, var
="x" ),
16518 rec(20, 5, CustomCntsInfo
, repeat
="x" ),
16520 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16521 # 2222/7B2C, 123/44
16522 pkt
= NCP(0x7B2C, "Get Protocol Stack Numbers by Media Number", 'stats')
16524 rec(10, 4, MediaNumber
),
16527 rec(8, 4, CurrentServerTime
),
16528 rec(12, 1, VConsoleVersion
),
16529 rec(13, 1, VConsoleRevision
),
16530 rec(14, 2, Reserved2
),
16531 rec(16, 4, StackCount
, var
="x" ),
16532 rec(20, 4, StackNumber
, repeat
="x" ),
16534 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16535 # 2222/7B2D, 123/45
16536 pkt
= NCP(0x7B2D, "Get Protocol Stack Numbers by LAN Board Number", 'stats')
16538 rec(10, 4, BoardNumber
),
16541 rec(8, 4, CurrentServerTime
),
16542 rec(12, 1, VConsoleVersion
),
16543 rec(13, 1, VConsoleRevision
),
16544 rec(14, 2, Reserved2
),
16545 rec(16, 4, StackCount
, var
="x" ),
16546 rec(20, 4, StackNumber
, repeat
="x" ),
16548 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16549 # 2222/7B2E, 123/46
16550 pkt
= NCP(0x7B2E, "Get Media Name by Media Number", 'stats')
16552 rec(10, 4, MediaNumber
),
16554 pkt
.Reply((17,144), [
16555 rec(8, 4, CurrentServerTime
),
16556 rec(12, 1, VConsoleVersion
),
16557 rec(13, 1, VConsoleRevision
),
16558 rec(14, 2, Reserved2
),
16559 rec(16, (1,128), MediaName
),
16561 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16562 # 2222/7B2F, 123/47
16563 pkt
= NCP(0x7B2F, "Get Loaded Media Number", 'stats')
16566 rec(8, 4, CurrentServerTime
),
16567 rec(12, 1, VConsoleVersion
),
16568 rec(13, 1, VConsoleRevision
),
16569 rec(14, 2, Reserved2
),
16570 rec(16, 4, MaxNumOfMedias
),
16571 rec(20, 4, MediaListCount
, var
="x" ),
16572 rec(24, 4, MediaList
, repeat
="x" ),
16574 pkt
.CompletionCodes([0x0000, 0x7e01, 0xfb06, 0xff00])
16575 # 2222/7B32, 123/50
16576 pkt
= NCP(0x7B32, "Get General Router and SAP Information", 'stats')
16579 rec(8, 4, CurrentServerTime
),
16580 rec(12, 1, VConsoleVersion
),
16581 rec(13, 1, VConsoleRevision
),
16582 rec(14, 2, Reserved2
),
16583 rec(16, 2, RIPSocketNumber
),
16584 rec(18, 2, Reserved2
),
16585 rec(20, 1, RouterDownFlag
),
16586 rec(21, 3, Reserved3
),
16587 rec(24, 1, TrackOnFlag
),
16588 rec(25, 3, Reserved3
),
16589 rec(28, 1, ExtRouterActiveFlag
),
16590 rec(29, 3, Reserved3
),
16591 rec(32, 2, SAPSocketNumber
),
16592 rec(34, 2, Reserved2
),
16593 rec(36, 1, RpyNearestSrvFlag
),
16595 pkt
.CompletionCodes([0x0000, 0x7e01, 0xfb06, 0xff00])
16596 # 2222/7B33, 123/51
16597 pkt
= NCP(0x7B33, "Get Network Router Information", 'stats')
16599 rec(10, 4, NetworkNumber
),
16602 rec(8, 4, CurrentServerTime
),
16603 rec(12, 1, VConsoleVersion
),
16604 rec(13, 1, VConsoleRevision
),
16605 rec(14, 2, Reserved2
),
16606 rec(16, 10, KnownRoutes
),
16608 pkt
.CompletionCodes([0x0000, 0x0108, 0x7e01, 0xfb06, 0xff00])
16609 # 2222/7B34, 123/52
16610 pkt
= NCP(0x7B34, "Get Network Routers Information", 'stats')
16612 rec(10, 4, NetworkNumber
),
16613 rec(14, 4, StartNumber
),
16616 rec(8, 4, CurrentServerTime
),
16617 rec(12, 1, VConsoleVersion
),
16618 rec(13, 1, VConsoleRevision
),
16619 rec(14, 2, Reserved2
),
16620 rec(16, 4, NumOfEntries
, var
="x" ),
16621 rec(20, 14, RoutersInfo
, repeat
="x" ),
16623 pkt
.CompletionCodes([0x0000, 0x0108, 0x7e01, 0xfb06, 0xff00])
16624 # 2222/7B35, 123/53
16625 pkt
= NCP(0x7B35, "Get Known Networks Information", 'stats')
16627 rec(10, 4, StartNumber
),
16630 rec(8, 4, CurrentServerTime
),
16631 rec(12, 1, VConsoleVersion
),
16632 rec(13, 1, VConsoleRevision
),
16633 rec(14, 2, Reserved2
),
16634 rec(16, 4, NumOfEntries
, var
="x" ),
16635 rec(20, 10, KnownRoutes
, repeat
="x" ),
16637 pkt
.CompletionCodes([0x0000, 0x7e01, 0xfb06, 0xff00])
16638 # 2222/7B36, 123/54
16639 pkt
= NCP(0x7B36, "Get Server Information", 'stats')
16640 pkt
.Request((15,64), [
16641 rec(10, 2, ServerType
),
16642 rec(12, 2, Reserved2
),
16643 rec(14, (1,50), ServerNameLen
, info_str
=(ServerNameLen
, "Get Server Information: %s", ", %s") ),
16646 rec(8, 4, CurrentServerTime
),
16647 rec(12, 1, VConsoleVersion
),
16648 rec(13, 1, VConsoleRevision
),
16649 rec(14, 2, Reserved2
),
16650 rec(16, 12, ServerAddress
),
16651 rec(28, 2, HopsToNet
),
16653 pkt
.CompletionCodes([0x0000, 0x7e01, 0xfb06, 0xff00])
16654 # 2222/7B37, 123/55
16655 pkt
= NCP(0x7B37, "Get Server Sources Information", 'stats')
16656 pkt
.Request((19,68), [
16657 rec(10, 4, StartNumber
),
16658 rec(14, 2, ServerType
),
16659 rec(16, 2, Reserved2
),
16660 rec(18, (1,50), ServerNameLen
, info_str
=(ServerNameLen
, "Get Server Sources Info: %s", ", %s") ),
16663 rec(8, 4, CurrentServerTime
),
16664 rec(12, 1, VConsoleVersion
),
16665 rec(13, 1, VConsoleRevision
),
16666 rec(14, 2, Reserved2
),
16667 rec(16, 4, NumOfEntries
, var
="x" ),
16668 rec(20, 12, ServersSrcInfo
, repeat
="x" ),
16670 pkt
.CompletionCodes([0x0000, 0x0108, 0x7e01, 0xfb06, 0xff00])
16671 # 2222/7B38, 123/56
16672 pkt
= NCP(0x7B38, "Get Known Servers Information", 'stats')
16674 rec(10, 4, StartNumber
),
16675 rec(14, 2, ServerType
),
16678 rec(8, 4, CurrentServerTime
),
16679 rec(12, 1, VConsoleVersion
),
16680 rec(13, 1, VConsoleRevision
),
16681 rec(14, 2, Reserved2
),
16682 rec(16, 4, NumOfEntries
, var
="x" ),
16683 rec(20, 15, KnownServStruc
, repeat
="x" ),
16685 pkt
.CompletionCodes([0x0000, 0x0108, 0x7e01, 0xfb06, 0xff00])
16686 # 2222/7B3C, 123/60
16687 pkt
= NCP(0x7B3C, "Get Server Set Commands Information", 'stats')
16689 rec(10, 4, StartNumber
),
16691 pkt
.Reply(NO_LENGTH_CHECK
, [
16692 rec(8, 4, CurrentServerTime
),
16693 rec(12, 1, VConsoleVersion
),
16694 rec(13, 1, VConsoleRevision
),
16695 rec(14, 2, Reserved2
),
16696 rec(16, 4, TtlNumOfSetCmds
),
16697 rec(20, 4, nextStartingNumber
),
16698 rec(24, 1, SetCmdType
),
16699 rec(25, 3, Reserved3
),
16700 rec(28, 1, SetCmdCategory
),
16701 rec(29, 3, Reserved3
),
16702 rec(32, 1, SetCmdFlags
),
16703 rec(33, 3, Reserved3
),
16704 rec(36, PROTO_LENGTH_UNKNOWN
, SetCmdName
),
16705 rec(-1, 4, SetCmdValueNum
),
16707 pkt
.ReqCondSizeVariable()
16708 pkt
.CompletionCodes([0x0000, 0x7e01, 0xfb06, 0xff00])
16709 # 2222/7B3D, 123/61
16710 pkt
= NCP(0x7B3D, "Get Server Set Categories", 'stats')
16712 rec(10, 4, StartNumber
),
16714 pkt
.Reply(NO_LENGTH_CHECK
, [
16715 rec(8, 4, CurrentServerTime
),
16716 rec(12, 1, VConsoleVersion
),
16717 rec(13, 1, VConsoleRevision
),
16718 rec(14, 2, Reserved2
),
16719 rec(16, 4, NumberOfSetCategories
),
16720 rec(20, 4, nextStartingNumber
),
16721 rec(24, PROTO_LENGTH_UNKNOWN
, CategoryName
),
16723 pkt
.CompletionCodes([0x0000, 0x7e01, 0xfb06, 0xff00])
16724 # 2222/7B3E, 123/62
16725 pkt
= NCP(0x7B3E, "Get Server Set Commands Information By Name", 'stats')
16726 pkt
.Request(NO_LENGTH_CHECK
, [
16727 rec(10, PROTO_LENGTH_UNKNOWN
, SetParmName
, info_str
=(SetParmName
, "Get Server Set Command Info for: %s", ", %s") ),
16729 pkt
.Reply(NO_LENGTH_CHECK
, [
16730 rec(8, 4, CurrentServerTime
),
16731 rec(12, 1, VConsoleVersion
),
16732 rec(13, 1, VConsoleRevision
),
16733 rec(14, 2, Reserved2
),
16734 rec(16, 4, TtlNumOfSetCmds
),
16735 rec(20, 4, nextStartingNumber
),
16736 rec(24, 1, SetCmdType
),
16737 rec(25, 3, Reserved3
),
16738 rec(28, 1, SetCmdCategory
),
16739 rec(29, 3, Reserved3
),
16740 rec(32, 1, SetCmdFlags
),
16741 rec(33, 3, Reserved3
),
16742 rec(36, PROTO_LENGTH_UNKNOWN
, SetCmdName
),
16743 # The value of the set command is decoded in packet-ncp2222.inc
16745 pkt
.ReqCondSizeVariable()
16746 pkt
.CompletionCodes([0x0000, 0x7e01, 0xc600, 0xfb06, 0xff22])
16747 # 2222/7B46, 123/70
16748 pkt
= NCP(0x7B46, "Get Current Compressing File", 'stats')
16750 rec(10, 4, VolumeNumberLong
),
16753 rec(8, 4, ParentID
),
16754 rec(12, 4, DirectoryEntryNumber
),
16755 rec(16, 4, compressionStage
),
16756 rec(20, 4, ttlIntermediateBlks
),
16757 rec(24, 4, ttlCompBlks
),
16758 rec(28, 4, curIntermediateBlks
),
16759 rec(32, 4, curCompBlks
),
16760 rec(36, 4, curInitialBlks
),
16761 rec(40, 4, fileFlags
),
16762 rec(44, 4, projectedCompSize
),
16763 rec(48, 4, originalSize
),
16764 rec(52, 4, compressVolume
),
16766 pkt
.CompletionCodes([0x0000, 0x7e00, 0x7901, 0x9801, 0xfb06, 0xff00])
16767 # 2222/7B47, 123/71
16768 pkt
= NCP(0x7B47, "Get Current DeCompressing File Info List", 'stats')
16770 rec(10, 4, VolumeNumberLong
),
16773 #rec(8, 4, FileListCount ),
16774 rec(8, 16, FileInfoStruct
),
16776 pkt
.CompletionCodes([0x0000, 0x7e00, 0x9801, 0xfb06, 0xff00])
16777 # 2222/7B48, 123/72
16778 pkt
= NCP(0x7B48, "Get Compression and Decompression Time and Counts", 'stats')
16780 rec(10, 4, VolumeNumberLong
),
16783 rec(8, 56, CompDeCompStat
),
16785 pkt
.CompletionCodes([0x0000, 0x7e00, 0x9801, 0xfb06, 0xff00])
16786 # 2222/7BF9, 123/249
16787 pkt
= NCP(0x7BF9, "Set Alert Notification", 'stats')
16790 pkt
.CompletionCodes([0x0000, 0x7e00, 0xfb06, 0xff00])
16791 # 2222/7BFB, 123/251
16792 pkt
= NCP(0x7BFB, "Get Item Configuration Information", 'stats')
16795 pkt
.CompletionCodes([0x0000, 0x7e00, 0xfb06, 0xff00])
16796 # 2222/7BFC, 123/252
16797 pkt
= NCP(0x7BFC, "Get Subject Item ID List", 'stats')
16800 pkt
.CompletionCodes([0x0000, 0x7e00, 0xfb06, 0xff00])
16801 # 2222/7BFD, 123/253
16802 pkt
= NCP(0x7BFD, "Get Subject Item List Count", 'stats')
16805 pkt
.CompletionCodes([0x0000, 0x7e00, 0xfb06, 0xff00])
16806 # 2222/7BFE, 123/254
16807 pkt
= NCP(0x7BFE, "Get Subject ID List", 'stats')
16810 pkt
.CompletionCodes([0x0000, 0x7e00, 0xfb06, 0xff00])
16811 # 2222/7BFF, 123/255
16812 pkt
= NCP(0x7BFF, "Get Number of NetMan Subjects", 'stats')
16815 pkt
.CompletionCodes([0x0000, 0x7e00, 0xfb06, 0xff00])
16816 # 2222/8301, 131/01
16817 pkt
= NCP(0x8301, "RPC Load an NLM", 'remote')
16818 pkt
.Request(NO_LENGTH_CHECK
, [
16819 rec(10, 4, NLMLoadOptions
),
16820 rec(14, 16, Reserved16
),
16821 rec(30, PROTO_LENGTH_UNKNOWN
, PathAndName
, info_str
=(PathAndName
, "RPC Load NLM: %s", ", %s") ),
16824 rec(8, 4, RPCccode
),
16826 pkt
.CompletionCodes([0x0000, 0x7c00, 0x7e00, 0xfb07, 0xff00])
16827 # 2222/8302, 131/02
16828 pkt
= NCP(0x8302, "RPC Unload an NLM", 'remote')
16829 pkt
.Request(NO_LENGTH_CHECK
, [
16830 rec(10, 20, Reserved20
),
16831 rec(30, PROTO_LENGTH_UNKNOWN
, NLMName
, info_str
=(NLMName
, "RPC Unload NLM: %s", ", %s") ),
16834 rec(8, 4, RPCccode
),
16836 pkt
.CompletionCodes([0x0000, 0x7c00, 0x7e00, 0xfb07, 0xff00])
16837 # 2222/8303, 131/03
16838 pkt
= NCP(0x8303, "RPC Mount Volume", 'remote')
16839 pkt
.Request(NO_LENGTH_CHECK
, [
16840 rec(10, 20, Reserved20
),
16841 rec(30, PROTO_LENGTH_UNKNOWN
, VolumeNameStringz
, info_str
=(VolumeNameStringz
, "RPC Mount Volume: %s", ", %s") ),
16844 rec(8, 4, RPCccode
),
16845 rec(12, 16, Reserved16
),
16846 rec(28, 4, VolumeNumberLong
),
16848 pkt
.CompletionCodes([0x0000, 0x7e00, 0xfb07, 0xff00])
16849 # 2222/8304, 131/04
16850 pkt
= NCP(0x8304, "RPC Dismount Volume", 'remote')
16851 pkt
.Request(NO_LENGTH_CHECK
, [
16852 rec(10, 20, Reserved20
),
16853 rec(30, PROTO_LENGTH_UNKNOWN
, VolumeNameStringz
, info_str
=(VolumeNameStringz
, "RPC Dismount Volume: %s", ", %s") ),
16856 rec(8, 4, RPCccode
),
16858 pkt
.CompletionCodes([0x0000, 0x7e00, 0xfb07, 0xff00])
16859 # 2222/8305, 131/05
16860 pkt
= NCP(0x8305, "RPC Add Name Space To Volume", 'remote')
16861 pkt
.Request(NO_LENGTH_CHECK
, [
16862 rec(10, 20, Reserved20
),
16863 rec(30, PROTO_LENGTH_UNKNOWN
, AddNameSpaceAndVol
, info_str
=(AddNameSpaceAndVol
, "RPC Add Name Space to Volume: %s", ", %s") ),
16866 rec(8, 4, RPCccode
),
16868 pkt
.CompletionCodes([0x0000, 0x7e00, 0xfb07, 0xff00])
16869 # 2222/8306, 131/06
16870 pkt
= NCP(0x8306, "RPC Set Command Value", 'remote')
16871 pkt
.Request(NO_LENGTH_CHECK
, [
16872 rec(10, 1, SetCmdType
),
16873 rec(11, 3, Reserved3
),
16874 rec(14, 4, SetCmdValueNum
),
16875 rec(18, 12, Reserved12
),
16876 rec(30, PROTO_LENGTH_UNKNOWN
, SetCmdName
, info_str
=(SetCmdName
, "RPC Set Command Value: %s", ", %s") ),
16878 # XXX - optional string, if SetCmdType is 0
16882 rec(8, 4, RPCccode
),
16884 pkt
.CompletionCodes([0x0000, 0x7e00, 0xfb07, 0xff00])
16885 # 2222/8307, 131/07
16886 pkt
= NCP(0x8307, "RPC Execute NCF File", 'remote')
16887 pkt
.Request(NO_LENGTH_CHECK
, [
16888 rec(10, 20, Reserved20
),
16889 rec(30, PROTO_LENGTH_UNKNOWN
, PathAndName
, info_str
=(PathAndName
, "RPC Execute NCF File: %s", ", %s") ),
16892 rec(8, 4, RPCccode
),
16894 pkt
.CompletionCodes([0x0000, 0x7e00, 0xfb07, 0xff00])
16895 if __name__
== '__main__':
16897 # filename = "ncp.pstats"
16898 # profile.run("main()", filename)
16902 # p = pstats.Stats(filename)
16904 # print "Stats sorted by cumulative time"
16905 # p.strip_dirs().sort_stats('cumulative').print_stats()
16907 # print "Function callees"
16908 # p.print_callees()
16912 # Editor modelines - https://www.wireshark.org/tools/modelines.html
16915 # c-basic-offset: 4
16916 # indent-tabs-mode: nil
16919 # vi: set shiftwidth=4 expandtab:
16920 # :indentSize=4:noTabs=true: