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 refered 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 Novell provides info at:
18 http://developer.novell.com/ndk/ncp.htm (where you can 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.
31 Portions Copyright (c) 2000-2002 by Gilbert Ramirez <gram@alumni.rice.edu>.
32 Portions Copyright (c) Novell, Inc. 2000-2003.
34 This program is free software; you can redistribute it and/or
35 modify it under the terms of the GNU General Public License
36 as published by the Free Software Foundation; either version 2
37 of the License, or (at your option) any later version.
39 This program is distributed in the hope that it will be useful,
40 but WITHOUT ANY WARRANTY; without even the implied warranty of
41 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
42 GNU General Public License for more details.
44 You should have received a copy of the GNU General Public License
45 along with this program; if not, write to the Free Software
46 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
77 PROTO_LENGTH_UNKNOWN
= -1
79 global_highest_var
= -1
83 REQ_COND_SIZE_VARIABLE
= "REQ_COND_SIZE_VARIABLE"
84 REQ_COND_SIZE_CONSTANT
= "REQ_COND_SIZE_CONSTANT"
86 ##############################################################################
88 ##############################################################################
90 class UniqueCollection
:
91 """The UniqueCollection class stores objects which can be compared to other
92 objects of the same class. If two objects in the collection are equivalent,
93 only one is stored."""
95 def __init__(self
, name
):
99 self
.member_reprs
= {}
101 def Add(self
, object):
102 """Add an object to the members lists, if a comparable object
103 doesn't already exist. The object that is in the member list, that is
104 either the object that was added or the comparable object that was
105 already in the member list, is returned."""
108 # Is 'object' a duplicate of some other member?
109 if r
in self
.member_reprs
:
110 return self
.member_reprs
[r
]
112 self
.member_reprs
[r
] = object
113 self
.members
.append(object)
117 "Returns the list of members."
120 def HasMember(self
, object):
121 "Does the list of members contain the object?"
122 if repr(object) in self
.members_reprs
:
127 # This list needs to be defined before the NCP types are defined,
128 # because the NCP types are defined in the global scope, not inside
129 # a function's scope.
130 ptvc_lists
= UniqueCollection('PTVC Lists')
132 ##############################################################################
135 "NamedList's keep track of PTVC's and Completion Codes"
136 def __init__(self
, name
, list):
141 def __cmp__(self
, other
):
142 "Compare this NamedList to another"
144 if isinstance(other
, NamedList
):
145 return cmp(self
.list, other
.list)
150 def Name(self
, new_name
= None):
151 "Get/Set name of list"
157 "Returns record lists"
161 "Is there no list (different from an empty list)?"
162 return self
.list == None
165 "It the list empty (different from a null list)?"
166 assert(not self
.Null())
174 return repr(self
.list)
176 class PTVC(NamedList
):
177 """ProtoTree TVBuff Cursor List ("PTVC List") Class"""
179 def __init__(self
, name
, records
):
181 NamedList
.__init
__(self
, name
, [])
183 global global_highest_var
185 expected_offset
= None
190 # Make a PTVCRecord object for each list in 'records'
191 for record
in records
:
192 offset
= record
[REC_START
]
193 length
= record
[REC_LENGTH
]
194 field
= record
[REC_FIELD
]
195 endianness
= record
[REC_ENDIANNESS
]
198 var_name
= record
[REC_VAR
]
200 # Did we already define this var?
201 if var_name
in named_vars
:
202 sys
.exit("%s has multiple %s vars." % \
205 highest_var
= highest_var
+ 1
207 if highest_var
> global_highest_var
:
208 global_highest_var
= highest_var
209 named_vars
[var_name
] = var
214 repeat_name
= record
[REC_REPEAT
]
216 # Do we have this var?
217 if repeat_name
not in named_vars
:
218 sys
.exit("%s does not have %s var defined." % \
220 repeat
= named_vars
[repeat_name
]
225 req_cond
= record
[REC_REQ_COND
]
226 if req_cond
!= NO_REQ_COND
:
227 global_req_cond
[req_cond
] = None
229 ptvc_rec
= PTVCRecord(field
, length
, endianness
, var
, repeat
, req_cond
)
231 if expected_offset
== None:
232 expected_offset
= offset
234 elif expected_offset
== -1:
237 elif expected_offset
!= offset
and offset
!= -1:
238 msg
.write("Expected offset in %s for %s to be %d\n" % \
239 (name
, field
.HFName(), expected_offset
))
242 # We can't make a PTVC list from a variable-length
243 # packet, unless the fields can tell us at run time
244 # how long the packet is. That is, nstring8 is fine, since
245 # the field has an integer telling us how long the string is.
246 # Fields that don't have a length determinable at run-time
247 # cannot be variable-length.
248 if type(ptvc_rec
.Length()) == type(()):
249 if isinstance(ptvc_rec
.Field(), nstring
):
252 elif isinstance(ptvc_rec
.Field(), nbytes
):
255 elif isinstance(ptvc_rec
.Field(), struct
):
259 field
= ptvc_rec
.Field()
260 assert 0, "Cannot make PTVC from %s, type %s" % \
261 (field
.HFName(), field
)
263 elif expected_offset
> -1:
264 if ptvc_rec
.Length() < 0:
267 expected_offset
= expected_offset
+ ptvc_rec
.Length()
270 self
.list.append(ptvc_rec
)
273 return "ett_%s" % (self
.Name(),)
277 x
= "static const ptvc_record %s[] = {\n" % (self
.Name())
278 for ptvc_rec
in self
.list:
279 x
= x
+ "\t%s,\n" % (ptvc_rec
.Code())
280 x
= x
+ "\t{ NULL, 0, NULL, NO_ENDIANNESS, NO_VAR, NO_REPEAT, NO_REQ_COND, NCP_FMT_NONE }\n"
286 for ptvc_rec
in self
.list:
287 x
= x
+ repr(ptvc_rec
)
291 class PTVCBitfield(PTVC
):
292 def __init__(self
, name
, vars):
293 NamedList
.__init
__(self
, name
, [])
296 ptvc_rec
= PTVCRecord(var
, var
.Length(), var
.Endianness(),
297 NO_VAR
, NO_REPEAT
, NO_REQ_COND
)
298 self
.list.append(ptvc_rec
)
301 ett_name
= self
.ETTName()
302 x
= "static gint %s = -1;\n" % (ett_name
,)
304 x
= x
+ "static const ptvc_record ptvc_%s[] = {\n" % (self
.Name())
305 for ptvc_rec
in self
.list:
306 x
= x
+ "\t%s,\n" % (ptvc_rec
.Code())
307 x
= x
+ "\t{ NULL, 0, NULL, NO_ENDIANNESS, NO_VAR, NO_REPEAT, NO_REQ_COND, NCP_FMT_NONE }\n"
310 x
= x
+ "static const sub_ptvc_record %s = {\n" % (self
.Name(),)
311 x
= x
+ "\t&%s,\n" % (ett_name
,)
313 x
= x
+ "\tptvc_%s,\n" % (self
.Name(),)
319 def __init__(self
, field
, length
, endianness
, var
, repeat
, req_cond
):
323 self
.endianness
= endianness
326 self
.req_cond
= req_cond
328 def __cmp__(self
, other
):
329 "Comparison operator"
330 if self
.field
!= other
.field
:
332 elif self
.length
< other
.length
:
334 elif self
.length
> other
.length
:
336 elif self
.endianness
!= other
.endianness
:
342 # Nice textual representations
343 if self
.var
== NO_VAR
:
348 if self
.repeat
== NO_REPEAT
:
353 if self
.req_cond
== NO_REQ_COND
:
354 req_cond
= "NO_REQ_COND"
356 req_cond
= global_req_cond
[self
.req_cond
]
357 assert req_cond
!= None
359 if isinstance(self
.field
, struct
):
360 return self
.field
.ReferenceString(var
, repeat
, req_cond
)
362 return self
.RegularCode(var
, repeat
, req_cond
)
364 def RegularCode(self
, var
, repeat
, req_cond
):
365 "String representation"
367 if self
.endianness
== LE
:
372 if type(self
.length
) == type(0):
375 # This is for cases where a length is needed
376 # in order to determine a following variable-length,
377 # like nstring8, where 1 byte is needed in order
378 # to determine the variable length.
379 var_length
= self
.field
.Length()
383 if length
== PROTO_LENGTH_UNKNOWN
:
384 # XXX length = "PROTO_LENGTH_UNKNOWN"
387 assert length
, "Length not handled for %s" % (self
.field
.HFName(),)
389 sub_ptvc_name
= self
.field
.PTVCName()
390 if sub_ptvc_name
!= "NULL":
391 sub_ptvc_name
= "&%s" % (sub_ptvc_name
,)
394 return "{ &%s, %s, %s, %s, %s, %s, %s, %s }" % \
395 (self
.field
.HFName(), length
, sub_ptvc_name
,
396 endianness
, var
, repeat
, req_cond
,
397 self
.field
.SpecialFmt())
409 return "{%s len=%s end=%s var=%s rpt=%s rqc=%s}" % \
410 (self
.field
.HFName(), self
.length
,
411 self
.endianness
, self
.var
, self
.repeat
, self
.req_cond
)
413 ##############################################################################
417 def __init__(self
, func_code
, description
, group
, has_length
=1):
419 self
.__code
__ = func_code
420 self
.description
= description
423 self
.request_records
= None
424 self
.reply_records
= None
425 self
.has_length
= has_length
426 self
.req_cond_size
= None
427 self
.req_info_str
= None
429 if group
not in groups
:
430 msg
.write("NCP 0x%x has invalid group '%s'\n" % \
431 (self
.__code
__, group
))
434 if self
.HasSubFunction():
435 # NCP Function with SubFunction
436 self
.start_offset
= 10
438 # Simple NCP Function
439 self
.start_offset
= 7
441 def ReqCondSize(self
):
442 return self
.req_cond_size
444 def ReqCondSizeVariable(self
):
445 self
.req_cond_size
= REQ_COND_SIZE_VARIABLE
447 def ReqCondSizeConstant(self
):
448 self
.req_cond_size
= REQ_COND_SIZE_CONSTANT
450 def FunctionCode(self
, part
=None):
451 "Returns the function code for this NCP packet."
455 if self
.HasSubFunction():
456 return (self
.__code
__ & 0xff00) >> 8
460 if self
.HasSubFunction():
461 return self
.__code
__ & 0x00ff
465 msg
.write("Unknown directive '%s' for function_code()\n" % (part
))
468 def HasSubFunction(self
):
469 "Does this NPC packet require a subfunction field?"
470 if self
.__code
__ <= 0xff:
476 return self
.has_length
478 def Description(self
):
479 return self
.description
484 def PTVCRequest(self
):
485 return self
.ptvc_request
488 return self
.ptvc_reply
490 def Request(self
, size
, records
=[], **kwargs
):
491 self
.request_size
= size
492 self
.request_records
= records
493 if self
.HasSubFunction():
495 self
.CheckRecords(size
, records
, "Request", 10)
497 self
.CheckRecords(size
, records
, "Request", 8)
499 self
.CheckRecords(size
, records
, "Request", 7)
500 self
.ptvc_request
= self
.MakePTVC(records
, "request")
502 if "info_str" in kwargs
:
503 self
.req_info_str
= kwargs
["info_str"]
505 def Reply(self
, size
, records
=[]):
506 self
.reply_size
= size
507 self
.reply_records
= records
508 self
.CheckRecords(size
, records
, "Reply", 8)
509 self
.ptvc_reply
= self
.MakePTVC(records
, "reply")
511 def CheckRecords(self
, size
, records
, descr
, min_hdr_length
):
512 "Simple sanity check"
513 if size
== NO_LENGTH_CHECK
:
517 if type(size
) == type(()):
521 lower
= min_hdr_length
522 upper
= min_hdr_length
524 for record
in records
:
525 rec_size
= record
[REC_LENGTH
]
528 if type(rec_size
) == type(()):
529 rec_lower
= rec_size
[0]
530 rec_upper
= rec_size
[1]
532 lower
= lower
+ rec_lower
533 upper
= upper
+ rec_upper
537 msg
.write("%s records for 2222/0x%x sum to %d bytes minimum, but param1 shows %d\n" \
538 % (descr
, self
.FunctionCode(), lower
, min))
541 msg
.write("%s records for 2222/0x%x sum to %d bytes maximum, but param1 shows %d\n" \
542 % (descr
, self
.FunctionCode(), upper
, max))
549 def MakePTVC(self
, records
, name_suffix
):
550 """Makes a PTVC out of a request or reply record list. Possibly adds
551 it to the global list of PTVCs (the global list is a UniqueCollection,
552 so an equivalent PTVC may already be in the global list)."""
554 name
= "%s_%s" % (self
.CName(), name_suffix
)
555 ptvc
= PTVC(name
, records
)
556 return ptvc_lists
.Add(ptvc
)
559 "Returns a C symbol based on the NCP function code"
560 return "ncp_0x%x" % (self
.__code
__)
562 def InfoStrName(self
):
563 "Returns a C symbol based on the NCP function code, for the info_str"
564 return "info_str_0x%x" % (self
.__code
__)
567 """Returns a list of variables used in the request and reply records.
568 A variable is listed only once, even if it is used twice (once in
569 the request, once in the reply)."""
572 if self
.request_records
:
573 for record
in self
.request_records
:
574 var
= record
[REC_FIELD
]
575 variables
[var
.HFName()] = var
577 sub_vars
= var
.SubVariables()
579 variables
[sv
.HFName()] = sv
581 if self
.reply_records
:
582 for record
in self
.reply_records
:
583 var
= record
[REC_FIELD
]
584 variables
[var
.HFName()] = var
586 sub_vars
= var
.SubVariables()
588 variables
[sv
.HFName()] = sv
590 return list(variables
.values())
592 def CalculateReqConds(self
):
593 """Returns a list of request conditions (dfilter text) used
594 in the reply records. A request condition is listed only once,"""
596 if self
.reply_records
:
597 for record
in self
.reply_records
:
598 text
= record
[REC_REQ_COND
]
599 if text
!= NO_REQ_COND
:
603 self
.req_conds
= None
606 dfilter_texts
= list(texts
.keys())
608 name
= "%s_req_cond_indexes" % (self
.CName(),)
609 return NamedList(name
, dfilter_texts
)
611 def GetReqConds(self
):
612 return self
.req_conds
614 def SetReqConds(self
, new_val
):
615 self
.req_conds
= new_val
618 def CompletionCodes(self
, codes
=None):
619 """Sets or returns the list of completion
620 codes. Internally, a NamedList is used to store the
621 completion codes, but the caller of this function never
622 realizes that because Python lists are the input and
631 if code
not in errors
:
632 msg
.write("Errors table does not have key 0x%04x for NCP=0x%x\n" % (code
,
636 # Delay the exit until here so that the programmer can get
637 # the complete list of missing error codes
641 # Create CompletionCode (NamedList) object and possible
642 # add it to the global list of completion code lists.
643 name
= "%s_errors" % (self
.CName(),)
645 codes_list
= NamedList(name
, codes
)
646 self
.codes
= compcode_lists
.Add(codes_list
)
651 """Adds the NCP object to the global collection of NCP
652 objects. This is done automatically after setting the
653 CompletionCode list. Yes, this is a shortcut, but it makes
654 our list of NCP packet definitions look neater, since an
655 explicit "add to global list of packets" is not needed."""
657 # Add packet to global collection of packets
660 def rec(start
, length
, field
, endianness
=None, **kw
):
661 return _rec(start
, length
, field
, endianness
, kw
)
663 def srec(field
, endianness
=None, **kw
):
664 return _rec(-1, -1, field
, endianness
, kw
)
666 def _rec(start
, length
, field
, endianness
, kw
):
667 # If endianness not explicitly given, use the field's
669 if endianness
== None:
670 endianness
= field
.Endianness()
674 # Is the field an INT ?
675 if not isinstance(field
, CountingNumber
):
676 sys
.exit("Field %s used as count variable, but not integer." \
682 # If 'var' not used, 'repeat' can be used.
683 if not var
and "repeat" in kw
:
684 repeat
= kw
["repeat"]
688 # Request-condition ?
690 req_cond
= kw
["req_cond"]
692 req_cond
= NO_REQ_COND
694 return [start
, length
, field
, endianness
, var
, repeat
, req_cond
]
699 ##############################################################################
701 LE
= 1 # Little-Endian
703 NA
= -1 # Not Applicable
706 " Virtual class for NCP field types"
713 def __init__(self
, abbrev
, descr
, bytes
, endianness
= NA
):
717 self
.endianness
= endianness
718 self
.hfname
= "hf_ncp_" + self
.abbrev
719 self
.special_fmt
= "NCP_FMT_NONE"
724 def Abbreviation(self
):
727 def Description(self
):
734 return "ncp." + self
.abbrev
736 def WiresharkFType(self
):
739 def Display(self
, newval
=None):
744 def ValuesName(self
):
750 def Endianness(self
):
751 return self
.endianness
753 def SubVariables(self
):
760 self
.special_fmt
= "NCP_FMT_NW_DATE"
763 self
.special_fmt
= "NCP_FMT_NW_TIME"
766 self
.special_fmt
= "NCP_FMT_UNICODE"
768 def SpecialFmt(self
):
769 return self
.special_fmt
771 #def __cmp__(self, other):
772 # return cmp(self.hfname, other.hfname)
774 def __lt__(self
, other
):
775 return (self
.hfname
< other
.hfname
)
777 class struct(PTVC
, Type
):
778 def __init__(self
, name
, items
, descr
=None):
779 name
= "struct_%s" % (name
,)
780 NamedList
.__init
__(self
, name
, [])
785 if isinstance(item
, Type
):
787 length
= field
.Length()
788 endianness
= field
.Endianness()
791 req_cond
= NO_REQ_COND
792 elif type(item
) == type([]):
793 field
= item
[REC_FIELD
]
794 length
= item
[REC_LENGTH
]
795 endianness
= item
[REC_ENDIANNESS
]
797 repeat
= item
[REC_REPEAT
]
798 req_cond
= item
[REC_REQ_COND
]
800 assert 0, "Item %s item not handled." % (item
,)
802 ptvc_rec
= PTVCRecord(field
, length
, endianness
, var
,
804 self
.list.append(ptvc_rec
)
805 self
.bytes
= self
.bytes
+ field
.Length()
807 self
.hfname
= self
.name
811 for ptvc_rec
in self
.list:
812 vars.append(ptvc_rec
.Field())
815 def ReferenceString(self
, var
, repeat
, req_cond
):
816 return "{ PTVC_STRUCT, NO_LENGTH, &%s, NO_ENDIANNESS, %s, %s, %s, NCP_FMT_NONE }" % \
817 (self
.name
, var
, repeat
, req_cond
)
820 ett_name
= self
.ETTName()
821 x
= "static gint %s = -1;\n" % (ett_name
,)
822 x
= x
+ "static const ptvc_record ptvc_%s[] = {\n" % (self
.name
,)
823 for ptvc_rec
in self
.list:
824 x
= x
+ "\t%s,\n" % (ptvc_rec
.Code())
825 x
= x
+ "\t{ NULL, NO_LENGTH, NULL, NO_ENDIANNESS, NO_VAR, NO_REPEAT, NO_REQ_COND, NCP_FMT_NONE }\n"
828 x
= x
+ "static const sub_ptvc_record %s = {\n" % (self
.name
,)
829 x
= x
+ "\t&%s,\n" % (ett_name
,)
831 x
= x
+ '\t"%s",\n' % (self
.descr
,)
834 x
= x
+ "\tptvc_%s,\n" % (self
.Name(),)
838 def __cmp__(self
, other
):
839 return cmp(self
.HFName(), other
.HFName())
845 def __init__(self
, abbrev
, descr
):
846 Type
.__init
__(self
, abbrev
, descr
, 1)
848 class CountingNumber
:
851 # Same as above. Both are provided for convenience
852 class uint8(Type
, CountingNumber
):
856 def __init__(self
, abbrev
, descr
):
857 Type
.__init
__(self
, abbrev
, descr
, 1)
859 class uint16(Type
, CountingNumber
):
862 def __init__(self
, abbrev
, descr
, endianness
= LE
):
863 Type
.__init
__(self
, abbrev
, descr
, 2, endianness
)
865 class uint24(Type
, CountingNumber
):
868 def __init__(self
, abbrev
, descr
, endianness
= LE
):
869 Type
.__init
__(self
, abbrev
, descr
, 3, endianness
)
871 class uint32(Type
, CountingNumber
):
874 def __init__(self
, abbrev
, descr
, endianness
= LE
):
875 Type
.__init
__(self
, abbrev
, descr
, 4, endianness
)
877 class uint64(Type
, CountingNumber
):
880 def __init__(self
, abbrev
, descr
, endianness
= LE
):
881 Type
.__init
__(self
, abbrev
, descr
, 8, endianness
)
883 class boolean8(uint8
):
888 class boolean16(uint16
):
893 class boolean24(uint24
):
898 class boolean32(uint32
):
906 class nstring8(Type
, nstring
):
907 """A string of up to (2^8)-1 characters. The first byte
908 gives the string length."""
911 ftype
= "FT_UINT_STRING"
913 def __init__(self
, abbrev
, descr
):
914 Type
.__init
__(self
, abbrev
, descr
, 1)
916 class nstring16(Type
, nstring
):
917 """A string of up to (2^16)-2 characters. The first 2 bytes
918 gives the string length."""
921 ftype
= "FT_UINT_STRING"
923 def __init__(self
, abbrev
, descr
, endianness
= LE
):
924 Type
.__init
__(self
, abbrev
, descr
, 2, endianness
)
926 class nstring32(Type
, nstring
):
927 """A string of up to (2^32)-4 characters. The first 4 bytes
928 gives the string length."""
931 ftype
= "FT_UINT_STRING"
933 def __init__(self
, abbrev
, descr
, endianness
= LE
):
934 Type
.__init
__(self
, abbrev
, descr
, 4, endianness
)
936 class fw_string(Type
):
937 """A fixed-width string of n bytes."""
943 def __init__(self
, abbrev
, descr
, bytes
):
944 Type
.__init
__(self
, abbrev
, descr
, bytes
)
948 "NUL-terminated string, with a maximum length"
953 def __init__(self
, abbrev
, descr
):
954 Type
.__init
__(self
, abbrev
, descr
, PROTO_LENGTH_UNKNOWN
)
956 class val_string(Type
):
957 """Abstract class for val_stringN, where N is number
958 of bits that key takes up."""
963 def __init__(self
, abbrev
, descr
, val_string_array
, endianness
= LE
):
964 Type
.__init
__(self
, abbrev
, descr
, self
.bytes
, endianness
)
965 self
.values
= val_string_array
968 result
= "static const value_string %s[] = {\n" \
969 % (self
.ValuesCName())
970 for val_record
in self
.values
:
971 value
= val_record
[0]
973 value_repr
= self
.value_format
% value
974 result
= result
+ '\t{ %s,\t"%s" },\n' \
977 value_repr
= self
.value_format
% 0
978 result
= result
+ "\t{ %s,\tNULL },\n" % (value_repr
)
979 result
= result
+ "};\n"
980 REC_VAL_STRING_RES
= self
.value_format
% value
983 def ValuesCName(self
):
984 return "ncp_%s_vals" % (self
.abbrev
)
986 def ValuesName(self
):
987 return "VALS(%s)" % (self
.ValuesCName())
989 class val_string8(val_string
):
993 value_format
= "0x%02x"
995 class val_string16(val_string
):
996 type = "val_string16"
999 value_format
= "0x%04x"
1001 class val_string32(val_string
):
1002 type = "val_string32"
1005 value_format
= "0x%08x"
1012 def __init__(self
, abbrev
, descr
, bytes
):
1013 Type
.__init
__(self
, abbrev
, descr
, bytes
, NA
)
1018 class nbytes8(Type
, nbytes
):
1019 """A series of up to (2^8)-1 bytes. The first byte
1020 gives the byte-string length."""
1023 ftype
= "FT_UINT_BYTES"
1025 def __init__(self
, abbrev
, descr
, endianness
= LE
):
1026 Type
.__init
__(self
, abbrev
, descr
, 1, endianness
)
1028 class nbytes16(Type
, nbytes
):
1029 """A series of up to (2^16)-2 bytes. The first 2 bytes
1030 gives the byte-string length."""
1033 ftype
= "FT_UINT_BYTES"
1035 def __init__(self
, abbrev
, descr
, endianness
= LE
):
1036 Type
.__init
__(self
, abbrev
, descr
, 2, endianness
)
1038 class nbytes32(Type
, nbytes
):
1039 """A series of up to (2^32)-4 bytes. The first 4 bytes
1040 gives the byte-string length."""
1043 ftype
= "FT_UINT_BYTES"
1045 def __init__(self
, abbrev
, descr
, endianness
= LE
):
1046 Type
.__init
__(self
, abbrev
, descr
, 4, endianness
)
1048 class bf_uint(Type
):
1052 def __init__(self
, bitmask
, abbrev
, descr
, endianness
=LE
):
1053 Type
.__init
__(self
, abbrev
, descr
, self
.bytes
, endianness
)
1054 self
.bitmask
= bitmask
1059 class bf_val_str(bf_uint
):
1063 def __init__(self
, bitmask
, abbrev
, descr
, val_string_array
, endiannes
=LE
):
1064 bf_uint
.__init
__(self
, bitmask
, abbrev
, descr
, endiannes
)
1065 self
.values
= val_string_array
1067 def ValuesName(self
):
1068 return "VALS(%s)" % (self
.ValuesCName())
1070 class bf_val_str8(bf_val_str
, val_string8
):
1071 type = "bf_val_str8"
1076 class bf_val_str16(bf_val_str
, val_string16
):
1077 type = "bf_val_str16"
1082 class bf_val_str32(bf_val_str
, val_string32
):
1083 type = "bf_val_str32"
1091 class bf_boolean8(bf_uint
, boolean8
, bf_boolean
):
1092 type = "bf_boolean8"
1093 ftype
= "FT_BOOLEAN"
1097 class bf_boolean16(bf_uint
, boolean16
, bf_boolean
):
1098 type = "bf_boolean16"
1099 ftype
= "FT_BOOLEAN"
1103 class bf_boolean24(bf_uint
, boolean24
, bf_boolean
):
1104 type = "bf_boolean24"
1105 ftype
= "FT_BOOLEAN"
1109 class bf_boolean32(bf_uint
, boolean32
, bf_boolean
):
1110 type = "bf_boolean32"
1111 ftype
= "FT_BOOLEAN"
1115 class bitfield(Type
):
1119 def __init__(self
, vars):
1122 if isinstance(var
, bf_boolean
):
1123 if not isinstance(var
, self
.bf_type
):
1124 print("%s must be of type %s" % \
1125 (var
.Abbreviation(),
1128 var_hash
[var
.bitmask
] = var
1130 bitmasks
= list(var_hash
.keys())
1135 for bitmask
in bitmasks
:
1136 var
= var_hash
[bitmask
]
1137 ordered_vars
.append(var
)
1139 self
.vars = ordered_vars
1140 self
.ptvcname
= "ncp_%s_bitfield" % (self
.abbrev
,)
1141 self
.hfname
= "hf_ncp_%s" % (self
.abbrev
,)
1142 self
.sub_ptvc
= PTVCBitfield(self
.PTVCName(), self
.vars)
1144 def SubVariables(self
):
1147 def SubVariablesPTVC(self
):
1148 return self
.sub_ptvc
1151 return self
.ptvcname
1154 class bitfield8(bitfield
, uint8
):
1157 bf_type
= bf_boolean8
1159 def __init__(self
, abbrev
, descr
, vars):
1160 uint8
.__init__(self
, abbrev
, descr
)
1161 bitfield
.__init
__(self
, vars)
1163 class bitfield16(bitfield
, uint16
):
1166 bf_type
= bf_boolean16
1168 def __init__(self
, abbrev
, descr
, vars, endianness
=LE
):
1169 uint16
.__init__(self
, abbrev
, descr
, endianness
)
1170 bitfield
.__init
__(self
, vars)
1172 class bitfield24(bitfield
, uint24
):
1175 bf_type
= bf_boolean24
1177 def __init__(self
, abbrev
, descr
, vars, endianness
=LE
):
1178 uint24
.__init__(self
, abbrev
, descr
, endianness
)
1179 bitfield
.__init
__(self
, vars)
1181 class bitfield32(bitfield
, uint32
):
1184 bf_type
= bf_boolean32
1186 def __init__(self
, abbrev
, descr
, vars, endianness
=LE
):
1187 uint32
.__init__(self
, abbrev
, descr
, endianness
)
1188 bitfield
.__init
__(self
, vars)
1191 # Force the endianness of a field to a non-default value; used in
1192 # the list of fields of a structure.
1194 def endian(field
, endianness
):
1195 return [-1, field
.Length(), field
, endianness
, NO_VAR
, NO_REPEAT
, NO_REQ_COND
]
1197 ##############################################################################
1198 # NCP Field Types. Defined in Appendix A of "Programmer's Guide..."
1199 ##############################################################################
1201 AbortQueueFlag
= val_string8("abort_q_flag", "Abort Queue Flag", [
1202 [ 0x00, "Place at End of Queue" ],
1203 [ 0x01, "Do Not Place Spool File, Examine Flags" ],
1205 AcceptedMaxSize
= uint16("accepted_max_size", "Accepted Max Size")
1206 AccessControl
= val_string8("access_control", "Access Control", [
1207 [ 0x00, "Open for read by this client" ],
1208 [ 0x01, "Open for write by this client" ],
1209 [ 0x02, "Deny read requests from other stations" ],
1210 [ 0x03, "Deny write requests from other stations" ],
1211 [ 0x04, "File detached" ],
1212 [ 0x05, "TTS holding detach" ],
1213 [ 0x06, "TTS holding open" ],
1215 AccessDate
= uint16("access_date", "Access Date")
1217 AccessMode
= bitfield8("access_mode", "Access Mode", [
1218 bf_boolean8(0x01, "acc_mode_read", "Read Access"),
1219 bf_boolean8(0x02, "acc_mode_write", "Write Access"),
1220 bf_boolean8(0x04, "acc_mode_deny_read", "Deny Read Access"),
1221 bf_boolean8(0x08, "acc_mode_deny_write", "Deny Write Access"),
1222 bf_boolean8(0x10, "acc_mode_comp", "Compatibility Mode"),
1224 AccessPrivileges
= bitfield8("access_privileges", "Access Privileges", [
1225 bf_boolean8(0x01, "acc_priv_read", "Read Privileges (files only)"),
1226 bf_boolean8(0x02, "acc_priv_write", "Write Privileges (files only)"),
1227 bf_boolean8(0x04, "acc_priv_open", "Open Privileges (files only)"),
1228 bf_boolean8(0x08, "acc_priv_create", "Create Privileges (files only)"),
1229 bf_boolean8(0x10, "acc_priv_delete", "Delete Privileges (files only)"),
1230 bf_boolean8(0x20, "acc_priv_parent", "Parental Privileges (directories only for creating, deleting, and renaming)"),
1231 bf_boolean8(0x40, "acc_priv_search", "Search Privileges (directories only)"),
1232 bf_boolean8(0x80, "acc_priv_modify", "Modify File Status Flags Privileges (files and directories)"),
1234 AccessRightsMask
= bitfield8("access_rights_mask", "Access Rights", [
1235 bf_boolean8(0x0001, "acc_rights_read", "Read Rights"),
1236 bf_boolean8(0x0002, "acc_rights_write", "Write Rights"),
1237 bf_boolean8(0x0004, "acc_rights_open", "Open Rights"),
1238 bf_boolean8(0x0008, "acc_rights_create", "Create Rights"),
1239 bf_boolean8(0x0010, "acc_rights_delete", "Delete Rights"),
1240 bf_boolean8(0x0020, "acc_rights_parent", "Parental Rights"),
1241 bf_boolean8(0x0040, "acc_rights_search", "Search Rights"),
1242 bf_boolean8(0x0080, "acc_rights_modify", "Modify Rights"),
1244 AccessRightsMaskWord
= bitfield16("access_rights_mask_word", "Access Rights", [
1245 bf_boolean16(0x0001, "acc_rights1_read", "Read Rights"),
1246 bf_boolean16(0x0002, "acc_rights1_write", "Write Rights"),
1247 bf_boolean16(0x0004, "acc_rights1_open", "Open Rights"),
1248 bf_boolean16(0x0008, "acc_rights1_create", "Create Rights"),
1249 bf_boolean16(0x0010, "acc_rights1_delete", "Delete Rights"),
1250 bf_boolean16(0x0020, "acc_rights1_parent", "Parental Rights"),
1251 bf_boolean16(0x0040, "acc_rights1_search", "Search Rights"),
1252 bf_boolean16(0x0080, "acc_rights1_modify", "Modify Rights"),
1253 bf_boolean16(0x0100, "acc_rights1_supervisor", "Supervisor Access Rights"),
1255 AccountBalance
= uint32("account_balance", "Account Balance")
1256 AccountVersion
= uint8("acct_version", "Acct Version")
1257 ActionFlag
= bitfield8("action_flag", "Action Flag", [
1258 bf_boolean8(0x01, "act_flag_open", "Open"),
1259 bf_boolean8(0x02, "act_flag_replace", "Replace"),
1260 bf_boolean8(0x10, "act_flag_create", "Create"),
1262 ActiveConnBitList
= fw_string("active_conn_bit_list", "Active Connection List", 512)
1263 ActiveIndexedFiles
= uint16("active_indexed_files", "Active Indexed Files")
1264 ActualMaxBinderyObjects
= uint16("actual_max_bindery_objects", "Actual Max Bindery Objects")
1265 ActualMaxIndexedFiles
= uint16("actual_max_indexed_files", "Actual Max Indexed Files")
1266 ActualMaxOpenFiles
= uint16("actual_max_open_files", "Actual Max Open Files")
1267 ActualMaxSimultaneousTransactions
= uint16("actual_max_sim_trans", "Actual Max Simultaneous Transactions")
1268 ActualMaxUsedDirectoryEntries
= uint16("actual_max_used_directory_entries", "Actual Max Used Directory Entries")
1269 ActualMaxUsedRoutingBuffers
= uint16("actual_max_used_routing_buffers", "Actual Max Used Routing Buffers")
1270 ActualResponseCount
= uint16("actual_response_count", "Actual Response Count")
1271 AddNameSpaceAndVol
= stringz("add_nm_spc_and_vol", "Add Name Space and Volume")
1272 AFPEntryID
= uint32("afp_entry_id", "AFP Entry ID", BE
)
1273 AFPEntryID
.Display("BASE_HEX")
1274 AllocAvailByte
= uint32("alloc_avail_byte", "Bytes Available for Allocation")
1275 AllocateMode
= bitfield16("alloc_mode", "Allocate Mode", [
1276 bf_val_str16(0x0001, "alloc_dir_hdl", "Dir Handle Type",[
1277 [0x00, "Permanent"],
1278 [0x01, "Temporary"],
1280 bf_boolean16(0x0002, "alloc_spec_temp_dir_hdl","Special Temporary Directory Handle"),
1281 bf_boolean16(0x4000, "alloc_reply_lvl2","Reply Level 2"),
1282 bf_boolean16(0x8000, "alloc_dst_name_spc","Destination Name Space Input Parameter"),
1284 AllocationBlockSize
= uint32("allocation_block_size", "Allocation Block Size")
1285 AllocFreeCount
= uint32("alloc_free_count", "Reclaimable Free Bytes")
1286 ApplicationNumber
= uint16("application_number", "Application Number")
1287 ArchivedTime
= uint16("archived_time", "Archived Time")
1288 ArchivedTime
.NWTime()
1289 ArchivedDate
= uint16("archived_date", "Archived Date")
1290 ArchivedDate
.NWDate()
1291 ArchiverID
= uint32("archiver_id", "Archiver ID", BE
)
1292 ArchiverID
.Display("BASE_HEX")
1293 AssociatedNameSpace
= uint8("associated_name_space", "Associated Name Space")
1294 AttachDuringProcessing
= uint16("attach_during_processing", "Attach During Processing")
1295 AttachedIndexedFiles
= uint8("attached_indexed_files", "Attached Indexed Files")
1296 AttachWhileProcessingAttach
= uint16("attach_while_processing_attach", "Attach While Processing Attach")
1297 Attributes
= uint32("attributes", "Attributes")
1298 AttributesDef
= bitfield8("attr_def", "Attributes", [
1299 bf_boolean8(0x01, "att_def_ro", "Read Only"),
1300 bf_boolean8(0x02, "att_def_hidden", "Hidden"),
1301 bf_boolean8(0x04, "att_def_system", "System"),
1302 bf_boolean8(0x08, "att_def_execute", "Execute"),
1303 bf_boolean8(0x10, "att_def_sub_only", "Subdirectory"),
1304 bf_boolean8(0x20, "att_def_archive", "Archive"),
1305 bf_boolean8(0x80, "att_def_shareable", "Shareable"),
1307 AttributesDef16
= bitfield16("attr_def_16", "Attributes", [
1308 bf_boolean16(0x0001, "att_def16_ro", "Read Only"),
1309 bf_boolean16(0x0002, "att_def16_hidden", "Hidden"),
1310 bf_boolean16(0x0004, "att_def16_system", "System"),
1311 bf_boolean16(0x0008, "att_def16_execute", "Execute"),
1312 bf_boolean16(0x0010, "att_def16_sub_only", "Subdirectory"),
1313 bf_boolean16(0x0020, "att_def16_archive", "Archive"),
1314 bf_boolean16(0x0080, "att_def16_shareable", "Shareable"),
1315 bf_boolean16(0x1000, "att_def16_transaction", "Transactional"),
1316 bf_boolean16(0x4000, "att_def16_read_audit", "Read Audit"),
1317 bf_boolean16(0x8000, "att_def16_write_audit", "Write Audit"),
1319 AttributesDef32
= bitfield32("attr_def_32", "Attributes", [
1320 bf_boolean32(0x00000001, "att_def32_ro", "Read Only"),
1321 bf_boolean32(0x00000002, "att_def32_hidden", "Hidden"),
1322 bf_boolean32(0x00000004, "att_def32_system", "System"),
1323 bf_boolean32(0x00000008, "att_def32_execute", "Execute"),
1324 bf_boolean32(0x00000010, "att_def32_sub_only", "Subdirectory"),
1325 bf_boolean32(0x00000020, "att_def32_archive", "Archive"),
1326 bf_boolean32(0x00000040, "att_def32_execute_confirm", "Execute Confirm"),
1327 bf_boolean32(0x00000080, "att_def32_shareable", "Shareable"),
1328 bf_val_str32(0x00000700, "att_def32_search", "Search Mode",[
1329 [0, "Search on all Read Only Opens"],
1330 [1, "Search on Read Only Opens with no Path"],
1331 [2, "Shell Default Search Mode"],
1332 [3, "Search on all Opens with no Path"],
1333 [4, "Do not Search"],
1334 [5, "Reserved - Do not Use"],
1335 [6, "Search on All Opens"],
1336 [7, "Reserved - Do not Use"],
1338 bf_boolean32(0x00000800, "att_def32_no_suballoc", "No Suballoc"),
1339 bf_boolean32(0x00001000, "att_def32_transaction", "Transactional"),
1340 bf_boolean32(0x00004000, "att_def32_read_audit", "Read Audit"),
1341 bf_boolean32(0x00008000, "att_def32_write_audit", "Write Audit"),
1342 bf_boolean32(0x00010000, "att_def32_purge", "Immediate Purge"),
1343 bf_boolean32(0x00020000, "att_def32_reninhibit", "Rename Inhibit"),
1344 bf_boolean32(0x00040000, "att_def32_delinhibit", "Delete Inhibit"),
1345 bf_boolean32(0x00080000, "att_def32_cpyinhibit", "Copy Inhibit"),
1346 bf_boolean32(0x00100000, "att_def32_file_audit", "File Audit"),
1347 bf_boolean32(0x00200000, "att_def32_reserved", "Reserved"),
1348 bf_boolean32(0x00400000, "att_def32_data_migrate", "Data Migrated"),
1349 bf_boolean32(0x00800000, "att_def32_inhibit_dm", "Inhibit Data Migration"),
1350 bf_boolean32(0x01000000, "att_def32_dm_save_key", "Data Migration Save Key"),
1351 bf_boolean32(0x02000000, "att_def32_im_comp", "Immediate Compress"),
1352 bf_boolean32(0x04000000, "att_def32_comp", "Compressed"),
1353 bf_boolean32(0x08000000, "att_def32_comp_inhibit", "Inhibit Compression"),
1354 bf_boolean32(0x10000000, "att_def32_reserved2", "Reserved"),
1355 bf_boolean32(0x20000000, "att_def32_cant_compress", "Can't Compress"),
1356 bf_boolean32(0x40000000, "att_def32_attr_archive", "Archive Attributes"),
1357 bf_boolean32(0x80000000, "att_def32_reserved3", "Reserved"),
1359 AttributeValidFlag
= uint32("attribute_valid_flag", "Attribute Valid Flag")
1360 AuditFileVersionDate
= uint16("audit_file_ver_date", "Audit File Version Date")
1361 AuditFileVersionDate
.NWDate()
1362 AuditFlag
= val_string8("audit_flag", "Audit Flag", [
1363 [ 0x00, "Do NOT audit object" ],
1364 [ 0x01, "Audit object" ],
1366 AuditHandle
= uint32("audit_handle", "Audit File Handle")
1367 AuditHandle
.Display("BASE_HEX")
1368 AuditID
= uint32("audit_id", "Audit ID", BE
)
1369 AuditID
.Display("BASE_HEX")
1370 AuditIDType
= val_string16("audit_id_type", "Audit ID Type", [
1371 [ 0x0000, "Volume" ],
1372 [ 0x0001, "Container" ],
1374 AuditVersionDate
= uint16("audit_ver_date", "Auditing Version Date")
1375 AuditVersionDate
.NWDate()
1376 AvailableBlocks
= uint32("available_blocks", "Available Blocks")
1377 AvailableClusters
= uint16("available_clusters", "Available Clusters")
1378 AvailableDirectorySlots
= uint16("available_directory_slots", "Available Directory Slots")
1379 AvailableDirEntries
= uint32("available_dir_entries", "Available Directory Entries")
1380 AvailableIndexedFiles
= uint16("available_indexed_files", "Available Indexed Files")
1382 BackgroundAgedWrites
= uint32("background_aged_writes", "Background Aged Writes")
1383 BackgroundDirtyWrites
= uint32("background_dirty_writes", "Background Dirty Writes")
1384 BadLogicalConnectionCount
= uint16("bad_logical_connection_count", "Bad Logical Connection Count")
1385 BannerName
= fw_string("banner_name", "Banner Name", 14)
1386 BaseDirectoryID
= uint32("base_directory_id", "Base Directory ID", BE
)
1387 BaseDirectoryID
.Display("BASE_HEX")
1388 binderyContext
= nstring8("bindery_context", "Bindery Context")
1389 BitMap
= bytes("bit_map", "Bit Map", 512)
1390 BlockNumber
= uint32("block_number", "Block Number")
1391 BlockSize
= uint16("block_size", "Block Size")
1392 BlockSizeInSectors
= uint32("block_size_in_sectors", "Block Size in Sectors")
1393 BoardInstalled
= uint8("board_installed", "Board Installed")
1394 BoardNumber
= uint32("board_number", "Board Number")
1395 BoardNumbers
= uint32("board_numbers", "Board Numbers")
1396 BufferSize
= uint16("buffer_size", "Buffer Size")
1397 BusString
= stringz("bus_string", "Bus String")
1398 BusType
= val_string8("bus_type", "Bus Type", [
1400 [0x01, "Micro Channel" ],
1407 BytesActuallyTransferred
= uint32("bytes_actually_transferred", "Bytes Actually Transferred")
1408 BytesRead
= fw_string("bytes_read", "Bytes Read", 6)
1409 BytesToCopy
= uint32("bytes_to_copy", "Bytes to Copy")
1410 BytesWritten
= fw_string("bytes_written", "Bytes Written", 6)
1412 CacheAllocations
= uint32("cache_allocations", "Cache Allocations")
1413 CacheBlockScrapped
= uint16("cache_block_scrapped", "Cache Block Scrapped")
1414 CacheBufferCount
= uint16("cache_buffer_count", "Cache Buffer Count")
1415 CacheBufferSize
= uint16("cache_buffer_size", "Cache Buffer Size")
1416 CacheFullWriteRequests
= uint32("cache_full_write_requests", "Cache Full Write Requests")
1417 CacheGetRequests
= uint32("cache_get_requests", "Cache Get Requests")
1418 CacheHitOnUnavailableBlock
= uint16("cache_hit_on_unavailable_block", "Cache Hit On Unavailable Block")
1419 CacheHits
= uint32("cache_hits", "Cache Hits")
1420 CacheMisses
= uint32("cache_misses", "Cache Misses")
1421 CachePartialWriteRequests
= uint32("cache_partial_write_requests", "Cache Partial Write Requests")
1422 CacheReadRequests
= uint32("cache_read_requests", "Cache Read Requests")
1423 CacheWriteRequests
= uint32("cache_write_requests", "Cache Write Requests")
1424 CategoryName
= stringz("category_name", "Category Name")
1425 CCFileHandle
= uint32("cc_file_handle", "File Handle")
1426 CCFileHandle
.Display("BASE_HEX")
1427 CCFunction
= val_string8("cc_function", "OP-Lock Flag", [
1428 [ 0x01, "Clear OP-Lock" ],
1429 [ 0x02, "Acknowledge Callback" ],
1430 [ 0x03, "Decline Callback" ],
1431 [ 0x04, "Level 2" ],
1433 ChangeBits
= bitfield16("change_bits", "Change Bits", [
1434 bf_boolean16(0x0001, "change_bits_modify", "Modify Name"),
1435 bf_boolean16(0x0002, "change_bits_fatt", "File Attributes"),
1436 bf_boolean16(0x0004, "change_bits_cdate", "Creation Date"),
1437 bf_boolean16(0x0008, "change_bits_ctime", "Creation Time"),
1438 bf_boolean16(0x0010, "change_bits_owner", "Owner ID"),
1439 bf_boolean16(0x0020, "change_bits_adate", "Archive Date"),
1440 bf_boolean16(0x0040, "change_bits_atime", "Archive Time"),
1441 bf_boolean16(0x0080, "change_bits_aid", "Archiver ID"),
1442 bf_boolean16(0x0100, "change_bits_udate", "Update Date"),
1443 bf_boolean16(0x0200, "change_bits_utime", "Update Time"),
1444 bf_boolean16(0x0400, "change_bits_uid", "Update ID"),
1445 bf_boolean16(0x0800, "change_bits_acc_date", "Access Date"),
1446 bf_boolean16(0x1000, "change_bits_max_acc_mask", "Maximum Access Mask"),
1447 bf_boolean16(0x2000, "change_bits_max_space", "Maximum Space"),
1449 ChannelState
= val_string8("channel_state", "Channel State", [
1450 [ 0x00, "Channel is running" ],
1451 [ 0x01, "Channel is stopping" ],
1452 [ 0x02, "Channel is stopped" ],
1453 [ 0x03, "Channel is not functional" ],
1455 ChannelSynchronizationState
= val_string8("channel_synchronization_state", "Channel Synchronization State", [
1456 [ 0x00, "Channel is not being used" ],
1457 [ 0x02, "NetWare is using the channel; no one else wants it" ],
1458 [ 0x04, "NetWare is using the channel; someone else wants it" ],
1459 [ 0x06, "Someone else is using the channel; NetWare does not need it" ],
1460 [ 0x08, "Someone else is using the channel; NetWare needs it" ],
1461 [ 0x0A, "Someone else has released the channel; NetWare should use it" ],
1463 ChargeAmount
= uint32("charge_amount", "Charge Amount")
1464 ChargeInformation
= uint32("charge_information", "Charge Information")
1465 ClientCompFlag
= val_string16("client_comp_flag", "Completion Flag", [
1466 [ 0x0000, "Successful" ],
1467 [ 0x0001, "Illegal Station Number" ],
1468 [ 0x0002, "Client Not Logged In" ],
1469 [ 0x0003, "Client Not Accepting Messages" ],
1470 [ 0x0004, "Client Already has a Message" ],
1471 [ 0x0096, "No Alloc Space for the Message" ],
1472 [ 0x00fd, "Bad Station Number" ],
1473 [ 0x00ff, "Failure" ],
1475 ClientIDNumber
= uint32("client_id_number", "Client ID Number", BE
)
1476 ClientIDNumber
.Display("BASE_HEX")
1477 ClientList
= uint32("client_list", "Client List")
1478 ClientListCount
= uint16("client_list_cnt", "Client List Count")
1479 ClientListLen
= uint8("client_list_len", "Client List Length")
1480 ClientName
= nstring8("client_name", "Client Name")
1481 ClientRecordArea
= fw_string("client_record_area", "Client Record Area", 152)
1482 ClientStation
= uint8("client_station", "Client Station")
1483 ClientStationLong
= uint32("client_station_long", "Client Station")
1484 ClientTaskNumber
= uint8("client_task_number", "Client Task Number")
1485 ClientTaskNumberLong
= uint32("client_task_number_long", "Client Task Number")
1486 ClusterCount
= uint16("cluster_count", "Cluster Count")
1487 ClustersUsedByDirectories
= uint32("clusters_used_by_directories", "Clusters Used by Directories")
1488 ClustersUsedByExtendedDirectories
= uint32("clusters_used_by_extended_dirs", "Clusters Used by Extended Directories")
1489 ClustersUsedByFAT
= uint32("clusters_used_by_fat", "Clusters Used by FAT")
1490 CodePage
= uint32("code_page", "Code Page")
1491 ComCnts
= uint16("com_cnts", "Communication Counters")
1492 Comment
= nstring8("comment", "Comment")
1493 CommentType
= uint16("comment_type", "Comment Type")
1494 CompletionCode
= uint32("ncompletion_code", "Completion Code")
1495 CompressedDataStreamsCount
= uint32("compressed_data_streams_count", "Compressed Data Streams Count")
1496 CompressedLimboDataStreamsCount
= uint32("compressed_limbo_data_streams_count", "Compressed Limbo Data Streams Count")
1497 CompressedSectors
= uint32("compressed_sectors", "Compressed Sectors")
1498 compressionStage
= uint32("compression_stage", "Compression Stage")
1499 compressVolume
= uint32("compress_volume", "Volume Compression")
1500 ConfigMajorVN
= uint8("config_major_vn", "Configuration Major Version Number")
1501 ConfigMinorVN
= uint8("config_minor_vn", "Configuration Minor Version Number")
1502 ConfigurationDescription
= fw_string("configuration_description", "Configuration Description", 80)
1503 ConfigurationText
= fw_string("configuration_text", "Configuration Text", 160)
1504 ConfiguredMaxBinderyObjects
= uint16("configured_max_bindery_objects", "Configured Max Bindery Objects")
1505 ConfiguredMaxOpenFiles
= uint16("configured_max_open_files", "Configured Max Open Files")
1506 ConfiguredMaxRoutingBuffers
= uint16("configured_max_routing_buffers", "Configured Max Routing Buffers")
1507 ConfiguredMaxSimultaneousTransactions
= uint16("cfg_max_simultaneous_transactions", "Configured Max Simultaneous Transactions")
1508 ConnectedLAN
= uint32("connected_lan", "LAN Adapter")
1509 ConnectionControlBits
= bitfield8("conn_ctrl_bits", "Connection Control", [
1510 bf_boolean8(0x01, "enable_brdcasts", "Enable Broadcasts"),
1511 bf_boolean8(0x02, "enable_personal_brdcasts", "Enable Personal Broadcasts"),
1512 bf_boolean8(0x04, "enable_wdog_messages", "Enable Watchdog Message"),
1513 bf_boolean8(0x10, "disable_brdcasts", "Disable Broadcasts"),
1514 bf_boolean8(0x20, "disable_personal_brdcasts", "Disable Personal Broadcasts"),
1515 bf_boolean8(0x40, "disable_wdog_messages", "Disable Watchdog Message"),
1517 ConnectionListCount
= uint32("conn_list_count", "Connection List Count")
1518 ConnectionList
= uint32("connection_list", "Connection List")
1519 ConnectionNumber
= uint32("connection_number", "Connection Number", BE
)
1520 ConnectionNumberList
= nstring8("connection_number_list", "Connection Number List")
1521 ConnectionNumberWord
= uint16("conn_number_word", "Connection Number")
1522 ConnectionNumberByte
= uint8("conn_number_byte", "Connection Number")
1523 ConnectionServiceType
= val_string8("connection_service_type","Connection Service Type",[
1524 [ 0x01, "CLIB backward Compatibility" ],
1525 [ 0x02, "NCP Connection" ],
1526 [ 0x03, "NLM Connection" ],
1527 [ 0x04, "AFP Connection" ],
1528 [ 0x05, "FTAM Connection" ],
1529 [ 0x06, "ANCP Connection" ],
1530 [ 0x07, "ACP Connection" ],
1531 [ 0x08, "SMB Connection" ],
1532 [ 0x09, "Winsock Connection" ],
1534 ConnectionsInUse
= uint16("connections_in_use", "Connections In Use")
1535 ConnectionsMaxUsed
= uint16("connections_max_used", "Connections Max Used")
1536 ConnectionsSupportedMax
= uint16("connections_supported_max", "Connections Supported Max")
1537 ConnectionType
= val_string8("connection_type", "Connection Type", [
1538 [ 0x00, "Not in use" ],
1540 [ 0x0b, "UDP (for IP)" ],
1542 ConnListLen
= uint8("conn_list_len", "Connection List Length")
1543 connList
= uint32("conn_list", "Connection List")
1544 ControlFlags
= val_string8("control_flags", "Control Flags", [
1545 [ 0x00, "Forced Record Locking is Off" ],
1546 [ 0x01, "Forced Record Locking is On" ],
1548 ControllerDriveNumber
= uint8("controller_drive_number", "Controller Drive Number")
1549 ControllerNumber
= uint8("controller_number", "Controller Number")
1550 ControllerType
= uint8("controller_type", "Controller Type")
1551 Cookie1
= uint32("cookie_1", "Cookie 1")
1552 Cookie2
= uint32("cookie_2", "Cookie 2")
1553 Copies
= uint8( "copies", "Copies" )
1554 CoprocessorFlag
= uint32("co_processor_flag", "CoProcessor Present Flag")
1555 CoProcessorString
= stringz("co_proc_string", "CoProcessor String")
1556 CounterMask
= val_string8("counter_mask", "Counter Mask", [
1557 [ 0x00, "Counter is Valid" ],
1558 [ 0x01, "Counter is not Valid" ],
1560 CPUNumber
= uint32("cpu_number", "CPU Number")
1561 CPUString
= stringz("cpu_string", "CPU String")
1562 CPUType
= val_string8("cpu_type", "CPU Type", [
1565 [ 0x02, "Pentium" ],
1566 [ 0x03, "Pentium Pro" ],
1568 CreationDate
= uint16("creation_date", "Creation Date")
1569 CreationDate
.NWDate()
1570 CreationTime
= uint16("creation_time", "Creation Time")
1571 CreationTime
.NWTime()
1572 CreatorID
= uint32("creator_id", "Creator ID", BE
)
1573 CreatorID
.Display("BASE_HEX")
1574 CreatorNameSpaceNumber
= val_string8("creator_name_space_number", "Creator Name Space Number", [
1575 [ 0x00, "DOS Name Space" ],
1576 [ 0x01, "MAC Name Space" ],
1577 [ 0x02, "NFS Name Space" ],
1578 [ 0x04, "Long Name Space" ],
1580 CreditLimit
= uint32("credit_limit", "Credit Limit")
1581 CtrlFlags
= val_string16("ctrl_flags", "Control Flags", [
1582 [ 0x0000, "Do Not Return File Name" ],
1583 [ 0x0001, "Return File Name" ],
1585 curCompBlks
= uint32("cur_comp_blks", "Current Compression Blocks")
1586 curInitialBlks
= uint32("cur_initial_blks", "Current Initial Blocks")
1587 curIntermediateBlks
= uint32("cur_inter_blks", "Current Intermediate Blocks")
1588 CurNumOfRTags
= uint32("cur_num_of_r_tags", "Current Number of Resource Tags")
1589 CurrentBlockBeingDecompressed
= uint32("cur_blk_being_dcompress", "Current Block Being Decompressed")
1590 CurrentChangedFATs
= uint16("current_changed_fats", "Current Changed FAT Entries")
1591 CurrentEntries
= uint32("current_entries", "Current Entries")
1592 CurrentFormType
= uint8( "current_form_type", "Current Form Type" )
1593 CurrentLFSCounters
= uint32("current_lfs_counters", "Current LFS Counters")
1594 CurrentlyUsedRoutingBuffers
= uint16("currently_used_routing_buffers", "Currently Used Routing Buffers")
1595 CurrentOpenFiles
= uint16("current_open_files", "Current Open Files")
1596 CurrentReferenceID
= uint16("curr_ref_id", "Current Reference ID")
1597 CurrentServers
= uint32("current_servers", "Current Servers")
1598 CurrentServerTime
= uint32("current_server_time", "Time Elapsed Since Server Was Brought Up")
1599 CurrentSpace
= uint32("current_space", "Current Space")
1600 CurrentTransactionCount
= uint32("current_trans_count", "Current Transaction Count")
1601 CurrentUsedBinderyObjects
= uint16("current_used_bindery_objects", "Current Used Bindery Objects")
1602 CurrentUsedDynamicSpace
= uint32("current_used_dynamic_space", "Current Used Dynamic Space")
1603 CustomCnts
= uint32("custom_cnts", "Custom Counters")
1604 CustomCount
= uint32("custom_count", "Custom Count")
1605 CustomCounters
= uint32("custom_counters", "Custom Counters")
1606 CustomString
= nstring8("custom_string", "Custom String")
1607 CustomVariableValue
= uint32("custom_var_value", "Custom Variable Value")
1609 Data
= nstring8("data", "Data")
1610 DataForkFirstFAT
= uint32("data_fork_first_fat", "Data Fork First FAT Entry")
1611 DataForkLen
= uint32("data_fork_len", "Data Fork Len")
1612 DataForkSize
= uint32("data_fork_size", "Data Fork Size")
1613 DataSize
= uint32("data_size", "Data Size")
1614 DataStream
= val_string8("data_stream", "Data Stream", [
1615 [ 0x00, "Resource Fork or DOS" ],
1616 [ 0x01, "Data Fork" ],
1618 DataStreamFATBlocks
= uint32("data_stream_fat_blks", "Data Stream FAT Blocks")
1619 DataStreamName
= nstring8("data_stream_name", "Data Stream Name")
1620 DataStreamNumber
= uint8("data_stream_number", "Data Stream Number")
1621 DataStreamNumberLong
= uint32("data_stream_num_long", "Data Stream Number")
1622 DataStreamsCount
= uint32("data_streams_count", "Data Streams Count")
1623 DataStreamSize
= uint32("data_stream_size", "Size")
1624 DataStreamSpaceAlloc
= uint32( "data_stream_space_alloc", "Space Allocated for Data Stream" )
1625 DataTypeFlag
= val_string8("data_type_flag", "Data Type Flag", [
1626 [ 0x00, "ASCII Data" ],
1627 [ 0x01, "UTF8 Data" ],
1629 Day
= uint8("s_day", "Day")
1630 DayOfWeek
= val_string8("s_day_of_week", "Day of Week", [
1633 [ 0x02, "Tuesday" ],
1634 [ 0x03, "Wednesday" ],
1635 [ 0x04, "Thursday" ],
1637 [ 0x06, "Saturday" ],
1639 DeadMirrorTable
= bytes("dead_mirror_table", "Dead Mirror Table", 32)
1640 DefinedDataStreams
= uint8("defined_data_streams", "Defined Data Streams")
1641 DefinedNameSpaces
= uint8("defined_name_spaces", "Defined Name Spaces")
1642 DeletedDate
= uint16("deleted_date", "Deleted Date")
1643 DeletedDate
.NWDate()
1644 DeletedFileTime
= uint32( "deleted_file_time", "Deleted File Time")
1645 DeletedFileTime
.Display("BASE_HEX")
1646 DeletedTime
= uint16("deleted_time", "Deleted Time")
1647 DeletedTime
.NWTime()
1648 DeletedID
= uint32( "delete_id", "Deleted ID", BE
)
1649 DeletedID
.Display("BASE_HEX")
1650 DeleteExistingFileFlag
= val_string8("delete_existing_file_flag", "Delete Existing File Flag", [
1651 [ 0x00, "Do Not Delete Existing File" ],
1652 [ 0x01, "Delete Existing File" ],
1654 DenyReadCount
= uint16("deny_read_count", "Deny Read Count")
1655 DenyWriteCount
= uint16("deny_write_count", "Deny Write Count")
1656 DescriptionStrings
= fw_string("description_string", "Description", 100)
1657 DesiredAccessRights
= bitfield16("desired_access_rights", "Desired Access Rights", [
1658 bf_boolean16(0x0001, "dsired_acc_rights_read_o", "Read Only"),
1659 bf_boolean16(0x0002, "dsired_acc_rights_write_o", "Write Only"),
1660 bf_boolean16(0x0004, "dsired_acc_rights_deny_r", "Deny Read"),
1661 bf_boolean16(0x0008, "dsired_acc_rights_deny_w", "Deny Write"),
1662 bf_boolean16(0x0010, "dsired_acc_rights_compat", "Compatibility"),
1663 bf_boolean16(0x0040, "dsired_acc_rights_w_thru", "File Write Through"),
1664 bf_boolean16(0x0400, "dsired_acc_rights_del_file_cls", "Delete File Close"),
1666 DesiredResponseCount
= uint16("desired_response_count", "Desired Response Count")
1667 DestDirHandle
= uint8("dest_dir_handle", "Destination Directory Handle")
1668 DestNameSpace
= val_string8("dest_name_space", "Destination Name Space", [
1669 [ 0x00, "DOS Name Space" ],
1670 [ 0x01, "MAC Name Space" ],
1671 [ 0x02, "NFS Name Space" ],
1672 [ 0x04, "Long Name Space" ],
1674 DestPathComponentCount
= uint8("dest_component_count", "Destination Path Component Count")
1675 DestPath
= nstring8("dest_path", "Destination Path")
1676 DestPath16
= nstring16("dest_path_16", "Destination Path")
1677 DetachDuringProcessing
= uint16("detach_during_processing", "Detach During Processing")
1678 DetachForBadConnectionNumber
= uint16("detach_for_bad_connection_number", "Detach For Bad Connection Number")
1679 DirHandle
= uint8("dir_handle", "Directory Handle")
1680 DirHandleName
= uint8("dir_handle_name", "Handle Name")
1681 DirHandleLong
= uint32("dir_handle_long", "Directory Handle")
1682 DirectoryAccessRights
= uint8("directory_access_rights", "Directory Access Rights")
1684 # XXX - what do the bits mean here?
1686 DirectoryAttributes
= uint8("directory_attributes", "Directory Attributes")
1687 DirectoryBase
= uint32("dir_base", "Directory Base")
1688 DirectoryBase
.Display("BASE_HEX")
1689 DirectoryCount
= uint16("dir_count", "Directory Count")
1690 DirectoryEntryNumber
= uint32("directory_entry_number", "Directory Entry Number")
1691 DirectoryEntryNumber
.Display('BASE_HEX')
1692 DirectoryEntryNumberWord
= uint16("directory_entry_number_word", "Directory Entry Number")
1693 DirectoryID
= uint16("directory_id", "Directory ID", BE
)
1694 DirectoryID
.Display("BASE_HEX")
1695 DirectoryName
= fw_string("directory_name", "Directory Name",12)
1696 DirectoryName14
= fw_string("directory_name_14", "Directory Name", 14)
1697 DirectoryNameLen
= uint8("directory_name_len", "Directory Name Length")
1698 DirectoryNumber
= uint32("directory_number", "Directory Number")
1699 DirectoryNumber
.Display("BASE_HEX")
1700 DirectoryPath
= fw_string("directory_path", "Directory Path", 16)
1701 DirectoryServicesObjectID
= uint32("directory_services_object_id", "Directory Services Object ID")
1702 DirectoryServicesObjectID
.Display("BASE_HEX")
1703 DirectoryStamp
= uint16("directory_stamp", "Directory Stamp (0xD1D1)")
1704 DirtyCacheBuffers
= uint16("dirty_cache_buffers", "Dirty Cache Buffers")
1705 DiskChannelNumber
= uint8("disk_channel_number", "Disk Channel Number")
1706 DiskChannelTable
= val_string8("disk_channel_table", "Disk Channel Table", [
1710 [ 0x04, "Disk Coprocessor" ],
1712 DiskSpaceLimit
= uint32("disk_space_limit", "Disk Space Limit")
1713 DMAChannelsUsed
= uint32("dma_channels_used", "DMA Channels Used")
1714 DMInfoEntries
= uint32("dm_info_entries", "DM Info Entries")
1715 DMInfoLevel
= val_string8("dm_info_level", "DM Info Level", [
1716 [ 0x00, "Return Detailed DM Support Module Information" ],
1717 [ 0x01, "Return Number of DM Support Modules" ],
1718 [ 0x02, "Return DM Support Modules Names" ],
1720 DMFlags
= val_string8("dm_flags", "DM Flags", [
1721 [ 0x00, "OnLine Media" ],
1722 [ 0x01, "OffLine Media" ],
1724 DMmajorVersion
= uint32("dm_major_version", "DM Major Version")
1725 DMminorVersion
= uint32("dm_minor_version", "DM Minor Version")
1726 DMPresentFlag
= val_string8("dm_present_flag", "Data Migration Present Flag", [
1727 [ 0x00, "Data Migration NLM is not loaded" ],
1728 [ 0x01, "Data Migration NLM has been loaded and is running" ],
1730 DOSDirectoryBase
= uint32("dos_directory_base", "DOS Directory Base")
1731 DOSDirectoryBase
.Display("BASE_HEX")
1732 DOSDirectoryEntry
= uint32("dos_directory_entry", "DOS Directory Entry")
1733 DOSDirectoryEntry
.Display("BASE_HEX")
1734 DOSDirectoryEntryNumber
= uint32("dos_directory_entry_number", "DOS Directory Entry Number")
1735 DOSDirectoryEntryNumber
.Display('BASE_HEX')
1736 DOSFileAttributes
= uint8("dos_file_attributes", "DOS File Attributes")
1737 DOSParentDirectoryEntry
= uint32("dos_parent_directory_entry", "DOS Parent Directory Entry")
1738 DOSParentDirectoryEntry
.Display('BASE_HEX')
1739 DOSSequence
= uint32("dos_sequence", "DOS Sequence")
1740 DriveCylinders
= uint16("drive_cylinders", "Drive Cylinders")
1741 DriveDefinitionString
= fw_string("drive_definition_string", "Drive Definition", 64)
1742 DriveHeads
= uint8("drive_heads", "Drive Heads")
1743 DriveMappingTable
= bytes("drive_mapping_table", "Drive Mapping Table", 32)
1744 DriveMirrorTable
= bytes("drive_mirror_table", "Drive Mirror Table", 32)
1745 DriverBoardName
= stringz("driver_board_name", "Driver Board Name")
1746 DriveRemovableFlag
= val_string8("drive_removable_flag", "Drive Removable Flag", [
1747 [ 0x00, "Nonremovable" ],
1748 [ 0xff, "Removable" ],
1750 DriverLogicalName
= stringz("driver_log_name", "Driver Logical Name")
1751 DriverShortName
= stringz("driver_short_name", "Driver Short Name")
1752 DriveSize
= uint32("drive_size", "Drive Size")
1753 DstEAFlags
= val_string16("dst_ea_flags", "Destination EA Flags", [
1754 [ 0x0000, "Return EAHandle,Information Level 0" ],
1755 [ 0x0001, "Return NetWareHandle,Information Level 0" ],
1756 [ 0x0002, "Return Volume/Directory Number,Information Level 0" ],
1757 [ 0x0004, "Return EAHandle,Close Handle on Error,Information Level 0" ],
1758 [ 0x0005, "Return NetWareHandle,Close Handle on Error,Information Level 0" ],
1759 [ 0x0006, "Return Volume/Directory Number,Close Handle on Error,Information Level 0" ],
1760 [ 0x0010, "Return EAHandle,Information Level 1" ],
1761 [ 0x0011, "Return NetWareHandle,Information Level 1" ],
1762 [ 0x0012, "Return Volume/Directory Number,Information Level 1" ],
1763 [ 0x0014, "Return EAHandle,Close Handle on Error,Information Level 1" ],
1764 [ 0x0015, "Return NetWareHandle,Close Handle on Error,Information Level 1" ],
1765 [ 0x0016, "Return Volume/Directory Number,Close Handle on Error,Information Level 1" ],
1766 [ 0x0020, "Return EAHandle,Information Level 2" ],
1767 [ 0x0021, "Return NetWareHandle,Information Level 2" ],
1768 [ 0x0022, "Return Volume/Directory Number,Information Level 2" ],
1769 [ 0x0024, "Return EAHandle,Close Handle on Error,Information Level 2" ],
1770 [ 0x0025, "Return NetWareHandle,Close Handle on Error,Information Level 2" ],
1771 [ 0x0026, "Return Volume/Directory Number,Close Handle on Error,Information Level 2" ],
1772 [ 0x0030, "Return EAHandle,Information Level 3" ],
1773 [ 0x0031, "Return NetWareHandle,Information Level 3" ],
1774 [ 0x0032, "Return Volume/Directory Number,Information Level 3" ],
1775 [ 0x0034, "Return EAHandle,Close Handle on Error,Information Level 3" ],
1776 [ 0x0035, "Return NetWareHandle,Close Handle on Error,Information Level 3" ],
1777 [ 0x0036, "Return Volume/Directory Number,Close Handle on Error,Information Level 3" ],
1778 [ 0x0040, "Return EAHandle,Information Level 4" ],
1779 [ 0x0041, "Return NetWareHandle,Information Level 4" ],
1780 [ 0x0042, "Return Volume/Directory Number,Information Level 4" ],
1781 [ 0x0044, "Return EAHandle,Close Handle on Error,Information Level 4" ],
1782 [ 0x0045, "Return NetWareHandle,Close Handle on Error,Information Level 4" ],
1783 [ 0x0046, "Return Volume/Directory Number,Close Handle on Error,Information Level 4" ],
1784 [ 0x0050, "Return EAHandle,Information Level 5" ],
1785 [ 0x0051, "Return NetWareHandle,Information Level 5" ],
1786 [ 0x0052, "Return Volume/Directory Number,Information Level 5" ],
1787 [ 0x0054, "Return EAHandle,Close Handle on Error,Information Level 5" ],
1788 [ 0x0055, "Return NetWareHandle,Close Handle on Error,Information Level 5" ],
1789 [ 0x0056, "Return Volume/Directory Number,Close Handle on Error,Information Level 5" ],
1790 [ 0x0060, "Return EAHandle,Information Level 6" ],
1791 [ 0x0061, "Return NetWareHandle,Information Level 6" ],
1792 [ 0x0062, "Return Volume/Directory Number,Information Level 6" ],
1793 [ 0x0064, "Return EAHandle,Close Handle on Error,Information Level 6" ],
1794 [ 0x0065, "Return NetWareHandle,Close Handle on Error,Information Level 6" ],
1795 [ 0x0066, "Return Volume/Directory Number,Close Handle on Error,Information Level 6" ],
1796 [ 0x0070, "Return EAHandle,Information Level 7" ],
1797 [ 0x0071, "Return NetWareHandle,Information Level 7" ],
1798 [ 0x0072, "Return Volume/Directory Number,Information Level 7" ],
1799 [ 0x0074, "Return EAHandle,Close Handle on Error,Information Level 7" ],
1800 [ 0x0075, "Return NetWareHandle,Close Handle on Error,Information Level 7" ],
1801 [ 0x0076, "Return Volume/Directory Number,Close Handle on Error,Information Level 7" ],
1802 [ 0x0080, "Return EAHandle,Information Level 0,Immediate Close Handle" ],
1803 [ 0x0081, "Return NetWareHandle,Information Level 0,Immediate Close Handle" ],
1804 [ 0x0082, "Return Volume/Directory Number,Information Level 0,Immediate Close Handle" ],
1805 [ 0x0084, "Return EAHandle,Close Handle on Error,Information Level 0,Immediate Close Handle" ],
1806 [ 0x0085, "Return NetWareHandle,Close Handle on Error,Information Level 0,Immediate Close Handle" ],
1807 [ 0x0086, "Return Volume/Directory Number,Close Handle on Error,Information Level 0,Immediate Close Handle" ],
1808 [ 0x0090, "Return EAHandle,Information Level 1,Immediate Close Handle" ],
1809 [ 0x0091, "Return NetWareHandle,Information Level 1,Immediate Close Handle" ],
1810 [ 0x0092, "Return Volume/Directory Number,Information Level 1,Immediate Close Handle" ],
1811 [ 0x0094, "Return EAHandle,Close Handle on Error,Information Level 1,Immediate Close Handle" ],
1812 [ 0x0095, "Return NetWareHandle,Close Handle on Error,Information Level 1,Immediate Close Handle" ],
1813 [ 0x0096, "Return Volume/Directory Number,Close Handle on Error,Information Level 1,Immediate Close Handle" ],
1814 [ 0x00a0, "Return EAHandle,Information Level 2,Immediate Close Handle" ],
1815 [ 0x00a1, "Return NetWareHandle,Information Level 2,Immediate Close Handle" ],
1816 [ 0x00a2, "Return Volume/Directory Number,Information Level 2,Immediate Close Handle" ],
1817 [ 0x00a4, "Return EAHandle,Close Handle on Error,Information Level 2,Immediate Close Handle" ],
1818 [ 0x00a5, "Return NetWareHandle,Close Handle on Error,Information Level 2,Immediate Close Handle" ],
1819 [ 0x00a6, "Return Volume/Directory Number,Close Handle on Error,Information Level 2,Immediate Close Handle" ],
1820 [ 0x00b0, "Return EAHandle,Information Level 3,Immediate Close Handle" ],
1821 [ 0x00b1, "Return NetWareHandle,Information Level 3,Immediate Close Handle" ],
1822 [ 0x00b2, "Return Volume/Directory Number,Information Level 3,Immediate Close Handle" ],
1823 [ 0x00b4, "Return EAHandle,Close Handle on Error,Information Level 3,Immediate Close Handle" ],
1824 [ 0x00b5, "Return NetWareHandle,Close Handle on Error,Information Level 3,Immediate Close Handle" ],
1825 [ 0x00b6, "Return Volume/Directory Number,Close Handle on Error,Information Level 3,Immediate Close Handle" ],
1826 [ 0x00c0, "Return EAHandle,Information Level 4,Immediate Close Handle" ],
1827 [ 0x00c1, "Return NetWareHandle,Information Level 4,Immediate Close Handle" ],
1828 [ 0x00c2, "Return Volume/Directory Number,Information Level 4,Immediate Close Handle" ],
1829 [ 0x00c4, "Return EAHandle,Close Handle on Error,Information Level 4,Immediate Close Handle" ],
1830 [ 0x00c5, "Return NetWareHandle,Close Handle on Error,Information Level 4,Immediate Close Handle" ],
1831 [ 0x00c6, "Return Volume/Directory Number,Close Handle on Error,Information Level 4,Immediate Close Handle" ],
1832 [ 0x00d0, "Return EAHandle,Information Level 5,Immediate Close Handle" ],
1833 [ 0x00d1, "Return NetWareHandle,Information Level 5,Immediate Close Handle" ],
1834 [ 0x00d2, "Return Volume/Directory Number,Information Level 5,Immediate Close Handle" ],
1835 [ 0x00d4, "Return EAHandle,Close Handle on Error,Information Level 5,Immediate Close Handle" ],
1836 [ 0x00d5, "Return NetWareHandle,Close Handle on Error,Information Level 5,Immediate Close Handle" ],
1837 [ 0x00d6, "Return Volume/Directory Number,Close Handle on Error,Information Level 5,Immediate Close Handle" ],
1838 [ 0x00e0, "Return EAHandle,Information Level 6,Immediate Close Handle" ],
1839 [ 0x00e1, "Return NetWareHandle,Information Level 6,Immediate Close Handle" ],
1840 [ 0x00e2, "Return Volume/Directory Number,Information Level 6,Immediate Close Handle" ],
1841 [ 0x00e4, "Return EAHandle,Close Handle on Error,Information Level 6,Immediate Close Handle" ],
1842 [ 0x00e5, "Return NetWareHandle,Close Handle on Error,Information Level 6,Immediate Close Handle" ],
1843 [ 0x00e6, "Return Volume/Directory Number,Close Handle on Error,Information Level 6,Immediate Close Handle" ],
1844 [ 0x00f0, "Return EAHandle,Information Level 7,Immediate Close Handle" ],
1845 [ 0x00f1, "Return NetWareHandle,Information Level 7,Immediate Close Handle" ],
1846 [ 0x00f2, "Return Volume/Directory Number,Information Level 7,Immediate Close Handle" ],
1847 [ 0x00f4, "Return EAHandle,Close Handle on Error,Information Level 7,Immediate Close Handle" ],
1848 [ 0x00f5, "Return NetWareHandle,Close Handle on Error,Information Level 7,Immediate Close Handle" ],
1849 [ 0x00f6, "Return Volume/Directory Number,Close Handle on Error,Information Level 7,Immediate Close Handle" ],
1851 dstNSIndicator
= val_string16("dst_ns_indicator", "Destination Name Space Indicator", [
1852 [ 0x0000, "Return Source Name Space Information" ],
1853 [ 0x0001, "Return Destination Name Space Information" ],
1855 DstQueueID
= uint32("dst_queue_id", "Destination Queue ID")
1856 DuplicateRepliesSent
= uint16("duplicate_replies_sent", "Duplicate Replies Sent")
1858 EAAccessFlag
= bitfield16("ea_access_flag", "EA Access Flag", [
1859 bf_boolean16(0x0001, "ea_permanent_memory", "Permanent Memory"),
1860 bf_boolean16(0x0002, "ea_deep_freeze", "Deep Freeze"),
1861 bf_boolean16(0x0004, "ea_in_progress", "In Progress"),
1862 bf_boolean16(0x0008, "ea_header_being_enlarged", "Header Being Enlarged"),
1863 bf_boolean16(0x0010, "ea_new_tally_used", "New Tally Used"),
1864 bf_boolean16(0x0020, "ea_tally_need_update", "Tally Need Update"),
1865 bf_boolean16(0x0040, "ea_score_card_present", "Score Card Present"),
1866 bf_boolean16(0x0080, "ea_need_bit_flag", "EA Need Bit Flag"),
1867 bf_boolean16(0x0100, "ea_write_privileges", "Write Privileges"),
1868 bf_boolean16(0x0200, "ea_read_privileges", "Read Privileges"),
1869 bf_boolean16(0x0400, "ea_delete_privileges", "Delete Privileges"),
1870 bf_boolean16(0x0800, "ea_system_ea_only", "System EA Only"),
1871 bf_boolean16(0x1000, "ea_write_in_progress", "Write In Progress"),
1873 EABytesWritten
= uint32("ea_bytes_written", "Bytes Written")
1874 EACount
= uint32("ea_count", "Count")
1875 EADataSize
= uint32("ea_data_size", "Data Size")
1876 EADataSizeDuplicated
= uint32("ea_data_size_duplicated", "Data Size Duplicated")
1877 EADuplicateCount
= uint32("ea_duplicate_count", "Duplicate Count")
1878 EAErrorCodes
= val_string16("ea_error_codes", "EA Error Codes", [
1879 [ 0x0000, "SUCCESSFUL" ],
1880 [ 0x00c8, "ERR_MISSING_EA_KEY" ],
1881 [ 0x00c9, "ERR_EA_NOT_FOUND" ],
1882 [ 0x00ca, "ERR_INVALID_EA_HANDLE_TYPE" ],
1883 [ 0x00cb, "ERR_EA_NO_KEY_NO_DATA" ],
1884 [ 0x00cc, "ERR_EA_NUMBER_MISMATCH" ],
1885 [ 0x00cd, "ERR_EXTENT_NUMBER_OUT_OF_RANGE" ],
1886 [ 0x00ce, "ERR_EA_BAD_DIR_NUM" ],
1887 [ 0x00cf, "ERR_INVALID_EA_HANDLE" ],
1888 [ 0x00d0, "ERR_EA_POSITION_OUT_OF_RANGE" ],
1889 [ 0x00d1, "ERR_EA_ACCESS_DENIED" ],
1890 [ 0x00d2, "ERR_DATA_PAGE_ODD_SIZE" ],
1891 [ 0x00d3, "ERR_EA_VOLUME_NOT_MOUNTED" ],
1892 [ 0x00d4, "ERR_BAD_PAGE_BOUNDARY" ],
1893 [ 0x00d5, "ERR_INSPECT_FAILURE" ],
1894 [ 0x00d6, "ERR_EA_ALREADY_CLAIMED" ],
1895 [ 0x00d7, "ERR_ODD_BUFFER_SIZE" ],
1896 [ 0x00d8, "ERR_NO_SCORECARDS" ],
1897 [ 0x00d9, "ERR_BAD_EDS_SIGNATURE" ],
1898 [ 0x00da, "ERR_EA_SPACE_LIMIT" ],
1899 [ 0x00db, "ERR_EA_KEY_CORRUPT" ],
1900 [ 0x00dc, "ERR_EA_KEY_LIMIT" ],
1901 [ 0x00dd, "ERR_TALLY_CORRUPT" ],
1903 EAFlags
= val_string16("ea_flags", "EA Flags", [
1904 [ 0x0000, "Return EAHandle,Information Level 0" ],
1905 [ 0x0001, "Return NetWareHandle,Information Level 0" ],
1906 [ 0x0002, "Return Volume/Directory Number,Information Level 0" ],
1907 [ 0x0004, "Return EAHandle,Close Handle on Error,Information Level 0" ],
1908 [ 0x0005, "Return NetWareHandle,Close Handle on Error,Information Level 0" ],
1909 [ 0x0006, "Return Volume/Directory Number,Close Handle on Error,Information Level 0" ],
1910 [ 0x0010, "Return EAHandle,Information Level 1" ],
1911 [ 0x0011, "Return NetWareHandle,Information Level 1" ],
1912 [ 0x0012, "Return Volume/Directory Number,Information Level 1" ],
1913 [ 0x0014, "Return EAHandle,Close Handle on Error,Information Level 1" ],
1914 [ 0x0015, "Return NetWareHandle,Close Handle on Error,Information Level 1" ],
1915 [ 0x0016, "Return Volume/Directory Number,Close Handle on Error,Information Level 1" ],
1916 [ 0x0020, "Return EAHandle,Information Level 2" ],
1917 [ 0x0021, "Return NetWareHandle,Information Level 2" ],
1918 [ 0x0022, "Return Volume/Directory Number,Information Level 2" ],
1919 [ 0x0024, "Return EAHandle,Close Handle on Error,Information Level 2" ],
1920 [ 0x0025, "Return NetWareHandle,Close Handle on Error,Information Level 2" ],
1921 [ 0x0026, "Return Volume/Directory Number,Close Handle on Error,Information Level 2" ],
1922 [ 0x0030, "Return EAHandle,Information Level 3" ],
1923 [ 0x0031, "Return NetWareHandle,Information Level 3" ],
1924 [ 0x0032, "Return Volume/Directory Number,Information Level 3" ],
1925 [ 0x0034, "Return EAHandle,Close Handle on Error,Information Level 3" ],
1926 [ 0x0035, "Return NetWareHandle,Close Handle on Error,Information Level 3" ],
1927 [ 0x0036, "Return Volume/Directory Number,Close Handle on Error,Information Level 3" ],
1928 [ 0x0040, "Return EAHandle,Information Level 4" ],
1929 [ 0x0041, "Return NetWareHandle,Information Level 4" ],
1930 [ 0x0042, "Return Volume/Directory Number,Information Level 4" ],
1931 [ 0x0044, "Return EAHandle,Close Handle on Error,Information Level 4" ],
1932 [ 0x0045, "Return NetWareHandle,Close Handle on Error,Information Level 4" ],
1933 [ 0x0046, "Return Volume/Directory Number,Close Handle on Error,Information Level 4" ],
1934 [ 0x0050, "Return EAHandle,Information Level 5" ],
1935 [ 0x0051, "Return NetWareHandle,Information Level 5" ],
1936 [ 0x0052, "Return Volume/Directory Number,Information Level 5" ],
1937 [ 0x0054, "Return EAHandle,Close Handle on Error,Information Level 5" ],
1938 [ 0x0055, "Return NetWareHandle,Close Handle on Error,Information Level 5" ],
1939 [ 0x0056, "Return Volume/Directory Number,Close Handle on Error,Information Level 5" ],
1940 [ 0x0060, "Return EAHandle,Information Level 6" ],
1941 [ 0x0061, "Return NetWareHandle,Information Level 6" ],
1942 [ 0x0062, "Return Volume/Directory Number,Information Level 6" ],
1943 [ 0x0064, "Return EAHandle,Close Handle on Error,Information Level 6" ],
1944 [ 0x0065, "Return NetWareHandle,Close Handle on Error,Information Level 6" ],
1945 [ 0x0066, "Return Volume/Directory Number,Close Handle on Error,Information Level 6" ],
1946 [ 0x0070, "Return EAHandle,Information Level 7" ],
1947 [ 0x0071, "Return NetWareHandle,Information Level 7" ],
1948 [ 0x0072, "Return Volume/Directory Number,Information Level 7" ],
1949 [ 0x0074, "Return EAHandle,Close Handle on Error,Information Level 7" ],
1950 [ 0x0075, "Return NetWareHandle,Close Handle on Error,Information Level 7" ],
1951 [ 0x0076, "Return Volume/Directory Number,Close Handle on Error,Information Level 7" ],
1952 [ 0x0080, "Return EAHandle,Information Level 0,Immediate Close Handle" ],
1953 [ 0x0081, "Return NetWareHandle,Information Level 0,Immediate Close Handle" ],
1954 [ 0x0082, "Return Volume/Directory Number,Information Level 0,Immediate Close Handle" ],
1955 [ 0x0084, "Return EAHandle,Close Handle on Error,Information Level 0,Immediate Close Handle" ],
1956 [ 0x0085, "Return NetWareHandle,Close Handle on Error,Information Level 0,Immediate Close Handle" ],
1957 [ 0x0086, "Return Volume/Directory Number,Close Handle on Error,Information Level 0,Immediate Close Handle" ],
1958 [ 0x0090, "Return EAHandle,Information Level 1,Immediate Close Handle" ],
1959 [ 0x0091, "Return NetWareHandle,Information Level 1,Immediate Close Handle" ],
1960 [ 0x0092, "Return Volume/Directory Number,Information Level 1,Immediate Close Handle" ],
1961 [ 0x0094, "Return EAHandle,Close Handle on Error,Information Level 1,Immediate Close Handle" ],
1962 [ 0x0095, "Return NetWareHandle,Close Handle on Error,Information Level 1,Immediate Close Handle" ],
1963 [ 0x0096, "Return Volume/Directory Number,Close Handle on Error,Information Level 1,Immediate Close Handle" ],
1964 [ 0x00a0, "Return EAHandle,Information Level 2,Immediate Close Handle" ],
1965 [ 0x00a1, "Return NetWareHandle,Information Level 2,Immediate Close Handle" ],
1966 [ 0x00a2, "Return Volume/Directory Number,Information Level 2,Immediate Close Handle" ],
1967 [ 0x00a4, "Return EAHandle,Close Handle on Error,Information Level 2,Immediate Close Handle" ],
1968 [ 0x00a5, "Return NetWareHandle,Close Handle on Error,Information Level 2,Immediate Close Handle" ],
1969 [ 0x00a6, "Return Volume/Directory Number,Close Handle on Error,Information Level 2,Immediate Close Handle" ],
1970 [ 0x00b0, "Return EAHandle,Information Level 3,Immediate Close Handle" ],
1971 [ 0x00b1, "Return NetWareHandle,Information Level 3,Immediate Close Handle" ],
1972 [ 0x00b2, "Return Volume/Directory Number,Information Level 3,Immediate Close Handle" ],
1973 [ 0x00b4, "Return EAHandle,Close Handle on Error,Information Level 3,Immediate Close Handle" ],
1974 [ 0x00b5, "Return NetWareHandle,Close Handle on Error,Information Level 3,Immediate Close Handle" ],
1975 [ 0x00b6, "Return Volume/Directory Number,Close Handle on Error,Information Level 3,Immediate Close Handle" ],
1976 [ 0x00c0, "Return EAHandle,Information Level 4,Immediate Close Handle" ],
1977 [ 0x00c1, "Return NetWareHandle,Information Level 4,Immediate Close Handle" ],
1978 [ 0x00c2, "Return Volume/Directory Number,Information Level 4,Immediate Close Handle" ],
1979 [ 0x00c4, "Return EAHandle,Close Handle on Error,Information Level 4,Immediate Close Handle" ],
1980 [ 0x00c5, "Return NetWareHandle,Close Handle on Error,Information Level 4,Immediate Close Handle" ],
1981 [ 0x00c6, "Return Volume/Directory Number,Close Handle on Error,Information Level 4,Immediate Close Handle" ],
1982 [ 0x00d0, "Return EAHandle,Information Level 5,Immediate Close Handle" ],
1983 [ 0x00d1, "Return NetWareHandle,Information Level 5,Immediate Close Handle" ],
1984 [ 0x00d2, "Return Volume/Directory Number,Information Level 5,Immediate Close Handle" ],
1985 [ 0x00d4, "Return EAHandle,Close Handle on Error,Information Level 5,Immediate Close Handle" ],
1986 [ 0x00d5, "Return NetWareHandle,Close Handle on Error,Information Level 5,Immediate Close Handle" ],
1987 [ 0x00d6, "Return Volume/Directory Number,Close Handle on Error,Information Level 5,Immediate Close Handle" ],
1988 [ 0x00e0, "Return EAHandle,Information Level 6,Immediate Close Handle" ],
1989 [ 0x00e1, "Return NetWareHandle,Information Level 6,Immediate Close Handle" ],
1990 [ 0x00e2, "Return Volume/Directory Number,Information Level 6,Immediate Close Handle" ],
1991 [ 0x00e4, "Return EAHandle,Close Handle on Error,Information Level 6,Immediate Close Handle" ],
1992 [ 0x00e5, "Return NetWareHandle,Close Handle on Error,Information Level 6,Immediate Close Handle" ],
1993 [ 0x00e6, "Return Volume/Directory Number,Close Handle on Error,Information Level 6,Immediate Close Handle" ],
1994 [ 0x00f0, "Return EAHandle,Information Level 7,Immediate Close Handle" ],
1995 [ 0x00f1, "Return NetWareHandle,Information Level 7,Immediate Close Handle" ],
1996 [ 0x00f2, "Return Volume/Directory Number,Information Level 7,Immediate Close Handle" ],
1997 [ 0x00f4, "Return EAHandle,Close Handle on Error,Information Level 7,Immediate Close Handle" ],
1998 [ 0x00f5, "Return NetWareHandle,Close Handle on Error,Information Level 7,Immediate Close Handle" ],
1999 [ 0x00f6, "Return Volume/Directory Number,Close Handle on Error,Information Level 7,Immediate Close Handle" ],
2001 EAHandle
= uint32("ea_handle", "EA Handle")
2002 EAHandle
.Display("BASE_HEX")
2003 EAHandleOrNetWareHandleOrVolume
= uint32("ea_handle_or_netware_handle_or_volume", "EAHandle or NetWare Handle or Volume (see EAFlags)")
2004 EAHandleOrNetWareHandleOrVolume
.Display("BASE_HEX")
2005 EAKey
= nstring16("ea_key", "EA Key")
2006 EAKeySize
= uint32("ea_key_size", "Key Size")
2007 EAKeySizeDuplicated
= uint32("ea_key_size_duplicated", "Key Size Duplicated")
2008 EAValue
= nstring16("ea_value", "EA Value")
2009 EAValueRep
= fw_string("ea_value_rep", "EA Value", 1)
2010 EAValueLength
= uint16("ea_value_length", "Value Length")
2011 EchoSocket
= uint16("echo_socket", "Echo Socket")
2012 EchoSocket
.Display('BASE_HEX')
2013 EffectiveRights
= bitfield8("effective_rights", "Effective Rights", [
2014 bf_boolean8(0x01, "effective_rights_read", "Read Rights"),
2015 bf_boolean8(0x02, "effective_rights_write", "Write Rights"),
2016 bf_boolean8(0x04, "effective_rights_open", "Open Rights"),
2017 bf_boolean8(0x08, "effective_rights_create", "Create Rights"),
2018 bf_boolean8(0x10, "effective_rights_delete", "Delete Rights"),
2019 bf_boolean8(0x20, "effective_rights_parental", "Parental Rights"),
2020 bf_boolean8(0x40, "effective_rights_search", "Search Rights"),
2021 bf_boolean8(0x80, "effective_rights_modify", "Modify Rights"),
2023 EnumInfoMask
= bitfield8("enum_info_mask", "Return Information Mask", [
2024 bf_boolean8(0x01, "enum_info_transport", "Transport Information"),
2025 bf_boolean8(0x02, "enum_info_time", "Time Information"),
2026 bf_boolean8(0x04, "enum_info_name", "Name Information"),
2027 bf_boolean8(0x08, "enum_info_lock", "Lock Information"),
2028 bf_boolean8(0x10, "enum_info_print", "Print Information"),
2029 bf_boolean8(0x20, "enum_info_stats", "Statistical Information"),
2030 bf_boolean8(0x40, "enum_info_account", "Accounting Information"),
2031 bf_boolean8(0x80, "enum_info_auth", "Authentication Information"),
2034 eventOffset
= bytes("event_offset", "Event Offset", 8)
2035 eventTime
= uint32("event_time", "Event Time")
2036 eventTime
.Display("BASE_HEX")
2037 ExpirationTime
= uint32("expiration_time", "Expiration Time")
2038 ExpirationTime
.Display('BASE_HEX')
2039 ExtAttrDataSize
= uint32("ext_attr_data_size", "Extended Attributes Data Size")
2040 ExtAttrCount
= uint32("ext_attr_count", "Extended Attributes Count")
2041 ExtAttrKeySize
= uint32("ext_attr_key_size", "Extended Attributes Key Size")
2042 ExtendedAttributesDefined
= uint32("extended_attributes_defined", "Extended Attributes Defined")
2043 ExtendedAttributeExtentsUsed
= uint32("extended_attribute_extents_used", "Extended Attribute Extents Used")
2044 ExtendedInfo
= bitfield16("ext_info", "Extended Return Information", [
2045 bf_boolean16(0x0001, "ext_info_update", "Last Update"),
2046 bf_boolean16(0x0002, "ext_info_dos_name", "DOS Name"),
2047 bf_boolean16(0x0004, "ext_info_flush", "Flush Time"),
2048 bf_boolean16(0x0008, "ext_info_parental", "Parental"),
2049 bf_boolean16(0x0010, "ext_info_mac_finder", "MAC Finder"),
2050 bf_boolean16(0x0020, "ext_info_sibling", "Sibling"),
2051 bf_boolean16(0x0040, "ext_info_effective", "Effective"),
2052 bf_boolean16(0x0080, "ext_info_mac_date", "MAC Date"),
2053 bf_boolean16(0x0100, "ext_info_access", "Last Access"),
2054 bf_boolean16(0x0400, "ext_info_64_bit_fs", "64 Bit File Sizes"),
2055 bf_boolean16(0x8000, "ext_info_newstyle", "New Style"),
2057 ExtRouterActiveFlag
= boolean8("ext_router_active_flag", "External Router Active Flag")
2059 FailedAllocReqCnt
= uint32("failed_alloc_req", "Failed Alloc Request Count")
2060 FatalFATWriteErrors
= uint16("fatal_fat_write_errors", "Fatal FAT Write Errors")
2061 FATScanErrors
= uint16("fat_scan_errors", "FAT Scan Errors")
2062 FATWriteErrors
= uint16("fat_write_errors", "FAT Write Errors")
2063 FieldsLenTable
= bytes("fields_len_table", "Fields Len Table", 32)
2064 FileCount
= uint16("file_count", "File Count")
2065 FileDate
= uint16("file_date", "File Date")
2067 FileDirWindow
= uint16("file_dir_win", "File/Dir Window")
2068 FileDirWindow
.Display("BASE_HEX")
2069 FileExecuteType
= uint8("file_execute_type", "File Execute Type")
2070 FileExtendedAttributes
= val_string8("file_ext_attr", "File Extended Attributes", [
2071 [ 0x00, "Search On All Read Only Opens" ],
2072 [ 0x01, "Search On Read Only Opens With No Path" ],
2073 [ 0x02, "Shell Default Search Mode" ],
2074 [ 0x03, "Search On All Opens With No Path" ],
2075 [ 0x04, "Do Not Search" ],
2076 [ 0x05, "Reserved" ],
2077 [ 0x06, "Search On All Opens" ],
2078 [ 0x07, "Reserved" ],
2079 [ 0x08, "Search On All Read Only Opens/Indexed" ],
2080 [ 0x09, "Search On Read Only Opens With No Path/Indexed" ],
2081 [ 0x0a, "Shell Default Search Mode/Indexed" ],
2082 [ 0x0b, "Search On All Opens With No Path/Indexed" ],
2083 [ 0x0c, "Do Not Search/Indexed" ],
2084 [ 0x0d, "Indexed" ],
2085 [ 0x0e, "Search On All Opens/Indexed" ],
2086 [ 0x0f, "Indexed" ],
2087 [ 0x10, "Search On All Read Only Opens/Transactional" ],
2088 [ 0x11, "Search On Read Only Opens With No Path/Transactional" ],
2089 [ 0x12, "Shell Default Search Mode/Transactional" ],
2090 [ 0x13, "Search On All Opens With No Path/Transactional" ],
2091 [ 0x14, "Do Not Search/Transactional" ],
2092 [ 0x15, "Transactional" ],
2093 [ 0x16, "Search On All Opens/Transactional" ],
2094 [ 0x17, "Transactional" ],
2095 [ 0x18, "Search On All Read Only Opens/Indexed/Transactional" ],
2096 [ 0x19, "Search On Read Only Opens With No Path/Indexed/Transactional" ],
2097 [ 0x1a, "Shell Default Search Mode/Indexed/Transactional" ],
2098 [ 0x1b, "Search On All Opens With No Path/Indexed/Transactional" ],
2099 [ 0x1c, "Do Not Search/Indexed/Transactional" ],
2100 [ 0x1d, "Indexed/Transactional" ],
2101 [ 0x1e, "Search On All Opens/Indexed/Transactional" ],
2102 [ 0x1f, "Indexed/Transactional" ],
2103 [ 0x40, "Search On All Read Only Opens/Read Audit" ],
2104 [ 0x41, "Search On Read Only Opens With No Path/Read Audit" ],
2105 [ 0x42, "Shell Default Search Mode/Read Audit" ],
2106 [ 0x43, "Search On All Opens With No Path/Read Audit" ],
2107 [ 0x44, "Do Not Search/Read Audit" ],
2108 [ 0x45, "Read Audit" ],
2109 [ 0x46, "Search On All Opens/Read Audit" ],
2110 [ 0x47, "Read Audit" ],
2111 [ 0x48, "Search On All Read Only Opens/Indexed/Read Audit" ],
2112 [ 0x49, "Search On Read Only Opens With No Path/Indexed/Read Audit" ],
2113 [ 0x4a, "Shell Default Search Mode/Indexed/Read Audit" ],
2114 [ 0x4b, "Search On All Opens With No Path/Indexed/Read Audit" ],
2115 [ 0x4c, "Do Not Search/Indexed/Read Audit" ],
2116 [ 0x4d, "Indexed/Read Audit" ],
2117 [ 0x4e, "Search On All Opens/Indexed/Read Audit" ],
2118 [ 0x4f, "Indexed/Read Audit" ],
2119 [ 0x50, "Search On All Read Only Opens/Transactional/Read Audit" ],
2120 [ 0x51, "Search On Read Only Opens With No Path/Transactional/Read Audit" ],
2121 [ 0x52, "Shell Default Search Mode/Transactional/Read Audit" ],
2122 [ 0x53, "Search On All Opens With No Path/Transactional/Read Audit" ],
2123 [ 0x54, "Do Not Search/Transactional/Read Audit" ],
2124 [ 0x55, "Transactional/Read Audit" ],
2125 [ 0x56, "Search On All Opens/Transactional/Read Audit" ],
2126 [ 0x57, "Transactional/Read Audit" ],
2127 [ 0x58, "Search On All Read Only Opens/Indexed/Transactional/Read Audit" ],
2128 [ 0x59, "Search On Read Only Opens With No Path/Indexed/Transactional/Read Audit" ],
2129 [ 0x5a, "Shell Default Search Mode/Indexed/Transactional/Read Audit" ],
2130 [ 0x5b, "Search On All Opens With No Path/Indexed/Transactional/Read Audit" ],
2131 [ 0x5c, "Do Not Search/Indexed/Transactional/Read Audit" ],
2132 [ 0x5d, "Indexed/Transactional/Read Audit" ],
2133 [ 0x5e, "Search On All Opens/Indexed/Transactional/Read Audit" ],
2134 [ 0x5f, "Indexed/Transactional/Read Audit" ],
2135 [ 0x80, "Search On All Read Only Opens/Write Audit" ],
2136 [ 0x81, "Search On Read Only Opens With No Path/Write Audit" ],
2137 [ 0x82, "Shell Default Search Mode/Write Audit" ],
2138 [ 0x83, "Search On All Opens With No Path/Write Audit" ],
2139 [ 0x84, "Do Not Search/Write Audit" ],
2140 [ 0x85, "Write Audit" ],
2141 [ 0x86, "Search On All Opens/Write Audit" ],
2142 [ 0x87, "Write Audit" ],
2143 [ 0x88, "Search On All Read Only Opens/Indexed/Write Audit" ],
2144 [ 0x89, "Search On Read Only Opens With No Path/Indexed/Write Audit" ],
2145 [ 0x8a, "Shell Default Search Mode/Indexed/Write Audit" ],
2146 [ 0x8b, "Search On All Opens With No Path/Indexed/Write Audit" ],
2147 [ 0x8c, "Do Not Search/Indexed/Write Audit" ],
2148 [ 0x8d, "Indexed/Write Audit" ],
2149 [ 0x8e, "Search On All Opens/Indexed/Write Audit" ],
2150 [ 0x8f, "Indexed/Write Audit" ],
2151 [ 0x90, "Search On All Read Only Opens/Transactional/Write Audit" ],
2152 [ 0x91, "Search On Read Only Opens With No Path/Transactional/Write Audit" ],
2153 [ 0x92, "Shell Default Search Mode/Transactional/Write Audit" ],
2154 [ 0x93, "Search On All Opens With No Path/Transactional/Write Audit" ],
2155 [ 0x94, "Do Not Search/Transactional/Write Audit" ],
2156 [ 0x95, "Transactional/Write Audit" ],
2157 [ 0x96, "Search On All Opens/Transactional/Write Audit" ],
2158 [ 0x97, "Transactional/Write Audit" ],
2159 [ 0x98, "Search On All Read Only Opens/Indexed/Transactional/Write Audit" ],
2160 [ 0x99, "Search On Read Only Opens With No Path/Indexed/Transactional/Write Audit" ],
2161 [ 0x9a, "Shell Default Search Mode/Indexed/Transactional/Write Audit" ],
2162 [ 0x9b, "Search On All Opens With No Path/Indexed/Transactional/Write Audit" ],
2163 [ 0x9c, "Do Not Search/Indexed/Transactional/Write Audit" ],
2164 [ 0x9d, "Indexed/Transactional/Write Audit" ],
2165 [ 0x9e, "Search On All Opens/Indexed/Transactional/Write Audit" ],
2166 [ 0x9f, "Indexed/Transactional/Write Audit" ],
2167 [ 0xa0, "Search On All Read Only Opens/Read Audit/Write Audit" ],
2168 [ 0xa1, "Search On Read Only Opens With No Path/Read Audit/Write Audit" ],
2169 [ 0xa2, "Shell Default Search Mode/Read Audit/Write Audit" ],
2170 [ 0xa3, "Search On All Opens With No Path/Read Audit/Write Audit" ],
2171 [ 0xa4, "Do Not Search/Read Audit/Write Audit" ],
2172 [ 0xa5, "Read Audit/Write Audit" ],
2173 [ 0xa6, "Search On All Opens/Read Audit/Write Audit" ],
2174 [ 0xa7, "Read Audit/Write Audit" ],
2175 [ 0xa8, "Search On All Read Only Opens/Indexed/Read Audit/Write Audit" ],
2176 [ 0xa9, "Search On Read Only Opens With No Path/Indexed/Read Audit/Write Audit" ],
2177 [ 0xaa, "Shell Default Search Mode/Indexed/Read Audit/Write Audit" ],
2178 [ 0xab, "Search On All Opens With No Path/Indexed/Read Audit/Write Audit" ],
2179 [ 0xac, "Do Not Search/Indexed/Read Audit/Write Audit" ],
2180 [ 0xad, "Indexed/Read Audit/Write Audit" ],
2181 [ 0xae, "Search On All Opens/Indexed/Read Audit/Write Audit" ],
2182 [ 0xaf, "Indexed/Read Audit/Write Audit" ],
2183 [ 0xb0, "Search On All Read Only Opens/Transactional/Read Audit/Write Audit" ],
2184 [ 0xb1, "Search On Read Only Opens With No Path/Transactional/Read Audit/Write Audit" ],
2185 [ 0xb2, "Shell Default Search Mode/Transactional/Read Audit/Write Audit" ],
2186 [ 0xb3, "Search On All Opens With No Path/Transactional/Read Audit/Write Audit" ],
2187 [ 0xb4, "Do Not Search/Transactional/Read Audit/Write Audit" ],
2188 [ 0xb5, "Transactional/Read Audit/Write Audit" ],
2189 [ 0xb6, "Search On All Opens/Transactional/Read Audit/Write Audit" ],
2190 [ 0xb7, "Transactional/Read Audit/Write Audit" ],
2191 [ 0xb8, "Search On All Read Only Opens/Indexed/Transactional/Read Audit/Write Audit" ],
2192 [ 0xb9, "Search On Read Only Opens With No Path/Indexed/Transactional/Read Audit/Write Audit" ],
2193 [ 0xba, "Shell Default Search Mode/Indexed/Transactional/Read Audit/Write Audit" ],
2194 [ 0xbb, "Search On All Opens With No Path/Indexed/Transactional/Read Audit/Write Audit" ],
2195 [ 0xbc, "Do Not Search/Indexed/Transactional/Read Audit/Write Audit" ],
2196 [ 0xbd, "Indexed/Transactional/Read Audit/Write Audit" ],
2197 [ 0xbe, "Search On All Opens/Indexed/Transactional/Read Audit/Write Audit" ],
2198 [ 0xbf, "Indexed/Transactional/Read Audit/Write Audit" ],
2200 fileFlags
= uint32("file_flags", "File Flags")
2201 FileHandle
= bytes("file_handle", "File Handle", 6)
2202 FileLimbo
= uint32("file_limbo", "File Limbo")
2203 FileListCount
= uint32("file_list_count", "File List Count")
2204 FileLock
= val_string8("file_lock", "File Lock", [
2205 [ 0x00, "Not Locked" ],
2206 [ 0xfe, "Locked by file lock" ],
2207 [ 0xff, "Unknown" ],
2209 FileLockCount
= uint16("file_lock_count", "File Lock Count")
2210 FileMigrationState
= val_string8("file_mig_state", "File Migration State", [
2211 [ 0x00, "Mark file ineligible for file migration" ],
2212 [ 0x01, "Mark file eligible for file migration" ],
2213 [ 0x02, "Mark file as migrated and delete fat chains" ],
2214 [ 0x03, "Reset file status back to normal" ],
2215 [ 0x04, "Get file data back and reset file status back to normal" ],
2217 FileMode
= uint8("file_mode", "File Mode")
2218 FileName
= nstring8("file_name", "Filename")
2219 FileName12
= fw_string("file_name_12", "Filename", 12)
2220 FileName14
= fw_string("file_name_14", "Filename", 14)
2221 FileName16
= nstring16("file_name_16", "Filename")
2222 FileNameLen
= uint8("file_name_len", "Filename Length")
2223 FileOffset
= uint32("file_offset", "File Offset")
2224 FilePath
= nstring8("file_path", "File Path")
2225 FileSize
= uint32("file_size", "File Size", BE
)
2226 FileSize64bit
= uint64("f_size_64bit", "64bit File Size")
2227 FileSystemID
= uint8("file_system_id", "File System ID")
2228 FileTime
= uint16("file_time", "File Time")
2230 FileUseCount
= uint16("file_use_count", "File Use Count")
2231 FileWriteFlags
= val_string8("file_write_flags", "File Write Flags", [
2232 [ 0x01, "Writing" ],
2233 [ 0x02, "Write aborted" ],
2235 FileWriteState
= val_string8("file_write_state", "File Write State", [
2236 [ 0x00, "Not Writing" ],
2237 [ 0x01, "Write in Progress" ],
2238 [ 0x02, "Write Being Stopped" ],
2240 Filler
= uint8("filler", "Filler")
2241 FinderAttr
= bitfield16("finder_attr", "Finder Info Attributes", [
2242 bf_boolean16(0x0001, "finder_attr_desktop", "Object on Desktop"),
2243 bf_boolean16(0x2000, "finder_attr_invisible", "Object is Invisible"),
2244 bf_boolean16(0x4000, "finder_attr_bundle", "Object Has Bundle"),
2246 FixedBitMask
= uint32("fixed_bit_mask", "Fixed Bit Mask")
2247 FixedBitsDefined
= uint16("fixed_bits_defined", "Fixed Bits Defined")
2248 FlagBits
= uint8("flag_bits", "Flag Bits")
2249 Flags
= uint8("flags", "Flags")
2250 FlagsDef
= uint16("flags_def", "Flags")
2251 FlushTime
= uint32("flush_time", "Flush Time")
2252 FolderFlag
= val_string8("folder_flag", "Folder Flag", [
2253 [ 0x00, "Not a Folder" ],
2256 ForkCount
= uint8("fork_count", "Fork Count")
2257 ForkIndicator
= val_string8("fork_indicator", "Fork Indicator", [
2258 [ 0x00, "Data Fork" ],
2259 [ 0x01, "Resource Fork" ],
2261 ForceFlag
= val_string8("force_flag", "Force Server Down Flag", [
2262 [ 0x00, "Down Server if No Files Are Open" ],
2263 [ 0xff, "Down Server Immediately, Auto-Close Open Files" ],
2265 ForgedDetachedRequests
= uint16("forged_detached_requests", "Forged Detached Requests")
2266 FormType
= uint16( "form_type", "Form Type" )
2267 FormTypeCnt
= uint32("form_type_count", "Form Types Count")
2268 FoundSomeMem
= uint32("found_some_mem", "Found Some Memory")
2269 FractionalSeconds
= uint32("fractional_time", "Fractional Time in Seconds")
2270 FraggerHandle
= uint32("fragger_handle", "Fragment Handle")
2271 FraggerHandle
.Display('BASE_HEX')
2272 FragmentWriteOccurred
= uint16("fragment_write_occurred", "Fragment Write Occurred")
2273 FragSize
= uint32("frag_size", "Fragment Size")
2274 FreeableLimboSectors
= uint32("freeable_limbo_sectors", "Freeable Limbo Sectors")
2275 FreeBlocks
= uint32("free_blocks", "Free Blocks")
2276 FreedClusters
= uint32("freed_clusters", "Freed Clusters")
2277 FreeDirectoryEntries
= uint16("free_directory_entries", "Free Directory Entries")
2278 FSEngineFlag
= boolean8("fs_engine_flag", "FS Engine Flag")
2279 FullName
= fw_string("full_name", "Full Name", 39)
2281 GetSetFlag
= val_string8("get_set_flag", "Get Set Flag", [
2282 [ 0x00, "Get the default support module ID" ],
2283 [ 0x01, "Set the default support module ID" ],
2285 GUID
= bytes("guid", "GUID", 16)
2287 HandleFlag
= val_string8("handle_flag", "Handle Flag", [
2288 [ 0x00, "Short Directory Handle" ],
2289 [ 0x01, "Directory Base" ],
2290 [ 0xFF, "No Handle Present" ],
2292 HandleInfoLevel
= val_string8("handle_info_level", "Handle Info Level", [
2293 [ 0x00, "Get Limited Information from a File Handle" ],
2294 [ 0x01, "Get Limited Information from a File Handle Using a Name Space" ],
2295 [ 0x02, "Get Information from a File Handle" ],
2296 [ 0x03, "Get Information from a Directory Handle" ],
2297 [ 0x04, "Get Complete Information from a Directory Handle" ],
2298 [ 0x05, "Get Complete Information from a File Handle" ],
2300 HeldBytesRead
= bytes("held_bytes_read", "Held Bytes Read", 6)
2301 HeldBytesWritten
= bytes("held_bytes_write", "Held Bytes Written", 6)
2302 HeldConnectTimeInMinutes
= uint32("held_conn_time", "Held Connect Time in Minutes")
2303 HeldRequests
= uint32("user_info_held_req", "Held Requests")
2304 HoldAmount
= uint32("hold_amount", "Hold Amount")
2305 HoldCancelAmount
= uint32("hold_cancel_amount", "Hold Cancel Amount")
2306 HolderID
= uint32("holder_id", "Holder ID")
2307 HolderID
.Display("BASE_HEX")
2308 HoldTime
= uint32("hold_time", "Hold Time")
2309 HopsToNet
= uint16("hops_to_net", "Hop Count")
2310 HorizLocation
= uint16("horiz_location", "Horizontal Location")
2311 HostAddress
= bytes("host_address", "Host Address", 6)
2312 HotFixBlocksAvailable
= uint16("hot_fix_blocks_available", "Hot Fix Blocks Available")
2313 HotFixDisabled
= val_string8("hot_fix_disabled", "Hot Fix Disabled", [
2314 [ 0x00, "Enabled" ],
2315 [ 0x01, "Disabled" ],
2317 HotFixTableSize
= uint16("hot_fix_table_size", "Hot Fix Table Size")
2318 HotFixTableStart
= uint32("hot_fix_table_start", "Hot Fix Table Start")
2319 Hour
= uint8("s_hour", "Hour")
2320 HugeBitMask
= uint32("huge_bit_mask", "Huge Bit Mask")
2321 HugeBitsDefined
= uint16("huge_bits_defined", "Huge Bits Defined")
2322 HugeData
= nstring8("huge_data", "Huge Data")
2323 HugeDataUsed
= uint32("huge_data_used", "Huge Data Used")
2324 HugeStateInfo
= bytes("huge_state_info", "Huge State Info", 16)
2326 IdentificationNumber
= uint32("identification_number", "Identification Number")
2327 IgnoredRxPkts
= uint32("ignored_rx_pkts", "Ignored Receive Packets")
2328 IncomingPacketDiscardedNoDGroup
= uint16("incoming_packet_discarded_no_dgroup", "Incoming Packet Discarded No DGroup")
2329 IndexNumber
= uint8("index_number", "Index Number")
2330 InfoCount
= uint16("info_count", "Info Count")
2331 InfoFlags
= bitfield32("info_flags", "Info Flags", [
2332 bf_boolean32(0x10000000, "info_flags_security", "Return Object Security"),
2333 bf_boolean32(0x20000000, "info_flags_flags", "Return Object Flags"),
2334 bf_boolean32(0x40000000, "info_flags_type", "Return Object Type"),
2335 bf_boolean32(0x80000000, "info_flags_name", "Return Object Name"),
2337 InfoLevelNumber
= val_string8("info_level_num", "Information Level Number", [
2338 [ 0x01, "Volume Information Definition" ],
2339 [ 0x02, "Volume Information 2 Definition" ],
2341 InfoMask
= bitfield32("info_mask", "Information Mask", [
2342 bf_boolean32(0x00000001, "info_flags_dos_time", "DOS Time"),
2343 bf_boolean32(0x00000002, "info_flags_ref_count", "Reference Count"),
2344 bf_boolean32(0x00000004, "info_flags_dos_attr", "DOS Attributes"),
2345 bf_boolean32(0x00000008, "info_flags_ids", "ID's"),
2346 bf_boolean32(0x00000010, "info_flags_ds_sizes", "Data Stream Sizes"),
2347 bf_boolean32(0x00000020, "info_flags_ns_attr", "Name Space Attributes"),
2348 bf_boolean32(0x00000040, "info_flags_ea_present", "EA Present Flag"),
2349 bf_boolean32(0x00000080, "info_flags_all_attr", "All Attributes"),
2350 bf_boolean32(0x00000100, "info_flags_all_dirbase_num", "All Directory Base Numbers"),
2351 bf_boolean32(0x00000200, "info_flags_max_access_mask", "Maximum Access Mask"),
2352 bf_boolean32(0x00000400, "info_flags_flush_time", "Flush Time"),
2353 bf_boolean32(0x00000800, "info_flags_prnt_base_id", "Parent Base ID"),
2354 bf_boolean32(0x00001000, "info_flags_mac_finder", "Mac Finder Information"),
2355 bf_boolean32(0x00002000, "info_flags_sibling_cnt", "Sibling Count"),
2356 bf_boolean32(0x00004000, "info_flags_effect_rights", "Effective Rights"),
2357 bf_boolean32(0x00008000, "info_flags_mac_time", "Mac Time"),
2358 bf_boolean32(0x20000000, "info_mask_dosname", "DOS Name"),
2359 bf_boolean32(0x40000000, "info_mask_c_name_space", "Creator Name Space & Name"),
2360 bf_boolean32(0x80000000, "info_mask_name", "Name"),
2362 InheritedRightsMask
= bitfield16("inherited_rights_mask", "Inherited Rights Mask", [
2363 bf_boolean16(0x0001, "inh_rights_read", "Read Rights"),
2364 bf_boolean16(0x0002, "inh_rights_write", "Write Rights"),
2365 bf_boolean16(0x0004, "inh_rights_open", "Open Rights"),
2366 bf_boolean16(0x0008, "inh_rights_create", "Create Rights"),
2367 bf_boolean16(0x0010, "inh_rights_delete", "Delete Rights"),
2368 bf_boolean16(0x0020, "inh_rights_parent", "Change Access"),
2369 bf_boolean16(0x0040, "inh_rights_search", "See Files Flag"),
2370 bf_boolean16(0x0080, "inh_rights_modify", "Modify Rights"),
2371 bf_boolean16(0x0100, "inh_rights_supervisor", "Supervisor"),
2373 InheritanceRevokeMask
= bitfield16("inheritance_revoke_mask", "Revoke Rights Mask", [
2374 bf_boolean16(0x0001, "inh_revoke_read", "Read Rights"),
2375 bf_boolean16(0x0002, "inh_revoke_write", "Write Rights"),
2376 bf_boolean16(0x0004, "inh_revoke_open", "Open Rights"),
2377 bf_boolean16(0x0008, "inh_revoke_create", "Create Rights"),
2378 bf_boolean16(0x0010, "inh_revoke_delete", "Delete Rights"),
2379 bf_boolean16(0x0020, "inh_revoke_parent", "Change Access"),
2380 bf_boolean16(0x0040, "inh_revoke_search", "See Files Flag"),
2381 bf_boolean16(0x0080, "inh_revoke_modify", "Modify Rights"),
2382 bf_boolean16(0x0100, "inh_revoke_supervisor", "Supervisor"),
2384 InitialSemaphoreValue
= uint8("initial_semaphore_value", "Initial Semaphore Value")
2385 InspectSize
= uint32("inspect_size", "Inspect Size")
2386 InternetBridgeVersion
= uint8("internet_bridge_version", "Internet Bridge Version")
2387 InterruptNumbersUsed
= uint32("interrupt_numbers_used", "Interrupt Numbers Used")
2388 InUse
= uint32("in_use", "Bytes in Use")
2389 IOAddressesUsed
= bytes("io_addresses_used", "IO Addresses Used", 8)
2390 IOErrorCount
= uint16("io_error_count", "IO Error Count")
2391 IOEngineFlag
= boolean8("io_engine_flag", "IO Engine Flag")
2392 IPXNotMyNetwork
= uint16("ipx_not_my_network", "IPX Not My Network")
2393 ItemsChanged
= uint32("items_changed", "Items Changed")
2394 ItemsChecked
= uint32("items_checked", "Items Checked")
2395 ItemsCount
= uint32("items_count", "Items Count")
2396 itemsInList
= uint32("items_in_list", "Items in List")
2397 ItemsInPacket
= uint32("items_in_packet", "Items in Packet")
2399 JobControlFlags
= bitfield8("job_control_flags", "Job Control Flags", [
2400 bf_boolean8(0x08, "job_control_job_recovery", "Job Recovery"),
2401 bf_boolean8(0x10, "job_control_reservice", "ReService Job"),
2402 bf_boolean8(0x20, "job_control_file_open", "File Open"),
2403 bf_boolean8(0x40, "job_control_user_hold", "User Hold"),
2404 bf_boolean8(0x80, "job_control_operator_hold", "Operator Hold"),
2407 JobControlFlagsWord
= bitfield16("job_control_flags_word", "Job Control Flags", [
2408 bf_boolean16(0x0008, "job_control1_job_recovery", "Job Recovery"),
2409 bf_boolean16(0x0010, "job_control1_reservice", "ReService Job"),
2410 bf_boolean16(0x0020, "job_control1_file_open", "File Open"),
2411 bf_boolean16(0x0040, "job_control1_user_hold", "User Hold"),
2412 bf_boolean16(0x0080, "job_control1_operator_hold", "Operator Hold"),
2415 JobCount
= uint32("job_count", "Job Count")
2416 JobFileHandle
= bytes("job_file_handle", "Job File Handle", 6)
2417 JobFileHandleLong
= uint32("job_file_handle_long", "Job File Handle", BE
)
2418 JobFileHandleLong
.Display("BASE_HEX")
2419 JobFileName
= fw_string("job_file_name", "Job File Name", 14)
2420 JobPosition
= uint8("job_position", "Job Position")
2421 JobPositionWord
= uint16("job_position_word", "Job Position")
2422 JobNumber
= uint16("job_number", "Job Number", BE
)
2423 JobNumberLong
= uint32("job_number_long", "Job Number", BE
)
2424 JobNumberLong
.Display("BASE_HEX")
2425 JobType
= uint16("job_type", "Job Type", BE
)
2427 LANCustomVariablesCount
= uint32("lan_cust_var_count", "LAN Custom Variables Count")
2428 LANdriverBoardInstance
= uint16("lan_drv_bd_inst", "LAN Driver Board Instance")
2429 LANdriverBoardNumber
= uint16("lan_drv_bd_num", "LAN Driver Board Number")
2430 LANdriverCardID
= uint16("lan_drv_card_id", "LAN Driver Card ID")
2431 LANdriverCardName
= fw_string("lan_drv_card_name", "LAN Driver Card Name", 28)
2432 LANdriverCFG_MajorVersion
= uint8("lan_dvr_cfg_major_vrs", "LAN Driver Config - Major Version")
2433 LANdriverCFG_MinorVersion
= uint8("lan_dvr_cfg_minor_vrs", "LAN Driver Config - Minor Version")
2434 LANdriverDMAUsage1
= uint8("lan_drv_dma_usage1", "Primary DMA Channel")
2435 LANdriverDMAUsage2
= uint8("lan_drv_dma_usage2", "Secondary DMA Channel")
2436 LANdriverFlags
= uint16("lan_drv_flags", "LAN Driver Flags")
2437 LANdriverFlags
.Display("BASE_HEX")
2438 LANdriverInterrupt1
= uint8("lan_drv_interrupt1", "Primary Interrupt Vector")
2439 LANdriverInterrupt2
= uint8("lan_drv_interrupt2", "Secondary Interrupt Vector")
2440 LANdriverIOPortsAndRanges1
= uint16("lan_drv_io_ports_and_ranges_1", "Primary Base I/O Port")
2441 LANdriverIOPortsAndRanges2
= uint16("lan_drv_io_ports_and_ranges_2", "Number of I/O Ports")
2442 LANdriverIOPortsAndRanges3
= uint16("lan_drv_io_ports_and_ranges_3", "Secondary Base I/O Port")
2443 LANdriverIOPortsAndRanges4
= uint16("lan_drv_io_ports_and_ranges_4", "Number of I/O Ports")
2444 LANdriverIOReserved
= bytes("lan_drv_io_reserved", "LAN Driver IO Reserved", 14)
2445 LANdriverLineSpeed
= uint16("lan_drv_line_speed", "LAN Driver Line Speed")
2446 LANdriverLink
= uint32("lan_drv_link", "LAN Driver Link")
2447 LANdriverLogicalName
= bytes("lan_drv_log_name", "LAN Driver Logical Name", 18)
2448 LANdriverMajorVersion
= uint8("lan_drv_major_ver", "LAN Driver Major Version")
2449 LANdriverMaximumSize
= uint32("lan_drv_max_size", "LAN Driver Maximum Size")
2450 LANdriverMaxRecvSize
= uint32("lan_drv_max_rcv_size", "LAN Driver Maximum Receive Size")
2451 LANdriverMediaID
= uint16("lan_drv_media_id", "LAN Driver Media ID")
2452 LANdriverMediaType
= fw_string("lan_drv_media_type", "LAN Driver Media Type", 40)
2453 LANdriverMemoryDecode0
= uint32("lan_drv_mem_decode_0", "LAN Driver Memory Decode 0")
2454 LANdriverMemoryDecode1
= uint32("lan_drv_mem_decode_1", "LAN Driver Memory Decode 1")
2455 LANdriverMemoryLength0
= uint16("lan_drv_mem_length_0", "LAN Driver Memory Length 0")
2456 LANdriverMemoryLength1
= uint16("lan_drv_mem_length_1", "LAN Driver Memory Length 1")
2457 LANdriverMinorVersion
= uint8("lan_drv_minor_ver", "LAN Driver Minor Version")
2458 LANdriverModeFlags
= val_string8("lan_dvr_mode_flags", "LAN Driver Mode Flags", [
2459 [0x80, "Canonical Address" ],
2460 [0x81, "Canonical Address" ],
2461 [0x82, "Canonical Address" ],
2462 [0x83, "Canonical Address" ],
2463 [0x84, "Canonical Address" ],
2464 [0x85, "Canonical Address" ],
2465 [0x86, "Canonical Address" ],
2466 [0x87, "Canonical Address" ],
2467 [0x88, "Canonical Address" ],
2468 [0x89, "Canonical Address" ],
2469 [0x8a, "Canonical Address" ],
2470 [0x8b, "Canonical Address" ],
2471 [0x8c, "Canonical Address" ],
2472 [0x8d, "Canonical Address" ],
2473 [0x8e, "Canonical Address" ],
2474 [0x8f, "Canonical Address" ],
2475 [0x90, "Canonical Address" ],
2476 [0x91, "Canonical Address" ],
2477 [0x92, "Canonical Address" ],
2478 [0x93, "Canonical Address" ],
2479 [0x94, "Canonical Address" ],
2480 [0x95, "Canonical Address" ],
2481 [0x96, "Canonical Address" ],
2482 [0x97, "Canonical Address" ],
2483 [0x98, "Canonical Address" ],
2484 [0x99, "Canonical Address" ],
2485 [0x9a, "Canonical Address" ],
2486 [0x9b, "Canonical Address" ],
2487 [0x9c, "Canonical Address" ],
2488 [0x9d, "Canonical Address" ],
2489 [0x9e, "Canonical Address" ],
2490 [0x9f, "Canonical Address" ],
2491 [0xa0, "Canonical Address" ],
2492 [0xa1, "Canonical Address" ],
2493 [0xa2, "Canonical Address" ],
2494 [0xa3, "Canonical Address" ],
2495 [0xa4, "Canonical Address" ],
2496 [0xa5, "Canonical Address" ],
2497 [0xa6, "Canonical Address" ],
2498 [0xa7, "Canonical Address" ],
2499 [0xa8, "Canonical Address" ],
2500 [0xa9, "Canonical Address" ],
2501 [0xaa, "Canonical Address" ],
2502 [0xab, "Canonical Address" ],
2503 [0xac, "Canonical Address" ],
2504 [0xad, "Canonical Address" ],
2505 [0xae, "Canonical Address" ],
2506 [0xaf, "Canonical Address" ],
2507 [0xb0, "Canonical Address" ],
2508 [0xb1, "Canonical Address" ],
2509 [0xb2, "Canonical Address" ],
2510 [0xb3, "Canonical Address" ],
2511 [0xb4, "Canonical Address" ],
2512 [0xb5, "Canonical Address" ],
2513 [0xb6, "Canonical Address" ],
2514 [0xb7, "Canonical Address" ],
2515 [0xb8, "Canonical Address" ],
2516 [0xb9, "Canonical Address" ],
2517 [0xba, "Canonical Address" ],
2518 [0xbb, "Canonical Address" ],
2519 [0xbc, "Canonical Address" ],
2520 [0xbd, "Canonical Address" ],
2521 [0xbe, "Canonical Address" ],
2522 [0xbf, "Canonical Address" ],
2523 [0xc0, "Non-Canonical Address" ],
2524 [0xc1, "Non-Canonical Address" ],
2525 [0xc2, "Non-Canonical Address" ],
2526 [0xc3, "Non-Canonical Address" ],
2527 [0xc4, "Non-Canonical Address" ],
2528 [0xc5, "Non-Canonical Address" ],
2529 [0xc6, "Non-Canonical Address" ],
2530 [0xc7, "Non-Canonical Address" ],
2531 [0xc8, "Non-Canonical Address" ],
2532 [0xc9, "Non-Canonical Address" ],
2533 [0xca, "Non-Canonical Address" ],
2534 [0xcb, "Non-Canonical Address" ],
2535 [0xcc, "Non-Canonical Address" ],
2536 [0xcd, "Non-Canonical Address" ],
2537 [0xce, "Non-Canonical Address" ],
2538 [0xcf, "Non-Canonical Address" ],
2539 [0xd0, "Non-Canonical Address" ],
2540 [0xd1, "Non-Canonical Address" ],
2541 [0xd2, "Non-Canonical Address" ],
2542 [0xd3, "Non-Canonical Address" ],
2543 [0xd4, "Non-Canonical Address" ],
2544 [0xd5, "Non-Canonical Address" ],
2545 [0xd6, "Non-Canonical Address" ],
2546 [0xd7, "Non-Canonical Address" ],
2547 [0xd8, "Non-Canonical Address" ],
2548 [0xd9, "Non-Canonical Address" ],
2549 [0xda, "Non-Canonical Address" ],
2550 [0xdb, "Non-Canonical Address" ],
2551 [0xdc, "Non-Canonical Address" ],
2552 [0xdd, "Non-Canonical Address" ],
2553 [0xde, "Non-Canonical Address" ],
2554 [0xdf, "Non-Canonical Address" ],
2555 [0xe0, "Non-Canonical Address" ],
2556 [0xe1, "Non-Canonical Address" ],
2557 [0xe2, "Non-Canonical Address" ],
2558 [0xe3, "Non-Canonical Address" ],
2559 [0xe4, "Non-Canonical Address" ],
2560 [0xe5, "Non-Canonical Address" ],
2561 [0xe6, "Non-Canonical Address" ],
2562 [0xe7, "Non-Canonical Address" ],
2563 [0xe8, "Non-Canonical Address" ],
2564 [0xe9, "Non-Canonical Address" ],
2565 [0xea, "Non-Canonical Address" ],
2566 [0xeb, "Non-Canonical Address" ],
2567 [0xec, "Non-Canonical Address" ],
2568 [0xed, "Non-Canonical Address" ],
2569 [0xee, "Non-Canonical Address" ],
2570 [0xef, "Non-Canonical Address" ],
2571 [0xf0, "Non-Canonical Address" ],
2572 [0xf1, "Non-Canonical Address" ],
2573 [0xf2, "Non-Canonical Address" ],
2574 [0xf3, "Non-Canonical Address" ],
2575 [0xf4, "Non-Canonical Address" ],
2576 [0xf5, "Non-Canonical Address" ],
2577 [0xf6, "Non-Canonical Address" ],
2578 [0xf7, "Non-Canonical Address" ],
2579 [0xf8, "Non-Canonical Address" ],
2580 [0xf9, "Non-Canonical Address" ],
2581 [0xfa, "Non-Canonical Address" ],
2582 [0xfb, "Non-Canonical Address" ],
2583 [0xfc, "Non-Canonical Address" ],
2584 [0xfd, "Non-Canonical Address" ],
2585 [0xfe, "Non-Canonical Address" ],
2586 [0xff, "Non-Canonical Address" ],
2588 LANDriverNumber
= uint8("lan_driver_number", "LAN Driver Number")
2589 LANdriverNodeAddress
= bytes("lan_dvr_node_addr", "LAN Driver Node Address", 6)
2590 LANdriverRecvSize
= uint32("lan_drv_rcv_size", "LAN Driver Receive Size")
2591 LANdriverReserved
= uint16("lan_drv_reserved", "LAN Driver Reserved")
2592 LANdriverSendRetries
= uint16("lan_drv_snd_retries", "LAN Driver Send Retries")
2593 LANdriverSharingFlags
= uint16("lan_drv_share", "LAN Driver Sharing Flags")
2594 LANdriverShortName
= fw_string("lan_drv_short_name", "LAN Driver Short Name", 40)
2595 LANdriverSlot
= uint16("lan_drv_slot", "LAN Driver Slot")
2596 LANdriverSrcRouting
= uint32("lan_drv_src_route", "LAN Driver Source Routing")
2597 LANdriverTransportTime
= uint16("lan_drv_trans_time", "LAN Driver Transport Time")
2598 LastAccessedDate
= uint16("last_access_date", "Last Accessed Date")
2599 LastAccessedDate
.NWDate()
2600 LastAccessedTime
= uint16("last_access_time", "Last Accessed Time")
2601 LastAccessedTime
.NWTime()
2602 LastGarbCollect
= uint32("last_garbage_collect", "Last Garbage Collection")
2603 LastInstance
= uint32("last_instance", "Last Instance")
2604 LastRecordSeen
= uint16("last_record_seen", "Last Record Seen")
2605 LastSearchIndex
= uint16("last_search_index", "Search Index")
2606 LastSeen
= uint32("last_seen", "Last Seen")
2607 LastSequenceNumber
= uint16("last_sequence_number", "Sequence Number")
2608 Length64bit
= bytes("length_64bit", "64bit Length", 64)
2609 Level
= uint8("level", "Level")
2610 LFSCounters
= uint32("lfs_counters", "LFS Counters")
2611 LimboDataStreamsCount
= uint32("limbo_data_streams_count", "Limbo Data Streams Count")
2612 limbCount
= uint32("limb_count", "Limb Count")
2613 limbFlags
= bitfield32("limb_flags", "Limb Flags", [
2614 bf_boolean32(0x00000002, "scan_entire_folder", "Wild Search"),
2615 bf_boolean32(0x00000004, "scan_files_only", "Scan Files Only"),
2616 bf_boolean32(0x00000008, "scan_folders_only", "Scan Folders Only"),
2617 bf_boolean32(0x00000010, "allow_system", "Allow System Files and Folders"),
2618 bf_boolean32(0x00000020, "allow_hidden", "Allow Hidden Files and Folders"),
2621 limbScanNum
= uint32("limb_scan_num", "Limb Scan Number")
2622 LimboUsed
= uint32("limbo_used", "Limbo Used")
2623 LoadedNameSpaces
= uint8("loaded_name_spaces", "Loaded Name Spaces")
2624 LocalConnectionID
= uint32("local_connection_id", "Local Connection ID")
2625 LocalConnectionID
.Display("BASE_HEX")
2626 LocalMaxPacketSize
= uint32("local_max_packet_size", "Local Max Packet Size")
2627 LocalMaxSendSize
= uint32("local_max_send_size", "Local Max Send Size")
2628 LocalMaxRecvSize
= uint32("local_max_recv_size", "Local Max Recv Size")
2629 LocalLoginInfoCcode
= uint8("local_login_info_ccode", "Local Login Info C Code")
2630 LocalTargetSocket
= uint32("local_target_socket", "Local Target Socket")
2631 LocalTargetSocket
.Display("BASE_HEX")
2632 LockAreaLen
= uint32("lock_area_len", "Lock Area Length")
2633 LockAreasStartOffset
= uint32("lock_areas_start_offset", "Lock Areas Start Offset")
2634 LockTimeout
= uint16("lock_timeout", "Lock Timeout")
2635 Locked
= val_string8("locked", "Locked Flag", [
2636 [ 0x00, "Not Locked Exclusively" ],
2637 [ 0x01, "Locked Exclusively" ],
2639 LockFlag
= val_string8("lock_flag", "Lock Flag", [
2640 [ 0x00, "Not Locked, Log for Future Exclusive Lock" ],
2641 [ 0x01, "Exclusive Lock (Read/Write)" ],
2642 [ 0x02, "Log for Future Shared Lock"],
2643 [ 0x03, "Shareable Lock (Read-Only)" ],
2644 [ 0xfe, "Locked by a File Lock" ],
2645 [ 0xff, "Locked by Begin Share File Set" ],
2647 LockName
= nstring8("lock_name", "Lock Name")
2648 LockStatus
= val_string8("lock_status", "Lock Status", [
2649 [ 0x00, "Locked Exclusive" ],
2650 [ 0x01, "Locked Shareable" ],
2652 [ 0x06, "Lock is Held by TTS"],
2654 ConnLockStatus
= val_string8("conn_lock_status", "Lock Status", [
2655 [ 0x00, "Normal (connection free to run)" ],
2656 [ 0x01, "Waiting on physical record lock" ],
2657 [ 0x02, "Waiting on a file lock" ],
2658 [ 0x03, "Waiting on a logical record lock"],
2659 [ 0x04, "Waiting on a semaphore"],
2661 LockType
= val_string8("lock_type", "Lock Type", [
2663 [ 0x01, "Open Shareable" ],
2665 [ 0x03, "Open Normal" ],
2666 [ 0x06, "TTS Holding Lock" ],
2667 [ 0x07, "Transaction Flag Set on This File" ],
2669 LogFileFlagHigh
= bitfield8("log_file_flag_high", "Log File Flag (byte 2)", [
2670 bf_boolean8(0x80, "log_flag_call_back", "Call Back Requested" ),
2672 LogFileFlagLow
= bitfield8("log_file_flag_low", "Log File Flag", [
2673 bf_boolean8(0x01, "log_flag_lock_file", "Lock File Immediately" ),
2675 LoggedObjectID
= uint32("logged_object_id", "Logged in Object ID")
2676 LoggedObjectID
.Display("BASE_HEX")
2677 LoggedCount
= uint16("logged_count", "Logged Count")
2678 LogicalConnectionNumber
= uint16("logical_connection_number", "Logical Connection Number", BE
)
2679 LogicalDriveCount
= uint8("logical_drive_count", "Logical Drive Count")
2680 LogicalDriveNumber
= uint8("logical_drive_number", "Logical Drive Number")
2681 LogicalLockThreshold
= uint8("logical_lock_threshold", "LogicalLockThreshold")
2682 LogicalRecordName
= nstring8("logical_record_name", "Logical Record Name")
2683 LoginKey
= bytes("login_key", "Login Key", 8)
2684 LogLockType
= uint8("log_lock_type", "Log Lock Type")
2685 LogTtlRxPkts
= uint32("log_ttl_rx_pkts", "Total Received Packets")
2686 LogTtlTxPkts
= uint32("log_ttl_tx_pkts", "Total Transmitted Packets")
2687 LongName
= fw_string("long_name", "Long Name", 32)
2688 LRUBlockWasDirty
= uint16("lru_block_was_dirty", "LRU Block Was Dirty")
2690 MacAttr
= bitfield16("mac_attr", "Attributes", [
2691 bf_boolean16(0x0001, "mac_attr_smode1", "Search Mode"),
2692 bf_boolean16(0x0002, "mac_attr_smode2", "Search Mode"),
2693 bf_boolean16(0x0004, "mac_attr_smode3", "Search Mode"),
2694 bf_boolean16(0x0010, "mac_attr_transaction", "Transaction"),
2695 bf_boolean16(0x0020, "mac_attr_index", "Index"),
2696 bf_boolean16(0x0040, "mac_attr_r_audit", "Read Audit"),
2697 bf_boolean16(0x0080, "mac_attr_w_audit", "Write Audit"),
2698 bf_boolean16(0x0100, "mac_attr_r_only", "Read Only"),
2699 bf_boolean16(0x0200, "mac_attr_hidden", "Hidden"),
2700 bf_boolean16(0x0400, "mac_attr_system", "System"),
2701 bf_boolean16(0x0800, "mac_attr_execute_only", "Execute Only"),
2702 bf_boolean16(0x1000, "mac_attr_subdirectory", "Subdirectory"),
2703 bf_boolean16(0x2000, "mac_attr_archive", "Archive"),
2704 bf_boolean16(0x8000, "mac_attr_share", "Shareable File"),
2706 MACBackupDate
= uint16("mac_backup_date", "Mac Backup Date")
2707 MACBackupDate
.NWDate()
2708 MACBackupTime
= uint16("mac_backup_time", "Mac Backup Time")
2709 MACBackupTime
.NWTime()
2710 MacBaseDirectoryID
= uint32("mac_base_directory_id", "Mac Base Directory ID", BE
)
2711 MacBaseDirectoryID
.Display("BASE_HEX")
2712 MACCreateDate
= uint16("mac_create_date", "Mac Create Date")
2713 MACCreateDate
.NWDate()
2714 MACCreateTime
= uint16("mac_create_time", "Mac Create Time")
2715 MACCreateTime
.NWTime()
2716 MacDestinationBaseID
= uint32("mac_destination_base_id", "Mac Destination Base ID")
2717 MacDestinationBaseID
.Display("BASE_HEX")
2718 MacFinderInfo
= bytes("mac_finder_info", "Mac Finder Information", 32)
2719 MacLastSeenID
= uint32("mac_last_seen_id", "Mac Last Seen ID")
2720 MacLastSeenID
.Display("BASE_HEX")
2721 MacSourceBaseID
= uint32("mac_source_base_id", "Mac Source Base ID")
2722 MacSourceBaseID
.Display("BASE_HEX")
2723 MajorVersion
= uint32("major_version", "Major Version")
2724 MaxBytes
= uint16("max_bytes", "Maximum Number of Bytes")
2725 MaxDataStreams
= uint32("max_data_streams", "Maximum Data Streams")
2726 MaxDirDepth
= uint32("max_dir_depth", "Maximum Directory Depth")
2727 MaximumSpace
= uint16("max_space", "Maximum Space")
2728 MaxNumOfConn
= uint32("max_num_of_conn", "Maximum Number of Connections")
2729 MaxNumOfLANS
= uint32("max_num_of_lans", "Maximum Number Of LAN's")
2730 MaxNumOfMedias
= uint32("max_num_of_medias", "Maximum Number Of Media's")
2731 MaxNumOfNmeSps
= uint32("max_num_of_nme_sps", "Maximum Number Of Name Spaces")
2732 MaxNumOfSpoolPr
= uint32("max_num_of_spool_pr", "Maximum Number Of Spool Printers")
2733 MaxNumOfStacks
= uint32("max_num_of_stacks", "Maximum Number Of Stacks")
2734 MaxNumOfUsers
= uint32("max_num_of_users", "Maximum Number Of Users")
2735 MaxNumOfVol
= uint32("max_num_of_vol", "Maximum Number of Volumes")
2736 MaxReadDataReplySize
= uint16("max_read_data_reply_size", "Max Read Data Reply Size")
2737 MaxSpace
= uint32("maxspace", "Maximum Space")
2738 MaxUsedDynamicSpace
= uint32("max_used_dynamic_space", "Max Used Dynamic Space")
2739 MediaList
= uint32("media_list", "Media List")
2740 MediaListCount
= uint32("media_list_count", "Media List Count")
2741 MediaName
= nstring8("media_name", "Media Name")
2742 MediaNumber
= uint32("media_number", "Media Number")
2743 MaxReplyObjectIDCount
= uint8("max_reply_obj_id_count", "Max Reply Object ID Count")
2744 MediaObjectType
= val_string8("media_object_type", "Object Type", [
2745 [ 0x00, "Adapter" ],
2746 [ 0x01, "Changer" ],
2747 [ 0x02, "Removable Device" ],
2749 [ 0x04, "Removable Media" ],
2750 [ 0x05, "Partition" ],
2755 [ 0x0a, "Volume Segment" ],
2758 [ 0x0d, "Fixed Media" ],
2759 [ 0x0e, "Unknown" ],
2761 MemberName
= nstring8("member_name", "Member Name")
2762 MemberType
= val_string16("member_type", "Member Type", [
2763 [ 0x0000, "Unknown" ],
2765 [ 0x0002, "User group" ],
2766 [ 0x0003, "Print queue" ],
2767 [ 0x0004, "NetWare file server" ],
2768 [ 0x0005, "Job server" ],
2769 [ 0x0006, "Gateway" ],
2770 [ 0x0007, "Print server" ],
2771 [ 0x0008, "Archive queue" ],
2772 [ 0x0009, "Archive server" ],
2773 [ 0x000a, "Job queue" ],
2774 [ 0x000b, "Administration" ],
2775 [ 0x0021, "NAS SNA gateway" ],
2776 [ 0x0026, "Remote bridge server" ],
2777 [ 0x0027, "TCP/IP gateway" ],
2779 MessageLanguage
= uint32("message_language", "NLM Language")
2780 MigratedFiles
= uint32("migrated_files", "Migrated Files")
2781 MigratedSectors
= uint32("migrated_sectors", "Migrated Sectors")
2782 MinorVersion
= uint32("minor_version", "Minor Version")
2783 Minute
= uint8("s_minute", "Minutes")
2784 MixedModePathFlag
= val_string8("mixed_mode_path_flag", "Mixed Mode Path Flag", [
2785 [ 0x00, "Mixed mode path handling is not available"],
2786 [ 0x01, "Mixed mode path handling is available"],
2788 ModifiedDate
= uint16("modified_date", "Modified Date")
2789 ModifiedDate
.NWDate()
2790 ModifiedTime
= uint16("modified_time", "Modified Time")
2791 ModifiedTime
.NWTime()
2792 ModifierID
= uint32("modifier_id", "Modifier ID", BE
)
2793 ModifierID
.Display("BASE_HEX")
2794 ModifyDOSInfoMask
= bitfield16("modify_dos_info_mask", "Modify DOS Info Mask", [
2795 bf_boolean16(0x0002, "modify_dos_read", "Attributes"),
2796 bf_boolean16(0x0004, "modify_dos_write", "Creation Date"),
2797 bf_boolean16(0x0008, "modify_dos_open", "Creation Time"),
2798 bf_boolean16(0x0010, "modify_dos_create", "Creator ID"),
2799 bf_boolean16(0x0020, "modify_dos_delete", "Archive Date"),
2800 bf_boolean16(0x0040, "modify_dos_parent", "Archive Time"),
2801 bf_boolean16(0x0080, "modify_dos_search", "Archiver ID"),
2802 bf_boolean16(0x0100, "modify_dos_mdate", "Modify Date"),
2803 bf_boolean16(0x0200, "modify_dos_mtime", "Modify Time"),
2804 bf_boolean16(0x0400, "modify_dos_mid", "Modifier ID"),
2805 bf_boolean16(0x0800, "modify_dos_laccess", "Last Access"),
2806 bf_boolean16(0x1000, "modify_dos_inheritance", "Inheritance"),
2807 bf_boolean16(0x2000, "modify_dos_max_space", "Maximum Space"),
2809 Month
= val_string8("s_month", "Month", [
2811 [ 0x02, "February"],
2818 [ 0x09, "September"],
2820 [ 0x0b, "November"],
2821 [ 0x0c, "December"],
2824 MoreFlag
= val_string8("more_flag", "More Flag", [
2825 [ 0x00, "No More Segments/Entries Available" ],
2826 [ 0x01, "More Segments/Entries Available" ],
2827 [ 0xff, "More Segments/Entries Available" ],
2829 MoreProperties
= val_string8("more_properties", "More Properties", [
2830 [ 0x00, "No More Properties Available" ],
2831 [ 0x01, "No More Properties Available" ],
2832 [ 0xff, "More Properties Available" ],
2835 Name
= nstring8("name", "Name")
2836 Name12
= fw_string("name12", "Name", 12)
2837 NameLen
= uint8("name_len", "Name Space Length")
2838 NameLength
= uint8("name_length", "Name Length")
2839 NameList
= uint32("name_list", "Name List")
2841 # XXX - should this value be used to interpret the characters in names,
2842 # search patterns, and the like?
2844 # We need to handle character sets better, e.g. translating strings
2845 # from whatever character set they are in the packet (DOS/Windows code
2846 # pages, ISO character sets, UNIX EUC character sets, UTF-8, UCS-2/Unicode,
2847 # Mac character sets, etc.) into UCS-4 or UTF-8 and storing them as such
2848 # in the protocol tree, and displaying them as best we can.
2850 NameSpace
= val_string8("name_space", "Name Space", [
2855 [ 0x04, "OS/2, Long" ],
2857 NamesSpaceInfoMask
= bitfield16("ns_info_mask", "Names Space Info Mask", [
2858 bf_boolean16(0x0001, "ns_info_mask_modify", "Modify Name"),
2859 bf_boolean16(0x0002, "ns_info_mask_fatt", "File Attributes"),
2860 bf_boolean16(0x0004, "ns_info_mask_cdate", "Creation Date"),
2861 bf_boolean16(0x0008, "ns_info_mask_ctime", "Creation Time"),
2862 bf_boolean16(0x0010, "ns_info_mask_owner", "Owner ID"),
2863 bf_boolean16(0x0020, "ns_info_mask_adate", "Archive Date"),
2864 bf_boolean16(0x0040, "ns_info_mask_atime", "Archive Time"),
2865 bf_boolean16(0x0080, "ns_info_mask_aid", "Archiver ID"),
2866 bf_boolean16(0x0100, "ns_info_mask_udate", "Update Date"),
2867 bf_boolean16(0x0200, "ns_info_mask_utime", "Update Time"),
2868 bf_boolean16(0x0400, "ns_info_mask_uid", "Update ID"),
2869 bf_boolean16(0x0800, "ns_info_mask_acc_date", "Access Date"),
2870 bf_boolean16(0x1000, "ns_info_mask_max_acc_mask", "Inheritance"),
2871 bf_boolean16(0x2000, "ns_info_mask_max_space", "Maximum Space"),
2873 NameSpaceName
= nstring8("name_space_name", "Name Space Name")
2874 nameType
= uint32("name_type", "nameType")
2875 NCPdataSize
= uint32("ncp_data_size", "NCP Data Size")
2876 NCPEncodedStringsBits
= uint32("ncp_encoded_strings_bits", "NCP Encoded Strings Bits")
2877 NCPextensionMajorVersion
= uint8("ncp_extension_major_version", "NCP Extension Major Version")
2878 NCPextensionMinorVersion
= uint8("ncp_extension_minor_version", "NCP Extension Minor Version")
2879 NCPextensionName
= nstring8("ncp_extension_name", "NCP Extension Name")
2880 NCPextensionNumber
= uint32("ncp_extension_number", "NCP Extension Number")
2881 NCPextensionNumber
.Display("BASE_HEX")
2882 NCPExtensionNumbers
= uint32("ncp_extension_numbers", "NCP Extension Numbers")
2883 NCPextensionRevisionNumber
= uint8("ncp_extension_revision_number", "NCP Extension Revision Number")
2884 NCPPeakStaInUse
= uint32("ncp_peak_sta_in_use", "Peak Number of Connections since Server was brought up")
2885 NCPStaInUseCnt
= uint32("ncp_sta_in_use", "Number of Workstations Connected to Server")
2886 NDSRequestFlags
= bitfield16("nds_request_flags", "NDS Request Flags", [
2887 bf_boolean16(0x0001, "nds_request_flags_output", "Output Fields"),
2888 bf_boolean16(0x0002, "nds_request_flags_no_such_entry", "No Such Entry"),
2889 bf_boolean16(0x0004, "nds_request_flags_local_entry", "Local Entry"),
2890 bf_boolean16(0x0008, "nds_request_flags_type_ref", "Type Referral"),
2891 bf_boolean16(0x0010, "nds_request_flags_alias_ref", "Alias Referral"),
2892 bf_boolean16(0x0020, "nds_request_flags_req_cnt", "Request Count"),
2893 bf_boolean16(0x0040, "nds_request_flags_req_data_size", "Request Data Size"),
2894 bf_boolean16(0x0080, "nds_request_flags_reply_data_size", "Reply Data Size"),
2895 bf_boolean16(0x0100, "nds_request_flags_trans_ref", "Transport Referral"),
2896 bf_boolean16(0x0200, "nds_request_flags_trans_ref2", "Transport Referral"),
2897 bf_boolean16(0x0400, "nds_request_flags_up_ref", "Up Referral"),
2898 bf_boolean16(0x0800, "nds_request_flags_dn_ref", "Down Referral"),
2900 NDSStatus
= uint32("nds_status", "NDS Status")
2901 NetBIOSBroadcastWasPropogated
= uint32("netbios_broadcast_was_propogated", "NetBIOS Broadcast Was Propogated")
2902 NetIDNumber
= uint32("net_id_number", "Net ID Number")
2903 NetIDNumber
.Display("BASE_HEX")
2904 NetAddress
= nbytes32("address", "Address")
2905 NetStatus
= uint16("net_status", "Network Status")
2906 NetWareAccessHandle
= bytes("netware_access_handle", "NetWare Access Handle", 6)
2907 NetworkAddress
= uint32("network_address", "Network Address")
2908 NetworkAddress
.Display("BASE_HEX")
2909 NetworkNodeAddress
= bytes("network_node_address", "Network Node Address", 6)
2910 NetworkNumber
= uint32("network_number", "Network Number")
2911 NetworkNumber
.Display("BASE_HEX")
2913 # XXX - this should have the "ipx_socket_vals" value_string table
2914 # from "packet-ipx.c".
2916 NetworkSocket
= uint16("network_socket", "Network Socket")
2917 NetworkSocket
.Display("BASE_HEX")
2918 NewAccessRights
= bitfield16("new_access_rights_mask", "New Access Rights", [
2919 bf_boolean16(0x0001, "new_access_rights_read", "Read"),
2920 bf_boolean16(0x0002, "new_access_rights_write", "Write"),
2921 bf_boolean16(0x0004, "new_access_rights_open", "Open"),
2922 bf_boolean16(0x0008, "new_access_rights_create", "Create"),
2923 bf_boolean16(0x0010, "new_access_rights_delete", "Delete"),
2924 bf_boolean16(0x0020, "new_access_rights_parental", "Parental"),
2925 bf_boolean16(0x0040, "new_access_rights_search", "Search"),
2926 bf_boolean16(0x0080, "new_access_rights_modify", "Modify"),
2927 bf_boolean16(0x0100, "new_access_rights_supervisor", "Supervisor"),
2929 NewDirectoryID
= uint32("new_directory_id", "New Directory ID", BE
)
2930 NewDirectoryID
.Display("BASE_HEX")
2931 NewEAHandle
= uint32("new_ea_handle", "New EA Handle")
2932 NewEAHandle
.Display("BASE_HEX")
2933 NewFileName
= fw_string("new_file_name", "New File Name", 14)
2934 NewFileNameLen
= nstring8("new_file_name_len", "New File Name")
2935 NewFileSize
= uint32("new_file_size", "New File Size")
2936 NewPassword
= nstring8("new_password", "New Password")
2937 NewPath
= nstring8("new_path", "New Path")
2938 NewPosition
= uint8("new_position", "New Position")
2939 NewObjectName
= nstring8("new_object_name", "New Object Name")
2940 NextCntBlock
= uint32("next_cnt_block", "Next Count Block")
2941 NextHugeStateInfo
= bytes("next_huge_state_info", "Next Huge State Info", 16)
2942 nextLimbScanNum
= uint32("next_limb_scan_num", "Next Limb Scan Number")
2943 NextObjectID
= uint32("next_object_id", "Next Object ID", BE
)
2944 NextObjectID
.Display("BASE_HEX")
2945 NextRecord
= uint32("next_record", "Next Record")
2946 NextRequestRecord
= uint16("next_request_record", "Next Request Record")
2947 NextSearchIndex
= uint16("next_search_index", "Next Search Index")
2948 NextSearchNumber
= uint16("next_search_number", "Next Search Number")
2949 NextSearchNum
= uint32("nxt_search_num", "Next Search Number")
2950 nextStartingNumber
= uint32("next_starting_number", "Next Starting Number")
2951 NextTrusteeEntry
= uint32("next_trustee_entry", "Next Trustee Entry")
2952 NextVolumeNumber
= uint32("next_volume_number", "Next Volume Number")
2953 NLMBuffer
= nstring8("nlm_buffer", "Buffer")
2954 NLMcount
= uint32("nlm_count", "NLM Count")
2955 NLMFlags
= bitfield8("nlm_flags", "Flags", [
2956 bf_boolean8(0x01, "nlm_flags_reentrant", "ReEntrant"),
2957 bf_boolean8(0x02, "nlm_flags_multiple", "Can Load Multiple Times"),
2958 bf_boolean8(0x04, "nlm_flags_synchronize", "Synchronize Start"),
2959 bf_boolean8(0x08, "nlm_flags_pseudo", "PseudoPreemption"),
2961 NLMLoadOptions
= uint32("nlm_load_options", "NLM Load Options")
2962 NLMName
= stringz("nlm_name_stringz", "NLM Name")
2963 NLMNumber
= uint32("nlm_number", "NLM Number")
2964 NLMNumbers
= uint32("nlm_numbers", "NLM Numbers")
2965 NLMsInList
= uint32("nlms_in_list", "NLM's in List")
2966 NLMStartNumber
= uint32("nlm_start_num", "NLM Start Number")
2967 NLMType
= val_string8("nlm_type", "NLM Type", [
2968 [ 0x00, "Generic NLM (.NLM)" ],
2969 [ 0x01, "LAN Driver (.LAN)" ],
2970 [ 0x02, "Disk Driver (.DSK)" ],
2971 [ 0x03, "Name Space Support Module (.NAM)" ],
2972 [ 0x04, "Utility or Support Program (.NLM)" ],
2973 [ 0x05, "Mirrored Server Link (.MSL)" ],
2974 [ 0x06, "OS NLM (.NLM)" ],
2975 [ 0x07, "Paged High OS NLM (.NLM)" ],
2976 [ 0x08, "Host Adapter Module (.HAM)" ],
2977 [ 0x09, "Custom Device Module (.CDM)" ],
2978 [ 0x0a, "File System Engine (.NLM)" ],
2979 [ 0x0b, "Real Mode NLM (.NLM)" ],
2980 [ 0x0c, "Hidden NLM (.NLM)" ],
2981 [ 0x15, "NICI Support (.NLM)" ],
2982 [ 0x16, "NICI Support (.NLM)" ],
2983 [ 0x17, "Cryptography (.NLM)" ],
2984 [ 0x18, "Encryption (.NLM)" ],
2985 [ 0x19, "NICI Support (.NLM)" ],
2986 [ 0x1c, "NICI Support (.NLM)" ],
2988 nodeFlags
= uint32("node_flags", "Node Flags")
2989 nodeFlags
.Display("BASE_HEX")
2990 NoMoreMemAvlCnt
= uint32("no_more_mem_avail", "No More Memory Available Count")
2991 NonDedFlag
= boolean8("non_ded_flag", "Non Dedicated Flag")
2992 NonFreeableAvailableSubAllocSectors
= uint32("non_freeable_avail_sub_alloc_sectors", "Non Freeable Available Sub Alloc Sectors")
2993 NonFreeableLimboSectors
= uint32("non_freeable_limbo_sectors", "Non Freeable Limbo Sectors")
2994 NotUsableSubAllocSectors
= uint32("not_usable_sub_alloc_sectors", "Not Usable Sub Alloc Sectors")
2995 NotYetPurgeableBlocks
= uint32("not_yet_purgeable_blocks", "Not Yet Purgeable Blocks")
2996 NSInfoBitMask
= uint32("ns_info_bit_mask", "Name Space Info Bit Mask")
2997 NSSOAllInFlags
= bitfield32("nsso_all_in_flags", "SecretStore All Input Flags",[
2998 bf_boolean32(0x00000010, "nsso_all_unicode", "Unicode Data"),
2999 bf_boolean32(0x00000080, "nsso_set_tree", "Set Tree"),
3000 bf_boolean32(0x00000200, "nsso_destroy_ctx", "Destroy Context"),
3002 NSSOGetServiceInFlags
= bitfield32("nsso_get_svc_in_flags", "SecretStore Get Service Flags",[
3003 bf_boolean32(0x00000100, "nsso_get_ctx", "Get Context"),
3005 NSSOReadInFlags
= bitfield32("nsso_read_in_flags", "SecretStore Read Flags",[
3006 bf_boolean32(0x00000001, "nsso_rw_enh_prot", "Read/Write Enhanced Protection"),
3007 bf_boolean32(0x00000008, "nsso_repair", "Repair SecretStore"),
3009 NSSOReadOrUnlockInFlags
= bitfield32("nsso_read_or_unlock_in_flags", "SecretStore Read or Unlock Flags",[
3010 bf_boolean32(0x00000004, "nsso_ep_master_pwd", "Master Password used instead of ENH Password"),
3012 NSSOUnlockInFlags
= bitfield32("nsso_unlock_in_flags", "SecretStore Unlock Flags",[
3013 bf_boolean32(0x00000004, "nsso_rmv_lock", "Remove Lock from Store"),
3015 NSSOWriteInFlags
= bitfield32("nsso_write_in_flags", "SecretStore Write Flags",[
3016 bf_boolean32(0x00000001, "nsso_enh_prot", "Enhanced Protection"),
3017 bf_boolean32(0x00000002, "nsso_create_id", "Create ID"),
3018 bf_boolean32(0x00000040, "nsso_ep_pwd_used", "Enhanced Protection Password Used"),
3020 NSSOContextOutFlags
= bitfield32("nsso_cts_out_flags", "Type of Context",[
3021 bf_boolean32(0x00000001, "nsso_ds_ctx", "DSAPI Context"),
3022 bf_boolean32(0x00000080, "nsso_ldap_ctx", "LDAP Context"),
3023 bf_boolean32(0x00000200, "nsso_dc_ctx", "Reserved"),
3025 NSSOGetServiceOutFlags
= bitfield32("nsso_get_svc_out_flags", "SecretStore Status Flags",[
3026 bf_boolean32(0x00400000, "nsso_mstr_pwd", "Master Password Present"),
3028 NSSOGetServiceReadOutFlags
= bitfield32("nsso_get_svc_read_out_flags", "SecretStore Status Flags",[
3029 bf_boolean32(0x00800000, "nsso_mp_disabled", "Master Password Disabled"),
3031 NSSOReadOutFlags
= bitfield32("nsso_read_out_flags", "SecretStore Read Flags",[
3032 bf_boolean32(0x00010000, "nsso_secret_locked", "Enhanced Protection Lock on Secret"),
3033 bf_boolean32(0x00020000, "nsso_secret_not_init", "Secret Not Yet Initialized"),
3034 bf_boolean32(0x00040000, "nsso_secret_marked", "Secret Marked for Enhanced Protection"),
3035 bf_boolean32(0x00080000, "nsso_secret_not_sync", "Secret Not Yet Synchronized in NDS"),
3036 bf_boolean32(0x00200000, "nsso_secret_enh_pwd", "Enhanced Protection Password on Secret"),
3038 NSSOReadOutStatFlags
= bitfield32("nsso_read_out_stat_flags", "SecretStore Read Status Flags",[
3039 bf_boolean32(0x00100000, "nsso_admin_mod", "Admin Modified Secret Last"),
3041 NSSOVerb
= val_string8("nsso_verb", "SecretStore Verb", [
3042 [ 0x00, "Query Server" ],
3043 [ 0x01, "Read App Secrets" ],
3044 [ 0x02, "Write App Secrets" ],
3045 [ 0x03, "Add Secret ID" ],
3046 [ 0x04, "Remove Secret ID" ],
3047 [ 0x05, "Remove SecretStore" ],
3048 [ 0x06, "Enumerate SecretID's" ],
3049 [ 0x07, "Unlock Store" ],
3050 [ 0x08, "Set Master Password" ],
3051 [ 0x09, "Get Service Information" ],
3053 NSSpecificInfo
= fw_string("ns_specific_info", "Name Space Specific Info", 512)
3054 NumberOfActiveTasks
= uint8("num_of_active_tasks", "Number of Active Tasks")
3055 NumberOfAllocs
= uint32("num_of_allocs", "Number of Allocations")
3056 NumberOfCPUs
= uint32("number_of_cpus", "Number of CPU's")
3057 NumberOfDataStreams
= uint16("number_of_data_streams", "Number of Data Streams")
3058 NumberOfDataStreamsLong
= uint32("number_of_data_streams_long", "Number of Data Streams")
3059 NumberOfDynamicMemoryAreas
= uint16("number_of_dynamic_memory_areas", "Number Of Dynamic Memory Areas")
3060 NumberOfEntries
= uint8("number_of_entries", "Number of Entries")
3061 NumberOfLocks
= uint8("number_of_locks", "Number of Locks")
3062 NumberOfMinutesToDelay
= uint32("number_of_minutes_to_delay", "Number of Minutes to Delay")
3063 NumberOfNCPExtensions
= uint32("number_of_ncp_extensions", "Number Of NCP Extensions")
3064 NumberOfNSLoaded
= uint16("number_of_ns_loaded", "Number Of Name Spaces Loaded")
3065 NumberOfProtocols
= uint8("number_of_protocols", "Number of Protocols")
3066 NumberOfRecords
= uint16("number_of_records", "Number of Records")
3067 NumberOfReferencedPublics
= uint32("num_of_ref_publics", "Number of Referenced Public Symbols")
3068 NumberOfSemaphores
= uint16("number_of_semaphores", "Number Of Semaphores")
3069 NumberOfServiceProcesses
= uint8("number_of_service_processes", "Number Of Service Processes")
3070 NumberOfSetCategories
= uint32("number_of_set_categories", "Number Of Set Categories")
3071 NumberOfSMs
= uint32("number_of_sms", "Number Of Storage Medias")
3072 NumberOfStations
= uint8("number_of_stations", "Number of Stations")
3073 NumBytes
= uint16("num_bytes", "Number of Bytes")
3074 NumOfCCinPkt
= uint32("num_of_cc_in_pkt", "Number of Custom Counters in Packet")
3075 NumOfChecks
= uint32("num_of_checks", "Number of Checks")
3076 NumOfEntries
= uint32("num_of_entries", "Number of Entries")
3077 NumOfFilesMigrated
= uint32("num_of_files_migrated", "Number Of Files Migrated")
3078 NumOfGarbageColl
= uint32("num_of_garb_coll", "Number of Garbage Collections")
3079 NumOfNCPReqs
= uint32("num_of_ncp_reqs", "Number of NCP Requests since Server was brought up")
3080 NumOfSegments
= uint32("num_of_segments", "Number of Segments")
3082 ObjectCount
= uint32("object_count", "Object Count")
3083 ObjectFlags
= val_string8("object_flags", "Object Flags", [
3084 [ 0x00, "Dynamic object" ],
3085 [ 0x01, "Static object" ],
3087 ObjectHasProperties
= val_string8("object_has_properites", "Object Has Properties", [
3088 [ 0x00, "No properties" ],
3089 [ 0xff, "One or more properties" ],
3091 ObjectID
= uint32("object_id", "Object ID", BE
)
3092 ObjectID
.Display('BASE_HEX')
3093 ObjectIDCount
= uint16("object_id_count", "Object ID Count")
3094 ObjectIDInfo
= uint32("object_id_info", "Object Information")
3095 ObjectInfoReturnCount
= uint32("object_info_rtn_count", "Object Information Count")
3096 ObjectName
= nstring8("object_name", "Object Name")
3097 ObjectNameLen
= fw_string("object_name_len", "Object Name", 48)
3098 ObjectNameStringz
= stringz("object_name_stringz", "Object Name")
3099 ObjectNumber
= uint32("object_number", "Object Number")
3100 ObjectSecurity
= val_string8("object_security", "Object Security", [
3101 [ 0x00, "Object Read (Anyone) / Object Write (Anyone)" ],
3102 [ 0x01, "Object Read (Logged in) / Object Write (Anyone)" ],
3103 [ 0x02, "Object Read (Logged in as Object) / Object Write (Anyone)" ],
3104 [ 0x03, "Object Read (Supervisor) / Object Write (Anyone)" ],
3105 [ 0x04, "Object Read (Operating System Only) / Object Write (Anyone)" ],
3106 [ 0x10, "Object Read (Anyone) / Object Write (Logged in)" ],
3107 [ 0x11, "Object Read (Logged in) / Object Write (Logged in)" ],
3108 [ 0x12, "Object Read (Logged in as Object) / Object Write (Logged in)" ],
3109 [ 0x13, "Object Read (Supervisor) / Object Write (Logged in)" ],
3110 [ 0x14, "Object Read (Operating System Only) / Object Write (Logged in)" ],
3111 [ 0x20, "Object Read (Anyone) / Object Write (Logged in as Object)" ],
3112 [ 0x21, "Object Read (Logged in) / Object Write (Logged in as Object)" ],
3113 [ 0x22, "Object Read (Logged in as Object) / Object Write (Logged in as Object)" ],
3114 [ 0x23, "Object Read (Supervisor) / Object Write (Logged in as Object)" ],
3115 [ 0x24, "Object Read (Operating System Only) / Object Write (Logged in as Object)" ],
3116 [ 0x30, "Object Read (Anyone) / Object Write (Supervisor)" ],
3117 [ 0x31, "Object Read (Logged in) / Object Write (Supervisor)" ],
3118 [ 0x32, "Object Read (Logged in as Object) / Object Write (Supervisor)" ],
3119 [ 0x33, "Object Read (Supervisor) / Object Write (Supervisor)" ],
3120 [ 0x34, "Object Read (Operating System Only) / Object Write (Supervisor)" ],
3121 [ 0x40, "Object Read (Anyone) / Object Write (Operating System Only)" ],
3122 [ 0x41, "Object Read (Logged in) / Object Write (Operating System Only)" ],
3123 [ 0x42, "Object Read (Logged in as Object) / Object Write (Operating System Only)" ],
3124 [ 0x43, "Object Read (Supervisor) / Object Write (Operating System Only)" ],
3125 [ 0x44, "Object Read (Operating System Only) / Object Write (Operating System Only)" ],
3128 # XXX - should this use the "server_vals[]" value_string array from
3131 # XXX - should this list be merged with that list? There are some
3132 # oddities, e.g. this list has 0x03f5 for "Microsoft SQL Server", but
3133 # the list from "packet-ipx.c" has 0xf503 for that - is that just
3134 # byte-order confusion?
3136 ObjectType
= val_string16("object_type", "Object Type", [
3137 [ 0x0000, "Unknown" ],
3139 [ 0x0002, "User group" ],
3140 [ 0x0003, "Print queue" ],
3141 [ 0x0004, "NetWare file server" ],
3142 [ 0x0005, "Job server" ],
3143 [ 0x0006, "Gateway" ],
3144 [ 0x0007, "Print server" ],
3145 [ 0x0008, "Archive queue" ],
3146 [ 0x0009, "Archive server" ],
3147 [ 0x000a, "Job queue" ],
3148 [ 0x000b, "Administration" ],
3149 [ 0x0021, "NAS SNA gateway" ],
3150 [ 0x0026, "Remote bridge server" ],
3151 [ 0x0027, "TCP/IP gateway" ],
3152 [ 0x0047, "Novell Print Server" ],
3153 [ 0x004b, "Btrieve Server" ],
3154 [ 0x004c, "NetWare SQL Server" ],
3155 [ 0x0064, "ARCserve" ],
3156 [ 0x0066, "ARCserve 3.0" ],
3157 [ 0x0076, "NetWare SQL" ],
3158 [ 0x00a0, "Gupta SQL Base Server" ],
3159 [ 0x00a1, "Powerchute" ],
3160 [ 0x0107, "NetWare Remote Console" ],
3161 [ 0x01cb, "Shiva NetModem/E" ],
3162 [ 0x01cc, "Shiva LanRover/E" ],
3163 [ 0x01cd, "Shiva LanRover/T" ],
3164 [ 0x01d8, "Castelle FAXPress Server" ],
3165 [ 0x01da, "Castelle Print Server" ],
3166 [ 0x01dc, "Castelle Fax Server" ],
3167 [ 0x0200, "Novell SQL Server" ],
3168 [ 0x023a, "NetWare Lanalyzer Agent" ],
3169 [ 0x023c, "DOS Target Service Agent" ],
3170 [ 0x023f, "NetWare Server Target Service Agent" ],
3171 [ 0x024f, "Appletalk Remote Access Service" ],
3172 [ 0x0263, "NetWare Management Agent" ],
3173 [ 0x0264, "Global MHS" ],
3175 [ 0x026a, "NetWare Management/NMS Console" ],
3176 [ 0x026b, "NetWare Time Synchronization" ],
3177 [ 0x0273, "Nest Device" ],
3178 [ 0x0274, "GroupWise Message Multiple Servers" ],
3179 [ 0x0278, "NDS Replica Server" ],
3180 [ 0x0282, "NDPS Service Registry Service" ],
3181 [ 0x028a, "MPR/IPX Address Mapping Gateway" ],
3182 [ 0x028b, "ManageWise" ],
3183 [ 0x0293, "NetWare 6" ],
3184 [ 0x030c, "HP JetDirect" ],
3185 [ 0x0328, "Watcom SQL Server" ],
3186 [ 0x0355, "Backup Exec" ],
3187 [ 0x039b, "Lotus Notes" ],
3188 [ 0x03e1, "Univel Server" ],
3189 [ 0x03f5, "Microsoft SQL Server" ],
3190 [ 0x055e, "Lexmark Print Server" ],
3191 [ 0x0640, "Microsoft Gateway Services for NetWare" ],
3192 [ 0x064e, "Microsoft Internet Information Server" ],
3193 [ 0x077b, "Advantage Database Server" ],
3194 [ 0x07a7, "Backup Exec Job Queue" ],
3195 [ 0x07a8, "Backup Exec Job Manager" ],
3196 [ 0x07a9, "Backup Exec Job Service" ],
3197 [ 0x5555, "Site Lock" ],
3198 [ 0x8202, "NDPS Broker" ],
3200 OCRetFlags
= val_string8("o_c_ret_flags", "Open Create Return Flags", [
3201 [ 0x00, "No CallBack has been registered (No Op-Lock)" ],
3202 [ 0x01, "Request has been registered for CallBack (Op-Lock)" ],
3204 OESServer
= val_string8("oes_server", "Type of Novell Server", [
3205 [ 0x00, "NetWare" ],
3209 OESLinuxOrNetWare
= val_string8("oeslinux_or_netware", "Kernel Type", [
3210 [ 0x00, "NetWare" ],
3214 OldestDeletedFileAgeInTicks
= uint32("oldest_deleted_file_age_in_ticks", "Oldest Deleted File Age in Ticks")
3215 OldFileName
= bytes("old_file_name", "Old File Name", 15)
3216 OldFileSize
= uint32("old_file_size", "Old File Size")
3217 OpenCount
= uint16("open_count", "Open Count")
3218 OpenCreateAction
= bitfield8("open_create_action", "Open Create Action", [
3219 bf_boolean8(0x01, "open_create_action_opened", "Opened"),
3220 bf_boolean8(0x02, "open_create_action_created", "Created"),
3221 bf_boolean8(0x04, "open_create_action_replaced", "Replaced"),
3222 bf_boolean8(0x08, "open_create_action_compressed", "Compressed"),
3223 bf_boolean8(0x80, "open_create_action_read_only", "Read Only"),
3225 OpenCreateMode
= bitfield8("open_create_mode", "Open Create Mode", [
3226 bf_boolean8(0x01, "open_create_mode_open", "Open existing file (file must exist)"),
3227 bf_boolean8(0x02, "open_create_mode_replace", "Replace existing file"),
3228 bf_boolean8(0x08, "open_create_mode_create", "Create new file or subdirectory (file or subdirectory cannot exist)"),
3229 bf_boolean8(0x20, "open_create_mode_64bit", "Open 64-bit Access"),
3230 bf_boolean8(0x40, "open_create_mode_ro", "Open with Read Only Access"),
3231 bf_boolean8(0x80, "open_create_mode_oplock", "Open Callback (Op-Lock)"),
3233 OpenForReadCount
= uint16("open_for_read_count", "Open For Read Count")
3234 OpenForWriteCount
= uint16("open_for_write_count", "Open For Write Count")
3235 OpenRights
= bitfield8("open_rights", "Open Rights", [
3236 bf_boolean8(0x01, "open_rights_read_only", "Read Only"),
3237 bf_boolean8(0x02, "open_rights_write_only", "Write Only"),
3238 bf_boolean8(0x04, "open_rights_deny_read", "Deny Read"),
3239 bf_boolean8(0x08, "open_rights_deny_write", "Deny Write"),
3240 bf_boolean8(0x10, "open_rights_compat", "Compatibility"),
3241 bf_boolean8(0x40, "open_rights_write_thru", "File Write Through"),
3243 OptionNumber
= uint8("option_number", "Option Number")
3244 originalSize
= uint32("original_size", "Original Size")
3245 OSLanguageID
= uint8("os_language_id", "OS Language ID")
3246 OSMajorVersion
= uint8("os_major_version", "OS Major Version")
3247 OSMinorVersion
= uint8("os_minor_version", "OS Minor Version")
3248 OSRevision
= uint32("os_revision", "OS Revision")
3249 OtherFileForkSize
= uint32("other_file_fork_size", "Other File Fork Size")
3250 OtherFileForkFAT
= uint32("other_file_fork_fat", "Other File Fork FAT Entry")
3251 OutgoingPacketDiscardedNoTurboBuffer
= uint16("outgoing_packet_discarded_no_turbo_buffer", "Outgoing Packet Discarded No Turbo Buffer")
3253 PacketsDiscardedByHopCount
= uint16("packets_discarded_by_hop_count", "Packets Discarded By Hop Count")
3254 PacketsDiscardedUnknownNet
= uint16("packets_discarded_unknown_net", "Packets Discarded Unknown Net")
3255 PacketsFromInvalidConnection
= uint16("packets_from_invalid_connection", "Packets From Invalid Connection")
3256 PacketsReceivedDuringProcessing
= uint16("packets_received_during_processing", "Packets Received During Processing")
3257 PacketsWithBadRequestType
= uint16("packets_with_bad_request_type", "Packets With Bad Request Type")
3258 PacketsWithBadSequenceNumber
= uint16("packets_with_bad_sequence_number", "Packets With Bad Sequence Number")
3259 PageTableOwnerFlag
= uint32("page_table_owner_flag", "Page Table Owner")
3260 ParentID
= uint32("parent_id", "Parent ID")
3261 ParentID
.Display("BASE_HEX")
3262 ParentBaseID
= uint32("parent_base_id", "Parent Base ID")
3263 ParentBaseID
.Display("BASE_HEX")
3264 ParentDirectoryBase
= uint32("parent_directory_base", "Parent Directory Base")
3265 ParentDOSDirectoryBase
= uint32("parent_dos_directory_base", "Parent DOS Directory Base")
3266 ParentObjectNumber
= uint32("parent_object_number", "Parent Object Number")
3267 ParentObjectNumber
.Display("BASE_HEX")
3268 Password
= nstring8("password", "Password")
3269 PathBase
= uint8("path_base", "Path Base")
3270 PathComponentCount
= uint16("path_component_count", "Path Component Count")
3271 PathComponentSize
= uint16("path_component_size", "Path Component Size")
3272 PathCookieFlags
= val_string16("path_cookie_flags", "Path Cookie Flags", [
3273 [ 0x0000, "Last component is Not a File Name" ],
3274 [ 0x0001, "Last component is a File Name" ],
3276 PathCount
= uint8("path_count", "Path Count")
3277 Path
= nstring8("path", "Path")
3278 Path16
= nstring16("path16", "Path")
3279 PathAndName
= stringz("path_and_name", "Path and Name")
3280 PendingIOCommands
= uint16("pending_io_commands", "Pending IO Commands")
3281 PhysicalDiskNumber
= uint8("physical_disk_number", "Physical Disk Number")
3282 PhysicalDriveCount
= uint8("physical_drive_count", "Physical Drive Count")
3283 PhysicalLockThreshold
= uint8("physical_lock_threshold", "Physical Lock Threshold")
3284 PingVersion
= uint16("ping_version", "Ping Version")
3285 PoolName
= stringz("pool_name", "Pool Name")
3286 PositiveAcknowledgesSent
= uint16("positive_acknowledges_sent", "Positive Acknowledges Sent")
3287 PreCompressedSectors
= uint32("pre_compressed_sectors", "Precompressed Sectors")
3288 PreviousRecord
= uint32("previous_record", "Previous Record")
3289 PrimaryEntry
= uint32("primary_entry", "Primary Entry")
3290 PrintFlags
= bitfield8("print_flags", "Print Flags", [
3291 bf_boolean8(0x08, "print_flags_ff", "Suppress Form Feeds"),
3292 bf_boolean8(0x10, "print_flags_cr", "Create"),
3293 bf_boolean8(0x20, "print_flags_del_spool", "Delete Spool File after Printing"),
3294 bf_boolean8(0x40, "print_flags_exp_tabs", "Expand Tabs in the File"),
3295 bf_boolean8(0x80, "print_flags_banner", "Print Banner Page"),
3297 PrinterHalted
= val_string8("printer_halted", "Printer Halted", [
3298 [ 0x00, "Printer is not Halted" ],
3299 [ 0xff, "Printer is Halted" ],
3301 PrinterOffLine
= val_string8( "printer_offline", "Printer Off-Line", [
3302 [ 0x00, "Printer is On-Line" ],
3303 [ 0xff, "Printer is Off-Line" ],
3305 PrintServerVersion
= uint8("print_server_version", "Print Server Version")
3306 Priority
= uint32("priority", "Priority")
3307 Privileges
= uint32("privileges", "Login Privileges")
3308 ProcessorType
= val_string8("processor_type", "Processor Type", [
3309 [ 0x00, "Motorola 68000" ],
3310 [ 0x01, "Intel 8088 or 8086" ],
3311 [ 0x02, "Intel 80286" ],
3313 ProDOSInfo
= bytes("pro_dos_info", "Pro DOS Info", 6)
3314 ProductMajorVersion
= uint16("product_major_version", "Product Major Version")
3315 ProductMinorVersion
= uint16("product_minor_version", "Product Minor Version")
3316 ProductRevisionVersion
= uint8("product_revision_version", "Product Revision Version")
3317 projectedCompSize
= uint32("projected_comp_size", "Projected Compression Size")
3318 PropertyHasMoreSegments
= val_string8("property_has_more_segments",
3319 "Property Has More Segments", [
3320 [ 0x00, "Is last segment" ],
3321 [ 0xff, "More segments are available" ],
3323 PropertyName
= nstring8("property_name", "Property Name")
3324 PropertyName16
= fw_string("property_name_16", "Property Name", 16)
3325 PropertyData
= bytes("property_data", "Property Data", 128)
3326 PropertySegment
= uint8("property_segment", "Property Segment")
3327 PropertyType
= val_string8("property_type", "Property Type", [
3328 [ 0x00, "Display Static property" ],
3329 [ 0x01, "Display Dynamic property" ],
3330 [ 0x02, "Set Static property" ],
3331 [ 0x03, "Set Dynamic property" ],
3333 PropertyValue
= fw_string("property_value", "Property Value", 128)
3334 ProposedMaxSize
= uint16("proposed_max_size", "Proposed Max Size")
3335 protocolFlags
= uint32("protocol_flags", "Protocol Flags")
3336 protocolFlags
.Display("BASE_HEX")
3337 PurgeableBlocks
= uint32("purgeable_blocks", "Purgeable Blocks")
3338 PurgeCcode
= uint32("purge_c_code", "Purge Completion Code")
3339 PurgeCount
= uint32("purge_count", "Purge Count")
3340 PurgeFlags
= val_string16("purge_flags", "Purge Flags", [
3341 [ 0x0000, "Do not Purge All" ],
3342 [ 0x0001, "Purge All" ],
3343 [ 0xffff, "Do not Purge All" ],
3345 PurgeList
= uint32("purge_list", "Purge List")
3346 PhysicalDiskChannel
= uint8("physical_disk_channel", "Physical Disk Channel")
3347 PhysicalDriveType
= val_string8("physical_drive_type", "Physical Drive Type", [
3351 [ 0x04, "Disk Coprocessor" ],
3352 [ 0x05, "PS/2 with MFM Controller" ],
3353 [ 0x06, "PS/2 with ESDI Controller" ],
3354 [ 0x07, "Convergent Technology SBIC" ],
3356 PhysicalReadErrors
= uint16("physical_read_errors", "Physical Read Errors")
3357 PhysicalReadRequests
= uint32("physical_read_requests", "Physical Read Requests")
3358 PhysicalWriteErrors
= uint16("physical_write_errors", "Physical Write Errors")
3359 PhysicalWriteRequests
= uint32("physical_write_requests", "Physical Write Requests")
3360 PrintToFileFlag
= boolean8("print_to_file_flag", "Print to File Flag")
3362 QueueID
= uint32("queue_id", "Queue ID")
3363 QueueID
.Display("BASE_HEX")
3364 QueueName
= nstring8("queue_name", "Queue Name")
3365 QueueStartPosition
= uint32("queue_start_position", "Queue Start Position")
3366 QueueStatus
= bitfield8("queue_status", "Queue Status", [
3367 bf_boolean8(0x01, "queue_status_new_jobs", "Operator does not want to add jobs to the queue"),
3368 bf_boolean8(0x02, "queue_status_pserver", "Operator does not want additional servers attaching"),
3369 bf_boolean8(0x04, "queue_status_svc_jobs", "Operator does not want servers to service jobs"),
3371 QueueType
= uint16("queue_type", "Queue Type")
3372 QueueingVersion
= uint8("qms_version", "QMS Version")
3374 ReadBeyondWrite
= uint16("read_beyond_write", "Read Beyond Write")
3375 RecordLockCount
= uint16("rec_lock_count", "Record Lock Count")
3376 RecordStart
= uint32("record_start", "Record Start")
3377 RecordEnd
= uint32("record_end", "Record End")
3378 RecordInUseFlag
= val_string16("record_in_use", "Record in Use", [
3379 [ 0x0000, "Record In Use" ],
3380 [ 0xffff, "Record Not In Use" ],
3382 RedirectedPrinter
= uint8( "redirected_printer", "Redirected Printer" )
3383 ReferenceCount
= uint32("reference_count", "Reference Count")
3384 RelationsCount
= uint16("relations_count", "Relations Count")
3385 ReMirrorCurrentOffset
= uint32("re_mirror_current_offset", "ReMirror Current Offset")
3386 ReMirrorDriveNumber
= uint8("re_mirror_drive_number", "ReMirror Drive Number")
3387 RemoteMaxPacketSize
= uint32("remote_max_packet_size", "Remote Max Packet Size")
3388 RemoteTargetID
= uint32("remote_target_id", "Remote Target ID")
3389 RemoteTargetID
.Display("BASE_HEX")
3390 RemovableFlag
= uint16("removable_flag", "Removable Flag")
3391 RemoveOpenRights
= bitfield8("remove_open_rights", "Remove Open Rights", [
3392 bf_boolean8(0x01, "remove_open_rights_ro", "Read Only"),
3393 bf_boolean8(0x02, "remove_open_rights_wo", "Write Only"),
3394 bf_boolean8(0x04, "remove_open_rights_dr", "Deny Read"),
3395 bf_boolean8(0x08, "remove_open_rights_dw", "Deny Write"),
3396 bf_boolean8(0x10, "remove_open_rights_comp", "Compatibility"),
3397 bf_boolean8(0x40, "remove_open_rights_write_thru", "Write Through"),
3399 RenameFlag
= bitfield8("rename_flag", "Rename Flag", [
3400 bf_boolean8(0x01, "rename_flag_ren", "Rename to Myself allows file to be renamed to its original name"),
3401 bf_boolean8(0x02, "rename_flag_comp", "Compatibility allows files that are marked read only to be opened with read/write access"),
3402 bf_boolean8(0x04, "rename_flag_no", "Name Only renames only the specified name space entry name"),
3404 RepliesCancelled
= uint16("replies_cancelled", "Replies Cancelled")
3405 ReplyBuffer
= nstring8("reply_buffer", "Reply Buffer")
3406 ReplyBufferSize
= uint32("reply_buffer_size", "Reply Buffer Size")
3407 ReplyQueueJobNumbers
= uint32("reply_queue_job_numbers", "Reply Queue Job Numbers")
3408 RequestBitMap
= bitfield16("request_bit_map", "Request Bit Map", [
3409 bf_boolean16(0x0001, "request_bit_map_ret_afp_ent", "AFP Entry ID"),
3410 bf_boolean16(0x0002, "request_bit_map_ret_data_fork", "Data Fork Length"),
3411 bf_boolean16(0x0004, "request_bit_map_ret_res_fork", "Resource Fork Length"),
3412 bf_boolean16(0x0008, "request_bit_map_ret_num_off", "Number of Offspring"),
3413 bf_boolean16(0x0010, "request_bit_map_ret_owner", "Owner ID"),
3414 bf_boolean16(0x0020, "request_bit_map_ret_short", "Short Name"),
3415 bf_boolean16(0x0040, "request_bit_map_ret_acc_priv", "Access Privileges"),
3416 bf_boolean16(0x0100, "request_bit_map_ratt", "Return Attributes"),
3417 bf_boolean16(0x0200, "request_bit_map_ret_afp_parent", "AFP Parent Entry ID"),
3418 bf_boolean16(0x0400, "request_bit_map_ret_cr_date", "Creation Date"),
3419 bf_boolean16(0x0800, "request_bit_map_ret_acc_date", "Access Date"),
3420 bf_boolean16(0x1000, "request_bit_map_ret_mod_date", "Modify Date&Time"),
3421 bf_boolean16(0x2000, "request_bit_map_ret_bak_date", "Backup Date&Time"),
3422 bf_boolean16(0x4000, "request_bit_map_ret_finder", "Finder Info"),
3423 bf_boolean16(0x8000, "request_bit_map_ret_long_nm", "Long Name"),
3425 ResourceForkLen
= uint32("resource_fork_len", "Resource Fork Len")
3426 RequestCode
= val_string8("request_code", "Request Code", [
3427 [ 0x00, "Change Logged in to Temporary Authenticated" ],
3428 [ 0x01, "Change Temporary Authenticated to Logged in" ],
3430 RequestData
= nstring8("request_data", "Request Data")
3431 RequestsReprocessed
= uint16("requests_reprocessed", "Requests Reprocessed")
3432 Reserved
= uint8( "reserved", "Reserved" )
3433 Reserved2
= bytes("reserved2", "Reserved", 2)
3434 Reserved3
= bytes("reserved3", "Reserved", 3)
3435 Reserved4
= bytes("reserved4", "Reserved", 4)
3436 Reserved5
= bytes("reserved5", "Reserved", 5)
3437 Reserved6
= bytes("reserved6", "Reserved", 6)
3438 Reserved8
= bytes("reserved8", "Reserved", 8)
3439 Reserved10
= bytes("reserved10", "Reserved", 10)
3440 Reserved12
= bytes("reserved12", "Reserved", 12)
3441 Reserved16
= bytes("reserved16", "Reserved", 16)
3442 Reserved20
= bytes("reserved20", "Reserved", 20)
3443 Reserved28
= bytes("reserved28", "Reserved", 28)
3444 Reserved36
= bytes("reserved36", "Reserved", 36)
3445 Reserved44
= bytes("reserved44", "Reserved", 44)
3446 Reserved48
= bytes("reserved48", "Reserved", 48)
3447 Reserved50
= bytes("reserved50", "Reserved", 50)
3448 Reserved56
= bytes("reserved56", "Reserved", 56)
3449 Reserved64
= bytes("reserved64", "Reserved", 64)
3450 Reserved120
= bytes("reserved120", "Reserved", 120)
3451 ReservedOrDirectoryNumber
= uint32("reserved_or_directory_number", "Reserved or Directory Number (see EAFlags)")
3452 ReservedOrDirectoryNumber
.Display("BASE_HEX")
3453 ResourceCount
= uint32("resource_count", "Resource Count")
3454 ResourceForkSize
= uint32("resource_fork_size", "Resource Fork Size")
3455 ResourceName
= stringz("resource_name", "Resource Name")
3456 ResourceSignature
= fw_string("resource_sig", "Resource Signature", 4)
3457 RestoreTime
= uint32("restore_time", "Restore Time")
3458 Restriction
= uint32("restriction", "Disk Space Restriction")
3459 RestrictionsEnforced
= val_string8("restrictions_enforced", "Disk Restrictions Enforce Flag", [
3460 [ 0x00, "Enforced" ],
3461 [ 0xff, "Not Enforced" ],
3463 ReturnInfoCount
= uint32("return_info_count", "Return Information Count")
3464 ReturnInfoMask
= bitfield16("ret_info_mask", "Return Information", [
3465 bf_boolean16(0x0001, "ret_info_mask_fname", "Return File Name Information"),
3466 bf_boolean16(0x0002, "ret_info_mask_alloc", "Return Allocation Space Information"),
3467 bf_boolean16(0x0004, "ret_info_mask_attr", "Return Attribute Information"),
3468 bf_boolean16(0x0008, "ret_info_mask_size", "Return Size Information"),
3469 bf_boolean16(0x0010, "ret_info_mask_tspace", "Return Total Space Information"),
3470 bf_boolean16(0x0020, "ret_info_mask_eattr", "Return Extended Attributes Information"),
3471 bf_boolean16(0x0040, "ret_info_mask_arch", "Return Archive Information"),
3472 bf_boolean16(0x0080, "ret_info_mask_mod", "Return Modify Information"),
3473 bf_boolean16(0x0100, "ret_info_mask_create", "Return Creation Information"),
3474 bf_boolean16(0x0200, "ret_info_mask_ns", "Return Name Space Information"),
3475 bf_boolean16(0x0400, "ret_info_mask_dir", "Return Directory Information"),
3476 bf_boolean16(0x0800, "ret_info_mask_rights", "Return Rights Information"),
3477 bf_boolean16(0x1000, "ret_info_mask_id", "Return ID Information"),
3478 bf_boolean16(0x2000, "ret_info_mask_ns_attr", "Return Name Space Attributes Information"),
3479 bf_boolean16(0x4000, "ret_info_mask_actual", "Return Actual Information"),
3480 bf_boolean16(0x8000, "ret_info_mask_logical", "Return Logical Information"),
3482 ReturnedListCount
= uint32("returned_list_count", "Returned List Count")
3483 Revision
= uint32("revision", "Revision")
3484 RevisionNumber
= uint8("revision_number", "Revision")
3485 RevQueryFlag
= val_string8("rev_query_flag", "Revoke Rights Query Flag", [
3486 [ 0x00, "Do not query the locks engine for access rights" ],
3487 [ 0x01, "Query the locks engine and return the access rights" ],
3489 RightsGrantMask
= bitfield8("rights_grant_mask", "Grant Rights", [
3490 bf_boolean8(0x01, "rights_grant_mask_read", "Read"),
3491 bf_boolean8(0x02, "rights_grant_mask_write", "Write"),
3492 bf_boolean8(0x04, "rights_grant_mask_open", "Open"),
3493 bf_boolean8(0x08, "rights_grant_mask_create", "Create"),
3494 bf_boolean8(0x10, "rights_grant_mask_del", "Delete"),
3495 bf_boolean8(0x20, "rights_grant_mask_parent", "Parental"),
3496 bf_boolean8(0x40, "rights_grant_mask_search", "Search"),
3497 bf_boolean8(0x80, "rights_grant_mask_mod", "Modify"),
3499 RightsRevokeMask
= bitfield8("rights_revoke_mask", "Revoke Rights", [
3500 bf_boolean8(0x01, "rights_revoke_mask_read", "Read"),
3501 bf_boolean8(0x02, "rights_revoke_mask_write", "Write"),
3502 bf_boolean8(0x04, "rights_revoke_mask_open", "Open"),
3503 bf_boolean8(0x08, "rights_revoke_mask_create", "Create"),
3504 bf_boolean8(0x10, "rights_revoke_mask_del", "Delete"),
3505 bf_boolean8(0x20, "rights_revoke_mask_parent", "Parental"),
3506 bf_boolean8(0x40, "rights_revoke_mask_search", "Search"),
3507 bf_boolean8(0x80, "rights_revoke_mask_mod", "Modify"),
3509 RIPSocketNumber
= uint16("rip_socket_num", "RIP Socket Number")
3510 RIPSocketNumber
.Display("BASE_HEX")
3511 RouterDownFlag
= boolean8("router_dn_flag", "Router Down Flag")
3512 RPCccode
= val_string16("rpc_c_code", "RPC Completion Code", [
3513 [ 0x0000, "Successful" ],
3515 RTagNumber
= uint32("r_tag_num", "Resource Tag Number")
3516 RTagNumber
.Display("BASE_HEX")
3517 RpyNearestSrvFlag
= boolean8("rpy_nearest_srv_flag", "Reply to Nearest Server Flag")
3519 SalvageableFileEntryNumber
= uint32("salvageable_file_entry_number", "Salvageable File Entry Number")
3520 SalvageableFileEntryNumber
.Display("BASE_HEX")
3521 SAPSocketNumber
= uint16("sap_socket_number", "SAP Socket Number")
3522 SAPSocketNumber
.Display("BASE_HEX")
3523 ScanItems
= uint32("scan_items", "Number of Items returned from Scan")
3524 SearchAttributes
= bitfield8("sattr", "Search Attributes", [
3525 bf_boolean8(0x01, "sattr_ronly", "Read-Only Files Allowed"),
3526 bf_boolean8(0x02, "sattr_hid", "Hidden Files Allowed"),
3527 bf_boolean8(0x04, "sattr_sys", "System Files Allowed"),
3528 bf_boolean8(0x08, "sattr_exonly", "Execute-Only Files Allowed"),
3529 bf_boolean8(0x10, "sattr_sub", "Subdirectories Only"),
3530 bf_boolean8(0x20, "sattr_archive", "Archive"),
3531 bf_boolean8(0x40, "sattr_execute_confirm", "Execute Confirm"),
3532 bf_boolean8(0x80, "sattr_shareable", "Shareable"),
3534 SearchAttributesLow
= bitfield16("search_att_low", "Search Attributes", [
3535 bf_boolean16(0x0001, "search_att_read_only", "Read-Only"),
3536 bf_boolean16(0x0002, "search_att_hidden", "Hidden Files Allowed"),
3537 bf_boolean16(0x0004, "search_att_system", "System"),
3538 bf_boolean16(0x0008, "search_att_execute_only", "Execute-Only"),
3539 bf_boolean16(0x0010, "search_att_sub", "Subdirectories Only"),
3540 bf_boolean16(0x0020, "search_att_archive", "Archive"),
3541 bf_boolean16(0x0040, "search_att_execute_confirm", "Execute Confirm"),
3542 bf_boolean16(0x0080, "search_att_shareable", "Shareable"),
3543 bf_boolean16(0x8000, "search_attr_all_files", "All Files and Directories"),
3545 SearchBitMap
= bitfield8("search_bit_map", "Search Bit Map", [
3546 bf_boolean8(0x01, "search_bit_map_hidden", "Hidden"),
3547 bf_boolean8(0x02, "search_bit_map_sys", "System"),
3548 bf_boolean8(0x04, "search_bit_map_sub", "Subdirectory"),
3549 bf_boolean8(0x08, "search_bit_map_files", "Files"),
3551 SearchConnNumber
= uint32("search_conn_number", "Search Connection Number")
3552 SearchInstance
= uint32("search_instance", "Search Instance")
3553 SearchNumber
= uint32("search_number", "Search Number")
3554 SearchPattern
= nstring8("search_pattern", "Search Pattern")
3555 SearchPattern16
= nstring16("search_pattern_16", "Search Pattern")
3556 SearchSequence
= bytes("search_sequence", "Search Sequence", 9)
3557 SearchSequenceWord
= uint16("search_sequence_word", "Search Sequence", BE
)
3558 Second
= uint8("s_second", "Seconds")
3559 SecondsRelativeToTheYear2000
= uint32("sec_rel_to_y2k", "Seconds Relative to the Year 2000")
3560 SecretStoreVerb
= val_string8("ss_verb", "Secret Store Verb",[
3561 [ 0x00, "Query Server" ],
3562 [ 0x01, "Read App Secrets" ],
3563 [ 0x02, "Write App Secrets" ],
3564 [ 0x03, "Add Secret ID" ],
3565 [ 0x04, "Remove Secret ID" ],
3566 [ 0x05, "Remove SecretStore" ],
3567 [ 0x06, "Enumerate Secret IDs" ],
3568 [ 0x07, "Unlock Store" ],
3569 [ 0x08, "Set Master Password" ],
3570 [ 0x09, "Get Service Information" ],
3572 SecurityEquivalentList
= fw_string("security_equiv_list", "Security Equivalent List", 128)
3573 SecurityFlag
= bitfield8("security_flag", "Security Flag", [
3574 bf_boolean8(0x01, "checksumming", "Checksumming"),
3575 bf_boolean8(0x02, "signature", "Signature"),
3576 bf_boolean8(0x04, "complete_signatures", "Complete Signatures"),
3577 bf_boolean8(0x08, "encryption", "Encryption"),
3578 bf_boolean8(0x80, "large_internet_packets", "Large Internet Packets (LIP) Disabled"),
3580 SecurityRestrictionVersion
= uint8("security_restriction_version", "Security Restriction Version")
3581 SectorsPerBlock
= uint8("sectors_per_block", "Sectors Per Block")
3582 SectorsPerCluster
= uint16("sectors_per_cluster", "Sectors Per Cluster" )
3583 SectorsPerClusterLong
= uint32("sectors_per_cluster_long", "Sectors Per Cluster" )
3584 SectorsPerTrack
= uint8("sectors_per_track", "Sectors Per Track")
3585 SectorSize
= uint32("sector_size", "Sector Size")
3586 SemaphoreHandle
= uint32("semaphore_handle", "Semaphore Handle")
3587 SemaphoreName
= nstring8("semaphore_name", "Semaphore Name")
3588 SemaphoreOpenCount
= uint8("semaphore_open_count", "Semaphore Open Count")
3589 SemaphoreShareCount
= uint8("semaphore_share_count", "Semaphore Share Count")
3590 SemaphoreTimeOut
= uint16("semaphore_time_out", "Semaphore Time Out")
3591 SemaphoreValue
= uint16("semaphore_value", "Semaphore Value")
3592 SendStatus
= val_string8("send_status", "Send Status", [
3593 [ 0x00, "Successful" ],
3594 [ 0x01, "Illegal Station Number" ],
3595 [ 0x02, "Client Not Logged In" ],
3596 [ 0x03, "Client Not Accepting Messages" ],
3597 [ 0x04, "Client Already has a Message" ],
3598 [ 0x96, "No Alloc Space for the Message" ],
3599 [ 0xfd, "Bad Station Number" ],
3600 [ 0xff, "Failure" ],
3602 SequenceByte
= uint8("sequence_byte", "Sequence")
3603 SequenceNumber
= uint32("sequence_number", "Sequence Number")
3604 SequenceNumber
.Display("BASE_HEX")
3605 ServerAddress
= bytes("server_address", "Server Address", 12)
3606 ServerAppNumber
= uint16("server_app_num", "Server App Number")
3607 ServerID
= uint32("server_id_number", "Server ID", BE
)
3608 ServerID
.Display("BASE_HEX")
3609 ServerInfoFlags
= val_string16("server_info_flags", "Server Information Flags", [
3610 [ 0x0000, "This server is not a member of a Cluster" ],
3611 [ 0x0001, "This server is a member of a Cluster" ],
3613 serverListFlags
= uint32("server_list_flags", "Server List Flags")
3614 ServerName
= fw_string("server_name", "Server Name", 48)
3615 serverName50
= fw_string("server_name50", "Server Name", 50)
3616 ServerNameLen
= nstring8("server_name_len", "Server Name")
3617 ServerNameStringz
= stringz("server_name_stringz", "Server Name")
3618 ServerNetworkAddress
= bytes("server_network_address", "Server Network Address", 10)
3619 ServerNode
= bytes("server_node", "Server Node", 6)
3620 ServerSerialNumber
= uint32("server_serial_number", "Server Serial Number")
3621 ServerStation
= uint8("server_station", "Server Station")
3622 ServerStationLong
= uint32("server_station_long", "Server Station")
3623 ServerStationList
= uint8("server_station_list", "Server Station List")
3624 ServerStatusRecord
= fw_string("server_status_record", "Server Status Record", 64)
3625 ServerTaskNumber
= uint8("server_task_number", "Server Task Number")
3626 ServerTaskNumberLong
= uint32("server_task_number_long", "Server Task Number")
3627 ServerType
= uint16("server_type", "Server Type")
3628 ServerType
.Display("BASE_HEX")
3629 ServerUtilization
= uint32("server_utilization", "Server Utilization")
3630 ServerUtilizationPercentage
= uint8("server_utilization_percentage", "Server Utilization Percentage")
3631 ServiceType
= val_string16("Service_type", "Service Type", [
3632 [ 0x0000, "Unknown" ],
3634 [ 0x0002, "User group" ],
3635 [ 0x0003, "Print queue" ],
3636 [ 0x0004, "NetWare file server" ],
3637 [ 0x0005, "Job server" ],
3638 [ 0x0006, "Gateway" ],
3639 [ 0x0007, "Print server" ],
3640 [ 0x0008, "Archive queue" ],
3641 [ 0x0009, "Archive server" ],
3642 [ 0x000a, "Job queue" ],
3643 [ 0x000b, "Administration" ],
3644 [ 0x0021, "NAS SNA gateway" ],
3645 [ 0x0026, "Remote bridge server" ],
3646 [ 0x0027, "TCP/IP gateway" ],
3647 [ 0xffff, "All Types" ],
3649 SetCmdCategory
= val_string8("set_cmd_category", "Set Command Category", [
3650 [ 0x00, "Communications" ],
3652 [ 0x02, "File Cache" ],
3653 [ 0x03, "Directory Cache" ],
3654 [ 0x04, "File System" ],
3656 [ 0x06, "Transaction Tracking" ],
3660 [ 0x0a, "Miscellaneous" ],
3661 [ 0x0b, "Error Handling" ],
3662 [ 0x0c, "Directory Services" ],
3663 [ 0x0d, "MultiProcessor" ],
3664 [ 0x0e, "Service Location Protocol" ],
3665 [ 0x0f, "Licensing Services" ],
3667 SetCmdFlags
= bitfield8("set_cmd_flags", "Set Command Flags", [
3668 bf_boolean8(0x01, "cmd_flags_startup_only", "Startup.ncf Only"),
3669 bf_boolean8(0x02, "cmd_flags_hidden", "Hidden"),
3670 bf_boolean8(0x04, "cmd_flags_advanced", "Advanced"),
3671 bf_boolean8(0x08, "cmd_flags_later", "Restart Server Required to Take Effect"),
3672 bf_boolean8(0x80, "cmd_flags_secure", "Console Secured"),
3674 SetCmdName
= stringz("set_cmd_name", "Set Command Name")
3675 SetCmdType
= val_string8("set_cmd_type", "Set Command Type", [
3676 [ 0x00, "Numeric Value" ],
3677 [ 0x01, "Boolean Value" ],
3678 [ 0x02, "Ticks Value" ],
3679 [ 0x04, "Time Value" ],
3680 [ 0x05, "String Value" ],
3681 [ 0x06, "Trigger Value" ],
3682 [ 0x07, "Numeric Value" ],
3684 SetCmdValueNum
= uint32("set_cmd_value_num", "Set Command Value")
3685 SetCmdValueString
= stringz("set_cmd_value_string", "Set Command Value")
3686 SetMask
= bitfield32("set_mask", "Set Mask", [
3687 bf_boolean32(0x00000001, "ncp_encoded_strings", "NCP Encoded Strings"),
3688 bf_boolean32(0x00000002, "connection_code_page", "Connection Code Page"),
3690 SetParmName
= stringz("set_parm_name", "Set Parameter Name")
3691 SFTErrorTable
= bytes("sft_error_table", "SFT Error Table", 60)
3692 SFTSupportLevel
= val_string8("sft_support_level", "SFT Support Level", [
3693 [ 0x01, "Server Offers Hot Disk Error Fixing" ],
3694 [ 0x02, "Server Offers Disk Mirroring and Transaction Tracking" ],
3695 [ 0x03, "Server Offers Physical Server Mirroring" ],
3697 ShareableLockCount
= uint16("shareable_lock_count", "Shareable Lock Count")
3698 SharedMemoryAddresses
= bytes("shared_memory_addresses", "Shared Memory Addresses", 10)
3699 ShortName
= fw_string("short_name", "Short Name", 12)
3700 ShortStkName
= fw_string("short_stack_name", "Short Stack Name", 16)
3701 SiblingCount
= uint32("sibling_count", "Sibling Count")
3702 SixtyFourBitOffsetsSupportedFlag
= val_string8("64_bit_flag", "64 Bit Support", [
3703 [ 0x00, "No support for 64 bit offsets" ],
3704 [ 0x01, "64 bit offsets supported" ],
3706 SMIDs
= uint32("smids", "Storage Media ID's")
3707 SoftwareDescription
= fw_string("software_description", "Software Description", 65)
3708 SoftwareDriverType
= uint8("software_driver_type", "Software Driver Type")
3709 SoftwareMajorVersionNumber
= uint8("software_major_version_number", "Software Major Version Number")
3710 SoftwareMinorVersionNumber
= uint8("software_minor_version_number", "Software Minor Version Number")
3711 SourceDirHandle
= uint8("source_dir_handle", "Source Directory Handle")
3712 sourceOriginateTime
= bytes("source_originate_time", "Source Originate Time", 8)
3713 SourcePath
= nstring8("source_path", "Source Path")
3714 SourcePathComponentCount
= uint8("source_component_count", "Source Path Component Count")
3715 sourceReturnTime
= bytes("source_return_time", "Source Return Time", 8)
3716 SpaceUsed
= uint32("space_used", "Space Used")
3717 SpaceMigrated
= uint32("space_migrated", "Space Migrated")
3718 SrcNameSpace
= val_string8("src_name_space", "Source Name Space", [
3719 [ 0x00, "DOS Name Space" ],
3720 [ 0x01, "MAC Name Space" ],
3721 [ 0x02, "NFS Name Space" ],
3722 [ 0x04, "Long Name Space" ],
3724 SupModID
= uint32("sup_mod_id", "Sup Mod ID")
3725 StackCount
= uint32("stack_count", "Stack Count")
3726 StackFullNameStr
= nstring8("stack_full_name_str", "Stack Full Name")
3727 StackMajorVN
= uint8("stack_major_vn", "Stack Major Version Number")
3728 StackMinorVN
= uint8("stack_minor_vn", "Stack Minor Version Number")
3729 StackNumber
= uint32("stack_number", "Stack Number")
3730 StartConnNumber
= uint32("start_conn_num", "Starting Connection Number")
3731 StartingBlock
= uint16("starting_block", "Starting Block")
3732 StartingNumber
= uint32("starting_number", "Starting Number")
3733 StartingSearchNumber
= uint16("start_search_number", "Start Search Number")
3734 StartNumber
= uint32("start_number", "Start Number")
3735 startNumberFlag
= uint16("start_number_flag", "Start Number Flag")
3736 StartOffset64bit
= bytes("s_offset_64bit", "64bit Starting Offset", 64)
3737 StartVolumeNumber
= uint32("start_volume_number", "Starting Volume Number")
3738 StationList
= uint32("station_list", "Station List")
3739 StationNumber
= bytes("station_number", "Station Number", 3)
3740 StatMajorVersion
= uint8("stat_major_version", "Statistics Table Major Version")
3741 StatMinorVersion
= uint8("stat_minor_version", "Statistics Table Minor Version")
3742 Status
= bitfield16("status", "Status", [
3743 bf_boolean16(0x0001, "user_info_logged_in", "Logged In"),
3744 bf_boolean16(0x0002, "user_info_being_abort", "Being Aborted"),
3745 bf_boolean16(0x0004, "user_info_audited", "Audited"),
3746 bf_boolean16(0x0008, "user_info_need_sec", "Needs Security Change"),
3747 bf_boolean16(0x0010, "user_info_mac_station", "MAC Station"),
3748 bf_boolean16(0x0020, "user_info_temp_authen", "Temporary Authenticated"),
3749 bf_boolean16(0x0040, "user_info_audit_conn", "Audit Connection Recorded"),
3750 bf_boolean16(0x0080, "user_info_dsaudit_conn", "DS Audit Connection Recorded"),
3751 bf_boolean16(0x0100, "user_info_logout", "Logout in Progress"),
3752 bf_boolean16(0x0200, "user_info_int_login", "Internal Login"),
3753 bf_boolean16(0x0400, "user_info_bindery", "Bindery Connection"),
3755 StatusFlagBits
= bitfield32("status_flag_bits", "Status Flag", [
3756 bf_boolean32(0x00000001, "status_flag_bits_suballoc", "Sub Allocation"),
3757 bf_boolean32(0x00000002, "status_flag_bits_comp", "Compression"),
3758 bf_boolean32(0x00000004, "status_flag_bits_migrate", "Migration"),
3759 bf_boolean32(0x00000008, "status_flag_bits_audit", "Audit"),
3760 bf_boolean32(0x00000010, "status_flag_bits_ro", "Read Only"),
3761 bf_boolean32(0x00000020, "status_flag_bits_im_purge", "Immediate Purge"),
3762 bf_boolean32(0x00000040, "status_flag_bits_64bit", "64Bit File Offsets"),
3763 bf_boolean32(0x00000080, "status_flag_bits_utf8", "UTF8 NCP Strings"),
3764 bf_boolean32(0x80000000, "status_flag_bits_nss", "NSS Volume"),
3766 SubAllocClusters
= uint32("sub_alloc_clusters", "Sub Alloc Clusters")
3767 SubAllocFreeableClusters
= uint32("sub_alloc_freeable_clusters", "Sub Alloc Freeable Clusters")
3768 Subdirectory
= uint32("sub_directory", "Subdirectory")
3769 Subdirectory
.Display("BASE_HEX")
3770 SuggestedFileSize
= uint32("suggested_file_size", "Suggested File Size")
3771 SupportModuleID
= uint32("support_module_id", "Support Module ID")
3772 SynchName
= nstring8("synch_name", "Synch Name")
3773 SystemIntervalMarker
= uint32("system_interval_marker", "System Interval Marker")
3775 TabSize
= uint8( "tab_size", "Tab Size" )
3776 TargetClientList
= uint8("target_client_list", "Target Client List")
3777 TargetConnectionNumber
= uint16("target_connection_number", "Target Connection Number")
3778 TargetDirectoryBase
= uint32("target_directory_base", "Target Directory Base")
3779 TargetDirHandle
= uint8("target_dir_handle", "Target Directory Handle")
3780 TargetEntryID
= uint32("target_entry_id", "Target Entry ID")
3781 TargetEntryID
.Display("BASE_HEX")
3782 TargetExecutionTime
= bytes("target_execution_time", "Target Execution Time", 6)
3783 TargetFileHandle
= bytes("target_file_handle", "Target File Handle", 6)
3784 TargetFileOffset
= uint32("target_file_offset", "Target File Offset")
3785 TargetMessage
= nstring8("target_message", "Message")
3786 TargetPrinter
= uint8( "target_ptr", "Target Printer" )
3787 targetReceiveTime
= bytes("target_receive_time", "Target Receive Time", 8)
3788 TargetServerIDNumber
= uint32("target_server_id_number", "Target Server ID Number", BE
)
3789 TargetServerIDNumber
.Display("BASE_HEX")
3790 targetTransmitTime
= bytes("target_transmit_time", "Target Transmit Time", 8)
3791 TaskNumByte
= uint8("task_num_byte", "Task Number")
3792 TaskNumber
= uint32("task_number", "Task Number")
3793 TaskNumberWord
= uint16("task_number_word", "Task Number")
3794 TaskState
= val_string8("task_state", "Task State", [
3796 [ 0x01, "TTS explicit transaction in progress" ],
3797 [ 0x02, "TTS implicit transaction in progress" ],
3798 [ 0x04, "Shared file set lock in progress" ],
3800 TextJobDescription
= fw_string("text_job_description", "Text Job Description", 50)
3801 ThrashingCount
= uint16("thrashing_count", "Thrashing Count")
3802 TimeoutLimit
= uint16("timeout_limit", "Timeout Limit")
3803 TimesyncStatus
= bitfield32("timesync_status_flags", "Timesync Status", [
3804 bf_boolean32(0x00000001, "timesync_status_sync", "Time is Synchronized"),
3805 bf_boolean32(0x00000002, "timesync_status_net_sync", "Time is Synchronized to the Network"),
3806 bf_boolean32(0x00000004, "timesync_status_active", "Time Synchronization is Active"),
3807 bf_boolean32(0x00000008, "timesync_status_external", "External Time Synchronization Active"),
3808 bf_val_str32(0x00000700, "timesync_status_server_type", "Time Server Type", [
3809 [ 0x01, "Client Time Server" ],
3810 [ 0x02, "Secondary Time Server" ],
3811 [ 0x03, "Primary Time Server" ],
3812 [ 0x04, "Reference Time Server" ],
3813 [ 0x05, "Single Reference Time Server" ],
3815 bf_boolean32(0x000f0000, "timesync_status_ext_sync", "External Clock Status"),
3817 TimeToNet
= uint16("time_to_net", "Time To Net")
3818 TotalBlocks
= uint32("total_blocks", "Total Blocks")
3819 TotalBlocksToDecompress
= uint32("total_blks_to_dcompress", "Total Blocks To Decompress")
3820 TotalBytesRead
= bytes("user_info_ttl_bytes_rd", "Total Bytes Read", 6)
3821 TotalBytesWritten
= bytes("user_info_ttl_bytes_wrt", "Total Bytes Written", 6)
3822 TotalCacheWrites
= uint32("total_cache_writes", "Total Cache Writes")
3823 TotalChangedFATs
= uint32("total_changed_fats", "Total Changed FAT Entries")
3824 TotalCommonCnts
= uint32("total_common_cnts", "Total Common Counts")
3825 TotalCntBlocks
= uint32("total_cnt_blocks", "Total Count Blocks")
3826 TotalDataStreamDiskSpaceAlloc
= uint32("ttl_data_str_size_space_alloc", "Total Data Stream Disk Space Alloc")
3827 TotalDirectorySlots
= uint16("total_directory_slots", "Total Directory Slots")
3828 TotalDirectoryEntries
= uint32("total_dir_entries", "Total Directory Entries")
3829 TotalDynamicSpace
= uint32("total_dynamic_space", "Total Dynamic Space")
3830 TotalExtendedDirectoryExtents
= uint32("total_extended_directory_extents", "Total Extended Directory Extents")
3831 TotalFileServicePackets
= uint32("total_file_service_packets", "Total File Service Packets")
3832 TotalFilesOpened
= uint32("total_files_opened", "Total Files Opened")
3833 TotalLFSCounters
= uint32("total_lfs_counters", "Total LFS Counters")
3834 TotalOffspring
= uint16("total_offspring", "Total Offspring")
3835 TotalOtherPackets
= uint32("total_other_packets", "Total Other Packets")
3836 TotalQueueJobs
= uint32("total_queue_jobs", "Total Queue Jobs")
3837 TotalReadRequests
= uint32("total_read_requests", "Total Read Requests")
3838 TotalRequest
= uint32("total_request", "Total Requests")
3839 TotalRequestPackets
= uint32("total_request_packets", "Total Request Packets")
3840 TotalRoutedPackets
= uint32("total_routed_packets", "Total Routed Packets")
3841 TotalRxPkts
= uint32("total_rx_pkts", "Total Receive Packets")
3842 TotalServerMemory
= uint16("total_server_memory", "Total Server Memory", BE
)
3843 TotalTransactionsBackedOut
= uint32("total_trans_backed_out", "Total Transactions Backed Out")
3844 TotalTransactionsPerformed
= uint32("total_trans_performed", "Total Transactions Performed")
3845 TotalTxPkts
= uint32("total_tx_pkts", "Total Transmit Packets")
3846 TotalUnfilledBackoutRequests
= uint16("total_unfilled_backout_requests", "Total Unfilled Backout Requests")
3847 TotalVolumeClusters
= uint16("total_volume_clusters", "Total Volume Clusters")
3848 TotalWriteRequests
= uint32("total_write_requests", "Total Write Requests")
3849 TotalWriteTransactionsPerformed
= uint32("total_write_trans_performed", "Total Write Transactions Performed")
3850 TrackOnFlag
= boolean8("track_on_flag", "Track On Flag")
3851 TransactionDiskSpace
= uint16("transaction_disk_space", "Transaction Disk Space")
3852 TransactionFATAllocations
= uint32("transaction_fat_allocations", "Transaction FAT Allocations")
3853 TransactionFileSizeChanges
= uint32("transaction_file_size_changes", "Transaction File Size Changes")
3854 TransactionFilesTruncated
= uint32("transaction_files_truncated", "Transaction Files Truncated")
3855 TransactionNumber
= uint32("transaction_number", "Transaction Number")
3856 TransactionTrackingEnabled
= uint8("transaction_tracking_enabled", "Transaction Tracking Enabled")
3857 TransactionTrackingFlag
= uint16("tts_flag", "Transaction Tracking Flag")
3858 TransactionTrackingSupported
= uint8("transaction_tracking_supported", "Transaction Tracking Supported")
3859 TransactionVolumeNumber
= uint16("transaction_volume_number", "Transaction Volume Number")
3860 TransportType
= val_string8("transport_type", "Communications Type", [
3861 [ 0x01, "Internet Packet Exchange (IPX)" ],
3862 [ 0x05, "User Datagram Protocol (UDP)" ],
3863 [ 0x06, "Transmission Control Protocol (TCP)" ],
3865 TreeLength
= uint32("tree_length", "Tree Length")
3866 TreeName
= nstring32("tree_name", "Tree Name")
3867 TreeName
.NWUnicode()
3868 TrusteeAccessMask
= uint8("trustee_acc_mask", "Trustee Access Mask")
3869 TrusteeRights
= bitfield16("trustee_rights_low", "Trustee Rights", [
3870 bf_boolean16(0x0001, "trustee_rights_read", "Read"),
3871 bf_boolean16(0x0002, "trustee_rights_write", "Write"),
3872 bf_boolean16(0x0004, "trustee_rights_open", "Open"),
3873 bf_boolean16(0x0008, "trustee_rights_create", "Create"),
3874 bf_boolean16(0x0010, "trustee_rights_del", "Delete"),
3875 bf_boolean16(0x0020, "trustee_rights_parent", "Parental"),
3876 bf_boolean16(0x0040, "trustee_rights_search", "Search"),
3877 bf_boolean16(0x0080, "trustee_rights_modify", "Modify"),
3878 bf_boolean16(0x0100, "trustee_rights_super", "Supervisor"),
3880 TTSLevel
= uint8("tts_level", "TTS Level")
3881 TrusteeSetNumber
= uint8("trustee_set_number", "Trustee Set Number")
3882 TrusteeID
= uint32("trustee_id_set", "Trustee ID")
3883 TrusteeID
.Display("BASE_HEX")
3884 ttlCompBlks
= uint32("ttl_comp_blks", "Total Compression Blocks")
3885 TtlDSDskSpaceAlloc
= uint32("ttl_ds_disk_space_alloc", "Total Streams Space Allocated")
3886 TtlEAs
= uint32("ttl_eas", "Total EA's")
3887 TtlEAsDataSize
= uint32("ttl_eas_data_size", "Total EA's Data Size")
3888 TtlEAsKeySize
= uint32("ttl_eas_key_size", "Total EA's Key Size")
3889 ttlIntermediateBlks
= uint32("ttl_inter_blks", "Total Intermediate Blocks")
3890 TtlMigratedSize
= uint32("ttl_migrated_size", "Total Migrated Size")
3891 TtlNumOfRTags
= uint32("ttl_num_of_r_tags", "Total Number of Resource Tags")
3892 TtlNumOfSetCmds
= uint32("ttl_num_of_set_cmds", "Total Number of Set Commands")
3893 TtlValuesLength
= uint32("ttl_values_length", "Total Values Length")
3894 TtlWriteDataSize
= uint32("ttl_write_data_size", "Total Write Data Size")
3895 TurboUsedForFileService
= uint16("turbo_used_for_file_service", "Turbo Used For File Service")
3897 UnclaimedPkts
= uint32("un_claimed_packets", "Unclaimed Packets")
3898 UnCompressableDataStreamsCount
= uint32("un_compressable_data_streams_count", "Uncompressable Data Streams Count")
3899 Undefined8
= bytes("undefined_8", "Undefined", 8)
3900 Undefined28
= bytes("undefined_28", "Undefined", 28)
3901 UndefinedWord
= uint16("undefined_word", "Undefined")
3902 UniqueID
= uint8("unique_id", "Unique ID")
3903 UnknownByte
= uint8("unknown_byte", "Unknown Byte")
3904 Unused
= uint8("un_used", "Unused")
3905 UnusedBlocks
= uint32("unused_blocks", "Unused Blocks")
3906 UnUsedDirectoryEntries
= uint32("un_used_directory_entries", "Unused Directory Entries")
3907 UnusedDiskBlocks
= uint32("unused_disk_blocks", "Unused Disk Blocks")
3908 UnUsedExtendedDirectoryExtents
= uint32("un_used_extended_directory_extents", "Unused Extended Directory Extents")
3909 UpdateDate
= uint16("update_date", "Update Date")
3911 UpdateID
= uint32("update_id", "Update ID", BE
)
3912 UpdateID
.Display("BASE_HEX")
3913 UpdateTime
= uint16("update_time", "Update Time")
3915 UseCount
= val_string16("user_info_use_count", "Use Count", [
3916 [ 0x0000, "Connection is not in use" ],
3917 [ 0x0001, "Connection is in use" ],
3919 UsedBlocks
= uint32("used_blocks", "Used Blocks")
3920 UserID
= uint32("user_id", "User ID", BE
)
3921 UserID
.Display("BASE_HEX")
3922 UserLoginAllowed
= val_string8("user_login_allowed", "Login Status", [
3923 [ 0x00, "Client Login Disabled" ],
3924 [ 0x01, "Client Login Enabled" ],
3927 UserName
= nstring8("user_name", "User Name")
3928 UserName16
= fw_string("user_name_16", "User Name", 16)
3929 UserName48
= fw_string("user_name_48", "User Name", 48)
3930 UserType
= uint16("user_type", "User Type")
3931 UTCTimeInSeconds
= uint32("uts_time_in_seconds", "UTC Time in Seconds")
3933 ValueAvailable
= val_string8("value_available", "Value Available", [
3934 [ 0x00, "Has No Value" ],
3935 [ 0xff, "Has Value" ],
3937 VAPVersion
= uint8("vap_version", "VAP Version")
3938 VariableBitMask
= uint32("variable_bit_mask", "Variable Bit Mask")
3939 VariableBitsDefined
= uint16("variable_bits_defined", "Variable Bits Defined")
3940 VConsoleRevision
= uint8("vconsole_rev", "Console Revision")
3941 VConsoleVersion
= uint8("vconsole_ver", "Console Version")
3942 Verb
= uint32("verb", "Verb")
3943 VerbData
= uint8("verb_data", "Verb Data")
3944 version
= uint32("version", "Version")
3945 VersionNumber
= uint8("version_number", "Version")
3946 VersionNumberLong
= uint32("version_num_long", "Version")
3947 VertLocation
= uint16("vert_location", "Vertical Location")
3948 VirtualConsoleVersion
= uint8("virtual_console_version", "Virtual Console Version")
3949 VolumeID
= uint32("volume_id", "Volume ID")
3950 VolumeID
.Display("BASE_HEX")
3951 VolInfoReplyLen
= uint16("vol_info_reply_len", "Volume Information Reply Length")
3952 VolumeCapabilities
= bitfield32("volume_capabilities", "Volume Capabilities", [
3953 bf_boolean32(0x00000001, "vol_cap_user_space", "NetWare User Space Restrictions Supported"),
3954 bf_boolean32(0x00000002, "vol_cap_dir_quota", "NetWare Directory Quotas Supported"),
3955 bf_boolean32(0x00000004, "vol_cap_dfs", "DFS is Active on Volume"),
3956 bf_boolean32(0x00000008, "vol_cap_sal_purge", "NetWare Salvage and Purge Operations Supported"),
3957 bf_boolean32(0x00000010, "vol_cap_comp", "NetWare Compression Supported"),
3958 bf_boolean32(0x00000020, "vol_cap_cluster", "Volume is a Cluster Resource"),
3959 bf_boolean32(0x00000040, "vol_cap_nss_admin", "Volume is the NSS Admin Volume"),
3960 bf_boolean32(0x00000080, "vol_cap_nss", "Volume is Mounted by NSS"),
3961 bf_boolean32(0x00000100, "vol_cap_ea", "OS2 style EA's Supported"),
3962 bf_boolean32(0x00000200, "vol_cap_archive", "NetWare Archive bit Supported"),
3963 bf_boolean32(0x00000400, "vol_cap_file_attr", "Full NetWare file Attributes Supported"),
3965 VolumeCachedFlag
= val_string8("volume_cached_flag", "Volume Cached Flag", [
3966 [ 0x00, "Volume is Not Cached" ],
3967 [ 0xff, "Volume is Cached" ],
3969 VolumeDataStreams
= uint8("volume_data_streams", "Volume Data Streams")
3970 VolumeGUID
= stringz("volume_guid", "Volume GUID")
3971 VolumeHashedFlag
= val_string8("volume_hashed_flag", "Volume Hashed Flag", [
3972 [ 0x00, "Volume is Not Hashed" ],
3973 [ 0xff, "Volume is Hashed" ],
3975 VolumeLastModifiedDate
= uint16("volume_last_modified_date", "Volume Last Modified Date")
3976 VolumeLastModifiedDate
.NWDate()
3977 VolumeLastModifiedTime
= uint16("volume_last_modified_time", "Volume Last Modified Time")
3978 VolumeLastModifiedTime
.NWTime()
3979 VolumeMountedFlag
= val_string8("volume_mounted_flag", "Volume Mounted Flag", [
3980 [ 0x00, "Volume is Not Mounted" ],
3981 [ 0xff, "Volume is Mounted" ],
3983 VolumeMountPoint
= stringz("volume_mnt_point", "Volume Mount Point")
3984 VolumeName
= fw_string("volume_name", "Volume Name", 16)
3985 VolumeNameLen
= nstring8("volume_name_len", "Volume Name")
3986 VolumeNameSpaces
= uint8("volume_name_spaces", "Volume Name Spaces")
3987 VolumeNameStringz
= stringz("vol_name_stringz", "Volume Name")
3988 VolumeNumber
= uint8("volume_number", "Volume Number")
3989 VolumeNumberLong
= uint32("volume_number_long", "Volume Number")
3990 VolumeRemovableFlag
= val_string8("volume_removable_flag", "Volume Removable Flag", [
3991 [ 0x00, "Disk Cannot be Removed from Server" ],
3992 [ 0xff, "Disk Can be Removed from Server" ],
3994 VolumeRequestFlags
= val_string16("volume_request_flags", "Volume Request Flags", [
3995 [ 0x0000, "Do not return name with volume number" ],
3996 [ 0x0001, "Return name with volume number" ],
3998 VolumeSizeInClusters
= uint32("volume_size_in_clusters", "Volume Size in Clusters")
3999 VolumesSupportedMax
= uint16("volumes_supported_max", "Volumes Supported Max")
4000 VolumeType
= val_string16("volume_type", "Volume Type", [
4001 [ 0x0000, "NetWare 386" ],
4002 [ 0x0001, "NetWare 286" ],
4003 [ 0x0002, "NetWare 386 Version 30" ],
4004 [ 0x0003, "NetWare 386 Version 31" ],
4006 WastedServerMemory
= uint16("wasted_server_memory", "Wasted Server Memory", BE
)
4007 WaitTime
= uint32("wait_time", "Wait Time")
4009 Year
= val_string8("year", "Year",[
4091 ##############################################################################
4093 ##############################################################################
4096 acctngInfo
= struct("acctng_info_struct", [
4100 HeldConnectTimeInMinutes
,
4104 ],"Accounting Information")
4105 AFP10Struct
= struct("afp_10_struct", [
4129 ], "AFP Information" )
4130 AFP20Struct
= struct("afp_20_struct", [
4156 ], "AFP Information" )
4157 ArchiveDateStruct
= struct("archive_date_struct", [
4160 ArchiveIdStruct
= struct("archive_id_struct", [
4163 ArchiveInfoStruct
= struct("archive_info_struct", [
4167 ], "Archive Information")
4168 ArchiveTimeStruct
= struct("archive_time_struct", [
4171 AttributesStruct
= struct("attributes_struct", [
4175 authInfo
= struct("auth_info_struct", [
4180 BoardNameStruct
= struct("board_name_struct", [
4185 CacheInfo
= struct("cache_info", [
4186 uint32("max_byte_cnt", "Maximum Byte Count"),
4187 uint32("min_num_of_cache_buff", "Minimum Number Of Cache Buffers"),
4188 uint32("min_cache_report_thresh", "Minimum Cache Report Threshold"),
4189 uint32("alloc_waiting", "Allocate Waiting Count"),
4190 uint32("ndirty_blocks", "Number of Dirty Blocks"),
4191 uint32("cache_dirty_wait_time", "Cache Dirty Wait Time"),
4192 uint32("cache_max_concur_writes", "Cache Maximum Concurrent Writes"),
4193 uint32("max_dirty_time", "Maximum Dirty Time"),
4194 uint32("num_dir_cache_buff", "Number Of Directory Cache Buffers"),
4195 uint32("cache_byte_to_block", "Cache Byte To Block Shift Factor"),
4196 ], "Cache Information")
4197 CommonLanStruc
= struct("common_lan_struct", [
4198 boolean8("not_supported_mask", "Bit Counter Supported"),
4200 uint32("total_tx_packet_count", "Total Transmit Packet Count"),
4201 uint32("total_rx_packet_count", "Total Receive Packet Count"),
4202 uint32("no_ecb_available_count", "No ECB Available Count"),
4203 uint32("packet_tx_too_big_count", "Transmit Packet Too Big Count"),
4204 uint32("packet_tx_too_small_count", "Transmit Packet Too Small Count"),
4205 uint32("packet_rx_overflow_count", "Receive Packet Overflow Count"),
4206 uint32("packet_rx_too_big_count", "Receive Packet Too Big Count"),
4207 uint32("packet_rs_too_small_count", "Receive Packet Too Small Count"),
4208 uint32("packet_tx_misc_error_count", "Transmit Packet Misc Error Count"),
4209 uint32("packet_rx_misc_error_count", "Receive Packet Misc Error Count"),
4210 uint32("retry_tx_count", "Transmit Retry Count"),
4211 uint32("checksum_error_count", "Checksum Error Count"),
4212 uint32("hardware_rx_mismatch_count", "Hardware Receive Mismatch Count"),
4213 ], "Common LAN Information")
4214 CompDeCompStat
= struct("comp_d_comp_stat", [
4215 uint32("cmphitickhigh", "Compress High Tick"),
4216 uint32("cmphitickcnt", "Compress High Tick Count"),
4217 uint32("cmpbyteincount", "Compress Byte In Count"),
4218 uint32("cmpbyteoutcnt", "Compress Byte Out Count"),
4219 uint32("cmphibyteincnt", "Compress High Byte In Count"),
4220 uint32("cmphibyteoutcnt", "Compress High Byte Out Count"),
4221 uint32("decphitickhigh", "DeCompress High Tick"),
4222 uint32("decphitickcnt", "DeCompress High Tick Count"),
4223 uint32("decpbyteincount", "DeCompress Byte In Count"),
4224 uint32("decpbyteoutcnt", "DeCompress Byte Out Count"),
4225 uint32("decphibyteincnt", "DeCompress High Byte In Count"),
4226 uint32("decphibyteoutcnt", "DeCompress High Byte Out Count"),
4227 ], "Compression/Decompression Information")
4228 ConnFileStruct
= struct("conn_file_struct", [
4229 ConnectionNumberWord
,
4234 ], "File Connection Information")
4235 ConnStruct
= struct("conn_struct", [
4241 DirectoryEntryNumberWord
,
4243 ], "Connection Information")
4244 ConnTaskStruct
= struct("conn_task_struct", [
4245 ConnectionNumberByte
,
4247 ], "Task Information")
4248 Counters
= struct("counters_struct", [
4249 uint32("read_exist_blck", "Read Existing Block Count"),
4250 uint32("read_exist_write_wait", "Read Existing Write Wait Count"),
4251 uint32("read_exist_part_read", "Read Existing Partial Read Count"),
4252 uint32("read_exist_read_err", "Read Existing Read Error Count"),
4253 uint32("wrt_blck_cnt", "Write Block Count"),
4254 uint32("wrt_entire_blck", "Write Entire Block Count"),
4255 uint32("internl_dsk_get", "Internal Disk Get Count"),
4256 uint32("internl_dsk_get_need_to_alloc", "Internal Disk Get Need To Allocate Count"),
4257 uint32("internl_dsk_get_someone_beat", "Internal Disk Get Someone Beat My Count"),
4258 uint32("internl_dsk_get_part_read", "Internal Disk Get Partial Read Count"),
4259 uint32("internl_dsk_get_read_err", "Internal Disk Get Read Error Count"),
4260 uint32("async_internl_dsk_get", "Async Internal Disk Get Count"),
4261 uint32("async_internl_dsk_get_need_to_alloc", "Async Internal Disk Get Need To Alloc"),
4262 uint32("async_internl_dsk_get_someone_beat", "Async Internal Disk Get Someone Beat Me"),
4263 uint32("err_doing_async_read", "Error Doing Async Read Count"),
4264 uint32("internl_dsk_get_no_read", "Internal Disk Get No Read Count"),
4265 uint32("internl_dsk_get_no_read_alloc", "Internal Disk Get No Read Allocate Count"),
4266 uint32("internl_dsk_get_no_read_someone_beat", "Internal Disk Get No Read Someone Beat Me Count"),
4267 uint32("internl_dsk_write", "Internal Disk Write Count"),
4268 uint32("internl_dsk_write_alloc", "Internal Disk Write Allocate Count"),
4269 uint32("internl_dsk_write_someone_beat", "Internal Disk Write Someone Beat Me Count"),
4270 uint32("write_err", "Write Error Count"),
4271 uint32("wait_on_sema", "Wait On Semaphore Count"),
4272 uint32("alloc_blck_i_had_to_wait_for", "Allocate Block I Had To Wait For Someone Count"),
4273 uint32("alloc_blck", "Allocate Block Count"),
4274 uint32("alloc_blck_i_had_to_wait", "Allocate Block I Had To Wait Count"),
4275 ], "Disk Counter Information")
4276 CPUInformation
= struct("cpu_information", [
4292 ], "CPU Information")
4293 CreationDateStruct
= struct("creation_date_struct", [
4296 CreationInfoStruct
= struct("creation_info_struct", [
4299 endian(CreatorID
, LE
),
4300 ], "Creation Information")
4301 CreationTimeStruct
= struct("creation_time_struct", [
4304 CustomCntsInfo
= struct("custom_cnts_info", [
4305 CustomVariableValue
,
4307 ], "Custom Counters" )
4308 DataStreamInfo
= struct("data_stream_info", [
4309 AssociatedNameSpace
,
4312 DataStreamSizeStruct
= struct("data_stream_size_struct", [
4315 DirCacheInfo
= struct("dir_cache_info", [
4316 uint32("min_time_since_file_delete", "Minimum Time Since File Delete"),
4317 uint32("abs_min_time_since_file_delete", "Absolute Minimum Time Since File Delete"),
4318 uint32("min_num_of_dir_cache_buff", "Minimum Number Of Directory Cache Buffers"),
4319 uint32("max_num_of_dir_cache_buff", "Maximum Number Of Directory Cache Buffers"),
4320 uint32("num_of_dir_cache_buff", "Number Of Directory Cache Buffers"),
4321 uint32("dc_min_non_ref_time", "DC Minimum Non-Referenced Time"),
4322 uint32("dc_wait_time_before_new_buff", "DC Wait Time Before New Buffer"),
4323 uint32("dc_max_concurrent_writes", "DC Maximum Concurrent Writes"),
4324 uint32("dc_dirty_wait_time", "DC Dirty Wait Time"),
4325 uint32("dc_double_read_flag", "DC Double Read Flag"),
4326 uint32("map_hash_node_count", "Map Hash Node Count"),
4327 uint32("space_restriction_node_count", "Space Restriction Node Count"),
4328 uint32("trustee_list_node_count", "Trustee List Node Count"),
4329 uint32("percent_of_vol_used_by_dirs", "Percent Of Volume Used By Directories"),
4330 ], "Directory Cache Information")
4331 DirEntryStruct
= struct("dir_entry_struct", [
4332 DirectoryEntryNumber
,
4333 DOSDirectoryEntryNumber
,
4335 ], "Directory Entry Information")
4336 DirectoryInstance
= struct("directory_instance", [
4340 DirectoryAttributes
,
4341 DirectoryAccessRights
,
4342 endian(CreationDate
, BE
),
4343 endian(AccessDate
, BE
),
4347 ], "Directory Information")
4348 DMInfoLevel0
= struct("dm_info_level_0", [
4349 uint32("io_flag", "IO Flag"),
4350 uint32("sm_info_size", "Storage Module Information Size"),
4351 uint32("avail_space", "Available Space"),
4352 uint32("used_space", "Used Space"),
4353 stringz("s_module_name", "Storage Module Name"),
4354 uint8("s_m_info", "Storage Media Information"),
4356 DMInfoLevel1
= struct("dm_info_level_1", [
4360 DMInfoLevel2
= struct("dm_info_level_2", [
4363 DOSDirectoryEntryStruct
= struct("dos_directory_entry_struct", [
4380 InheritedRightsMask
,
4381 ], "DOS Directory Information")
4382 DOSFileEntryStruct
= struct("dos_file_entry_struct", [
4402 InheritedRightsMask
,
4407 ], "DOS File Information")
4408 DSSpaceAllocateStruct
= struct("ds_space_alloc_struct", [
4409 DataStreamSpaceAlloc
,
4411 DynMemStruct
= struct("dyn_mem_struct", [
4412 uint32("dyn_mem_struct_total", "Total Dynamic Space" ),
4413 uint32("dyn_mem_struct_max", "Max Used Dynamic Space" ),
4414 uint32("dyn_mem_struct_cur", "Current Used Dynamic Space" ),
4415 ], "Dynamic Memory Information")
4416 EAInfoStruct
= struct("ea_info_struct", [
4420 ], "Extended Attribute Information")
4421 ExtraCacheCntrs
= struct("extra_cache_cntrs", [
4422 uint32("internl_dsk_get_no_wait", "Internal Disk Get No Wait Count"),
4423 uint32("internl_dsk_get_no_wait_need", "Internal Disk Get No Wait Need To Allocate Count"),
4424 uint32("internl_dsk_get_no_wait_no_blk", "Internal Disk Get No Wait No Block Count"),
4425 uint32("id_get_no_read_no_wait", "ID Get No Read No Wait Count"),
4426 uint32("id_get_no_read_no_wait_sema", "ID Get No Read No Wait Semaphored Count"),
4427 uint32("id_get_no_read_no_wait_buffer", "ID Get No Read No Wait No Buffer Count"),
4428 uint32("id_get_no_read_no_wait_alloc", "ID Get No Read No Wait Allocate Count"),
4429 uint32("id_get_no_read_no_wait_no_alloc", "ID Get No Read No Wait No Alloc Count"),
4430 uint32("id_get_no_read_no_wait_no_alloc_sema", "ID Get No Read No Wait No Alloc Semaphored Count"),
4431 uint32("id_get_no_read_no_wait_no_alloc_alloc", "ID Get No Read No Wait No Alloc Allocate Count"),
4432 ], "Extra Cache Counters Information")
4434 FileSize64bitStruct
= struct("file_sz_64bit_struct", [
4438 ReferenceIDStruct
= struct("ref_id_struct", [
4441 NSAttributeStruct
= struct("ns_attrib_struct", [
4444 DStreamActual
= struct("d_stream_actual", [
4445 DataStreamNumberLong
,
4446 DataStreamFATBlocks
,
4448 DStreamLogical
= struct("d_string_logical", [
4449 DataStreamNumberLong
,
4452 LastUpdatedInSecondsStruct
= struct("last_update_in_seconds_struct", [
4453 SecondsRelativeToTheYear2000
,
4455 DOSNameStruct
= struct("dos_name_struct", [
4458 DOSName16Struct
= struct("dos_name_16_struct", [
4461 FlushTimeStruct
= struct("flush_time_struct", [
4464 ParentBaseIDStruct
= struct("parent_base_id_struct", [
4467 MacFinderInfoStruct
= struct("mac_finder_info_struct", [
4470 SiblingCountStruct
= struct("sibling_count_struct", [
4473 EffectiveRightsStruct
= struct("eff_rights_struct", [
4477 MacTimeStruct
= struct("mac_time_struct", [
4483 LastAccessedTimeStruct
= struct("last_access_time_struct", [
4486 FileAttributesStruct
= struct("file_attributes_struct", [
4489 FileInfoStruct
= struct("file_info_struct", [
4491 DirectoryEntryNumber
,
4492 TotalBlocksToDecompress
,
4493 #CurrentBlockBeingDecompressed,
4494 ], "File Information")
4495 FileInstance
= struct("file_instance", [
4502 endian(CreationDate
, BE
),
4503 endian(AccessDate
, BE
),
4504 endian(UpdateDate
, BE
),
4505 endian(UpdateTime
, BE
),
4507 FileNameStruct
= struct("file_name_struct", [
4510 FileName16Struct
= struct("file_name16_struct", [
4513 FileServerCounters
= struct("file_server_counters", [
4514 uint16("too_many_hops", "Too Many Hops"),
4515 uint16("unknown_network", "Unknown Network"),
4516 uint16("no_space_for_service", "No Space For Service"),
4517 uint16("no_receive_buff", "No Receive Buffers"),
4518 uint16("not_my_network", "Not My Network"),
4519 uint32("netbios_progated", "NetBIOS Propagated Count"),
4520 uint32("ttl_pckts_srvcd", "Total Packets Serviced"),
4521 uint32("ttl_pckts_routed", "Total Packets Routed"),
4522 ], "File Server Counters")
4523 FileSystemInfo
= struct("file_system_info", [
4524 uint32("fat_moved", "Number of times the OS has move the location of FAT"),
4525 uint32("fat_write_err", "Number of write errors in both original and mirrored copies of FAT"),
4526 uint32("someone_else_did_it_0", "Someone Else Did It Count 0"),
4527 uint32("someone_else_did_it_1", "Someone Else Did It Count 1"),
4528 uint32("someone_else_did_it_2", "Someone Else Did It Count 2"),
4529 uint32("i_ran_out_someone_else_did_it_0", "I Ran Out Someone Else Did It Count 0"),
4530 uint32("i_ran_out_someone_else_did_it_1", "I Ran Out Someone Else Did It Count 1"),
4531 uint32("i_ran_out_someone_else_did_it_2", "I Ran Out Someone Else Did It Count 2"),
4532 uint32("turbo_fat_build_failed", "Turbo FAT Build Failed Count"),
4533 uint32("extra_use_count_node_count", "Errors allocating a use count node for TTS"),
4534 uint32("extra_extra_use_count_node_count", "Errors allocating an additional use count node for TTS"),
4535 uint32("error_read_last_fat", "Error Reading Last FAT Count"),
4536 uint32("someone_else_using_this_file", "Someone Else Using This File Count"),
4537 ], "File System Information")
4538 GenericInfoDef
= struct("generic_info_def", [
4539 fw_string("generic_label", "Label", 64),
4540 uint32("generic_ident_type", "Identification Type"),
4541 uint32("generic_ident_time", "Identification Time"),
4542 uint32("generic_media_type", "Media Type"),
4543 uint32("generic_cartridge_type", "Cartridge Type"),
4544 uint32("generic_unit_size", "Unit Size"),
4545 uint32("generic_block_size", "Block Size"),
4546 uint32("generic_capacity", "Capacity"),
4547 uint32("generic_pref_unit_size", "Preferred Unit Size"),
4548 fw_string("generic_name", "Name",64),
4549 uint32("generic_type", "Type"),
4550 uint32("generic_status", "Status"),
4551 uint32("generic_func_mask", "Function Mask"),
4552 uint32("generic_ctl_mask", "Control Mask"),
4553 uint32("generic_parent_count", "Parent Count"),
4554 uint32("generic_sib_count", "Sibling Count"),
4555 uint32("generic_child_count", "Child Count"),
4556 uint32("generic_spec_info_sz", "Specific Information Size"),
4557 uint32("generic_object_uniq_id", "Unique Object ID"),
4558 uint32("generic_media_slot", "Media Slot"),
4559 ], "Generic Information")
4560 HandleInfoLevel0
= struct("handle_info_level_0", [
4563 HandleInfoLevel1
= struct("handle_info_level_1", [
4566 HandleInfoLevel2
= struct("handle_info_level_2", [
4571 HandleInfoLevel3
= struct("handle_info_level_3", [
4575 HandleInfoLevel4
= struct("handle_info_level_4", [
4578 ParentDirectoryBase
,
4579 ParentDOSDirectoryBase
,
4581 HandleInfoLevel5
= struct("handle_info_level_5", [
4585 ParentDirectoryBase
,
4586 ParentDOSDirectoryBase
,
4588 IPXInformation
= struct("ipx_information", [
4589 uint32("ipx_send_pkt", "IPX Send Packet Count"),
4590 uint16("ipx_malform_pkt", "IPX Malformed Packet Count"),
4591 uint32("ipx_get_ecb_req", "IPX Get ECB Request Count"),
4592 uint32("ipx_get_ecb_fail", "IPX Get ECB Fail Count"),
4593 uint32("ipx_aes_event", "IPX AES Event Count"),
4594 uint16("ipx_postponed_aes", "IPX Postponed AES Count"),
4595 uint16("ipx_max_conf_sock", "IPX Max Configured Socket Count"),
4596 uint16("ipx_max_open_sock", "IPX Max Open Socket Count"),
4597 uint16("ipx_open_sock_fail", "IPX Open Socket Fail Count"),
4598 uint32("ipx_listen_ecb", "IPX Listen ECB Count"),
4599 uint16("ipx_ecb_cancel_fail", "IPX ECB Cancel Fail Count"),
4600 uint16("ipx_get_lcl_targ_fail", "IPX Get Local Target Fail Count"),
4601 ], "IPX Information")
4602 JobEntryTime
= struct("job_entry_time", [
4609 ], "Job Entry Time")
4610 JobStruct3x
= struct("job_struct_3x", [
4615 ClientTaskNumberLong
,
4617 TargetServerIDNumber
,
4618 TargetExecutionTime
,
4623 JobControlFlagsWord
,
4627 ServerTaskNumberLong
,
4631 ], "Job Information")
4632 JobStruct
= struct("job_struct", [
4636 TargetServerIDNumber
,
4637 TargetExecutionTime
,
4650 ], "Job Information")
4651 JobStructNew
= struct("job_struct_new", [
4656 ClientTaskNumberLong
,
4658 TargetServerIDNumber
,
4659 TargetExecutionTime
,
4664 JobControlFlagsWord
,
4668 ServerTaskNumberLong
,
4670 ], "Job Information")
4671 KnownRoutes
= struct("known_routes", [
4677 SrcEnhNWHandlePathS1
= struct("source_nwhandle", [
4683 ], "Source Information")
4684 DstEnhNWHandlePathS1
= struct("destination_nwhandle", [
4690 ], "Destination Information")
4691 KnownServStruc
= struct("known_server_struct", [
4696 LANConfigInfo
= struct("lan_cfg_info", [
4697 LANdriverCFG_MajorVersion
,
4698 LANdriverCFG_MinorVersion
,
4699 LANdriverNodeAddress
,
4702 LANdriverBoardNumber
,
4703 LANdriverBoardInstance
,
4704 LANdriverMaximumSize
,
4705 LANdriverMaxRecvSize
,
4709 LANdriverTransportTime
,
4710 LANdriverSrcRouting
,
4713 LANdriverMajorVersion
,
4714 LANdriverMinorVersion
,
4716 LANdriverSendRetries
,
4718 LANdriverSharingFlags
,
4720 LANdriverIOPortsAndRanges1
,
4721 LANdriverIOPortsAndRanges2
,
4722 LANdriverIOPortsAndRanges3
,
4723 LANdriverIOPortsAndRanges4
,
4724 LANdriverMemoryDecode0
,
4725 LANdriverMemoryLength0
,
4726 LANdriverMemoryDecode1
,
4727 LANdriverMemoryLength1
,
4728 LANdriverInterrupt1
,
4729 LANdriverInterrupt2
,
4732 LANdriverLogicalName
,
4733 LANdriverIOReserved
,
4735 ], "LAN Configuration Information")
4736 LastAccessStruct
= struct("last_access_struct", [
4739 lockInfo
= struct("lock_info_struct", [
4740 LogicalLockThreshold
,
4741 PhysicalLockThreshold
,
4744 ], "Lock Information")
4745 LockStruct
= struct("lock_struct", [
4751 LoginTime
= struct("login_time", [
4760 LogLockStruct
= struct("log_lock_struct", [
4765 LogRecStruct
= struct("log_rec_struct", [
4766 ConnectionNumberWord
,
4769 ], "Logical Record Locks")
4770 LSLInformation
= struct("lsl_information", [
4771 uint32("rx_buffers", "Receive Buffers"),
4772 uint32("rx_buffers_75", "Receive Buffers Warning Level"),
4773 uint32("rx_buffers_checked_out", "Receive Buffers Checked Out Count"),
4774 uint32("rx_buffer_size", "Receive Buffer Size"),
4775 uint32("max_phy_packet_size", "Maximum Physical Packet Size"),
4776 uint32("last_time_rx_buff_was_alloc", "Last Time a Receive Buffer was Allocated"),
4777 uint32("max_num_of_protocols", "Maximum Number of Protocols"),
4778 uint32("max_num_of_media_types", "Maximum Number of Media Types"),
4779 uint32("total_tx_packets", "Total Transmit Packets"),
4780 uint32("get_ecb_buf", "Get ECB Buffers"),
4781 uint32("get_ecb_fails", "Get ECB Failures"),
4782 uint32("aes_event_count", "AES Event Count"),
4783 uint32("post_poned_events", "Postponed Events"),
4784 uint32("ecb_cxl_fails", "ECB Cancel Failures"),
4785 uint32("valid_bfrs_reused", "Valid Buffers Reused"),
4786 uint32("enqueued_send_cnt", "Enqueued Send Count"),
4787 uint32("total_rx_packets", "Total Receive Packets"),
4788 uint32("unclaimed_packets", "Unclaimed Packets"),
4789 uint8("stat_table_major_version", "Statistics Table Major Version"),
4790 uint8("stat_table_minor_version", "Statistics Table Minor Version"),
4791 ], "LSL Information")
4792 MaximumSpaceStruct
= struct("max_space_struct", [
4795 MemoryCounters
= struct("memory_counters", [
4796 uint32("orig_num_cache_buff", "Original Number Of Cache Buffers"),
4797 uint32("curr_num_cache_buff", "Current Number Of Cache Buffers"),
4798 uint32("cache_dirty_block_thresh", "Cache Dirty Block Threshold"),
4799 uint32("wait_node", "Wait Node Count"),
4800 uint32("wait_node_alloc_fail", "Wait Node Alloc Failure Count"),
4801 uint32("move_cache_node", "Move Cache Node Count"),
4802 uint32("move_cache_node_from_avai", "Move Cache Node From Avail Count"),
4803 uint32("accel_cache_node_write", "Accelerate Cache Node Write Count"),
4804 uint32("rem_cache_node", "Remove Cache Node Count"),
4805 uint32("rem_cache_node_from_avail", "Remove Cache Node From Avail Count"),
4806 ], "Memory Counters")
4807 MLIDBoardInfo
= struct("mlid_board_info", [
4808 uint32("protocol_board_num", "Protocol Board Number"),
4809 uint16("protocol_number", "Protocol Number"),
4810 bytes("protocol_id", "Protocol ID", 6),
4811 nstring8("protocol_name", "Protocol Name"),
4812 ], "MLID Board Information")
4813 ModifyInfoStruct
= struct("modify_info_struct", [
4816 endian(ModifierID
, LE
),
4818 ], "Modification Information")
4819 nameInfo
= struct("name_info_struct", [
4821 nstring8("login_name", "Login Name"),
4822 ], "Name Information")
4823 NCPNetworkAddress
= struct("ncp_network_address_struct", [
4827 ], "Network Address")
4829 netAddr
= struct("net_addr_struct", [
4831 nbytes32("transport_addr", "Transport Address"),
4832 ], "Network Address")
4834 NetWareInformationStruct
= struct("netware_information_struct", [
4835 DataStreamSpaceAlloc
, # (Data Stream Alloc Bit)
4836 AttributesDef32
, # (Attributes Bit)
4838 DataStreamSize
, # (Data Stream Size Bit)
4839 TotalDataStreamDiskSpaceAlloc
, # (Total Stream Size Bit)
4840 NumberOfDataStreams
,
4841 CreationTime
, # (Creation Bit)
4844 ModifiedTime
, # (Modify Bit)
4848 ArchivedTime
, # (Archive Bit)
4851 InheritedRightsMask
, # (Rights Bit)
4852 DirectoryEntryNumber
, # (Directory Entry Bit)
4853 DOSDirectoryEntryNumber
,
4855 EADataSize
, # (Extended Attribute Bit)
4858 CreatorNameSpaceNumber
, # (Name Space Bit)
4860 ], "NetWare Information")
4861 NLMInformation
= struct("nlm_information", [
4862 IdentificationNumber
,
4881 NumberOfReferencedPublics
,
4882 ], "NLM Information")
4883 NSInfoStruct
= struct("ns_info_struct", [
4884 CreatorNameSpaceNumber
,
4887 NWAuditStatus
= struct("nw_audit_status", [
4889 AuditFileVersionDate
,
4890 val_string16("audit_enable_flag", "Auditing Enabled Flag", [
4891 [ 0x0000, "Auditing Disabled" ],
4892 [ 0x0001, "Auditing Enabled" ],
4895 uint32("audit_file_size", "Audit File Size"),
4896 uint32("modified_counter", "Modified Counter"),
4897 uint32("audit_file_max_size", "Audit File Maximum Size"),
4898 uint32("audit_file_size_threshold", "Audit File Size Threshold"),
4899 uint32("audit_record_count", "Audit Record Count"),
4900 uint32("auditing_flags", "Auditing Flags"),
4901 ], "NetWare Audit Status")
4902 ObjectSecurityStruct
= struct("object_security_struct", [
4905 ObjectFlagsStruct
= struct("object_flags_struct", [
4908 ObjectTypeStruct
= struct("object_type_struct", [
4909 endian(ObjectType
, BE
),
4912 ObjectNameStruct
= struct("object_name_struct", [
4915 ObjectIDStruct
= struct("object_id_struct", [
4919 OpnFilesStruct
= struct("opn_files_struct", [
4925 DOSParentDirectoryEntry
,
4930 ], "Open Files Information")
4931 OwnerIDStruct
= struct("owner_id_struct", [
4934 PacketBurstInformation
= struct("packet_burst_information", [
4935 uint32("big_invalid_slot", "Big Invalid Slot Count"),
4936 uint32("big_forged_packet", "Big Forged Packet Count"),
4937 uint32("big_invalid_packet", "Big Invalid Packet Count"),
4938 uint32("big_still_transmitting", "Big Still Transmitting Count"),
4939 uint32("still_doing_the_last_req", "Still Doing The Last Request Count"),
4940 uint32("invalid_control_req", "Invalid Control Request Count"),
4941 uint32("control_invalid_message_number", "Control Invalid Message Number Count"),
4942 uint32("control_being_torn_down", "Control Being Torn Down Count"),
4943 uint32("big_repeat_the_file_read", "Big Repeat the File Read Count"),
4944 uint32("big_send_extra_cc_count", "Big Send Extra CC Count"),
4945 uint32("big_return_abort_mess", "Big Return Abort Message Count"),
4946 uint32("big_read_invalid_mess", "Big Read Invalid Message Number Count"),
4947 uint32("big_read_do_it_over", "Big Read Do It Over Count"),
4948 uint32("big_read_being_torn_down", "Big Read Being Torn Down Count"),
4949 uint32("previous_control_packet", "Previous Control Packet Count"),
4950 uint32("send_hold_off_message", "Send Hold Off Message Count"),
4951 uint32("big_read_no_data_avail", "Big Read No Data Available Count"),
4952 uint32("big_read_trying_to_read", "Big Read Trying To Read Too Much Count"),
4953 uint32("async_read_error", "Async Read Error Count"),
4954 uint32("big_read_phy_read_err", "Big Read Physical Read Error Count"),
4955 uint32("ctl_bad_ack_frag_list", "Control Bad ACK Fragment List Count"),
4956 uint32("ctl_no_data_read", "Control No Data Read Count"),
4957 uint32("write_dup_req", "Write Duplicate Request Count"),
4958 uint32("shouldnt_be_ack_here", "Shouldn't Be ACKing Here Count"),
4959 uint32("write_incon_packet_len", "Write Inconsistent Packet Lengths Count"),
4960 uint32("first_packet_isnt_a_write", "First Packet Isn't A Write Count"),
4961 uint32("write_trash_dup_req", "Write Trashed Duplicate Request Count"),
4962 uint32("big_write_inv_message_num", "Big Write Invalid Message Number Count"),
4963 uint32("big_write_being_torn_down", "Big Write Being Torn Down Count"),
4964 uint32("big_write_being_abort", "Big Write Being Aborted Count"),
4965 uint32("zero_ack_frag", "Zero ACK Fragment Count"),
4966 uint32("write_curr_trans", "Write Currently Transmitting Count"),
4967 uint32("try_to_write_too_much", "Trying To Write Too Much Count"),
4968 uint32("write_out_of_mem_for_ctl_nodes", "Write Out Of Memory For Control Nodes Count"),
4969 uint32("write_didnt_need_this_frag", "Write Didn't Need This Fragment Count"),
4970 uint32("write_too_many_buf_check", "Write Too Many Buffers Checked Out Count"),
4971 uint32("write_timeout", "Write Time Out Count"),
4972 uint32("write_got_an_ack0", "Write Got An ACK Count 0"),
4973 uint32("write_got_an_ack1", "Write Got An ACK Count 1"),
4974 uint32("poll_abort_conn", "Poller Aborted The Connection Count"),
4975 uint32("may_had_out_of_order", "Maybe Had Out Of Order Writes Count"),
4976 uint32("had_an_out_of_order", "Had An Out Of Order Write Count"),
4977 uint32("moved_the_ack_bit_dn", "Moved The ACK Bit Down Count"),
4978 uint32("bumped_out_of_order", "Bumped Out Of Order Write Count"),
4979 uint32("poll_rem_old_out_of_order", "Poller Removed Old Out Of Order Count"),
4980 uint32("write_didnt_need_but_req_ack", "Write Didn't Need But Requested ACK Count"),
4981 uint32("write_trash_packet", "Write Trashed Packet Count"),
4982 uint32("too_many_ack_frag", "Too Many ACK Fragments Count"),
4983 uint32("saved_an_out_of_order_packet", "Saved An Out Of Order Packet Count"),
4984 uint32("conn_being_aborted", "Connection Being Aborted Count"),
4985 ], "Packet Burst Information")
4987 PadDSSpaceAllocate
= struct("pad_ds_space_alloc", [
4990 PadAttributes
= struct("pad_attributes", [
4993 PadDataStreamSize
= struct("pad_data_stream_size", [
4996 PadTotalStreamSize
= struct("pad_total_stream_size", [
4999 PadCreationInfo
= struct("pad_creation_info", [
5002 PadModifyInfo
= struct("pad_modify_info", [
5005 PadArchiveInfo
= struct("pad_archive_info", [
5008 PadRightsInfo
= struct("pad_rights_info", [
5011 PadDirEntry
= struct("pad_dir_entry", [
5014 PadEAInfo
= struct("pad_ea_info", [
5017 PadNSInfo
= struct("pad_ns_info", [
5020 PhyLockStruct
= struct("phy_lock_struct", [
5025 LogicalConnectionNumber
,
5028 ], "Physical Locks")
5029 printInfo
= struct("print_info_struct", [
5037 ], "Print Information")
5038 ReplyLevel1Struct
= struct("reply_lvl_1_struct", [
5043 ReplyLevel2Struct
= struct("reply_lvl_2_struct", [
5050 RightsInfoStruct
= struct("rights_info_struct", [
5051 InheritedRightsMask
,
5053 RoutersInfo
= struct("routers_info", [
5054 bytes("node", "Node", 6),
5056 uint16("route_hops", "Hop Count"),
5057 uint16("route_time", "Route Time"),
5058 ], "Router Information")
5059 RTagStructure
= struct("r_tag_struct", [
5065 ScanInfoFileName
= struct("scan_info_file_name", [
5066 SalvageableFileEntryNumber
,
5069 ScanInfoFileNoName
= struct("scan_info_file_no_name", [
5070 SalvageableFileEntryNumber
,
5072 SeachSequenceStruct
= struct("search_seq", [
5074 DirectoryEntryNumber
,
5076 ], "Search Sequence")
5077 Segments
= struct("segments", [
5078 uint32("volume_segment_dev_num", "Volume Segment Device Number"),
5079 uint32("volume_segment_offset", "Volume Segment Offset"),
5080 uint32("volume_segment_size", "Volume Segment Size"),
5081 ], "Volume Segment Information")
5082 SemaInfoStruct
= struct("sema_info_struct", [
5083 LogicalConnectionNumber
,
5086 SemaStruct
= struct("sema_struct", [
5091 ], "Semaphore Information")
5092 ServerInfo
= struct("server_info", [
5093 uint32("reply_canceled", "Reply Canceled Count"),
5094 uint32("write_held_off", "Write Held Off Count"),
5095 uint32("write_held_off_with_dup", "Write Held Off With Duplicate Request"),
5096 uint32("invalid_req_type", "Invalid Request Type Count"),
5097 uint32("being_aborted", "Being Aborted Count"),
5098 uint32("already_doing_realloc", "Already Doing Re-Allocate Count"),
5099 uint32("dealloc_invalid_slot", "De-Allocate Invalid Slot Count"),
5100 uint32("dealloc_being_proc", "De-Allocate Being Processed Count"),
5101 uint32("dealloc_forged_packet", "De-Allocate Forged Packet Count"),
5102 uint32("dealloc_still_transmit", "De-Allocate Still Transmitting Count"),
5103 uint32("start_station_error", "Start Station Error Count"),
5104 uint32("invalid_slot", "Invalid Slot Count"),
5105 uint32("being_processed", "Being Processed Count"),
5106 uint32("forged_packet", "Forged Packet Count"),
5107 uint32("still_transmitting", "Still Transmitting Count"),
5108 uint32("reexecute_request", "Re-Execute Request Count"),
5109 uint32("invalid_sequence_number", "Invalid Sequence Number Count"),
5110 uint32("dup_is_being_sent", "Duplicate Is Being Sent Already Count"),
5111 uint32("sent_pos_ack", "Sent Positive Acknowledge Count"),
5112 uint32("sent_a_dup_reply", "Sent A Duplicate Reply Count"),
5113 uint32("no_mem_for_station", "No Memory For Station Control Count"),
5114 uint32("no_avail_conns", "No Available Connections Count"),
5115 uint32("realloc_slot", "Re-Allocate Slot Count"),
5116 uint32("realloc_slot_came_too_soon", "Re-Allocate Slot Came Too Soon Count"),
5117 ], "Server Information")
5118 ServersSrcInfo
= struct("servers_src_info", [
5122 ], "Source Server Information")
5123 SpaceStruct
= struct("space_struct", [
5127 ], "Space Information")
5128 SPXInformation
= struct("spx_information", [
5129 uint16("spx_max_conn", "SPX Max Connections Count"),
5130 uint16("spx_max_used_conn", "SPX Max Used Connections"),
5131 uint16("spx_est_conn_req", "SPX Establish Connection Requests"),
5132 uint16("spx_est_conn_fail", "SPX Establish Connection Fail"),
5133 uint16("spx_listen_con_req", "SPX Listen Connect Request"),
5134 uint16("spx_listen_con_fail", "SPX Listen Connect Fail"),
5135 uint32("spx_send", "SPX Send Count"),
5136 uint32("spx_window_choke", "SPX Window Choke Count"),
5137 uint16("spx_bad_send", "SPX Bad Send Count"),
5138 uint16("spx_send_fail", "SPX Send Fail Count"),
5139 uint16("spx_abort_conn", "SPX Aborted Connection"),
5140 uint32("spx_listen_pkt", "SPX Listen Packet Count"),
5141 uint16("spx_bad_listen", "SPX Bad Listen Count"),
5142 uint32("spx_incoming_pkt", "SPX Incoming Packet Count"),
5143 uint16("spx_bad_in_pkt", "SPX Bad In Packet Count"),
5144 uint16("spx_supp_pkt", "SPX Suppressed Packet Count"),
5145 uint16("spx_no_ses_listen", "SPX No Session Listen ECB Count"),
5146 uint16("spx_watch_dog", "SPX Watch Dog Destination Session Count"),
5147 ], "SPX Information")
5148 StackInfo
= struct("stack_info", [
5150 fw_string("stack_short_name", "Stack Short Name", 16),
5151 ], "Stack Information")
5152 statsInfo
= struct("stats_info_struct", [
5157 TaskStruct
= struct("task_struct", [
5160 ], "Task Information")
5161 theTimeStruct
= struct("the_time_struct", [
5166 timeInfo
= struct("time_info", [
5174 uint32("login_expiration_time", "Login Expiration Time"),
5176 TotalStreamSizeStruct
= struct("total_stream_size_struct", [
5178 NumberOfDataStreams
,
5180 TrendCounters
= struct("trend_counters", [
5181 uint32("num_of_cache_checks", "Number Of Cache Checks"),
5182 uint32("num_of_cache_hits", "Number Of Cache Hits"),
5183 uint32("num_of_dirty_cache_checks", "Number Of Dirty Cache Checks"),
5184 uint32("num_of_cache_dirty_checks", "Number Of Cache Dirty Checks"),
5185 uint32("cache_used_while_check", "Cache Used While Checking"),
5186 uint32("wait_till_dirty_blcks_dec", "Wait Till Dirty Blocks Decrease Count"),
5187 uint32("alloc_blck_frm_avail", "Allocate Block From Available Count"),
5188 uint32("alloc_blck_frm_lru", "Allocate Block From LRU Count"),
5189 uint32("alloc_blck_already_wait", "Allocate Block Already Waiting"),
5190 uint32("lru_sit_time", "LRU Sitting Time"),
5191 uint32("num_of_cache_check_no_wait", "Number Of Cache Check No Wait"),
5192 uint32("num_of_cache_hits_no_wait", "Number Of Cache Hits No Wait"),
5193 ], "Trend Counters")
5194 TrusteeStruct
= struct("trustee_struct", [
5195 endian(ObjectID
, LE
),
5196 AccessRightsMaskWord
,
5198 UpdateDateStruct
= struct("update_date_struct", [
5201 UpdateIDStruct
= struct("update_id_struct", [
5204 UpdateTimeStruct
= struct("update_time_struct", [
5207 UserInformation
= struct("user_info", [
5208 endian(ConnectionNumber
, LE
),
5211 ConnectionServiceType
,
5224 TransactionTrackingFlag
,
5225 LogicalLockThreshold
,
5237 ], "User Information")
5238 VolInfoStructure
= struct("vol_info_struct", [
5243 SectorsPerClusterLong
,
5244 VolumeSizeInClusters
,
5246 SubAllocFreeableClusters
,
5247 FreeableLimboSectors
,
5248 NonFreeableLimboSectors
,
5249 NonFreeableAvailableSubAllocSectors
,
5250 NotUsableSubAllocSectors
,
5253 LimboDataStreamsCount
,
5254 OldestDeletedFileAgeInTicks
,
5255 CompressedDataStreamsCount
,
5256 CompressedLimboDataStreamsCount
,
5257 UnCompressableDataStreamsCount
,
5258 PreCompressedSectors
,
5263 ClustersUsedByDirectories
,
5264 ClustersUsedByExtendedDirectories
,
5265 TotalDirectoryEntries
,
5266 UnUsedDirectoryEntries
,
5267 TotalExtendedDirectoryExtents
,
5268 UnUsedExtendedDirectoryExtents
,
5269 ExtendedAttributesDefined
,
5270 ExtendedAttributeExtentsUsed
,
5271 DirectoryServicesObjectID
,
5272 VolumeLastModifiedTime
,
5273 VolumeLastModifiedDate
,
5274 ], "Volume Information")
5275 VolInfo2Struct
= struct("vol_info_struct_2", [
5276 uint32("volume_active_count", "Volume Active Count"),
5277 uint32("volume_use_count", "Volume Use Count"),
5278 uint32("mac_root_ids", "MAC Root IDs"),
5279 VolumeLastModifiedTime
,
5280 VolumeLastModifiedDate
,
5281 uint32("volume_reference_count", "Volume Reference Count"),
5282 uint32("compression_lower_limit", "Compression Lower Limit"),
5283 uint32("outstanding_ios", "Outstanding IOs"),
5284 uint32("outstanding_compression_ios", "Outstanding Compression IOs"),
5285 uint32("compression_ios_limit", "Compression IOs Limit"),
5286 ], "Extended Volume Information")
5287 VolumeWithNameStruct
= struct("volume_with_name_struct", [
5291 VolumeStruct
= struct("volume_struct", [
5294 DataStreamsStruct
= struct("number_of_data_streams_struct", [
5295 NumberOfDataStreamsLong
,
5298 ##############################################################################
5300 ##############################################################################
5301 def define_groups():
5302 groups
['accounting'] = "Accounting"
5303 groups
['afp'] = "AFP"
5304 groups
['auditing'] = "Auditing"
5305 groups
['bindery'] = "Bindery"
5306 groups
['connection'] = "Connection"
5307 groups
['enhanced'] = "Enhanced File System"
5308 groups
['extended'] = "Extended Attribute"
5309 groups
['extension'] = "NCP Extension"
5310 groups
['file'] = "File System"
5311 groups
['fileserver'] = "File Server Environment"
5312 groups
['message'] = "Message"
5313 groups
['migration'] = "Data Migration"
5314 groups
['nds'] = "Novell Directory Services"
5315 groups
['pburst'] = "Packet Burst"
5316 groups
['print'] = "Print"
5317 groups
['remote'] = "Remote"
5318 groups
['sync'] = "Synchronization"
5319 groups
['tsync'] = "Time Synchronization"
5320 groups
['tts'] = "Transaction Tracking"
5321 groups
['qms'] = "Queue Management System (QMS)"
5322 groups
['stats'] = "Server Statistics"
5323 groups
['nmas'] = "Novell Modular Authentication Service"
5324 groups
['sss'] = "SecretStore Services"
5326 ##############################################################################
5328 ##############################################################################
5329 def define_errors():
5330 errors
[0x0000] = "Ok"
5331 errors
[0x0001] = "Transaction tracking is available"
5332 errors
[0x0002] = "Ok. The data has been written"
5333 errors
[0x0003] = "Calling Station is a Manager"
5335 errors
[0x0100] = "One or more of the Connection Numbers in the send list are invalid"
5336 errors
[0x0101] = "Invalid space limit"
5337 errors
[0x0102] = "Insufficient disk space"
5338 errors
[0x0103] = "Queue server cannot add jobs"
5339 errors
[0x0104] = "Out of disk space"
5340 errors
[0x0105] = "Semaphore overflow"
5341 errors
[0x0106] = "Invalid Parameter"
5342 errors
[0x0107] = "Invalid Number of Minutes to Delay"
5343 errors
[0x0108] = "Invalid Start or Network Number"
5344 errors
[0x0109] = "Cannot Obtain License"
5345 errors
[0x010a] = "No Purgeable Files Available"
5347 errors
[0x0200] = "One or more clients in the send list are not logged in"
5348 errors
[0x0201] = "Queue server cannot attach"
5350 errors
[0x0300] = "One or more clients in the send list are not accepting messages"
5352 errors
[0x0400] = "Client already has message"
5353 errors
[0x0401] = "Queue server cannot service job"
5355 errors
[0x7300] = "Revoke Handle Rights Not Found"
5356 errors
[0x7700] = "Buffer Too Small"
5357 errors
[0x7900] = "Invalid Parameter in Request Packet"
5358 errors
[0x7901] = "Nothing being Compressed"
5359 errors
[0x7a00] = "Connection Already Temporary"
5360 errors
[0x7b00] = "Connection Already Logged in"
5361 errors
[0x7c00] = "Connection Not Authenticated"
5362 errors
[0x7d00] = "Connection Not Logged In"
5364 errors
[0x7e00] = "NCP failed boundary check"
5365 errors
[0x7e01] = "Invalid Length"
5367 errors
[0x7f00] = "Lock Waiting"
5368 errors
[0x8000] = "Lock fail"
5369 errors
[0x8001] = "File in Use"
5371 errors
[0x8100] = "A file handle could not be allocated by the file server"
5372 errors
[0x8101] = "Out of File Handles"
5374 errors
[0x8200] = "Unauthorized to open the file"
5375 errors
[0x8300] = "Unable to read/write the volume. Possible bad sector on the file server"
5376 errors
[0x8301] = "Hard I/O Error"
5378 errors
[0x8400] = "Unauthorized to create the directory"
5379 errors
[0x8401] = "Unauthorized to create the file"
5381 errors
[0x8500] = "Unauthorized to delete the specified file"
5382 errors
[0x8501] = "Unauthorized to overwrite an existing file in this directory"
5384 errors
[0x8700] = "An unexpected character was encountered in the filename"
5385 errors
[0x8701] = "Create Filename Error"
5387 errors
[0x8800] = "Invalid file handle"
5388 errors
[0x8900] = "Unauthorized to search this file/directory"
5389 errors
[0x8a00] = "Unauthorized to delete this file/directory"
5390 errors
[0x8b00] = "Unauthorized to rename a file in this directory"
5392 errors
[0x8c00] = "No set privileges"
5393 errors
[0x8c01] = "Unauthorized to modify a file in this directory"
5394 errors
[0x8c02] = "Unauthorized to change the restriction on this volume"
5396 errors
[0x8d00] = "Some of the affected files are in use by another client"
5397 errors
[0x8d01] = "The affected file is in use"
5399 errors
[0x8e00] = "All of the affected files are in use by another client"
5400 errors
[0x8f00] = "Some of the affected files are read-only"
5402 errors
[0x9000] = "An attempt to modify a read-only volume occurred"
5403 errors
[0x9001] = "All of the affected files are read-only"
5404 errors
[0x9002] = "Read Only Access to Volume"
5406 errors
[0x9100] = "Some of the affected files already exist"
5407 errors
[0x9101] = "Some Names Exist"
5409 errors
[0x9200] = "Directory with the new name already exists"
5410 errors
[0x9201] = "All of the affected files already exist"
5412 errors
[0x9300] = "Unauthorized to read from this file"
5413 errors
[0x9400] = "Unauthorized to write to this file"
5414 errors
[0x9500] = "The affected file is detached"
5416 errors
[0x9600] = "The file server has run out of memory to service this request"
5417 errors
[0x9601] = "No alloc space for message"
5418 errors
[0x9602] = "Server Out of Space"
5420 errors
[0x9800] = "The affected volume is not mounted"
5421 errors
[0x9801] = "The volume associated with Volume Number is not mounted"
5422 errors
[0x9802] = "The resulting volume does not exist"
5423 errors
[0x9803] = "The destination volume is not mounted"
5424 errors
[0x9804] = "Disk Map Error"
5426 errors
[0x9900] = "The file server has run out of directory space on the affected volume"
5427 errors
[0x9a00] = "Invalid request to rename the affected file to another volume"
5429 errors
[0x9b00] = "DirHandle is not associated with a valid directory path"
5430 errors
[0x9b01] = "A resulting directory handle is not associated with a valid directory path"
5431 errors
[0x9b02] = "The directory associated with DirHandle does not exist"
5432 errors
[0x9b03] = "Bad directory handle"
5434 errors
[0x9c00] = "The resulting path is not valid"
5435 errors
[0x9c01] = "The resulting file path is not valid"
5436 errors
[0x9c02] = "The resulting directory path is not valid"
5437 errors
[0x9c03] = "Invalid path"
5438 errors
[0x9c04] = "No more trustees found, based on requested search sequence number"
5440 errors
[0x9d00] = "A directory handle was not available for allocation"
5442 errors
[0x9e00] = "The name of the directory does not conform to a legal name for this name space"
5443 errors
[0x9e01] = "The new directory name does not conform to a legal name for this name space"
5444 errors
[0x9e02] = "Bad File Name"
5446 errors
[0x9f00] = "The request attempted to delete a directory that is in use by another client"
5448 errors
[0xa000] = "The request attempted to delete a directory that is not empty"
5449 errors
[0xa100] = "An unrecoverable error occurred on the affected directory"
5451 errors
[0xa200] = "The request attempted to read from a file region that is physically locked"
5452 errors
[0xa201] = "I/O Lock Error"
5454 errors
[0xa400] = "Invalid directory rename attempted"
5455 errors
[0xa500] = "Invalid open create mode"
5456 errors
[0xa600] = "Auditor Access has been Removed"
5457 errors
[0xa700] = "Error Auditing Version"
5459 errors
[0xa800] = "Invalid Support Module ID"
5460 errors
[0xa801] = "No Auditing Access Rights"
5461 errors
[0xa802] = "No Access Rights"
5463 errors
[0xa900] = "Error Link in Path"
5464 errors
[0xa901] = "Invalid Path With Junction Present"
5466 errors
[0xaa00] = "Invalid Data Type Flag"
5468 errors
[0xac00] = "Packet Signature Required"
5470 errors
[0xbe00] = "Invalid Data Stream"
5471 errors
[0xbf00] = "Requests for this name space are not valid on this volume"
5473 errors
[0xc000] = "Unauthorized to retrieve accounting data"
5475 errors
[0xc100] = "The ACCOUNT_BALANCE property does not exist"
5476 errors
[0xc101] = "No Account Balance"
5478 errors
[0xc200] = "The object has exceeded its credit limit"
5479 errors
[0xc300] = "Too many holds have been placed against this account"
5480 errors
[0xc400] = "The client account has been disabled"
5482 errors
[0xc500] = "Access to the account has been denied because of intruder detection"
5483 errors
[0xc501] = "Login lockout"
5484 errors
[0xc502] = "Server Login Locked"
5486 errors
[0xc600] = "The caller does not have operator privileges"
5487 errors
[0xc601] = "The client does not have operator privileges"
5489 errors
[0xc800] = "Missing EA Key"
5490 errors
[0xc900] = "EA Not Found"
5491 errors
[0xca00] = "Invalid EA Handle Type"
5492 errors
[0xcb00] = "EA No Key No Data"
5493 errors
[0xcc00] = "EA Number Mismatch"
5494 errors
[0xcd00] = "Extent Number Out of Range"
5495 errors
[0xce00] = "EA Bad Directory Number"
5496 errors
[0xcf00] = "Invalid EA Handle"
5498 errors
[0xd000] = "Queue error"
5499 errors
[0xd001] = "EA Position Out of Range"
5501 errors
[0xd100] = "The queue does not exist"
5502 errors
[0xd101] = "EA Access Denied"
5504 errors
[0xd200] = "A queue server is not associated with this queue"
5505 errors
[0xd201] = "A queue server is not associated with the selected queue"
5506 errors
[0xd202] = "No queue server"
5507 errors
[0xd203] = "Data Page Odd Size"
5509 errors
[0xd300] = "No queue rights"
5510 errors
[0xd301] = "EA Volume Not Mounted"
5512 errors
[0xd400] = "The queue is full and cannot accept another request"
5513 errors
[0xd401] = "The queue associated with ObjectId is full and cannot accept another request"
5514 errors
[0xd402] = "Bad Page Boundary"
5516 errors
[0xd500] = "A job does not exist in this queue"
5517 errors
[0xd501] = "No queue job"
5518 errors
[0xd502] = "The job associated with JobNumber does not exist in this queue"
5519 errors
[0xd503] = "Inspect Failure"
5520 errors
[0xd504] = "Unknown NCP Extension Number"
5522 errors
[0xd600] = "The file server does not allow unencrypted passwords"
5523 errors
[0xd601] = "No job right"
5524 errors
[0xd602] = "EA Already Claimed"
5526 errors
[0xd700] = "Bad account"
5527 errors
[0xd701] = "The old and new password strings are identical"
5528 errors
[0xd702] = "The job is currently being serviced"
5529 errors
[0xd703] = "The queue is currently servicing a job"
5530 errors
[0xd704] = "Queue servicing"
5531 errors
[0xd705] = "Odd Buffer Size"
5533 errors
[0xd800] = "Queue not active"
5534 errors
[0xd801] = "No Scorecards"
5536 errors
[0xd900] = "The file server cannot accept another connection as it has reached its limit"
5537 errors
[0xd901] = "The client is not security equivalent to one of the objects in the Q_SERVERS group property of the target queue"
5538 errors
[0xd902] = "Queue Station is not a server"
5539 errors
[0xd903] = "Bad EDS Signature"
5540 errors
[0xd904] = "Attempt to log in using an account which has limits on the number of concurrent connections and that number has been reached."
5542 errors
[0xda00] = "Attempted to login to the file server during a restricted time period"
5543 errors
[0xda01] = "Queue halted"
5544 errors
[0xda02] = "EA Space Limit"
5546 errors
[0xdb00] = "Attempted to login to the file server from an unauthorized workstation or network"
5547 errors
[0xdb01] = "The queue cannot attach another queue server"
5548 errors
[0xdb02] = "Maximum queue servers"
5549 errors
[0xdb03] = "EA Key Corrupt"
5551 errors
[0xdc00] = "Account Expired"
5552 errors
[0xdc01] = "EA Key Limit"
5554 errors
[0xdd00] = "Tally Corrupt"
5555 errors
[0xde00] = "Attempted to login to the file server with an incorrect password"
5556 errors
[0xdf00] = "Attempted to login to the file server with a password that has expired"
5558 errors
[0xe000] = "No Login Connections Available"
5559 errors
[0xe700] = "No disk track"
5560 errors
[0xe800] = "Write to group"
5561 errors
[0xe900] = "The object is already a member of the group property"
5563 errors
[0xea00] = "No such member"
5564 errors
[0xea01] = "The bindery object is not a member of the set"
5565 errors
[0xea02] = "Non-existent member"
5567 errors
[0xeb00] = "The property is not a set property"
5569 errors
[0xec00] = "No such set"
5570 errors
[0xec01] = "The set property does not exist"
5572 errors
[0xed00] = "Property exists"
5573 errors
[0xed01] = "The property already exists"
5574 errors
[0xed02] = "An attempt was made to create a bindery object property that already exists"
5576 errors
[0xee00] = "The object already exists"
5577 errors
[0xee01] = "The bindery object already exists"
5579 errors
[0xef00] = "Illegal name"
5580 errors
[0xef01] = "Illegal characters in ObjectName field"
5581 errors
[0xef02] = "Invalid name"
5583 errors
[0xf000] = "A wildcard was detected in a field that does not support wildcards"
5584 errors
[0xf001] = "An illegal wildcard was detected in ObjectName"
5586 errors
[0xf100] = "The client does not have the rights to access this bindery object"
5587 errors
[0xf101] = "Bindery security"
5588 errors
[0xf102] = "Invalid bindery security"
5590 errors
[0xf200] = "Unauthorized to read from this object"
5591 errors
[0xf300] = "Unauthorized to rename this object"
5593 errors
[0xf400] = "Unauthorized to delete this object"
5594 errors
[0xf401] = "No object delete privileges"
5595 errors
[0xf402] = "Unauthorized to delete this queue"
5597 errors
[0xf500] = "Unauthorized to create this object"
5598 errors
[0xf501] = "No object create"
5600 errors
[0xf600] = "No property delete"
5601 errors
[0xf601] = "Unauthorized to delete the property of this object"
5602 errors
[0xf602] = "Unauthorized to delete this property"
5604 errors
[0xf700] = "Unauthorized to create this property"
5605 errors
[0xf701] = "No property create privilege"
5607 errors
[0xf800] = "Unauthorized to write to this property"
5608 errors
[0xf900] = "Unauthorized to read this property"
5609 errors
[0xfa00] = "Temporary remap error"
5611 errors
[0xfb00] = "No such property"
5612 errors
[0xfb01] = "The file server does not support this request"
5613 errors
[0xfb02] = "The specified property does not exist"
5614 errors
[0xfb03] = "The PASSWORD property does not exist for this bindery object"
5615 errors
[0xfb04] = "NDS NCP not available"
5616 errors
[0xfb05] = "Bad Directory Handle"
5617 errors
[0xfb06] = "Unknown Request"
5618 errors
[0xfb07] = "Invalid Subfunction Request"
5619 errors
[0xfb08] = "Attempt to use an invalid parameter (drive number, path, or flag value) during a set drive path call"
5620 errors
[0xfb09] = "NMAS not running on this server, NCP NOT Supported"
5621 errors
[0xfb0a] = "Station Not Logged In"
5622 errors
[0xfb0b] = "Secret Store not running on this server, NCP Not supported"
5624 errors
[0xfc00] = "The message queue cannot accept another message"
5625 errors
[0xfc01] = "The trustee associated with ObjectId does not exist"
5626 errors
[0xfc02] = "The specified bindery object does not exist"
5627 errors
[0xfc03] = "The bindery object associated with ObjectID does not exist"
5628 errors
[0xfc04] = "A bindery object does not exist that matches"
5629 errors
[0xfc05] = "The specified queue does not exist"
5630 errors
[0xfc06] = "No such object"
5631 errors
[0xfc07] = "The queue associated with ObjectID does not exist"
5633 errors
[0xfd00] = "Bad station number"
5634 errors
[0xfd01] = "The connection associated with ConnectionNumber is not active"
5635 errors
[0xfd02] = "Lock collision"
5636 errors
[0xfd03] = "Transaction tracking is disabled"
5638 errors
[0xfe00] = "I/O failure"
5639 errors
[0xfe01] = "The files containing the bindery on the file server are locked"
5640 errors
[0xfe02] = "A file with the specified name already exists in this directory"
5641 errors
[0xfe03] = "No more restrictions were found"
5642 errors
[0xfe04] = "The file server was unable to lock the file within the specified time limit"
5643 errors
[0xfe05] = "The file server was unable to lock all files within the specified time limit"
5644 errors
[0xfe06] = "The bindery object associated with ObjectID is not a valid trustee"
5645 errors
[0xfe07] = "Directory locked"
5646 errors
[0xfe08] = "Bindery locked"
5647 errors
[0xfe09] = "Invalid semaphore name length"
5648 errors
[0xfe0a] = "The file server was unable to complete the operation within the specified time limit"
5649 errors
[0xfe0b] = "Transaction restart"
5650 errors
[0xfe0c] = "Bad packet"
5651 errors
[0xfe0d] = "Timeout"
5652 errors
[0xfe0e] = "User Not Found"
5653 errors
[0xfe0f] = "Trustee Not Found"
5655 errors
[0xff00] = "Failure"
5656 errors
[0xff01] = "Lock error"
5657 errors
[0xff02] = "File not found"
5658 errors
[0xff03] = "The file not found or cannot be unlocked"
5659 errors
[0xff04] = "Record not found"
5660 errors
[0xff05] = "The logical record was not found"
5661 errors
[0xff06] = "The printer associated with Printer Number does not exist"
5662 errors
[0xff07] = "No such printer"
5663 errors
[0xff08] = "Unable to complete the request"
5664 errors
[0xff09] = "Unauthorized to change privileges of this trustee"
5665 errors
[0xff0a] = "No files matching the search criteria were found"
5666 errors
[0xff0b] = "A file matching the search criteria was not found"
5667 errors
[0xff0c] = "Verification failed"
5668 errors
[0xff0d] = "Object associated with ObjectID is not a manager"
5669 errors
[0xff0e] = "Invalid initial semaphore value"
5670 errors
[0xff0f] = "The semaphore handle is not valid"
5671 errors
[0xff10] = "SemaphoreHandle is not associated with a valid sempahore"
5672 errors
[0xff11] = "Invalid semaphore handle"
5673 errors
[0xff12] = "Transaction tracking is not available"
5674 errors
[0xff13] = "The transaction has not yet been written to disk"
5675 errors
[0xff14] = "Directory already exists"
5676 errors
[0xff15] = "The file already exists and the deletion flag was not set"
5677 errors
[0xff16] = "No matching files or directories were found"
5678 errors
[0xff17] = "A file or directory matching the search criteria was not found"
5679 errors
[0xff18] = "The file already exists"
5680 errors
[0xff19] = "Failure, No files found"
5681 errors
[0xff1a] = "Unlock Error"
5682 errors
[0xff1b] = "I/O Bound Error"
5683 errors
[0xff1c] = "Not Accepting Messages"
5684 errors
[0xff1d] = "No More Salvageable Files in Directory"
5685 errors
[0xff1e] = "Calling Station is Not a Manager"
5686 errors
[0xff1f] = "Bindery Failure"
5687 errors
[0xff20] = "NCP Extension Not Found"
5688 errors
[0xff21] = "Audit Property Not Found"
5689 errors
[0xff22] = "Server Set Parameter Not Found"
5691 ##############################################################################
5693 ##############################################################################
5694 def ExamineVars(vars, structs_hash
, vars_hash
):
5696 if isinstance(var
, struct
):
5697 structs_hash
[var
.HFName()] = var
5698 struct_vars
= var
.Variables()
5699 ExamineVars(struct_vars
, structs_hash
, vars_hash
)
5701 vars_hash
[repr(var
)] = var
5702 if isinstance(var
, bitfield
):
5703 sub_vars
= var
.SubVariables()
5704 ExamineVars(sub_vars
, structs_hash
, vars_hash
)
5711 print(" * Do not modify this file. Changes will be overwritten.")
5712 print(" * Generated automatically from %s" % (sys
.argv
[0]))
5717 * Portions Copyright (c) Gilbert Ramirez 2000-2002
5718 * Portions Copyright (c) Novell, Inc. 2000-2005
5720 * This program is free software; you can redistribute it and/or
5721 * modify it under the terms of the GNU General Public License
5722 * as published by the Free Software Foundation; either version 2
5723 * of the License, or (at your option) any later version.
5725 * This program is distributed in the hope that it will be useful,
5726 * but WITHOUT ANY WARRANTY; without even the implied warranty of
5727 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5728 * GNU General Public License for more details.
5730 * You should have received a copy of the GNU General Public License
5731 * along with this program; if not, write to the Free Software
5732 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
5739 #include <epan/packet.h>
5740 #include <epan/exceptions.h>
5741 #include <ftypes/ftypes-int.h>
5742 #include <epan/to_str.h>
5743 #include <epan/conversation.h>
5744 #include <epan/ptvcursor.h>
5745 #include <epan/emem.h>
5746 #include <epan/strutil.h>
5747 #include <epan/reassemble.h>
5748 #include <epan/tap.h>
5749 #include "packet-ncp-int.h"
5750 #include "packet-ncp-nmas.h"
5751 #include "packet-ncp-sss.h"
5753 /* Function declarations for functions used in proto_register_ncp2222() */
5754 static void ncp_init_protocol(void);
5755 static void ncp_postseq_cleanup(void);
5757 /* Endianness macros */
5760 #define NO_ENDIANNESS 0
5762 #define NO_LENGTH -1
5764 /* We use this int-pointer as a special flag in ptvc_record's */
5765 static int ptvc_struct_int_storage;
5766 #define PTVC_STRUCT (&ptvc_struct_int_storage)
5768 /* Values used in the count-variable ("var"/"repeat") logic. */""")
5771 if global_highest_var
> -1:
5772 print("#define NUM_REPEAT_VARS\t%d" % (global_highest_var
+ 1))
5773 print("static guint repeat_vars[NUM_REPEAT_VARS];")
5775 print("#define NUM_REPEAT_VARS\t0")
5776 print("static guint *repeat_vars = NULL;")
5779 #define NO_VAR NUM_REPEAT_VARS
5780 #define NO_REPEAT NUM_REPEAT_VARS
5782 #define REQ_COND_SIZE_CONSTANT 0
5783 #define REQ_COND_SIZE_VARIABLE 1
5784 #define NO_REQ_COND_SIZE 0
5787 #define NTREE 0x00020000
5788 #define NDEPTH 0x00000002
5789 #define NREV 0x00000004
5790 #define NFLAGS 0x00000008
5792 static int hf_ncp_func = -1;
5793 static int hf_ncp_length = -1;
5794 static int hf_ncp_subfunc = -1;
5795 static int hf_ncp_group = -1;
5796 static int hf_ncp_fragment_handle = -1;
5797 static int hf_ncp_completion_code = -1;
5798 static int hf_ncp_connection_status = -1;
5799 static int hf_ncp_req_frame_num = -1;
5800 static int hf_ncp_req_frame_time = -1;
5801 static int hf_ncp_fragment_size = -1;
5802 static int hf_ncp_message_size = -1;
5803 static int hf_ncp_nds_flag = -1;
5804 static int hf_ncp_nds_verb = -1;
5805 static int hf_ping_version = -1;
5806 /* static int hf_nds_version = -1; */
5807 /* static int hf_nds_flags = -1; */
5808 static int hf_nds_reply_depth = -1;
5809 static int hf_nds_reply_rev = -1;
5810 static int hf_nds_reply_flags = -1;
5811 static int hf_nds_p1type = -1;
5812 static int hf_nds_uint32value = -1;
5813 static int hf_nds_bit1 = -1;
5814 static int hf_nds_bit2 = -1;
5815 static int hf_nds_bit3 = -1;
5816 static int hf_nds_bit4 = -1;
5817 static int hf_nds_bit5 = -1;
5818 static int hf_nds_bit6 = -1;
5819 static int hf_nds_bit7 = -1;
5820 static int hf_nds_bit8 = -1;
5821 static int hf_nds_bit9 = -1;
5822 static int hf_nds_bit10 = -1;
5823 static int hf_nds_bit11 = -1;
5824 static int hf_nds_bit12 = -1;
5825 static int hf_nds_bit13 = -1;
5826 static int hf_nds_bit14 = -1;
5827 static int hf_nds_bit15 = -1;
5828 static int hf_nds_bit16 = -1;
5829 static int hf_bit1outflags = -1;
5830 static int hf_bit2outflags = -1;
5831 static int hf_bit3outflags = -1;
5832 static int hf_bit4outflags = -1;
5833 static int hf_bit5outflags = -1;
5834 static int hf_bit6outflags = -1;
5835 static int hf_bit7outflags = -1;
5836 static int hf_bit8outflags = -1;
5837 static int hf_bit9outflags = -1;
5838 static int hf_bit10outflags = -1;
5839 static int hf_bit11outflags = -1;
5840 static int hf_bit12outflags = -1;
5841 static int hf_bit13outflags = -1;
5842 static int hf_bit14outflags = -1;
5843 static int hf_bit15outflags = -1;
5844 static int hf_bit16outflags = -1;
5845 static int hf_bit1nflags = -1;
5846 static int hf_bit2nflags = -1;
5847 static int hf_bit3nflags = -1;
5848 static int hf_bit4nflags = -1;
5849 static int hf_bit5nflags = -1;
5850 static int hf_bit6nflags = -1;
5851 static int hf_bit7nflags = -1;
5852 static int hf_bit8nflags = -1;
5853 static int hf_bit9nflags = -1;
5854 static int hf_bit10nflags = -1;
5855 static int hf_bit11nflags = -1;
5856 static int hf_bit12nflags = -1;
5857 static int hf_bit13nflags = -1;
5858 static int hf_bit14nflags = -1;
5859 static int hf_bit15nflags = -1;
5860 static int hf_bit16nflags = -1;
5861 static int hf_bit1rflags = -1;
5862 static int hf_bit2rflags = -1;
5863 static int hf_bit3rflags = -1;
5864 static int hf_bit4rflags = -1;
5865 static int hf_bit5rflags = -1;
5866 static int hf_bit6rflags = -1;
5867 static int hf_bit7rflags = -1;
5868 static int hf_bit8rflags = -1;
5869 static int hf_bit9rflags = -1;
5870 static int hf_bit10rflags = -1;
5871 static int hf_bit11rflags = -1;
5872 static int hf_bit12rflags = -1;
5873 static int hf_bit13rflags = -1;
5874 static int hf_bit14rflags = -1;
5875 static int hf_bit15rflags = -1;
5876 static int hf_bit16rflags = -1;
5877 static int hf_bit1cflags = -1;
5878 static int hf_bit2cflags = -1;
5879 static int hf_bit3cflags = -1;
5880 static int hf_bit4cflags = -1;
5881 static int hf_bit5cflags = -1;
5882 static int hf_bit6cflags = -1;
5883 static int hf_bit7cflags = -1;
5884 static int hf_bit8cflags = -1;
5885 static int hf_bit9cflags = -1;
5886 static int hf_bit10cflags = -1;
5887 static int hf_bit11cflags = -1;
5888 static int hf_bit12cflags = -1;
5889 static int hf_bit13cflags = -1;
5890 static int hf_bit14cflags = -1;
5891 static int hf_bit15cflags = -1;
5892 static int hf_bit16cflags = -1;
5893 static int hf_bit1acflags = -1;
5894 static int hf_bit2acflags = -1;
5895 static int hf_bit3acflags = -1;
5896 static int hf_bit4acflags = -1;
5897 static int hf_bit5acflags = -1;
5898 static int hf_bit6acflags = -1;
5899 static int hf_bit7acflags = -1;
5900 static int hf_bit8acflags = -1;
5901 static int hf_bit9acflags = -1;
5902 static int hf_bit10acflags = -1;
5903 static int hf_bit11acflags = -1;
5904 static int hf_bit12acflags = -1;
5905 static int hf_bit13acflags = -1;
5906 static int hf_bit14acflags = -1;
5907 static int hf_bit15acflags = -1;
5908 static int hf_bit16acflags = -1;
5909 static int hf_bit1vflags = -1;
5910 static int hf_bit2vflags = -1;
5911 static int hf_bit3vflags = -1;
5912 static int hf_bit4vflags = -1;
5913 static int hf_bit5vflags = -1;
5914 static int hf_bit6vflags = -1;
5915 static int hf_bit7vflags = -1;
5916 static int hf_bit8vflags = -1;
5917 static int hf_bit9vflags = -1;
5918 static int hf_bit10vflags = -1;
5919 static int hf_bit11vflags = -1;
5920 static int hf_bit12vflags = -1;
5921 static int hf_bit13vflags = -1;
5922 static int hf_bit14vflags = -1;
5923 static int hf_bit15vflags = -1;
5924 static int hf_bit16vflags = -1;
5925 static int hf_bit1eflags = -1;
5926 static int hf_bit2eflags = -1;
5927 static int hf_bit3eflags = -1;
5928 static int hf_bit4eflags = -1;
5929 static int hf_bit5eflags = -1;
5930 static int hf_bit6eflags = -1;
5931 static int hf_bit7eflags = -1;
5932 static int hf_bit8eflags = -1;
5933 static int hf_bit9eflags = -1;
5934 static int hf_bit10eflags = -1;
5935 static int hf_bit11eflags = -1;
5936 static int hf_bit12eflags = -1;
5937 static int hf_bit13eflags = -1;
5938 static int hf_bit14eflags = -1;
5939 static int hf_bit15eflags = -1;
5940 static int hf_bit16eflags = -1;
5941 static int hf_bit1infoflagsl = -1;
5942 static int hf_bit2infoflagsl = -1;
5943 static int hf_bit3infoflagsl = -1;
5944 static int hf_bit4infoflagsl = -1;
5945 static int hf_bit5infoflagsl = -1;
5946 static int hf_bit6infoflagsl = -1;
5947 static int hf_bit7infoflagsl = -1;
5948 static int hf_bit8infoflagsl = -1;
5949 static int hf_bit9infoflagsl = -1;
5950 static int hf_bit10infoflagsl = -1;
5951 static int hf_bit11infoflagsl = -1;
5952 static int hf_bit12infoflagsl = -1;
5953 static int hf_bit13infoflagsl = -1;
5954 static int hf_bit14infoflagsl = -1;
5955 static int hf_bit15infoflagsl = -1;
5956 static int hf_bit16infoflagsl = -1;
5957 static int hf_bit1infoflagsh = -1;
5958 static int hf_bit2infoflagsh = -1;
5959 static int hf_bit3infoflagsh = -1;
5960 static int hf_bit4infoflagsh = -1;
5961 static int hf_bit5infoflagsh = -1;
5962 static int hf_bit6infoflagsh = -1;
5963 static int hf_bit7infoflagsh = -1;
5964 static int hf_bit8infoflagsh = -1;
5965 static int hf_bit9infoflagsh = -1;
5966 static int hf_bit10infoflagsh = -1;
5967 static int hf_bit11infoflagsh = -1;
5968 static int hf_bit12infoflagsh = -1;
5969 static int hf_bit13infoflagsh = -1;
5970 static int hf_bit14infoflagsh = -1;
5971 static int hf_bit15infoflagsh = -1;
5972 static int hf_bit16infoflagsh = -1;
5973 static int hf_bit1lflags = -1;
5974 static int hf_bit2lflags = -1;
5975 static int hf_bit3lflags = -1;
5976 static int hf_bit4lflags = -1;
5977 static int hf_bit5lflags = -1;
5978 static int hf_bit6lflags = -1;
5979 static int hf_bit7lflags = -1;
5980 static int hf_bit8lflags = -1;
5981 static int hf_bit9lflags = -1;
5982 static int hf_bit10lflags = -1;
5983 static int hf_bit11lflags = -1;
5984 static int hf_bit12lflags = -1;
5985 static int hf_bit13lflags = -1;
5986 static int hf_bit14lflags = -1;
5987 static int hf_bit15lflags = -1;
5988 static int hf_bit16lflags = -1;
5989 static int hf_bit1l1flagsl = -1;
5990 static int hf_bit2l1flagsl = -1;
5991 static int hf_bit3l1flagsl = -1;
5992 static int hf_bit4l1flagsl = -1;
5993 static int hf_bit5l1flagsl = -1;
5994 static int hf_bit6l1flagsl = -1;
5995 static int hf_bit7l1flagsl = -1;
5996 static int hf_bit8l1flagsl = -1;
5997 static int hf_bit9l1flagsl = -1;
5998 static int hf_bit10l1flagsl = -1;
5999 static int hf_bit11l1flagsl = -1;
6000 static int hf_bit12l1flagsl = -1;
6001 static int hf_bit13l1flagsl = -1;
6002 static int hf_bit14l1flagsl = -1;
6003 static int hf_bit15l1flagsl = -1;
6004 static int hf_bit16l1flagsl = -1;
6005 static int hf_bit1l1flagsh = -1;
6006 static int hf_bit2l1flagsh = -1;
6007 static int hf_bit3l1flagsh = -1;
6008 static int hf_bit4l1flagsh = -1;
6009 static int hf_bit5l1flagsh = -1;
6010 static int hf_bit6l1flagsh = -1;
6011 static int hf_bit7l1flagsh = -1;
6012 static int hf_bit8l1flagsh = -1;
6013 static int hf_bit9l1flagsh = -1;
6014 static int hf_bit10l1flagsh = -1;
6015 static int hf_bit11l1flagsh = -1;
6016 static int hf_bit12l1flagsh = -1;
6017 static int hf_bit13l1flagsh = -1;
6018 static int hf_bit14l1flagsh = -1;
6019 static int hf_bit15l1flagsh = -1;
6020 static int hf_bit16l1flagsh = -1;
6021 static int hf_nds_tree_name = -1;
6022 static int hf_nds_reply_error = -1;
6023 static int hf_nds_net = -1;
6024 static int hf_nds_node = -1;
6025 static int hf_nds_socket = -1;
6026 static int hf_add_ref_ip = -1;
6027 static int hf_add_ref_udp = -1;
6028 static int hf_add_ref_tcp = -1;
6029 static int hf_referral_record = -1;
6030 static int hf_referral_addcount = -1;
6031 static int hf_nds_port = -1;
6032 static int hf_mv_string = -1;
6033 static int hf_nds_syntax = -1;
6034 static int hf_value_string = -1;
6035 static int hf_nds_buffer_size = -1;
6036 static int hf_nds_ver = -1;
6037 static int hf_nds_nflags = -1;
6038 static int hf_nds_scope = -1;
6039 static int hf_nds_name = -1;
6040 static int hf_nds_comm_trans = -1;
6041 static int hf_nds_tree_trans = -1;
6042 static int hf_nds_iteration = -1;
6043 static int hf_nds_eid = -1;
6044 static int hf_nds_info_type = -1;
6045 static int hf_nds_all_attr = -1;
6046 static int hf_nds_req_flags = -1;
6047 static int hf_nds_attr = -1;
6048 static int hf_nds_crc = -1;
6049 static int hf_nds_referrals = -1;
6050 static int hf_nds_result_flags = -1;
6051 static int hf_nds_tag_string = -1;
6052 static int hf_value_bytes = -1;
6053 static int hf_replica_type = -1;
6054 static int hf_replica_state = -1;
6055 static int hf_replica_number = -1;
6056 static int hf_min_nds_ver = -1;
6057 static int hf_nds_ver_include = -1;
6058 static int hf_nds_ver_exclude = -1;
6059 /* static int hf_nds_es = -1; */
6060 static int hf_es_type = -1;
6061 /* static int hf_delim_string = -1; */
6062 static int hf_rdn_string = -1;
6063 static int hf_nds_revent = -1;
6064 static int hf_nds_rnum = -1;
6065 static int hf_nds_name_type = -1;
6066 static int hf_nds_rflags = -1;
6067 static int hf_nds_eflags = -1;
6068 static int hf_nds_depth = -1;
6069 static int hf_nds_class_def_type = -1;
6070 static int hf_nds_classes = -1;
6071 static int hf_nds_return_all_classes = -1;
6072 static int hf_nds_stream_flags = -1;
6073 static int hf_nds_stream_name = -1;
6074 static int hf_nds_file_handle = -1;
6075 static int hf_nds_file_size = -1;
6076 static int hf_nds_dn_output_type = -1;
6077 static int hf_nds_nested_output_type = -1;
6078 static int hf_nds_output_delimiter = -1;
6079 static int hf_nds_output_entry_specifier = -1;
6080 static int hf_es_value = -1;
6081 static int hf_es_rdn_count = -1;
6082 static int hf_nds_replica_num = -1;
6083 static int hf_nds_event_num = -1;
6084 static int hf_es_seconds = -1;
6085 static int hf_nds_compare_results = -1;
6086 static int hf_nds_parent = -1;
6087 static int hf_nds_name_filter = -1;
6088 static int hf_nds_class_filter = -1;
6089 static int hf_nds_time_filter = -1;
6090 static int hf_nds_partition_root_id = -1;
6091 static int hf_nds_replicas = -1;
6092 static int hf_nds_purge = -1;
6093 static int hf_nds_local_partition = -1;
6094 static int hf_partition_busy = -1;
6095 static int hf_nds_number_of_changes = -1;
6096 static int hf_sub_count = -1;
6097 static int hf_nds_revision = -1;
6098 static int hf_nds_base_class = -1;
6099 static int hf_nds_relative_dn = -1;
6100 /* static int hf_nds_root_dn = -1; */
6101 /* static int hf_nds_parent_dn = -1; */
6102 static int hf_deref_base = -1;
6103 /* static int hf_nds_entry_info = -1; */
6104 static int hf_nds_base = -1;
6105 static int hf_nds_privileges = -1;
6106 static int hf_nds_vflags = -1;
6107 static int hf_nds_value_len = -1;
6108 static int hf_nds_cflags = -1;
6109 static int hf_nds_acflags = -1;
6110 static int hf_nds_asn1 = -1;
6111 static int hf_nds_upper = -1;
6112 static int hf_nds_lower = -1;
6113 static int hf_nds_trustee_dn = -1;
6114 static int hf_nds_attribute_dn = -1;
6115 static int hf_nds_acl_add = -1;
6116 static int hf_nds_acl_del = -1;
6117 static int hf_nds_att_add = -1;
6118 static int hf_nds_att_del = -1;
6119 static int hf_nds_keep = -1;
6120 static int hf_nds_new_rdn = -1;
6121 static int hf_nds_time_delay = -1;
6122 static int hf_nds_root_name = -1;
6123 static int hf_nds_new_part_id = -1;
6124 static int hf_nds_child_part_id = -1;
6125 static int hf_nds_master_part_id = -1;
6126 static int hf_nds_target_name = -1;
6127 static int hf_nds_super = -1;
6128 static int hf_bit1pingflags2 = -1;
6129 static int hf_bit2pingflags2 = -1;
6130 static int hf_bit3pingflags2 = -1;
6131 static int hf_bit4pingflags2 = -1;
6132 static int hf_bit5pingflags2 = -1;
6133 static int hf_bit6pingflags2 = -1;
6134 static int hf_bit7pingflags2 = -1;
6135 static int hf_bit8pingflags2 = -1;
6136 static int hf_bit9pingflags2 = -1;
6137 static int hf_bit10pingflags2 = -1;
6138 static int hf_bit11pingflags2 = -1;
6139 static int hf_bit12pingflags2 = -1;
6140 static int hf_bit13pingflags2 = -1;
6141 static int hf_bit14pingflags2 = -1;
6142 static int hf_bit15pingflags2 = -1;
6143 static int hf_bit16pingflags2 = -1;
6144 static int hf_bit1pingflags1 = -1;
6145 static int hf_bit2pingflags1 = -1;
6146 static int hf_bit3pingflags1 = -1;
6147 static int hf_bit4pingflags1 = -1;
6148 static int hf_bit5pingflags1 = -1;
6149 static int hf_bit6pingflags1 = -1;
6150 static int hf_bit7pingflags1 = -1;
6151 static int hf_bit8pingflags1 = -1;
6152 static int hf_bit9pingflags1 = -1;
6153 static int hf_bit10pingflags1 = -1;
6154 static int hf_bit11pingflags1 = -1;
6155 static int hf_bit12pingflags1 = -1;
6156 static int hf_bit13pingflags1 = -1;
6157 static int hf_bit14pingflags1 = -1;
6158 static int hf_bit15pingflags1 = -1;
6159 static int hf_bit16pingflags1 = -1;
6160 static int hf_bit1pingpflags1 = -1;
6161 static int hf_bit2pingpflags1 = -1;
6162 static int hf_bit3pingpflags1 = -1;
6163 static int hf_bit4pingpflags1 = -1;
6164 static int hf_bit5pingpflags1 = -1;
6165 static int hf_bit6pingpflags1 = -1;
6166 static int hf_bit7pingpflags1 = -1;
6167 static int hf_bit8pingpflags1 = -1;
6168 static int hf_bit9pingpflags1 = -1;
6169 static int hf_bit10pingpflags1 = -1;
6170 static int hf_bit11pingpflags1 = -1;
6171 static int hf_bit12pingpflags1 = -1;
6172 static int hf_bit13pingpflags1 = -1;
6173 static int hf_bit14pingpflags1 = -1;
6174 static int hf_bit15pingpflags1 = -1;
6175 static int hf_bit16pingpflags1 = -1;
6176 static int hf_bit1pingvflags1 = -1;
6177 static int hf_bit2pingvflags1 = -1;
6178 static int hf_bit3pingvflags1 = -1;
6179 static int hf_bit4pingvflags1 = -1;
6180 static int hf_bit5pingvflags1 = -1;
6181 static int hf_bit6pingvflags1 = -1;
6182 static int hf_bit7pingvflags1 = -1;
6183 static int hf_bit8pingvflags1 = -1;
6184 static int hf_bit9pingvflags1 = -1;
6185 static int hf_bit10pingvflags1 = -1;
6186 static int hf_bit11pingvflags1 = -1;
6187 static int hf_bit12pingvflags1 = -1;
6188 static int hf_bit13pingvflags1 = -1;
6189 static int hf_bit14pingvflags1 = -1;
6190 static int hf_bit15pingvflags1 = -1;
6191 static int hf_bit16pingvflags1 = -1;
6192 static int hf_nds_letter_ver = -1;
6193 static int hf_nds_os_majver = -1;
6194 static int hf_nds_os_minver = -1;
6195 static int hf_nds_lic_flags = -1;
6196 static int hf_nds_ds_time = -1;
6197 static int hf_nds_ping_version = -1;
6198 static int hf_nds_search_scope = -1;
6199 static int hf_nds_num_objects = -1;
6200 static int hf_bit1siflags = -1;
6201 static int hf_bit2siflags = -1;
6202 static int hf_bit3siflags = -1;
6203 static int hf_bit4siflags = -1;
6204 static int hf_bit5siflags = -1;
6205 static int hf_bit6siflags = -1;
6206 static int hf_bit7siflags = -1;
6207 static int hf_bit8siflags = -1;
6208 static int hf_bit9siflags = -1;
6209 static int hf_bit10siflags = -1;
6210 static int hf_bit11siflags = -1;
6211 static int hf_bit12siflags = -1;
6212 static int hf_bit13siflags = -1;
6213 static int hf_bit14siflags = -1;
6214 static int hf_bit15siflags = -1;
6215 static int hf_bit16siflags = -1;
6216 static int hf_nds_segments = -1;
6217 static int hf_nds_segment = -1;
6218 static int hf_nds_segment_overlap = -1;
6219 static int hf_nds_segment_overlap_conflict = -1;
6220 static int hf_nds_segment_multiple_tails = -1;
6221 static int hf_nds_segment_too_long_segment = -1;
6222 static int hf_nds_segment_error = -1;
6223 static int hf_nds_segment_count = -1;
6224 static int hf_nds_reassembled_length = -1;
6225 static int hf_nds_verb2b_req_flags = -1;
6226 static int hf_ncp_ip_address = -1;
6227 static int hf_ncp_copyright = -1;
6228 static int hf_ndsprot1flag = -1;
6229 static int hf_ndsprot2flag = -1;
6230 static int hf_ndsprot3flag = -1;
6231 static int hf_ndsprot4flag = -1;
6232 static int hf_ndsprot5flag = -1;
6233 static int hf_ndsprot6flag = -1;
6234 static int hf_ndsprot7flag = -1;
6235 static int hf_ndsprot8flag = -1;
6236 static int hf_ndsprot9flag = -1;
6237 static int hf_ndsprot10flag = -1;
6238 static int hf_ndsprot11flag = -1;
6239 static int hf_ndsprot12flag = -1;
6240 static int hf_ndsprot13flag = -1;
6241 static int hf_ndsprot14flag = -1;
6242 static int hf_ndsprot15flag = -1;
6243 static int hf_ndsprot16flag = -1;
6244 static int hf_nds_svr_dst_name = -1;
6245 static int hf_nds_tune_mark = -1;
6246 /* static int hf_nds_create_time = -1; */
6247 static int hf_srvr_param_number = -1;
6248 static int hf_srvr_param_boolean = -1;
6249 static int hf_srvr_param_string = -1;
6250 static int hf_nds_svr_time = -1;
6251 static int hf_nds_crt_time = -1;
6252 static int hf_nds_number_of_items = -1;
6253 static int hf_nds_compare_attributes = -1;
6254 static int hf_nds_read_attribute = -1;
6255 static int hf_nds_write_add_delete_attribute = -1;
6256 static int hf_nds_add_delete_self = -1;
6257 static int hf_nds_privilege_not_defined = -1;
6258 static int hf_nds_supervisor = -1;
6259 static int hf_nds_inheritance_control = -1;
6260 static int hf_nds_browse_entry = -1;
6261 static int hf_nds_add_entry = -1;
6262 static int hf_nds_delete_entry = -1;
6263 static int hf_nds_rename_entry = -1;
6264 static int hf_nds_supervisor_entry = -1;
6265 static int hf_nds_entry_privilege_not_defined = -1;
6266 static int hf_nds_iterator = -1;
6267 static int hf_ncp_nds_iterverb = -1;
6268 static int hf_iter_completion_code = -1;
6269 /* static int hf_nds_iterobj = -1; */
6270 static int hf_iter_verb_completion_code = -1;
6271 static int hf_iter_ans = -1;
6272 static int hf_positionable = -1;
6273 static int hf_num_skipped = -1;
6274 static int hf_num_to_skip = -1;
6275 static int hf_timelimit = -1;
6276 static int hf_iter_index = -1;
6277 static int hf_num_to_get = -1;
6278 /* static int hf_ret_info_type = -1; */
6279 static int hf_data_size = -1;
6280 static int hf_this_count = -1;
6281 static int hf_max_entries = -1;
6282 static int hf_move_position = -1;
6283 static int hf_iter_copy = -1;
6284 static int hf_iter_position = -1;
6285 static int hf_iter_search = -1;
6286 static int hf_iter_other = -1;
6287 static int hf_nds_oid = -1;
6289 static expert_field ei_ncp_file_rights_change = EI_INIT;
6290 static expert_field ei_ncp_completion_code = EI_INIT;
6291 static expert_field ei_nds_reply_error = EI_INIT;
6292 static expert_field ei_ncp_destroy_connection = EI_INIT;
6293 static expert_field ei_nds_iteration = EI_INIT;
6294 static expert_field ei_ncp_eid = EI_INIT;
6295 static expert_field ei_ncp_file_handle = EI_INIT;
6296 static expert_field ei_ncp_connection_destroyed = EI_INIT;
6297 static expert_field ei_ncp_no_request_record_found = EI_INIT;
6298 static expert_field ei_ncp_file_rights = EI_INIT;
6299 static expert_field ei_iter_verb_completion_code = EI_INIT;
6300 static expert_field ei_ncp_connection_request = EI_INIT;
6301 static expert_field ei_ncp_connection_status = EI_INIT;
6302 static expert_field ei_ncp_op_lock_handle = EI_INIT;
6303 static expert_field ei_ncp_effective_rights = EI_INIT;
6304 static expert_field ei_ncp_server = EI_INIT;
6307 # Look at all packet types in the packets collection, and cull information
6309 errors_used_list
= []
6310 errors_used_hash
= {}
6311 groups_used_list
= []
6312 groups_used_hash
= {}
6313 variables_used_hash
= {}
6314 structs_used_hash
= {}
6317 # Determine which error codes are used.
6318 codes
= pkt
.CompletionCodes()
6319 for code
in codes
.Records():
6320 if code
not in errors_used_hash
:
6321 errors_used_hash
[code
] = len(errors_used_list
)
6322 errors_used_list
.append(code
)
6324 # Determine which groups are used.
6326 if group
not in groups_used_hash
:
6327 groups_used_hash
[group
] = len(groups_used_list
)
6328 groups_used_list
.append(group
)
6333 # Determine which variables are used.
6334 vars = pkt
.Variables()
6335 ExamineVars(vars, structs_used_hash
, variables_used_hash
)
6338 # Print the hf variable declarations
6339 sorted_vars
= list(variables_used_hash
.values())
6341 for var
in sorted_vars
:
6342 print("static int " + var
.HFName() + " = -1;")
6345 # Print the value_string's
6346 for var
in sorted_vars
:
6347 if isinstance(var
, val_string
):
6351 # Determine which error codes are not used
6352 errors_not_used
= {}
6353 # Copy the keys from the error list...
6354 for code
in list(errors
.keys()):
6355 errors_not_used
[code
] = 1
6356 # ... and remove the ones that *were* used.
6357 for code
in errors_used_list
:
6358 del errors_not_used
[code
]
6360 # Print a remark showing errors not used
6361 list_errors_not_used
= list(errors_not_used
.keys())
6362 list_errors_not_used
.sort()
6363 for code
in list_errors_not_used
:
6364 print("/* Error 0x%04x not used: %s */" % (code
, errors
[code
]))
6367 # Print the errors table
6368 print("/* Error strings. */")
6369 print("static const char *ncp_errors[] = {")
6370 for code
in errors_used_list
:
6371 print('\t/* %02d (0x%04x) */ "%s",' % (errors_used_hash
[code
], code
, errors
[code
]))
6377 # Determine which groups are not used
6378 groups_not_used
= {}
6379 # Copy the keys from the group list...
6380 for group
in list(groups
.keys()):
6381 groups_not_used
[group
] = 1
6382 # ... and remove the ones that *were* used.
6383 for group
in groups_used_list
:
6384 del groups_not_used
[group
]
6386 # Print a remark showing groups not used
6387 list_groups_not_used
= list(groups_not_used
.keys())
6388 list_groups_not_used
.sort()
6389 for group
in list_groups_not_used
:
6390 print("/* Group not used: %s = %s */" % (group
, groups
[group
]))
6393 # Print the groups table
6394 print("/* Group strings. */")
6395 print("static const char *ncp_groups[] = {")
6396 for group
in groups_used_list
:
6397 print('\t/* %02d (%s) */ "%s",' % (groups_used_hash
[group
], group
, groups
[group
]))
6400 # Print the group macros
6401 for group
in groups_used_list
:
6402 name
= str.upper(group
)
6403 print("#define NCP_GROUP_%s\t%d" % (name
, groups_used_hash
[group
]))
6407 # Print the conditional_records for all Request Conditions.
6409 print("/* Request-Condition dfilter records. The NULL pointer")
6410 print(" is replaced by a pointer to the created dfilter_t. */")
6411 if len(global_req_cond
) == 0:
6412 print("static conditional_record req_conds = NULL;")
6414 print("static conditional_record req_conds[] = {")
6415 req_cond_l
= list(global_req_cond
.keys())
6417 for req_cond
in req_cond_l
:
6418 print("\t{ \"%s\", NULL }," % (req_cond
,))
6419 global_req_cond
[req_cond
] = num
6422 print("#define NUM_REQ_CONDS %d" % (num
,))
6423 print("#define NO_REQ_COND NUM_REQ_CONDS\n\n")
6427 # Print PTVC's for bitfields
6429 print("/* PTVC records for bit-fields. */")
6430 for var
in sorted_vars
:
6431 if isinstance(var
, bitfield
):
6432 sub_vars_ptvc
= var
.SubVariablesPTVC()
6433 print("/* %s */" % (sub_vars_ptvc
.Name()))
6434 print(sub_vars_ptvc
.Code())
6435 ett_list
.append(sub_vars_ptvc
.ETTName())
6438 # Print the PTVC's for structures
6439 print("/* PTVC records for structs. */")
6442 for svar
in list(structs_used_hash
.values()):
6443 svhash
[svar
.HFName()] = svar
6445 ett_list
.append(svar
.ETTName())
6447 struct_vars
= list(svhash
.keys())
6449 for varname
in struct_vars
:
6450 var
= svhash
[varname
]
6455 # Print regular PTVC's
6456 print("/* PTVC records. These are re-used to save space. */")
6457 for ptvc
in ptvc_lists
.Members():
6458 if not ptvc
.Null() and not ptvc
.Empty():
6461 # Print error_equivalency tables
6462 print("/* Error-Equivalency Tables. These are re-used to save space. */")
6463 for compcodes
in compcode_lists
.Members():
6464 errors
= compcodes
.Records()
6465 # Make sure the record for error = 0x00 comes last.
6466 print("static const error_equivalency %s[] = {" % (compcodes
.Name()))
6467 for error
in errors
:
6468 error_in_packet
= error
>> 8;
6469 ncp_error_index
= errors_used_hash
[error
]
6470 print("\t{ 0x%02x, %d }, /* 0x%04x */" % (error_in_packet
,
6471 ncp_error_index
, error
))
6472 print("\t{ 0x00, -1 }\n};\n")
6476 # Print integer arrays for all ncp_records that need
6477 # a list of req_cond_indexes. Do it "uniquely" to save space;
6478 # if multiple packets share the same set of req_cond's,
6479 # then they'll share the same integer array
6480 print("/* Request Condition Indexes */")
6481 # First, make them unique
6482 req_cond_collection
= UniqueCollection("req_cond_collection")
6484 req_conds
= pkt
.CalculateReqConds()
6486 unique_list
= req_cond_collection
.Add(req_conds
)
6487 pkt
.SetReqConds(unique_list
)
6489 pkt
.SetReqConds(None)
6492 for req_cond
in req_cond_collection
.Members():
6493 sys
.stdout
.write("static const int %s[] = {" % (req_cond
.Name()))
6494 sys
.stdout
.write("\t")
6496 for text
in req_cond
.Records():
6497 vals
.append(global_req_cond
[text
])
6500 sys
.stdout
.write("%s, " % (val
,))
6507 # Functions without length parameter
6508 funcs_without_length
= {}
6510 # Print info string structures
6511 print("/* Info Strings */")
6513 if pkt
.req_info_str
:
6514 name
= pkt
.InfoStrName() + "_req"
6515 var
= pkt
.req_info_str
[0]
6516 print("static const info_string_t %s = {" % (name
,))
6517 print("\t&%s," % (var
.HFName(),))
6518 print('\t"%s",' % (pkt
.req_info_str
[1],))
6519 print('\t"%s"' % (pkt
.req_info_str
[2],))
6524 # Print ncp_record packet records
6525 print("#define SUBFUNC_WITH_LENGTH 0x02")
6526 print("#define SUBFUNC_NO_LENGTH 0x01")
6527 print("#define NO_SUBFUNC 0x00")
6529 print("/* ncp_record structs for packets */")
6530 print("static const ncp_record ncp_packets[] = {")
6532 if pkt
.HasSubFunction():
6533 func
= pkt
.FunctionCode('high')
6535 subfunc_string
= "SUBFUNC_WITH_LENGTH"
6536 # Ensure that the function either has a length param or not
6537 if func
in funcs_without_length
:
6538 sys
.exit("Function 0x%04x sometimes has length param, sometimes not." \
6539 % (pkt
.FunctionCode(),))
6541 subfunc_string
= "SUBFUNC_NO_LENGTH"
6542 funcs_without_length
[func
] = 1
6544 subfunc_string
= "NO_SUBFUNC"
6545 sys
.stdout
.write('\t{ 0x%02x, 0x%02x, %s, "%s",' % (pkt
.FunctionCode('high'),
6546 pkt
.FunctionCode('low'), subfunc_string
, pkt
.Description()))
6548 print('\t%d /* %s */,' % (groups_used_hash
[pkt
.Group()], pkt
.Group()))
6550 ptvc
= pkt
.PTVCRequest()
6551 if not ptvc
.Null() and not ptvc
.Empty():
6552 ptvc_request
= ptvc
.Name()
6554 ptvc_request
= 'NULL'
6556 ptvc
= pkt
.PTVCReply()
6557 if not ptvc
.Null() and not ptvc
.Empty():
6558 ptvc_reply
= ptvc
.Name()
6562 errors
= pkt
.CompletionCodes()
6564 req_conds_obj
= pkt
.GetReqConds()
6566 req_conds
= req_conds_obj
.Name()
6570 if not req_conds_obj
:
6571 req_cond_size
= "NO_REQ_COND_SIZE"
6573 req_cond_size
= pkt
.ReqCondSize()
6574 if req_cond_size
== None:
6575 msg
.write("NCP packet %s needs a ReqCondSize*() call\n" \
6579 if pkt
.req_info_str
:
6580 req_info_str
= "&" + pkt
.InfoStrName() + "_req"
6582 req_info_str
= "NULL"
6584 print('\t\t%s, %s, %s, %s, %s, %s },\n' % \
6585 (ptvc_request
, ptvc_reply
, errors
.Name(), req_conds
,
6586 req_cond_size
, req_info_str
))
6588 print('\t{ 0, 0, 0, NULL, 0, NULL, NULL, NULL, NULL, NO_REQ_COND_SIZE, NULL }')
6591 print("/* ncp funcs that require a subfunc */")
6592 print("static const guint8 ncp_func_requires_subfunc[] = {")
6595 if pkt
.HasSubFunction():
6596 hi_func
= pkt
.FunctionCode('high')
6597 if hi_func
not in hi_seen
:
6598 print("\t0x%02x," % (hi_func
))
6599 hi_seen
[hi_func
] = 1
6604 print("/* ncp funcs that have no length parameter */")
6605 print("static const guint8 ncp_func_has_no_length_parameter[] = {")
6606 funcs
= list(funcs_without_length
.keys())
6609 print("\t0x%02x," % (func
,))
6615 # proto_register_ncp2222()
6617 static const value_string ncp_nds_verb_vals[] = {
6618 { 1, "Resolve Name" },
6619 { 2, "Read Entry Information" },
6623 { 6, "Search Entries" },
6625 { 8, "Remove Entry" },
6626 { 9, "Modify Entry" },
6627 { 10, "Modify RDN" },
6628 { 11, "Create Attribute" },
6629 { 12, "Read Attribute Definition" },
6630 { 13, "Remove Attribute Definition" },
6631 { 14, "Define Class" },
6632 { 15, "Read Class Definition " },
6633 { 16, "Modify Class Definition" },
6634 { 17, "Remove Class Definition" },
6635 { 18, "List Containable Classes" },
6636 { 19, "Get Effective Rights" },
6637 { 20, "Add Partition" },
6638 { 21, "Remove Partition" },
6639 { 22, "List Partitions" },
6640 { 23, "Split Partition" },
6641 { 24, "Join Partitions" },
6642 { 25, "Add Replica" },
6643 { 26, "Remove Replica" },
6644 { 27, "Open Stream" },
6645 { 28, "Search Filter" },
6646 { 29, "Create Subordinate Reference" },
6647 { 30, "Link Replica" },
6648 { 31, "Change Replica Type" },
6649 { 32, "Start Update Schema" },
6650 { 33, "End Update Schema" },
6651 { 34, "Update Schema" },
6652 { 35, "Start Update Replica" },
6653 { 36, "End Update Replica" },
6654 { 37, "Update Replica" },
6655 { 38, "Synchronize Partition" },
6656 { 39, "Synchronize Schema" },
6657 { 40, "Read Syntaxes" },
6658 { 41, "Get Replica Root ID" },
6659 { 42, "Begin Move Entry" },
6660 { 43, "Finish Move Entry" },
6661 { 44, "Release Moved Entry" },
6662 { 45, "Backup Entry" },
6663 { 46, "Restore Entry" },
6664 { 47, "Save DIB (Obsolete)" },
6666 { 49, "Remove Backlink" },
6667 { 50, "Close Iteration" },
6668 { 51, "Mutate Entry" },
6669 { 52, "Audit Skulking" },
6670 { 53, "Get Server Address" },
6672 { 55, "Change Password" },
6673 { 56, "Verify Password" },
6674 { 57, "Begin Login" },
6675 { 58, "Finish Login" },
6676 { 59, "Begin Authentication" },
6677 { 60, "Finish Authentication" },
6679 { 62, "Repair Ring (Obsolete)" },
6680 { 63, "Repair Timestamps" },
6681 { 64, "Create Back Link" },
6682 { 65, "Delete External Reference" },
6683 { 66, "Rename External Reference" },
6684 { 67, "Create Queue Entry Directory" },
6685 { 68, "Remove Queue Entry Directory" },
6686 { 69, "Merge Entries" },
6687 { 70, "Change Tree Name" },
6688 { 71, "Partition Entry Count" },
6689 { 72, "Check Login Restrictions" },
6690 { 73, "Start Join" },
6691 { 74, "Low Level Split" },
6692 { 75, "Low Level Join" },
6693 { 76, "Abort Partition Operation" },
6694 { 77, "Get All Servers" },
6695 { 78, "Partition Function" },
6696 { 79, "Read References" },
6697 { 80, "Inspect Entry" },
6698 { 81, "Get Remote Entry ID" },
6699 { 82, "Change Security" },
6700 { 83, "Check Console Operator" },
6701 { 84, "Start Move Tree" },
6702 { 85, "Move Tree" },
6703 { 86, "End Move Tree" },
6704 { 87, "Low Level Abort Join" },
6705 { 88, "Check Security Equivalence" },
6706 { 89, "Merge Tree" },
6707 { 90, "Sync External Reference" },
6708 { 91, "Resend Entry" },
6709 { 92, "New Schema Epoch" },
6710 { 93, "Statistics" },
6712 { 95, "Get Bindery Contexts" },
6713 { 96, "Monitor Connection" },
6714 { 97, "Get DS Statistics" },
6715 { 98, "Reset DS Counters" },
6717 { 100, "Read Stream" },
6718 { 101, "Write Stream" },
6719 { 102, "Create Orphan Partition" },
6720 { 103, "Remove Orphan Partition" },
6721 { 104, "Link Orphan Partition" },
6722 { 105, "Set Distributed Reference Link (DRL)" },
6723 { 106, "Available" },
6724 { 107, "Available" },
6725 { 108, "Verify Distributed Reference Link (DRL)" },
6726 { 109, "Verify Partition" },
6727 { 110, "Iterator" },
6728 { 111, "Available" },
6729 { 112, "Close Stream" },
6730 { 113, "Available" },
6731 { 114, "Read Status" },
6732 { 115, "Partition Sync Status" },
6733 { 116, "Read Reference Data" },
6734 { 117, "Write Reference Data" },
6735 { 118, "Resource Event" },
6736 { 119, "DIB Request (obsolete)" },
6737 { 120, "Set Replication Filter" },
6738 { 121, "Get Replication Filter" },
6739 { 122, "Change Attribute Definition" },
6740 { 123, "Schema in Use" },
6741 { 124, "Remove Keys" },
6743 { 126, "Multiple Operations Transaction" },
6745 { 255, "EDirectory Call" },
6749 static const value_string connection_status_vals[] = {
6751 { 0x01, "Bad Service Connection" },
6752 { 0x10, "File Server is Down" },
6753 { 0x40, "Broadcast Message Pending" },
6758 proto_register_ncp2222(void)
6761 static hf_register_info hf[] = {
6763 { "Function", "ncp.func", FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL }},
6766 { "Packet Length", "ncp.length", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
6769 { "SubFunction", "ncp.subfunc", FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL }},
6771 { &hf_ncp_completion_code,
6772 { "Completion Code", "ncp.completion_code", FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL }},
6775 { "NCP Group Type", "ncp.group", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
6777 { &hf_ncp_fragment_handle,
6778 { "NDS Fragment Handle", "ncp.ndsfrag", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
6780 { &hf_ncp_fragment_size,
6781 { "NDS Fragment Size", "ncp.ndsfragsize", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
6783 { &hf_ncp_message_size,
6784 { "Message Size", "ncp.ndsmessagesize", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
6787 { "Flags", "ncp.ndsflag", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
6790 { "NDS Verb", "ncp.ndsverb", FT_UINT8, BASE_HEX, VALS(ncp_nds_verb_vals), 0x0, NULL, HFILL }},
6793 { "NDS Version", "ncp.ping_version", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
6795 #if 0 /* Unused ? */
6797 { "NDS Version", "ncp.nds_version", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
6800 { &hf_nds_tree_name,
6801 { "Tree Name", "ncp.nds_tree_name", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
6806 * http://www.odyssea.com/whats_new/tcpipnet/tcpipnet.html
6808 * says of the connection status "The Connection Code field may
6809 * contain values that indicate the status of the client host to
6810 * server connection. A value of 1 in the fourth bit of this data
6811 * byte indicates that the server is unavailable (server was
6816 * http://www.unm.edu/~network/presentations/course/appendix/appendix_f/tsld088.htm
6818 * says that bit 0 is "bad service", bit 2 is "no connection
6819 * available", bit 4 is "service down", and bit 6 is "server
6820 * has a broadcast message waiting for the client".
6822 * Should it be displayed in hex, and should those bits (and any
6823 * other bits with significance) be displayed as bitfields
6826 { &hf_ncp_connection_status,
6827 { "Connection Status", "ncp.connection_status", FT_UINT8, BASE_DEC, VALS(connection_status_vals), 0x0, NULL, HFILL }},
6829 { &hf_ncp_req_frame_num,
6830 { "Response to Request in Frame Number", "ncp.req_frame_num", FT_FRAMENUM, BASE_NONE, NULL, 0x0, NULL, HFILL }},
6832 { &hf_ncp_req_frame_time,
6833 { "Time from Request", "ncp.time", FT_RELATIVE_TIME, BASE_NONE, NULL, 0x0, "Time between request and response in seconds", HFILL }},
6835 #if 0 /* Unused ? */
6837 { "NDS Return Flags", "ncp.nds_flags", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
6840 { &hf_nds_reply_depth,
6841 { "Distance from Root", "ncp.ndsdepth", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
6843 { &hf_nds_reply_rev,
6844 { "NDS Revision", "ncp.ndsrev", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
6846 { &hf_nds_reply_flags,
6847 { "Flags", "ncp.ndsflags", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
6850 { "NDS Parameter Type", "ncp.p1type", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
6852 { &hf_nds_uint32value,
6853 { "NDS Value", "ncp.uint32value", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
6856 { "Typeless", "ncp.nds_bit1", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
6859 { "All Containers", "ncp.nds_bit2", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
6862 { "Slashed", "ncp.nds_bit3", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
6865 { "Dotted", "ncp.nds_bit4", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
6868 { "Tuned", "ncp.nds_bit5", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
6871 { "Not Defined", "ncp.nds_bit6", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
6874 { "Not Defined", "ncp.nds_bit7", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
6877 { "Not Defined", "ncp.nds_bit8", FT_BOOLEAN, 16, NULL, 0x00000080, NULL, HFILL }},
6880 { "Not Defined", "ncp.nds_bit9", FT_BOOLEAN, 16, NULL, 0x00000100, NULL, HFILL }},
6883 { "Not Defined", "ncp.nds_bit10", FT_BOOLEAN, 16, NULL, 0x00000200, NULL, HFILL }},
6886 { "Not Defined", "ncp.nds_bit11", FT_BOOLEAN, 16, NULL, 0x00000400, NULL, HFILL }},
6889 { "Not Defined", "ncp.nds_bit12", FT_BOOLEAN, 16, NULL, 0x00000800, NULL, HFILL }},
6892 { "Not Defined", "ncp.nds_bit13", FT_BOOLEAN, 16, NULL, 0x00001000, NULL, HFILL }},
6895 { "Not Defined", "ncp.nds_bit14", FT_BOOLEAN, 16, NULL, 0x00002000, NULL, HFILL }},
6898 { "Not Defined", "ncp.nds_bit15", FT_BOOLEAN, 16, NULL, 0x00004000, NULL, HFILL }},
6901 { "Not Defined", "ncp.nds_bit16", FT_BOOLEAN, 16, NULL, 0x00008000, NULL, HFILL }},
6904 { "Output Flags", "ncp.bit1outflags", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
6907 { "Entry ID", "ncp.bit2outflags", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
6910 { "Replica State", "ncp.bit3outflags", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
6913 { "Modification Timestamp", "ncp.bit4outflags", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
6916 { "Purge Time", "ncp.bit5outflags", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
6919 { "Local Partition ID", "ncp.bit6outflags", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
6922 { "Distinguished Name", "ncp.bit7outflags", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
6925 { "Replica Type", "ncp.bit8outflags", FT_BOOLEAN, 16, NULL, 0x00000080, NULL, HFILL }},
6928 { "Partition Busy", "ncp.bit9outflags", FT_BOOLEAN, 16, NULL, 0x00000100, NULL, HFILL }},
6930 { &hf_bit10outflags,
6931 { "Not Defined", "ncp.bit10outflags", FT_BOOLEAN, 16, NULL, 0x00000200, NULL, HFILL }},
6933 { &hf_bit11outflags,
6934 { "Not Defined", "ncp.bit11outflags", FT_BOOLEAN, 16, NULL, 0x00000400, NULL, HFILL }},
6936 { &hf_bit12outflags,
6937 { "Not Defined", "ncp.bit12outflags", FT_BOOLEAN, 16, NULL, 0x00000800, NULL, HFILL }},
6939 { &hf_bit13outflags,
6940 { "Not Defined", "ncp.bit13outflags", FT_BOOLEAN, 16, NULL, 0x00001000, NULL, HFILL }},
6942 { &hf_bit14outflags,
6943 { "Not Defined", "ncp.bit14outflags", FT_BOOLEAN, 16, NULL, 0x00002000, NULL, HFILL }},
6945 { &hf_bit15outflags,
6946 { "Not Defined", "ncp.bit15outflags", FT_BOOLEAN, 16, NULL, 0x00004000, NULL, HFILL }},
6948 { &hf_bit16outflags,
6949 { "Not Defined", "ncp.bit16outflags", FT_BOOLEAN, 16, NULL, 0x00008000, NULL, HFILL }},
6952 { "Entry ID", "ncp.bit1nflags", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
6955 { "Readable", "ncp.bit2nflags", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
6958 { "Writeable", "ncp.bit3nflags", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
6961 { "Master", "ncp.bit4nflags", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
6964 { "Create ID", "ncp.bit5nflags", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
6967 { "Walk Tree", "ncp.bit6nflags", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
6970 { "Dereference Alias", "ncp.bit7nflags", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
6973 { "Not Defined", "ncp.bit8nflags", FT_BOOLEAN, 16, NULL, 0x00000080, NULL, HFILL }},
6976 { "Not Defined", "ncp.bit9nflags", FT_BOOLEAN, 16, NULL, 0x00000100, NULL, HFILL }},
6979 { "Not Defined", "ncp.bit10nflags", FT_BOOLEAN, 16, NULL, 0x00000200, NULL, HFILL }},
6982 { "Not Defined", "ncp.bit11nflags", FT_BOOLEAN, 16, NULL, 0x00000400, NULL, HFILL }},
6985 { "Not Defined", "ncp.bit12nflags", FT_BOOLEAN, 16, NULL, 0x00000800, NULL, HFILL }},
6988 { "Not Defined", "ncp.bit13nflags", FT_BOOLEAN, 16, NULL, 0x00001000, NULL, HFILL }},
6991 { "Prefer Referrals", "ncp.bit14nflags", FT_BOOLEAN, 16, NULL, 0x00002000, NULL, HFILL }},
6994 { "Prefer Only Referrals", "ncp.bit15nflags", FT_BOOLEAN, 16, NULL, 0x00004000, NULL, HFILL }},
6997 { "Not Defined", "ncp.bit16nflags", FT_BOOLEAN, 16, NULL, 0x00008000, NULL, HFILL }},
7000 { "Typeless", "ncp.bit1rflags", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
7003 { "Slashed", "ncp.bit2rflags", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
7006 { "Dotted", "ncp.bit3rflags", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
7009 { "Tuned", "ncp.bit4rflags", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
7012 { "Not Defined", "ncp.bit5rflags", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
7015 { "Not Defined", "ncp.bit6rflags", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
7018 { "Not Defined", "ncp.bit7rflags", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
7021 { "Not Defined", "ncp.bit8rflags", FT_BOOLEAN, 16, NULL, 0x00000080, NULL, HFILL }},
7024 { "Not Defined", "ncp.bit9rflags", FT_BOOLEAN, 16, NULL, 0x00000100, NULL, HFILL }},
7027 { "Not Defined", "ncp.bit10rflags", FT_BOOLEAN, 16, NULL, 0x00000200, NULL, HFILL }},
7030 { "Not Defined", "ncp.bit11rflags", FT_BOOLEAN, 16, NULL, 0x00000400, NULL, HFILL }},
7033 { "Not Defined", "ncp.bit12rflags", FT_BOOLEAN, 16, NULL, 0x00000800, NULL, HFILL }},
7036 { "Not Defined", "ncp.bit13rflags", FT_BOOLEAN, 16, NULL, 0x00001000, NULL, HFILL }},
7039 { "Not Defined", "ncp.bit14rflags", FT_BOOLEAN, 16, NULL, 0x00002000, NULL, HFILL }},
7042 { "Not Defined", "ncp.bit15rflags", FT_BOOLEAN, 16, NULL, 0x00004000, NULL, HFILL }},
7045 { "Not Defined", "ncp.bit16rflags", FT_BOOLEAN, 16, NULL, 0x00008000, NULL, HFILL }},
7048 { "Alias Entry", "ncp.bit1eflags", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
7051 { "Partition Root", "ncp.bit2eflags", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
7054 { "Container Entry", "ncp.bit3eflags", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
7057 { "Container Alias", "ncp.bit4eflags", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
7060 { "Matches List Filter", "ncp.bit5eflags", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
7063 { "Reference Entry", "ncp.bit6eflags", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
7066 { "40x Reference Entry", "ncp.bit7eflags", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
7069 { "Back Linked", "ncp.bit8eflags", FT_BOOLEAN, 16, NULL, 0x00000080, NULL, HFILL }},
7072 { "New Entry", "ncp.bit9eflags", FT_BOOLEAN, 16, NULL, 0x00000100, NULL, HFILL }},
7075 { "Temporary Reference", "ncp.bit10eflags", FT_BOOLEAN, 16, NULL, 0x00000200, NULL, HFILL }},
7078 { "Audited", "ncp.bit11eflags", FT_BOOLEAN, 16, NULL, 0x00000400, NULL, HFILL }},
7081 { "Entry Not Present", "ncp.bit12eflags", FT_BOOLEAN, 16, NULL, 0x00000800, NULL, HFILL }},
7084 { "Entry Verify CTS", "ncp.bit13eflags", FT_BOOLEAN, 16, NULL, 0x00001000, NULL, HFILL }},
7087 { "Entry Damaged", "ncp.bit14eflags", FT_BOOLEAN, 16, NULL, 0x00002000, NULL, HFILL }},
7090 { "Not Defined", "ncp.bit15rflags", FT_BOOLEAN, 16, NULL, 0x00004000, NULL, HFILL }},
7093 { "Not Defined", "ncp.bit16rflags", FT_BOOLEAN, 16, NULL, 0x00008000, NULL, HFILL }},
7095 { &hf_bit1infoflagsl,
7096 { "Output Flags", "ncp.bit1infoflagsl", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
7098 { &hf_bit2infoflagsl,
7099 { "Entry ID", "ncp.bit2infoflagsl", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
7101 { &hf_bit3infoflagsl,
7102 { "Entry Flags", "ncp.bit3infoflagsl", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
7104 { &hf_bit4infoflagsl,
7105 { "Subordinate Count", "ncp.bit4infoflagsl", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
7107 { &hf_bit5infoflagsl,
7108 { "Modification Time", "ncp.bit5infoflagsl", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
7110 { &hf_bit6infoflagsl,
7111 { "Modification Timestamp", "ncp.bit6infoflagsl", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
7113 { &hf_bit7infoflagsl,
7114 { "Creation Timestamp", "ncp.bit7infoflagsl", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
7116 { &hf_bit8infoflagsl,
7117 { "Partition Root ID", "ncp.bit8infoflagsl", FT_BOOLEAN, 16, NULL, 0x00000080, NULL, HFILL }},
7119 { &hf_bit9infoflagsl,
7120 { "Parent ID", "ncp.bit9infoflagsl", FT_BOOLEAN, 16, NULL, 0x00000100, NULL, HFILL }},
7122 { &hf_bit10infoflagsl,
7123 { "Revision Count", "ncp.bit10infoflagsl", FT_BOOLEAN, 16, NULL, 0x00000200, NULL, HFILL }},
7125 { &hf_bit11infoflagsl,
7126 { "Replica Type", "ncp.bit11infoflagsl", FT_BOOLEAN, 16, NULL, 0x00000400, NULL, HFILL }},
7128 { &hf_bit12infoflagsl,
7129 { "Base Class", "ncp.bit12infoflagsl", FT_BOOLEAN, 16, NULL, 0x00000800, NULL, HFILL }},
7131 { &hf_bit13infoflagsl,
7132 { "Relative Distinguished Name", "ncp.bit13infoflagsl", FT_BOOLEAN, 16, NULL, 0x00001000, NULL, HFILL }},
7134 { &hf_bit14infoflagsl,
7135 { "Distinguished Name", "ncp.bit14infoflagsl", FT_BOOLEAN, 16, NULL, 0x00002000, NULL, HFILL }},
7137 { &hf_bit15infoflagsl,
7138 { "Root Distinguished Name", "ncp.bit15infoflagsl", FT_BOOLEAN, 16, NULL, 0x00004000, NULL, HFILL }},
7140 { &hf_bit16infoflagsl,
7141 { "Parent Distinguished Name", "ncp.bit16infoflagsl", FT_BOOLEAN, 16, NULL, 0x00008000, NULL, HFILL }},
7143 { &hf_bit1infoflagsh,
7144 { "Purge Time", "ncp.bit1infoflagsh", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
7146 { &hf_bit2infoflagsh,
7147 { "Dereference Base Class", "ncp.bit2infoflagsh", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
7149 { &hf_bit3infoflagsh,
7150 { "Not Defined", "ncp.bit3infoflagsh", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
7152 { &hf_bit4infoflagsh,
7153 { "Not Defined", "ncp.bit4infoflagsh", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
7155 { &hf_bit5infoflagsh,
7156 { "Not Defined", "ncp.bit5infoflagsh", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
7158 { &hf_bit6infoflagsh,
7159 { "Not Defined", "ncp.bit6infoflagsh", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
7161 { &hf_bit7infoflagsh,
7162 { "Not Defined", "ncp.bit7infoflagsh", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
7164 { &hf_bit8infoflagsh,
7165 { "Not Defined", "ncp.bit8infoflagsh", FT_BOOLEAN, 16, NULL, 0x00000080, NULL, HFILL }},
7167 { &hf_bit9infoflagsh,
7168 { "Not Defined", "ncp.bit9infoflagsh", FT_BOOLEAN, 16, NULL, 0x00000100, NULL, HFILL }},
7170 { &hf_bit10infoflagsh,
7171 { "Not Defined", "ncp.bit10infoflagsh", FT_BOOLEAN, 16, NULL, 0x00000200, NULL, HFILL }},
7173 { &hf_bit11infoflagsh,
7174 { "Not Defined", "ncp.bit11infoflagsh", FT_BOOLEAN, 16, NULL, 0x00000400, NULL, HFILL }},
7176 { &hf_bit12infoflagsh,
7177 { "Not Defined", "ncp.bit12infoflagshs", FT_BOOLEAN, 16, NULL, 0x00000800, NULL, HFILL }},
7179 { &hf_bit13infoflagsh,
7180 { "Not Defined", "ncp.bit13infoflagsh", FT_BOOLEAN, 16, NULL, 0x00001000, NULL, HFILL }},
7182 { &hf_bit14infoflagsh,
7183 { "Not Defined", "ncp.bit14infoflagsh", FT_BOOLEAN, 16, NULL, 0x00002000, NULL, HFILL }},
7185 { &hf_bit15infoflagsh,
7186 { "Not Defined", "ncp.bit15infoflagsh", FT_BOOLEAN, 16, NULL, 0x00004000, NULL, HFILL }},
7188 { &hf_bit16infoflagsh,
7189 { "Not Defined", "ncp.bit16infoflagsh", FT_BOOLEAN, 16, NULL, 0x00008000, NULL, HFILL }},
7192 { "List Typeless", "ncp.bit1lflags", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
7195 { "List Containers", "ncp.bit2lflags", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
7198 { "List Slashed", "ncp.bit3lflags", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
7201 { "List Dotted", "ncp.bit4lflags", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
7204 { "Dereference Alias", "ncp.bit5lflags", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
7207 { "List All Containers", "ncp.bit6lflags", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
7210 { "List Obsolete", "ncp.bit7lflags", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
7213 { "List Tuned Output", "ncp.bit8lflags", FT_BOOLEAN, 16, NULL, 0x00000080, NULL, HFILL }},
7216 { "List External Reference", "ncp.bit9lflags", FT_BOOLEAN, 16, NULL, 0x00000100, NULL, HFILL }},
7219 { "Not Defined", "ncp.bit10lflags", FT_BOOLEAN, 16, NULL, 0x00000200, NULL, HFILL }},
7222 { "Not Defined", "ncp.bit11lflags", FT_BOOLEAN, 16, NULL, 0x00000400, NULL, HFILL }},
7225 { "Not Defined", "ncp.bit12lflags", FT_BOOLEAN, 16, NULL, 0x00000800, NULL, HFILL }},
7228 { "Not Defined", "ncp.bit13lflags", FT_BOOLEAN, 16, NULL, 0x00001000, NULL, HFILL }},
7231 { "Not Defined", "ncp.bit14lflags", FT_BOOLEAN, 16, NULL, 0x00002000, NULL, HFILL }},
7234 { "Not Defined", "ncp.bit15lflags", FT_BOOLEAN, 16, NULL, 0x00004000, NULL, HFILL }},
7237 { "Not Defined", "ncp.bit16lflags", FT_BOOLEAN, 16, NULL, 0x00008000, NULL, HFILL }},
7240 { "Output Flags", "ncp.bit1l1flagsl", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
7243 { "Entry ID", "ncp.bit2l1flagsl", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
7246 { "Replica State", "ncp.bit3l1flagsl", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
7249 { "Modification Timestamp", "ncp.bit4l1flagsl", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
7252 { "Purge Time", "ncp.bit5l1flagsl", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
7255 { "Local Partition ID", "ncp.bit6l1flagsl", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
7258 { "Distinguished Name", "ncp.bit7l1flagsl", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
7261 { "Replica Type", "ncp.bit8l1flagsl", FT_BOOLEAN, 16, NULL, 0x00000080, NULL, HFILL }},
7264 { "Partition Busy", "ncp.bit9l1flagsl", FT_BOOLEAN, 16, NULL, 0x00000100, NULL, HFILL }},
7266 { &hf_bit10l1flagsl,
7267 { "Not Defined", "ncp.bit10l1flagsl", FT_BOOLEAN, 16, NULL, 0x00000200, NULL, HFILL }},
7269 { &hf_bit11l1flagsl,
7270 { "Not Defined", "ncp.bit11l1flagsl", FT_BOOLEAN, 16, NULL, 0x00000400, NULL, HFILL }},
7272 { &hf_bit12l1flagsl,
7273 { "Not Defined", "ncp.bit12l1flagsl", FT_BOOLEAN, 16, NULL, 0x00000800, NULL, HFILL }},
7275 { &hf_bit13l1flagsl,
7276 { "Not Defined", "ncp.bit13l1flagsl", FT_BOOLEAN, 16, NULL, 0x00001000, NULL, HFILL }},
7278 { &hf_bit14l1flagsl,
7279 { "Not Defined", "ncp.bit14l1flagsl", FT_BOOLEAN, 16, NULL, 0x00002000, NULL, HFILL }},
7281 { &hf_bit15l1flagsl,
7282 { "Not Defined", "ncp.bit15l1flagsl", FT_BOOLEAN, 16, NULL, 0x00004000, NULL, HFILL }},
7284 { &hf_bit16l1flagsl,
7285 { "Not Defined", "ncp.bit16l1flagsl", FT_BOOLEAN, 16, NULL, 0x00008000, NULL, HFILL }},
7288 { "Not Defined", "ncp.bit1l1flagsh", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
7291 { "Not Defined", "ncp.bit2l1flagsh", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
7294 { "Not Defined", "ncp.bit3l1flagsh", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
7297 { "Not Defined", "ncp.bit4l1flagsh", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
7300 { "Not Defined", "ncp.bit5l1flagsh", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
7303 { "Not Defined", "ncp.bit6l1flagsh", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
7306 { "Not Defined", "ncp.bit7l1flagsh", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
7309 { "Not Defined", "ncp.bit8l1flagsh", FT_BOOLEAN, 16, NULL, 0x00000080, NULL, HFILL }},
7312 { "Not Defined", "ncp.bit9l1flagsh", FT_BOOLEAN, 16, NULL, 0x00000100, NULL, HFILL }},
7314 { &hf_bit10l1flagsh,
7315 { "Not Defined", "ncp.bit10l1flagsh", FT_BOOLEAN, 16, NULL, 0x00000200, NULL, HFILL }},
7317 { &hf_bit11l1flagsh,
7318 { "Not Defined", "ncp.bit11l1flagsh", FT_BOOLEAN, 16, NULL, 0x00000400, NULL, HFILL }},
7320 { &hf_bit12l1flagsh,
7321 { "Not Defined", "ncp.bit12l1flagsh", FT_BOOLEAN, 16, NULL, 0x00000800, NULL, HFILL }},
7323 { &hf_bit13l1flagsh,
7324 { "Not Defined", "ncp.bit13l1flagsh", FT_BOOLEAN, 16, NULL, 0x00001000, NULL, HFILL }},
7326 { &hf_bit14l1flagsh,
7327 { "Not Defined", "ncp.bit14l1flagsh", FT_BOOLEAN, 16, NULL, 0x00002000, NULL, HFILL }},
7329 { &hf_bit15l1flagsh,
7330 { "Not Defined", "ncp.bit15l1flagsh", FT_BOOLEAN, 16, NULL, 0x00004000, NULL, HFILL }},
7332 { &hf_bit16l1flagsh,
7333 { "Not Defined", "ncp.bit16l1flagsh", FT_BOOLEAN, 16, NULL, 0x00008000, NULL, HFILL }},
7336 { "Naming", "ncp.bit1vflags", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
7339 { "Base Class", "ncp.bit2vflags", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
7342 { "Present", "ncp.bit3vflags", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
7345 { "Value Damaged", "ncp.bit4vflags", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
7348 { "Not Defined", "ncp.bit5vflags", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
7351 { "Not Defined", "ncp.bit6vflags", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
7354 { "Not Defined", "ncp.bit7vflags", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
7357 { "Not Defined", "ncp.bit8vflags", FT_BOOLEAN, 16, NULL, 0x00000080, NULL, HFILL }},
7360 { "Not Defined", "ncp.bit9vflags", FT_BOOLEAN, 16, NULL, 0x00000100, NULL, HFILL }},
7363 { "Not Defined", "ncp.bit10vflags", FT_BOOLEAN, 16, NULL, 0x00000200, NULL, HFILL }},
7366 { "Not Defined", "ncp.bit11vflags", FT_BOOLEAN, 16, NULL, 0x00000400, NULL, HFILL }},
7369 { "Not Defined", "ncp.bit12vflags", FT_BOOLEAN, 16, NULL, 0x00000800, NULL, HFILL }},
7372 { "Not Defined", "ncp.bit13vflags", FT_BOOLEAN, 16, NULL, 0x00001000, NULL, HFILL }},
7375 { "Not Defined", "ncp.bit14vflags", FT_BOOLEAN, 16, NULL, 0x00002000, NULL, HFILL }},
7378 { "Not Defined", "ncp.bit15vflags", FT_BOOLEAN, 16, NULL, 0x00004000, NULL, HFILL }},
7381 { "Not Defined", "ncp.bit16vflags", FT_BOOLEAN, 16, NULL, 0x00008000, NULL, HFILL }},
7384 { "Container", "ncp.bit1cflags", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
7387 { "Effective", "ncp.bit2cflags", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
7390 { "Class Definition Cannot be Removed", "ncp.bit3cflags", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
7393 { "Ambiguous Naming", "ncp.bit4cflags", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
7396 { "Ambiguous Containment", "ncp.bit5cflags", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
7399 { "Auxiliary", "ncp.bit6cflags", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
7402 { "Operational", "ncp.bit7cflags", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
7405 { "Sparse Required", "ncp.bit8cflags", FT_BOOLEAN, 16, NULL, 0x00000080, NULL, HFILL }},
7408 { "Sparse Operational", "ncp.bit9cflags", FT_BOOLEAN, 16, NULL, 0x00000100, NULL, HFILL }},
7411 { "Not Defined", "ncp.bit10cflags", FT_BOOLEAN, 16, NULL, 0x00000200, NULL, HFILL }},
7414 { "Not Defined", "ncp.bit11cflags", FT_BOOLEAN, 16, NULL, 0x00000400, NULL, HFILL }},
7417 { "Not Defined", "ncp.bit12cflags", FT_BOOLEAN, 16, NULL, 0x00000800, NULL, HFILL }},
7420 { "Not Defined", "ncp.bit13cflags", FT_BOOLEAN, 16, NULL, 0x00001000, NULL, HFILL }},
7423 { "Not Defined", "ncp.bit14cflags", FT_BOOLEAN, 16, NULL, 0x00002000, NULL, HFILL }},
7426 { "Not Defined", "ncp.bit15cflags", FT_BOOLEAN, 16, NULL, 0x00004000, NULL, HFILL }},
7429 { "Not Defined", "ncp.bit16cflags", FT_BOOLEAN, 16, NULL, 0x00008000, NULL, HFILL }},
7432 { "Single Valued", "ncp.bit1acflags", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
7435 { "Sized", "ncp.bit2acflags", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
7438 { "Non-Removable", "ncp.bit3acflags", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
7441 { "Read Only", "ncp.bit4acflags", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
7444 { "Hidden", "ncp.bit5acflags", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
7447 { "String", "ncp.bit6acflags", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
7450 { "Synchronize Immediate", "ncp.bit7acflags", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
7453 { "Public Read", "ncp.bit8acflags", FT_BOOLEAN, 16, NULL, 0x00000080, NULL, HFILL }},
7456 { "Server Read", "ncp.bit9acflags", FT_BOOLEAN, 16, NULL, 0x00000100, NULL, HFILL }},
7459 { "Write Managed", "ncp.bit10acflags", FT_BOOLEAN, 16, NULL, 0x00000200, NULL, HFILL }},
7462 { "Per Replica", "ncp.bit11acflags", FT_BOOLEAN, 16, NULL, 0x00000400, NULL, HFILL }},
7465 { "Never Schedule Synchronization", "ncp.bit12acflags", FT_BOOLEAN, 16, NULL, 0x00000800, NULL, HFILL }},
7468 { "Operational", "ncp.bit13acflags", FT_BOOLEAN, 16, NULL, 0x00001000, NULL, HFILL }},
7471 { "Not Defined", "ncp.bit14acflags", FT_BOOLEAN, 16, NULL, 0x00002000, NULL, HFILL }},
7474 { "Not Defined", "ncp.bit15acflags", FT_BOOLEAN, 16, NULL, 0x00004000, NULL, HFILL }},
7477 { "Not Defined", "ncp.bit16acflags", FT_BOOLEAN, 16, NULL, 0x00008000, NULL, HFILL }},
7480 { &hf_nds_reply_error,
7481 { "NDS Error", "ncp.ndsreplyerror", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7484 { "Network","ncp.ndsnet", FT_IPXNET, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7487 { "Node", "ncp.ndsnode", FT_ETHER, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7490 { "Socket", "ncp.ndssocket", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7493 { "Address Referral", "ncp.ipref", FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7496 { "Address Referral", "ncp.udpref", FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7499 { "Address Referral", "ncp.tcpref", FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7501 { &hf_referral_record,
7502 { "Referral Record", "ncp.ref_rec", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7504 { &hf_referral_addcount,
7505 { "Address Count", "ncp.ref_addcount", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7508 { "Port", "ncp.ndsport", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7511 { "Attribute Name", "ncp.mv_string", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7514 { "Attribute Syntax", "ncp.nds_syntax", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7517 { "Value", "ncp.value_string", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7519 { &hf_nds_stream_name,
7520 { "Stream Name", "ncp.nds_stream_name", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7522 { &hf_nds_buffer_size,
7523 { "NDS Reply Buffer Size", "ncp.nds_reply_buf", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7526 { "NDS Version", "ncp.nds_ver", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7529 { "Flags", "ncp.nds_nflags", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7532 { "Request Flags", "ncp.nds_rflags", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7535 { "Entry Flags", "ncp.nds_eflags", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7538 { "Scope", "ncp.nds_scope", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7541 { "Name", "ncp.nds_name", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7543 { &hf_nds_name_type,
7544 { "Name Type", "ncp.nds_name_type", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7546 { &hf_nds_comm_trans,
7547 { "Communications Transport", "ncp.nds_comm_trans", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7549 { &hf_nds_tree_trans,
7550 { "Tree Walker Transport", "ncp.nds_tree_trans", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7552 { &hf_nds_iteration,
7553 { "Iteration Handle", "ncp.nds_iteration", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7556 { "Iterator", "ncp.nds_iterator", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7558 { &hf_nds_file_handle,
7559 { "File Handle", "ncp.nds_file_handle", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7561 { &hf_nds_file_size,
7562 { "File Size", "ncp.nds_file_size", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7565 { "NDS EID", "ncp.nds_eid", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7568 { "Distance object is from Root", "ncp.nds_depth", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7570 { &hf_nds_info_type,
7571 { "Info Type", "ncp.nds_info_type", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7573 { &hf_nds_class_def_type,
7574 { "Class Definition Type", "ncp.nds_class_def_type", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7577 { "All Attributes", "ncp.nds_all_attr", FT_UINT32, BASE_DEC, NULL, 0x0, "Return all Attributes?", HFILL }},
7579 { &hf_nds_return_all_classes,
7580 { "All Classes", "ncp.nds_return_all_classes", FT_STRING, BASE_NONE, NULL, 0x0, "Return all Classes?", HFILL }},
7582 { &hf_nds_req_flags,
7583 { "Request Flags", "ncp.nds_req_flags", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7586 { "Attributes", "ncp.nds_attributes", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7589 { "Classes", "ncp.nds_classes", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7592 { "CRC", "ncp.nds_crc", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7594 { &hf_nds_referrals,
7595 { "Referrals", "ncp.nds_referrals", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7597 { &hf_nds_result_flags,
7598 { "Result Flags", "ncp.nds_result_flags", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7600 { &hf_nds_stream_flags,
7601 { "Streams Flags", "ncp.nds_stream_flags", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7603 { &hf_nds_tag_string,
7604 { "Tags", "ncp.nds_tags", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7607 { "Bytes", "ncp.value_bytes", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7610 { "Replica Type", "ncp.rtype", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7612 { &hf_replica_state,
7613 { "Replica State", "ncp.rstate", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7616 { "Replica Number", "ncp.rnum", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7619 { "Event", "ncp.revent", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7621 { &hf_replica_number,
7622 { "Replica Number", "ncp.rnum", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7625 { "Minimum NDS Version", "ncp.min_nds_version", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7627 { &hf_nds_ver_include,
7628 { "Include NDS Version", "ncp.inc_nds_ver", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7630 { &hf_nds_ver_exclude,
7631 { "Exclude NDS Version", "ncp.exc_nds_ver", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7633 #if 0 /* Unused ? */
7635 { "Input Entry Specifier", "ncp.nds_es", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7639 { "Entry Specifier Type", "ncp.nds_es_type", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7642 { "RDN", "ncp.nds_rdn", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7644 #if 0 /* Unused ? */
7646 { "Delimiter", "ncp.nds_delim", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7649 { &hf_nds_dn_output_type,
7650 { "Output Entry Specifier Type", "ncp.nds_out_es_type", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7652 { &hf_nds_nested_output_type,
7653 { "Nested Output Entry Specifier Type", "ncp.nds_nested_out_es", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7655 { &hf_nds_output_delimiter,
7656 { "Output Delimiter", "ncp.nds_out_delimiter", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7658 { &hf_nds_output_entry_specifier,
7659 { "Output Entry Specifier", "ncp.nds_out_es", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7662 { "Entry Specifier Value", "ncp.nds_es_value", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7665 { "RDN Count", "ncp.nds_es_rdn_count", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7667 { &hf_nds_replica_num,
7668 { "Replica Number", "ncp.nds_replica_num", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7671 { "Seconds", "ncp.nds_es_seconds", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0x0, NULL, HFILL }},
7673 { &hf_nds_event_num,
7674 { "Event Number", "ncp.nds_event_num", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7676 { &hf_nds_compare_results,
7677 { "Compare Results", "ncp.nds_compare_results", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7680 { "Parent ID", "ncp.nds_parent", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7682 { &hf_nds_name_filter,
7683 { "Name Filter", "ncp.nds_name_filter", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7685 { &hf_nds_class_filter,
7686 { "Class Filter", "ncp.nds_class_filter", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7688 { &hf_nds_time_filter,
7689 { "Time Filter", "ncp.nds_time_filter", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7691 { &hf_nds_partition_root_id,
7692 { "Partition Root ID", "ncp.nds_partition_root_id", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7695 { "Replicas", "ncp.nds_replicas", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7698 { "Purge Time", "ncp.nds_purge", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0x0, NULL, HFILL }},
7700 { &hf_nds_local_partition,
7701 { "Local Partition ID", "ncp.nds_local_partition", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7703 { &hf_partition_busy,
7704 { "Partition Busy", "ncp.nds_partition_busy", FT_BOOLEAN, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7706 { &hf_nds_number_of_changes,
7707 { "Number of Attribute Changes", "ncp.nds_number_of_changes", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7710 { "Subordinate Count", "ncp.sub_count", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7713 { "Revision Count", "ncp.nds_rev_count", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7715 { &hf_nds_base_class,
7716 { "Base Class", "ncp.nds_base_class", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7718 { &hf_nds_relative_dn,
7719 { "Relative Distinguished Name", "ncp.nds_relative_dn", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7721 #if 0 /* Unused ? */
7723 { "Root Distinguished Name", "ncp.nds_root_dn", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7726 #if 0 /* Unused ? */
7727 { &hf_nds_parent_dn,
7728 { "Parent Distinguished Name", "ncp.nds_parent_dn", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7732 { "Dereference Base Class", "ncp.nds_deref_base", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7735 { "Base Class", "ncp.nds_base", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7738 { "Super Class", "ncp.nds_super", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7740 #if 0 /* Unused ? */
7741 { &hf_nds_entry_info,
7742 { "Entry Information", "ncp.nds_entry_info", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7745 { &hf_nds_privileges,
7746 { "Privileges", "ncp.nds_privileges", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7748 { &hf_nds_compare_attributes,
7749 { "Compare Attributes?", "ncp.nds_compare_attributes", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
7751 { &hf_nds_read_attribute,
7752 { "Read Attribute?", "ncp.nds_read_attribute", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
7754 { &hf_nds_write_add_delete_attribute,
7755 { "Write, Add, Delete Attribute?", "ncp.nds_write_add_delete_attribute", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
7757 { &hf_nds_add_delete_self,
7758 { "Add/Delete Self?", "ncp.nds_add_delete_self", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
7760 { &hf_nds_privilege_not_defined,
7761 { "Privilege Not defined", "ncp.nds_privilege_not_defined", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
7763 { &hf_nds_supervisor,
7764 { "Supervisor?", "ncp.nds_supervisor", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
7766 { &hf_nds_inheritance_control,
7767 { "Inheritance?", "ncp.nds_inheritance_control", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
7769 { &hf_nds_browse_entry,
7770 { "Browse Entry?", "ncp.nds_browse_entry", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
7772 { &hf_nds_add_entry,
7773 { "Add Entry?", "ncp.nds_add_entry", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
7775 { &hf_nds_delete_entry,
7776 { "Delete Entry?", "ncp.nds_delete_entry", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
7778 { &hf_nds_rename_entry,
7779 { "Rename Entry?", "ncp.nds_rename_entry", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
7781 { &hf_nds_supervisor_entry,
7782 { "Supervisor?", "ncp.nds_supervisor_entry", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
7784 { &hf_nds_entry_privilege_not_defined,
7785 { "Privilege Not Defined", "ncp.nds_entry_privilege_not_defined", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
7788 { "Value Flags", "ncp.nds_vflags", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7790 { &hf_nds_value_len,
7791 { "Value Length", "ncp.nds_vlength", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7794 { "Class Flags", "ncp.nds_cflags", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7797 { "ASN.1 ID", "ncp.nds_asn1", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7800 { "Attribute Constraint Flags", "ncp.nds_acflags", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7803 { "Upper Limit Value", "ncp.nds_upper", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7806 { "Lower Limit Value", "ncp.nds_lower", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7808 { &hf_nds_trustee_dn,
7809 { "Trustee Distinguished Name", "ncp.nds_trustee_dn", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7811 { &hf_nds_attribute_dn,
7812 { "Attribute Name", "ncp.nds_attribute_dn", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7815 { "Access Control Lists to Add", "ncp.nds_acl_add", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7818 { "Access Control Lists to Delete", "ncp.nds_acl_del", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7821 { "Attribute to Add", "ncp.nds_att_add", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7824 { "Attribute to Delete", "ncp.nds_att_del", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7827 { "Delete Original RDN", "ncp.nds_keep", FT_BOOLEAN, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7830 { "New Relative Distinguished Name", "ncp.nds_new_rdn", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7832 { &hf_nds_time_delay,
7833 { "Time Delay", "ncp.nds_time_delay", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
7835 { &hf_nds_root_name,
7836 { "Root Most Object Name", "ncp.nds_root_name", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7838 { &hf_nds_new_part_id,
7839 { "New Partition Root ID", "ncp.nds_new_part_id", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7841 { &hf_nds_child_part_id,
7842 { "Child Partition Root ID", "ncp.nds_child_part_id", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7844 { &hf_nds_master_part_id,
7845 { "Master Partition Root ID", "ncp.nds_master_part_id", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
7847 { &hf_nds_target_name,
7848 { "Target Server Name", "ncp.nds_target_dn", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
7851 { &hf_bit1pingflags1,
7852 { "Supported Fields", "ncp.bit1pingflags1", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
7854 { &hf_bit2pingflags1,
7855 { "Depth", "ncp.bit2pingflags1", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
7857 { &hf_bit3pingflags1,
7858 { "Build Number", "ncp.bit3pingflags1", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
7860 { &hf_bit4pingflags1,
7861 { "Flags", "ncp.bit4pingflags1", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
7863 { &hf_bit5pingflags1,
7864 { "Verification Flags", "ncp.bit5pingflags1", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
7866 { &hf_bit6pingflags1,
7867 { "Letter Version", "ncp.bit6pingflags1", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
7869 { &hf_bit7pingflags1,
7870 { "OS Version", "ncp.bit7pingflags1", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
7872 { &hf_bit8pingflags1,
7873 { "Not Defined", "ncp.bit8pingflags1", FT_BOOLEAN, 16, NULL, 0x00000080, NULL, HFILL }},
7875 { &hf_bit9pingflags1,
7876 { "License Flags", "ncp.bit9pingflags1", FT_BOOLEAN, 16, NULL, 0x00000100, NULL, HFILL }},
7878 { &hf_bit10pingflags1,
7879 { "DS Time", "ncp.bit10pingflags1", FT_BOOLEAN, 16, NULL, 0x00000200, NULL, HFILL }},
7881 { &hf_bit11pingflags1,
7882 { "Server Time", "ncp.bit11pingflags1", FT_BOOLEAN, 16, NULL, 0x00000400, NULL, HFILL }},
7884 { &hf_bit12pingflags1,
7885 { "Create Time", "ncp.bit12pingflags1", FT_BOOLEAN, 16, NULL, 0x00000800, NULL, HFILL }},
7887 { &hf_bit13pingflags1,
7888 { "Not Defined", "ncp.bit13pingflags1", FT_BOOLEAN, 16, NULL, 0x00001000, NULL, HFILL }},
7890 { &hf_bit14pingflags1,
7891 { "Not Defined", "ncp.bit14pingflags1", FT_BOOLEAN, 16, NULL, 0x00002000, NULL, HFILL }},
7893 { &hf_bit15pingflags1,
7894 { "Not Defined", "ncp.bit15pingflags1", FT_BOOLEAN, 16, NULL, 0x00004000, NULL, HFILL }},
7896 { &hf_bit16pingflags1,
7897 { "Not Defined", "ncp.bit16pingflags1", FT_BOOLEAN, 16, NULL, 0x00008000, NULL, HFILL }},
7899 { &hf_bit1pingflags2,
7900 { "Sap Name", "ncp.bit1pingflags2", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
7902 { &hf_bit2pingflags2,
7903 { "Tree Name", "ncp.bit2pingflags2", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
7905 { &hf_bit3pingflags2,
7906 { "OS Name", "ncp.bit3pingflags2", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
7908 { &hf_bit4pingflags2,
7909 { "Hardware Name", "ncp.bit4pingflags2", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
7911 { &hf_bit5pingflags2,
7912 { "Vendor Name", "ncp.bit5pingflags2", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
7914 { &hf_bit6pingflags2,
7915 { "Not Defined", "ncp.bit6pingflags2", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
7917 { &hf_bit7pingflags2,
7918 { "Not Defined", "ncp.bit7pingflags2", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
7920 { &hf_bit8pingflags2,
7921 { "Not Defined", "ncp.bit8pingflags2", FT_BOOLEAN, 16, NULL, 0x00000080, NULL, HFILL }},
7923 { &hf_bit9pingflags2,
7924 { "Not Defined", "ncp.bit9pingflags2", FT_BOOLEAN, 16, NULL, 0x00000100, NULL, HFILL }},
7926 { &hf_bit10pingflags2,
7927 { "Not Defined", "ncp.bit10pingflags2", FT_BOOLEAN, 16, NULL, 0x00000200, NULL, HFILL }},
7929 { &hf_bit11pingflags2,
7930 { "Not Defined", "ncp.bit11pingflags2", FT_BOOLEAN, 16, NULL, 0x00000400, NULL, HFILL }},
7932 { &hf_bit12pingflags2,
7933 { "Not Defined", "ncp.bit12pingflags2", FT_BOOLEAN, 16, NULL, 0x00000800, NULL, HFILL }},
7935 { &hf_bit13pingflags2,
7936 { "Not Defined", "ncp.bit13pingflags2", FT_BOOLEAN, 16, NULL, 0x00001000, NULL, HFILL }},
7938 { &hf_bit14pingflags2,
7939 { "Not Defined", "ncp.bit14pingflags2", FT_BOOLEAN, 16, NULL, 0x00002000, NULL, HFILL }},
7941 { &hf_bit15pingflags2,
7942 { "Not Defined", "ncp.bit15pingflags2", FT_BOOLEAN, 16, NULL, 0x00004000, NULL, HFILL }},
7944 { &hf_bit16pingflags2,
7945 { "Not Defined", "ncp.bit16pingflags2", FT_BOOLEAN, 16, NULL, 0x00008000, NULL, HFILL }},
7947 { &hf_bit1pingpflags1,
7948 { "Root Most Master Replica", "ncp.bit1pingpflags1", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
7950 { &hf_bit2pingpflags1,
7951 { "Is Time Synchronized?", "ncp.bit2pingpflags1", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
7953 { &hf_bit3pingpflags1,
7954 { "Is Time Valid?", "ncp.bit3pingpflags1", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
7956 { &hf_bit4pingpflags1,
7957 { "Is DS Time Synchronized?", "ncp.bit4pingpflags1", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
7959 { &hf_bit5pingpflags1,
7960 { "Does Agent Have All Replicas?", "ncp.bit5pingpflags1", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
7962 { &hf_bit6pingpflags1,
7963 { "Not Defined", "ncp.bit6pingpflags1", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
7965 { &hf_bit7pingpflags1,
7966 { "Not Defined", "ncp.bit7pingpflags1", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
7968 { &hf_bit8pingpflags1,
7969 { "Not Defined", "ncp.bit8pingpflags1", FT_BOOLEAN, 16, NULL, 0x00000080, NULL, HFILL }},
7971 { &hf_bit9pingpflags1,
7972 { "Not Defined", "ncp.bit9pingpflags1", FT_BOOLEAN, 16, NULL, 0x00000100, NULL, HFILL }},
7974 { &hf_bit10pingpflags1,
7975 { "Not Defined", "ncp.bit10pingpflags1", FT_BOOLEAN, 16, NULL, 0x00000200, NULL, HFILL }},
7977 { &hf_bit11pingpflags1,
7978 { "Not Defined", "ncp.bit11pingpflags1", FT_BOOLEAN, 16, NULL, 0x00000400, NULL, HFILL }},
7980 { &hf_bit12pingpflags1,
7981 { "Not Defined", "ncp.bit12pingpflags1", FT_BOOLEAN, 16, NULL, 0x00000800, NULL, HFILL }},
7983 { &hf_bit13pingpflags1,
7984 { "Not Defined", "ncp.bit13pingpflags1", FT_BOOLEAN, 16, NULL, 0x00001000, NULL, HFILL }},
7986 { &hf_bit14pingpflags1,
7987 { "Not Defined", "ncp.bit14pingpflags1", FT_BOOLEAN, 16, NULL, 0x00002000, NULL, HFILL }},
7989 { &hf_bit15pingpflags1,
7990 { "Not Defined", "ncp.bit15pingpflags1", FT_BOOLEAN, 16, NULL, 0x00004000, NULL, HFILL }},
7992 { &hf_bit16pingpflags1,
7993 { "Not Defined", "ncp.bit16pingpflags1", FT_BOOLEAN, 16, NULL, 0x00008000, NULL, HFILL }},
7995 { &hf_bit1pingvflags1,
7996 { "Checksum", "ncp.bit1pingvflags1", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
7998 { &hf_bit2pingvflags1,
7999 { "CRC32", "ncp.bit2pingvflags1", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
8001 { &hf_bit3pingvflags1,
8002 { "Not Defined", "ncp.bit3pingvflags1", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
8004 { &hf_bit4pingvflags1,
8005 { "Not Defined", "ncp.bit4pingvflags1", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
8007 { &hf_bit5pingvflags1,
8008 { "Not Defined", "ncp.bit5pingvflags1", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
8010 { &hf_bit6pingvflags1,
8011 { "Not Defined", "ncp.bit6pingvflags1", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
8013 { &hf_bit7pingvflags1,
8014 { "Not Defined", "ncp.bit7pingvflags1", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
8016 { &hf_bit8pingvflags1,
8017 { "Not Defined", "ncp.bit8pingvflags1", FT_BOOLEAN, 16, NULL, 0x00000080, NULL, HFILL }},
8019 { &hf_bit9pingvflags1,
8020 { "Not Defined", "ncp.bit9pingvflags1", FT_BOOLEAN, 16, NULL, 0x00000100, NULL, HFILL }},
8022 { &hf_bit10pingvflags1,
8023 { "Not Defined", "ncp.bit10pingvflags1", FT_BOOLEAN, 16, NULL, 0x00000200, NULL, HFILL }},
8025 { &hf_bit11pingvflags1,
8026 { "Not Defined", "ncp.bit11pingvflags1", FT_BOOLEAN, 16, NULL, 0x00000400, NULL, HFILL }},
8028 { &hf_bit12pingvflags1,
8029 { "Not Defined", "ncp.bit12pingvflags1", FT_BOOLEAN, 16, NULL, 0x00000800, NULL, HFILL }},
8031 { &hf_bit13pingvflags1,
8032 { "Not Defined", "ncp.bit13pingvflags1", FT_BOOLEAN, 16, NULL, 0x00001000, NULL, HFILL }},
8034 { &hf_bit14pingvflags1,
8035 { "Not Defined", "ncp.bit14pingvflags1", FT_BOOLEAN, 16, NULL, 0x00002000, NULL, HFILL }},
8037 { &hf_bit15pingvflags1,
8038 { "Not Defined", "ncp.bit15pingvflags1", FT_BOOLEAN, 16, NULL, 0x00004000, NULL, HFILL }},
8040 { &hf_bit16pingvflags1,
8041 { "Not Defined", "ncp.bit16pingvflags1", FT_BOOLEAN, 16, NULL, 0x00008000, NULL, HFILL }},
8043 { &hf_nds_letter_ver,
8044 { "Letter Version", "ncp.nds_letter_ver", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8046 { &hf_nds_os_majver,
8047 { "OS Major Version", "ncp.nds_os_majver", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
8049 { &hf_nds_os_minver,
8050 { "OS Minor Version", "ncp.nds_os_minver", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
8052 { &hf_nds_lic_flags,
8053 { "License Flags", "ncp.nds_lic_flags", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8056 { "DS Time", "ncp.nds_ds_time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0x0, NULL, HFILL }},
8059 { "Server Time", "ncp.nds_svr_time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0x0, NULL, HFILL }},
8062 { "Agent Create Time", "ncp.nds_crt_time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0x0, NULL, HFILL }},
8064 { &hf_nds_ping_version,
8065 { "Ping Version", "ncp.nds_ping_version", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
8067 { &hf_nds_search_scope,
8068 { "Search Scope", "ncp.nds_search_scope", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
8070 { &hf_nds_num_objects,
8071 { "Number of Objects to Search", "ncp.nds_num_objects", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8075 { "Names", "ncp.bit1siflags", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
8078 { "Names and Values", "ncp.bit2siflags", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
8081 { "Effective Privileges", "ncp.bit3siflags", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
8084 { "Value Info", "ncp.bit4siflags", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
8087 { "Abbreviated Value", "ncp.bit5siflags", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
8090 { "Not Defined", "ncp.bit6siflags", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
8093 { "Not Defined", "ncp.bit7siflags", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
8096 { "Not Defined", "ncp.bit8siflags", FT_BOOLEAN, 16, NULL, 0x00000080, NULL, HFILL }},
8099 { "Expanded Class", "ncp.bit9siflags", FT_BOOLEAN, 16, NULL, 0x00000100, NULL, HFILL }},
8102 { "Not Defined", "ncp.bit10siflags", FT_BOOLEAN, 16, NULL, 0x00000200, NULL, HFILL }},
8105 { "Not Defined", "ncp.bit11siflags", FT_BOOLEAN, 16, NULL, 0x00000400, NULL, HFILL }},
8108 { "Not Defined", "ncp.bit12siflags", FT_BOOLEAN, 16, NULL, 0x00000800, NULL, HFILL }},
8111 { "Not Defined", "ncp.bit13siflags", FT_BOOLEAN, 16, NULL, 0x00001000, NULL, HFILL }},
8114 { "Not Defined", "ncp.bit14siflags", FT_BOOLEAN, 16, NULL, 0x00002000, NULL, HFILL }},
8117 { "Not Defined", "ncp.bit15siflags", FT_BOOLEAN, 16, NULL, 0x00004000, NULL, HFILL }},
8120 { "Not Defined", "ncp.bit16siflags", FT_BOOLEAN, 16, NULL, 0x00008000, NULL, HFILL }},
8122 { &hf_nds_segment_overlap,
8123 { "Segment overlap", "nds.segment.overlap", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "Segment overlaps with other segments", HFILL }},
8125 { &hf_nds_segment_overlap_conflict,
8126 { "Conflicting data in segment overlap", "nds.segment.overlap.conflict", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "Overlapping segments contained conflicting data", HFILL }},
8128 { &hf_nds_segment_multiple_tails,
8129 { "Multiple tail segments found", "nds.segment.multipletails", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "Several tails were found when desegmenting the packet", HFILL }},
8131 { &hf_nds_segment_too_long_segment,
8132 { "Segment too long", "nds.segment.toolongsegment", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "Segment contained data past end of packet", HFILL }},
8134 { &hf_nds_segment_error,
8135 { "Desegmentation error", "nds.segment.error", FT_FRAMENUM, BASE_NONE, NULL, 0x0, "Desegmentation error due to illegal segments", HFILL }},
8137 { &hf_nds_segment_count,
8138 { "Segment count", "nds.segment.count", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
8140 { &hf_nds_reassembled_length,
8141 { "Reassembled NDS length", "nds.reassembled.length", FT_UINT32, BASE_DEC, NULL, 0x0, "The total length of the reassembled payload", HFILL }},
8144 { "NDS Fragment", "nds.fragment", FT_FRAMENUM, BASE_NONE, NULL, 0x0, "NDPS Fragment", HFILL }},
8147 { "NDS Fragments", "nds.fragments", FT_NONE, BASE_NONE, NULL, 0x0, "NDPS Fragments", HFILL }},
8149 { &hf_nds_verb2b_req_flags,
8150 { "Flags", "ncp.nds_verb2b_flags", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8152 { &hf_ncp_ip_address,
8153 { "IP Address", "ncp.ip_addr", FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL }},
8155 { &hf_ncp_copyright,
8156 { "Copyright", "ncp.copyright", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
8159 { "Not Defined", "ncp.nds_prot_bit1", FT_BOOLEAN, 16, NULL, 0x00000001, NULL, HFILL }},
8162 { "Not Defined", "ncp.nds_prot_bit2", FT_BOOLEAN, 16, NULL, 0x00000002, NULL, HFILL }},
8165 { "Not Defined", "ncp.nds_prot_bit3", FT_BOOLEAN, 16, NULL, 0x00000004, NULL, HFILL }},
8168 { "Not Defined", "ncp.nds_prot_bit4", FT_BOOLEAN, 16, NULL, 0x00000008, NULL, HFILL }},
8171 { "Not Defined", "ncp.nds_prot_bit5", FT_BOOLEAN, 16, NULL, 0x00000010, NULL, HFILL }},
8174 { "Not Defined", "ncp.nds_prot_bit6", FT_BOOLEAN, 16, NULL, 0x00000020, NULL, HFILL }},
8177 { "Not Defined", "ncp.nds_prot_bit7", FT_BOOLEAN, 16, NULL, 0x00000040, NULL, HFILL }},
8180 { "Not Defined", "ncp.nds_prot_bit8", FT_BOOLEAN, 16, NULL, 0x00000080, NULL, HFILL }},
8183 { "Not Defined", "ncp.nds_prot_bit9", FT_BOOLEAN, 16, NULL, 0x00000100, NULL, HFILL }},
8185 { &hf_ndsprot10flag,
8186 { "Not Defined", "ncp.nds_prot_bit10", FT_BOOLEAN, 16, NULL, 0x00000200, NULL, HFILL }},
8188 { &hf_ndsprot11flag,
8189 { "Not Defined", "ncp.nds_prot_bit11", FT_BOOLEAN, 16, NULL, 0x00000400, NULL, HFILL }},
8191 { &hf_ndsprot12flag,
8192 { "Not Defined", "ncp.nds_prot_bit12", FT_BOOLEAN, 16, NULL, 0x00000800, NULL, HFILL }},
8194 { &hf_ndsprot13flag,
8195 { "Not Defined", "ncp.nds_prot_bit13", FT_BOOLEAN, 16, NULL, 0x00001000, NULL, HFILL }},
8197 { &hf_ndsprot14flag,
8198 { "Not Defined", "ncp.nds_prot_bit14", FT_BOOLEAN, 16, NULL, 0x00002000, NULL, HFILL }},
8200 { &hf_ndsprot15flag,
8201 { "Include CRC in NDS Header", "ncp.nds_prot_bit15", FT_BOOLEAN, 16, NULL, 0x00004000, NULL, HFILL }},
8203 { &hf_ndsprot16flag,
8204 { "Client is a Server", "ncp.nds_prot_bit16", FT_BOOLEAN, 16, NULL, 0x00008000, NULL, HFILL }},
8206 { &hf_nds_svr_dst_name,
8207 { "Server Distinguished Name", "ncp.nds_svr_dist_name", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
8209 { &hf_nds_tune_mark,
8210 { "Tune Mark", "ncp.ndstunemark", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8212 #if 0 /* Unused ? */
8213 { &hf_nds_create_time,
8214 { "NDS Creation Time", "ncp.ndscreatetime", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0x0, NULL, HFILL }},
8217 { &hf_srvr_param_string,
8218 { "Set Parameter Value", "ncp.srvr_param_string", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
8220 { &hf_srvr_param_number,
8221 { "Set Parameter Value", "ncp.srvr_param_string", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
8223 { &hf_srvr_param_boolean,
8224 { "Set Parameter Value", "ncp.srvr_param_boolean", FT_BOOLEAN, BASE_NONE, NULL, 0x0, NULL, HFILL }},
8226 { &hf_nds_number_of_items,
8227 { "Number of Items", "ncp.ndsitems", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
8229 { &hf_ncp_nds_iterverb,
8230 { "NDS Iteration Verb", "ncp.ndsiterverb", FT_UINT32, BASE_HEX, NULL /*VALS(iterator_subverbs)*/, 0x0, NULL, HFILL }},
8232 { &hf_iter_completion_code,
8233 { "Iteration Completion Code", "ncp.iter_completion_code", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8235 #if 0 /* Unused ? */
8237 { "Iterator Object", "ncp.ndsiterobj", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8240 { &hf_iter_verb_completion_code,
8241 { "Completion Code", "ncp.iter_verb_completion_code", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8244 { "Iterator Answer", "ncp.iter_answer", FT_BOOLEAN, BASE_NONE, NULL, 0x0, NULL, HFILL }},
8247 { "Positionable", "ncp.iterpositionable", FT_BOOLEAN, BASE_NONE, NULL, 0x0, NULL, HFILL }},
8250 { "Number Skipped", "ncp.iternumskipped", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8253 { "Number to Skip", "ncp.iternumtoskip", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8256 { "Time Limit", "ncp.itertimelimit", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8259 { "Iterator Index", "ncp.iterindex", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8262 { "Number to Get", "ncp.iternumtoget", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8264 #if 0 /* Unused ? */
8265 { &hf_ret_info_type,
8266 { "Return Information Type", "ncp.iterretinfotype", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8270 { "Data Size", "ncp.iterdatasize", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
8273 { "Number of Items", "ncp.itercount", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
8276 { "Maximum Entries", "ncp.itermaxentries", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8278 { &hf_move_position,
8279 { "Move Position", "ncp.itermoveposition", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8282 { "Iterator Copy", "ncp.itercopy", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8284 { &hf_iter_position,
8285 { "Iteration Position", "ncp.iterposition", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8288 { "Search Filter", "ncp.iter_search", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8291 { "Other Iteration", "ncp.iterother", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
8294 { "Object ID", "ncp.nds_oid", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
8300 # Print the registration code for the hf variables
8301 for var
in sorted_vars
:
8302 print("\t{ &%s," % (var
.HFName()))
8303 print("\t{ \"%s\", \"%s\", %s, %s, %s, 0x%x, NULL, HFILL }},\n" % \
8304 (var
.Description(), var
.DFilter(),
8305 var
.WiresharkFType(), var
.Display(), var
.ValuesName(),
8311 print("\tstatic gint *ett[] = {")
8313 for ett
in ett_list
:
8314 print("\t\t&%s," % (ett
,))
8319 static ei_register_info ei[] = {
8320 { &ei_ncp_file_handle, { "ncp.file_handle.expert", PI_REQUEST_CODE, PI_CHAT, "Close file handle", EXPFILL }},
8321 { &ei_ncp_file_rights, { "ncp.file_rights", PI_REQUEST_CODE, PI_CHAT, "File rights", EXPFILL }},
8322 { &ei_ncp_op_lock_handle, { "ncp.op_lock_handle", PI_REQUEST_CODE, PI_CHAT, "Op-lock on handle", EXPFILL }},
8323 { &ei_ncp_file_rights_change, { "ncp.file_rights.change", PI_REQUEST_CODE, PI_CHAT, "Change handle rights", EXPFILL }},
8324 { &ei_ncp_effective_rights, { "ncp.effective_rights.expert", PI_RESPONSE_CODE, PI_CHAT, "Handle effective rights", EXPFILL }},
8325 { &ei_ncp_server, { "ncp.server", PI_RESPONSE_CODE, PI_CHAT, "Server info", EXPFILL }},
8326 { &ei_iter_verb_completion_code, { "ncp.iter_verb_completion_code.expert", PI_RESPONSE_CODE, PI_ERROR, "Iteration Verb Error", EXPFILL }},
8327 { &ei_ncp_connection_request, { "ncp.connection_request", PI_RESPONSE_CODE, PI_CHAT, "Connection Request", EXPFILL }},
8328 { &ei_ncp_destroy_connection, { "ncp.destroy_connection", PI_RESPONSE_CODE, PI_CHAT, "Destroy Connection Request", EXPFILL }},
8329 { &ei_nds_reply_error, { "ncp.ndsreplyerror.expert", PI_RESPONSE_CODE, PI_ERROR, "NDS Error", EXPFILL }},
8330 { &ei_nds_iteration, { "ncp.nds_iteration.error", PI_RESPONSE_CODE, PI_ERROR, "NDS Iteration Error", EXPFILL }},
8331 { &ei_ncp_eid, { "ncp.eid", PI_RESPONSE_CODE, PI_CHAT, "EID", EXPFILL }},
8332 { &ei_ncp_completion_code, { "ncp.completion_code.expert", PI_RESPONSE_CODE, PI_ERROR, "Code Completion Error", EXPFILL }},
8333 { &ei_ncp_connection_status, { "ncp.connection_status.bad", PI_RESPONSE_CODE, PI_ERROR, "Error: Bad Connection Status", EXPFILL }},
8334 { &ei_ncp_connection_destroyed, { "ncp.connection_destroyed", PI_RESPONSE_CODE, PI_CHAT, "Connection Destroyed", EXPFILL }},
8335 { &ei_ncp_no_request_record_found, { "ncp.no_request_record_found", PI_SEQUENCE, PI_NOTE, "No request record found.", EXPFILL }},
8338 expert_module_t* expert_ncp;
8340 proto_register_field_array(proto_ncp, hf, array_length(hf));""")
8344 proto_register_subtree_array(ett, array_length(ett));""")
8347 expert_ncp = expert_register_protocol(proto_ncp);
8348 expert_register_field_array(expert_ncp, ei, array_length(ei));
8349 register_init_routine(&ncp_init_protocol);
8350 register_postseq_cleanup_routine(&ncp_postseq_cleanup);""")
8352 # End of proto_register_ncp2222()
8355 print('#include "packet-ncp2222.inc"')
8358 print("Usage: ncp2222.py -o output_file")
8362 global compcode_lists
8370 opts
, args
= getopt
.getopt(sys
.argv
[1:], optstring
)
8371 except getopt
.error
:
8374 for opt
, arg
in opts
:
8383 if not out_filename
:
8386 # Create the output file
8388 out_file
= open(out_filename
, "w")
8390 sys
.exit("Could not open %s for writing: %s" % (out_filename
,
8393 # Set msg to current stdout
8396 # Set stdout to the output file
8397 sys
.stdout
= out_file
8399 msg
.write("Processing NCP definitions...\n")
8400 # Run the code, and if we catch any exception,
8401 # erase the output file.
8403 compcode_lists
= UniqueCollection('Completion Code Lists')
8404 ptvc_lists
= UniqueCollection('PTVC Lists')
8411 msg
.write("Defined %d NCP types.\n" % (len(packets
),))
8414 traceback
.print_exc(20, msg
)
8418 msg
.write("Could not close %s: %s\n" % (out_filename
, IOError))
8421 if os
.path
.exists(out_filename
):
8422 os
.remove(out_filename
)
8424 msg
.write("Could not remove %s: %s\n" % (out_filename
, OSError))
8430 def define_ncp2222():
8431 ##############################################################################
8432 # NCP Packets. Here I list functions and subfunctions in hexadecimal like the
8433 # NCP book (and I believe LanAlyzer does this too).
8434 # However, Novell lists these in decimal in their on-line documentation.
8435 ##############################################################################
8437 pkt
= NCP(0x01, "File Set Lock", 'sync')
8440 pkt
.CompletionCodes([0x0000])
8442 pkt
= NCP(0x02, "File Release Lock", 'sync')
8445 pkt
.CompletionCodes([0x0000, 0xff00])
8447 pkt
= NCP(0x03, "Log File Exclusive", 'sync')
8448 pkt
.Request( (12, 267), [
8449 rec( 7, 1, DirHandle
),
8450 rec( 8, 1, LockFlag
),
8451 rec( 9, 2, TimeoutLimit
, BE
),
8452 rec( 11, (1, 256), FilePath
),
8455 pkt
.CompletionCodes([0x0000, 0x8200, 0x9600, 0xfe0d, 0xff01])
8457 pkt
= NCP(0x04, "Lock File Set", 'sync')
8459 rec( 7, 2, TimeoutLimit
),
8462 pkt
.CompletionCodes([0x0000, 0xfe0d, 0xff01])
8464 pkt
= NCP(0x05, "Release File", 'sync')
8465 pkt
.Request( (9, 264), [
8466 rec( 7, 1, DirHandle
),
8467 rec( 8, (1, 256), FilePath
),
8470 pkt
.CompletionCodes([0x0000, 0x9b00, 0x9c03, 0xff1a])
8472 pkt
= NCP(0x06, "Release File Set", 'sync')
8474 rec( 7, 1, LockFlag
),
8477 pkt
.CompletionCodes([0x0000])
8479 pkt
= NCP(0x07, "Clear File", 'sync')
8480 pkt
.Request( (9, 264), [
8481 rec( 7, 1, DirHandle
),
8482 rec( 8, (1, 256), FilePath
),
8485 pkt
.CompletionCodes([0x0000, 0x9600, 0x9804, 0x9b03, 0x9c03,
8486 0xa100, 0xfd00, 0xff1a])
8488 pkt
= NCP(0x08, "Clear File Set", 'sync')
8490 rec( 7, 1, LockFlag
),
8493 pkt
.CompletionCodes([0x0000])
8495 pkt
= NCP(0x09, "Log Logical Record", 'sync')
8496 pkt
.Request( (11, 138), [
8497 rec( 7, 1, LockFlag
),
8498 rec( 8, 2, TimeoutLimit
, BE
),
8499 rec( 10, (1, 128), LogicalRecordName
),
8500 ], info_str
=(LogicalRecordName
, "Log Logical Record: %s", ", %s"))
8502 pkt
.CompletionCodes([0x0000, 0x9600, 0xfe0d, 0xff1a])
8504 pkt
= NCP(0x0A, "Lock Logical Record Set", 'sync')
8506 rec( 7, 1, LockFlag
),
8507 rec( 8, 2, TimeoutLimit
),
8510 pkt
.CompletionCodes([0x0000, 0xfe0d, 0xff1a])
8512 pkt
= NCP(0x0B, "Clear Logical Record", 'sync')
8513 pkt
.Request( (8, 135), [
8514 rec( 7, (1, 128), LogicalRecordName
),
8515 ], info_str
=(LogicalRecordName
, "Clear Logical Record: %s", ", %s"))
8517 pkt
.CompletionCodes([0x0000, 0xff1a])
8519 pkt
= NCP(0x0C, "Release Logical Record", 'sync')
8520 pkt
.Request( (8, 135), [
8521 rec( 7, (1, 128), LogicalRecordName
),
8522 ], info_str
=(LogicalRecordName
, "Release Logical Record: %s", ", %s"))
8524 pkt
.CompletionCodes([0x0000, 0xff1a])
8526 pkt
= NCP(0x0D, "Release Logical Record Set", 'sync')
8528 rec( 7, 1, LockFlag
),
8531 pkt
.CompletionCodes([0x0000])
8533 pkt
= NCP(0x0E, "Clear Logical Record Set", 'sync')
8535 rec( 7, 1, LockFlag
),
8538 pkt
.CompletionCodes([0x0000])
8540 pkt
= NCP(0x1100, "Write to Spool File", 'print')
8541 pkt
.Request( (11, 16), [
8542 rec( 10, ( 1, 6 ), Data
),
8543 ], info_str
=(Data
, "Write to Spool File: %s", ", %s"))
8545 pkt
.CompletionCodes([0x0000, 0x0104, 0x8000, 0x8101, 0x8701, 0x8800,
8546 0x8d00, 0x8e00, 0x8f00, 0x9001, 0x9400, 0x9500,
8547 0x9600, 0x9804, 0x9900, 0xa100, 0xa201, 0xff19])
8549 pkt
= NCP(0x1101, "Close Spool File", 'print')
8551 rec( 10, 1, AbortQueueFlag
),
8554 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8701, 0x8800, 0x8d00,
8555 0x8e00, 0x8f00, 0x9001, 0x9300, 0x9400, 0x9500,
8556 0x9600, 0x9804, 0x9900, 0x9b03, 0x9c03, 0x9d00,
8557 0xa100, 0xd000, 0xd100, 0xd202, 0xd300, 0xd400,
8558 0xda01, 0xe800, 0xea00, 0xeb00, 0xec00, 0xfc06,
8559 0xfd00, 0xfe07, 0xff06])
8561 pkt
= NCP(0x1102, "Set Spool File Flags", 'print')
8563 rec( 10, 1, PrintFlags
),
8564 rec( 11, 1, TabSize
),
8565 rec( 12, 1, TargetPrinter
),
8566 rec( 13, 1, Copies
),
8567 rec( 14, 1, FormType
),
8568 rec( 15, 1, Reserved
),
8569 rec( 16, 14, BannerName
),
8572 pkt
.CompletionCodes([0x0000, 0x9600, 0xd202, 0xd300, 0xe800, 0xea00,
8573 0xeb00, 0xec00, 0xfc06, 0xfe07, 0xff06])
8576 pkt
= NCP(0x1103, "Spool A Disk File", 'print')
8577 pkt
.Request( (12, 23), [
8578 rec( 10, 1, DirHandle
),
8579 rec( 11, (1, 12), Data
),
8580 ], info_str
=(Data
, "Spool a Disk File: %s", ", %s"))
8582 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8701, 0x8800, 0x8d00,
8583 0x8e00, 0x8f00, 0x9001, 0x9300, 0x9400, 0x9500,
8584 0x9600, 0x9804, 0x9900, 0x9b03, 0x9c03, 0x9d00,
8585 0xa100, 0xd000, 0xd100, 0xd202, 0xd300, 0xd400,
8586 0xda01, 0xe800, 0xea00, 0xeb00, 0xec00, 0xfc06,
8587 0xfd00, 0xfe07, 0xff06])
8590 pkt
= NCP(0x1106, "Get Printer Status", 'print')
8592 rec( 10, 1, TargetPrinter
),
8595 rec( 8, 1, PrinterHalted
),
8596 rec( 9, 1, PrinterOffLine
),
8597 rec( 10, 1, CurrentFormType
),
8598 rec( 11, 1, RedirectedPrinter
),
8600 pkt
.CompletionCodes([0x0000, 0x9600, 0xfb05, 0xfd00, 0xff06])
8603 pkt
= NCP(0x1109, "Create Spool File", 'print')
8604 pkt
.Request( (12, 23), [
8605 rec( 10, 1, DirHandle
),
8606 rec( 11, (1, 12), Data
),
8607 ], info_str
=(Data
, "Create Spool File: %s", ", %s"))
8609 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8400, 0x8701, 0x8d00,
8610 0x8f00, 0x9001, 0x9400, 0x9600, 0x9804, 0x9900,
8611 0x9b03, 0x9c03, 0xa100, 0xd000, 0xd100, 0xd202,
8612 0xd300, 0xd400, 0xda01, 0xe800, 0xea00, 0xeb00,
8613 0xec00, 0xfc06, 0xfd00, 0xfe07, 0xff06])
8616 pkt
= NCP(0x110A, "Get Printer's Queue", 'print')
8618 rec( 10, 1, TargetPrinter
),
8621 rec( 8, 4, ObjectID
, BE
),
8623 pkt
.CompletionCodes([0x0000, 0x9600, 0xff06])
8626 pkt
= NCP(0x12, "Get Volume Info with Number", 'file')
8628 rec( 7, 1, VolumeNumber
)
8629 ],info_str
=(VolumeNumber
, "Get Volume Information for Volume %d", ", %d"))
8631 rec( 8, 2, SectorsPerCluster
, BE
),
8632 rec( 10, 2, TotalVolumeClusters
, BE
),
8633 rec( 12, 2, AvailableClusters
, BE
),
8634 rec( 14, 2, TotalDirectorySlots
, BE
),
8635 rec( 16, 2, AvailableDirectorySlots
, BE
),
8636 rec( 18, 16, VolumeName
),
8637 rec( 34, 2, RemovableFlag
, BE
),
8639 pkt
.CompletionCodes([0x0000, 0x9804])
8642 pkt
= NCP(0x13, "Get Station Number", 'connection')
8645 rec( 8, 3, StationNumber
)
8647 pkt
.CompletionCodes([0x0000, 0xff00])
8650 pkt
= NCP(0x14, "Get File Server Date And Time", 'fileserver')
8657 rec( 12, 1, Minute
),
8658 rec( 13, 1, Second
),
8659 rec( 14, 1, DayOfWeek
),
8661 pkt
.CompletionCodes([0x0000])
8664 pkt
= NCP(0x1500, "Send Broadcast Message", 'message')
8665 pkt
.Request((13, 70), [
8666 rec( 10, 1, ClientListLen
, var
="x" ),
8667 rec( 11, 1, TargetClientList
, repeat
="x" ),
8668 rec( 12, (1, 58), TargetMessage
),
8669 ], info_str
=(TargetMessage
, "Send Broadcast Message: %s", ", %s"))
8671 rec( 8, 1, ClientListLen
, var
="x" ),
8672 rec( 9, 1, SendStatus
, repeat
="x" )
8674 pkt
.CompletionCodes([0x0000, 0xfd00])
8677 pkt
= NCP(0x1501, "Get Broadcast Message", 'message')
8680 rec( 8, (1, 58), TargetMessage
)
8682 pkt
.CompletionCodes([0x0000, 0xfd00])
8685 pkt
= NCP(0x1502, "Disable Broadcasts", 'message')
8688 pkt
.CompletionCodes([0x0000, 0xfb0a])
8691 pkt
= NCP(0x1503, "Enable Broadcasts", 'message')
8694 pkt
.CompletionCodes([0x0000])
8697 pkt
= NCP(0x1509, "Broadcast To Console", 'message')
8698 pkt
.Request((11, 68), [
8699 rec( 10, (1, 58), TargetMessage
)
8700 ], info_str
=(TargetMessage
, "Broadcast to Console: %s", ", %s"))
8702 pkt
.CompletionCodes([0x0000])
8705 pkt
= NCP(0x150A, "Send Broadcast Message", 'message')
8706 pkt
.Request((17, 74), [
8707 rec( 10, 2, ClientListCount
, LE
, var
="x" ),
8708 rec( 12, 4, ClientList
, LE
, repeat
="x" ),
8709 rec( 16, (1, 58), TargetMessage
),
8710 ], info_str
=(TargetMessage
, "Send Broadcast Message: %s", ", %s"))
8712 rec( 8, 2, ClientListCount
, LE
, var
="x" ),
8713 rec( 10, 4, ClientCompFlag
, LE
, repeat
="x" ),
8715 pkt
.CompletionCodes([0x0000, 0xfd00])
8718 pkt
= NCP(0x150B, "Get Broadcast Message", 'message')
8721 rec( 8, (1, 58), TargetMessage
)
8723 pkt
.CompletionCodes([0x0000, 0xfd00])
8726 pkt
= NCP(0x150C, "Connection Message Control", 'message')
8728 rec( 10, 1, ConnectionControlBits
),
8729 rec( 11, 3, Reserved3
),
8730 rec( 14, 4, ConnectionListCount
, LE
, var
="x" ),
8731 rec( 18, 4, ConnectionList
, LE
, repeat
="x" ),
8734 pkt
.CompletionCodes([0x0000, 0xff00])
8737 pkt
= NCP(0x1600, "Set Directory Handle", 'file')
8738 pkt
.Request((13,267), [
8739 rec( 10, 1, TargetDirHandle
),
8740 rec( 11, 1, DirHandle
),
8741 rec( 12, (1, 255), Path
),
8742 ], info_str
=(Path
, "Set Directory Handle to: %s", ", %s"))
8744 pkt
.CompletionCodes([0x0000, 0x9600, 0x9804, 0x9b03, 0x9c03, 0xa100, 0xfa00,
8749 pkt
= NCP(0x1601, "Get Directory Path", 'file')
8751 rec( 10, 1, DirHandle
),
8752 ],info_str
=(DirHandle
, "Get Directory Path for Directory Handle %d", ", %d"))
8753 pkt
.Reply((9,263), [
8754 rec( 8, (1,255), Path
),
8756 pkt
.CompletionCodes([0x0000, 0x9600, 0x9b00, 0x9c00, 0xa100])
8759 pkt
= NCP(0x1602, "Scan Directory Information", 'file')
8760 pkt
.Request((14,268), [
8761 rec( 10, 1, DirHandle
),
8762 rec( 11, 2, StartingSearchNumber
, BE
),
8763 rec( 13, (1, 255), Path
),
8764 ], info_str
=(Path
, "Scan Directory Information: %s", ", %s"))
8766 rec( 8, 16, DirectoryPath
),
8767 rec( 24, 2, CreationDate
, BE
),
8768 rec( 26, 2, CreationTime
, BE
),
8769 rec( 28, 4, CreatorID
, BE
),
8770 rec( 32, 1, AccessRightsMask
),
8771 rec( 33, 1, Reserved
),
8772 rec( 34, 2, NextSearchNumber
, BE
),
8774 pkt
.CompletionCodes([0x0000, 0x9600, 0x9804, 0x9b03, 0x9c03, 0xa100, 0xfa00,
8778 pkt
= NCP(0x1603, "Get Effective Directory Rights", 'file')
8779 pkt
.Request((12,266), [
8780 rec( 10, 1, DirHandle
),
8781 rec( 11, (1, 255), Path
),
8782 ], info_str
=(Path
, "Get Effective Directory Rights: %s", ", %s"))
8784 rec( 8, 1, AccessRightsMask
),
8786 pkt
.CompletionCodes([0x0000, 0x9600, 0x9804, 0x9b03, 0x9c03, 0xa100, 0xfa00,
8790 pkt
= NCP(0x1604, "Modify Maximum Rights Mask", 'file')
8791 pkt
.Request((14,268), [
8792 rec( 10, 1, DirHandle
),
8793 rec( 11, 1, RightsGrantMask
),
8794 rec( 12, 1, RightsRevokeMask
),
8795 rec( 13, (1, 255), Path
),
8796 ], info_str
=(Path
, "Modify Maximum Rights Mask: %s", ", %s"))
8798 pkt
.CompletionCodes([0x0000, 0x8c00, 0x9600, 0x9804, 0x9b03, 0x9c03, 0xa100, 0xfa00,
8802 pkt
= NCP(0x1605, "Get Volume Number", 'file')
8803 pkt
.Request((11, 265), [
8804 rec( 10, (1,255), VolumeNameLen
),
8805 ], info_str
=(VolumeNameLen
, "Get Volume Number for: %s", ", %s"))
8807 rec( 8, 1, VolumeNumber
),
8809 pkt
.CompletionCodes([0x0000, 0x9600, 0x9804])
8812 pkt
= NCP(0x1606, "Get Volume Name", 'file')
8814 rec( 10, 1, VolumeNumber
),
8815 ],info_str
=(VolumeNumber
, "Get Name for Volume %d", ", %d"))
8816 pkt
.Reply((9, 263), [
8817 rec( 8, (1,255), VolumeNameLen
),
8819 pkt
.CompletionCodes([0x0000, 0x9600, 0x9804, 0xff00])
8822 pkt
= NCP(0x160A, "Create Directory", 'file')
8823 pkt
.Request((13,267), [
8824 rec( 10, 1, DirHandle
),
8825 rec( 11, 1, AccessRightsMask
),
8826 rec( 12, (1, 255), Path
),
8827 ], info_str
=(Path
, "Create Directory: %s", ", %s"))
8829 pkt
.CompletionCodes([0x0000, 0x8400, 0x9600, 0x9804, 0x9900, 0x9b03, 0x9c03,
8830 0x9e00, 0xa100, 0xfd00, 0xff00])
8833 pkt
= NCP(0x160B, "Delete Directory", 'file')
8834 pkt
.Request((13,267), [
8835 rec( 10, 1, DirHandle
),
8836 rec( 11, 1, Reserved
),
8837 rec( 12, (1, 255), Path
),
8838 ], info_str
=(Path
, "Delete Directory: %s", ", %s"))
8840 pkt
.CompletionCodes([0x0000, 0x8a00, 0x9600, 0x9804, 0x9b03, 0x9c03,
8841 0x9f00, 0xa000, 0xa100, 0xfd00, 0xff00])
8844 pkt
= NCP(0x160C, "Scan Directory for Trustees", 'file')
8845 pkt
.Request((13,267), [
8846 rec( 10, 1, DirHandle
),
8847 rec( 11, 1, TrusteeSetNumber
),
8848 rec( 12, (1, 255), Path
),
8849 ], info_str
=(Path
, "Scan Directory for Trustees: %s", ", %s"))
8851 rec( 8, 16, DirectoryPath
),
8852 rec( 24, 2, CreationDate
, BE
),
8853 rec( 26, 2, CreationTime
, BE
),
8854 rec( 28, 4, CreatorID
),
8855 rec( 32, 4, TrusteeID
, BE
),
8856 rec( 36, 4, TrusteeID
, BE
),
8857 rec( 40, 4, TrusteeID
, BE
),
8858 rec( 44, 4, TrusteeID
, BE
),
8859 rec( 48, 4, TrusteeID
, BE
),
8860 rec( 52, 1, AccessRightsMask
),
8861 rec( 53, 1, AccessRightsMask
),
8862 rec( 54, 1, AccessRightsMask
),
8863 rec( 55, 1, AccessRightsMask
),
8864 rec( 56, 1, AccessRightsMask
),
8866 pkt
.CompletionCodes([0x0000, 0x8c00, 0x9600, 0x9804, 0x9b03, 0x9c03,
8867 0xa100, 0xfd00, 0xff00])
8870 pkt
= NCP(0x160D, "Add Trustee to Directory", 'file')
8871 pkt
.Request((17,271), [
8872 rec( 10, 1, DirHandle
),
8873 rec( 11, 4, TrusteeID
, BE
),
8874 rec( 15, 1, AccessRightsMask
),
8875 rec( 16, (1, 255), Path
),
8876 ], info_str
=(Path
, "Add Trustee to Directory: %s", ", %s"))
8878 pkt
.CompletionCodes([0x0000, 0x8c00, 0x9600, 0x9804, 0x9900, 0x9b03, 0x9c03,
8879 0xa100, 0xfc06, 0xfd00, 0xff00])
8882 pkt
= NCP(0x160E, "Delete Trustee from Directory", 'file')
8883 pkt
.Request((17,271), [
8884 rec( 10, 1, DirHandle
),
8885 rec( 11, 4, TrusteeID
, BE
),
8886 rec( 15, 1, Reserved
),
8887 rec( 16, (1, 255), Path
),
8888 ], info_str
=(Path
, "Delete Trustee from Directory: %s", ", %s"))
8890 pkt
.CompletionCodes([0x0000, 0x8c00, 0x9600, 0x9804, 0x9900, 0x9b03, 0x9c03,
8891 0xa100, 0xfc06, 0xfd00, 0xfe07, 0xff00])
8894 pkt
= NCP(0x160F, "Rename Directory", 'file')
8895 pkt
.Request((13, 521), [
8896 rec( 10, 1, DirHandle
),
8897 rec( 11, (1, 255), Path
),
8898 rec( -1, (1, 255), NewPath
),
8899 ], info_str
=(Path
, "Rename Directory: %s", ", %s"))
8901 pkt
.CompletionCodes([0x0000, 0x8b00, 0x9200, 0x9600, 0x9804, 0x9b03, 0x9c03,
8902 0x9e00, 0xa100, 0xef00, 0xfd00, 0xff00])
8905 pkt
= NCP(0x1610, "Purge Erased Files", 'file')
8908 pkt
.CompletionCodes([0x0000, 0x8100, 0x9600, 0x9804, 0xa100, 0xff00])
8911 pkt
= NCP(0x1611, "Recover Erased File", 'file')
8913 rec( 10, 1, DirHandle
),
8914 ],info_str
=(DirHandle
, "Recover Erased File from Directory Handle %d", ", %d"))
8916 rec( 8, 15, OldFileName
),
8917 rec( 23, 15, NewFileName
),
8919 pkt
.CompletionCodes([0x0000, 0x9600, 0x9804, 0x9b03, 0x9c03,
8920 0xa100, 0xfd00, 0xff00])
8922 pkt
= NCP(0x1612, "Alloc Permanent Directory Handle", 'file')
8923 pkt
.Request((13, 267), [
8924 rec( 10, 1, DirHandle
),
8925 rec( 11, 1, DirHandleName
),
8926 rec( 12, (1,255), Path
),
8927 ], info_str
=(Path
, "Allocate Permanent Directory Handle: %s", ", %s"))
8929 rec( 8, 1, DirHandle
),
8930 rec( 9, 1, AccessRightsMask
),
8932 pkt
.CompletionCodes([0x0000, 0x9600, 0x9804, 0x9900, 0x9b00, 0x9c03, 0x9d00,
8933 0xa100, 0xfd00, 0xff00])
8935 pkt
= NCP(0x1613, "Alloc Temporary Directory Handle", 'file')
8936 pkt
.Request((13, 267), [
8937 rec( 10, 1, DirHandle
),
8938 rec( 11, 1, DirHandleName
),
8939 rec( 12, (1,255), Path
),
8940 ], info_str
=(Path
, "Allocate Temporary Directory Handle: %s", ", %s"))
8942 rec( 8, 1, DirHandle
),
8943 rec( 9, 1, AccessRightsMask
),
8945 pkt
.CompletionCodes([0x0000, 0x9600, 0x9804, 0x9900, 0x9c03, 0x9d00,
8946 0xa100, 0xfd00, 0xff00])
8948 pkt
= NCP(0x1614, "Deallocate Directory Handle", 'file')
8950 rec( 10, 1, DirHandle
),
8951 ],info_str
=(DirHandle
, "Deallocate Directory Handle %d", ", %d"))
8953 pkt
.CompletionCodes([0x0000, 0x9b03])
8955 pkt
= NCP(0x1615, "Get Volume Info with Handle", 'file')
8957 rec( 10, 1, DirHandle
)
8958 ],info_str
=(DirHandle
, "Get Volume Information with Handle %d", ", %d"))
8960 rec( 8, 2, SectorsPerCluster
, BE
),
8961 rec( 10, 2, TotalVolumeClusters
, BE
),
8962 rec( 12, 2, AvailableClusters
, BE
),
8963 rec( 14, 2, TotalDirectorySlots
, BE
),
8964 rec( 16, 2, AvailableDirectorySlots
, BE
),
8965 rec( 18, 16, VolumeName
),
8966 rec( 34, 2, RemovableFlag
, BE
),
8968 pkt
.CompletionCodes([0x0000, 0xff00])
8970 pkt
= NCP(0x1616, "Alloc Special Temporary Directory Handle", 'file')
8971 pkt
.Request((13, 267), [
8972 rec( 10, 1, DirHandle
),
8973 rec( 11, 1, DirHandleName
),
8974 rec( 12, (1,255), Path
),
8975 ], info_str
=(Path
, "Allocate Special Temporary Directory Handle: %s", ", %s"))
8977 rec( 8, 1, DirHandle
),
8978 rec( 9, 1, AccessRightsMask
),
8980 pkt
.CompletionCodes([0x0000, 0x9600, 0x9804, 0x9900, 0x9b00, 0x9c03, 0x9d00,
8981 0xa100, 0xfd00, 0xff00])
8983 pkt
= NCP(0x1617, "Extract a Base Handle", 'file')
8985 rec( 10, 1, DirHandle
),
8986 ],info_str
=(DirHandle
, "Extract a Base Handle from Directory Handle %d", ", %d"))
8988 rec( 8, 10, ServerNetworkAddress
),
8989 rec( 18, 4, DirHandleLong
),
8991 pkt
.CompletionCodes([0x0000, 0x9600, 0x9b03])
8993 pkt
= NCP(0x1618, "Restore an Extracted Base Handle", 'file')
8995 rec( 10, 10, ServerNetworkAddress
),
8996 rec( 20, 4, DirHandleLong
),
8999 rec( 8, 1, DirHandle
),
9000 rec( 9, 1, AccessRightsMask
),
9002 pkt
.CompletionCodes([0x0000, 0x9600, 0x9804, 0x9b03, 0x9c00, 0x9d00, 0xa100,
9005 pkt
= NCP(0x1619, "Set Directory Information", 'file')
9006 pkt
.Request((21, 275), [
9007 rec( 10, 1, DirHandle
),
9008 rec( 11, 2, CreationDate
),
9009 rec( 13, 2, CreationTime
),
9010 rec( 15, 4, CreatorID
, BE
),
9011 rec( 19, 1, AccessRightsMask
),
9012 rec( 20, (1,255), Path
),
9013 ], info_str
=(Path
, "Set Directory Information: %s", ", %s"))
9015 pkt
.CompletionCodes([0x0000, 0x8c00, 0x9600, 0x9804, 0x9b03, 0x9c00, 0xa100,
9018 pkt
= NCP(0x161A, "Get Path Name of a Volume-Directory Number Pair", 'file')
9020 rec( 10, 1, VolumeNumber
),
9021 rec( 11, 2, DirectoryEntryNumberWord
),
9023 pkt
.Reply((9,263), [
9024 rec( 8, (1,255), Path
),
9026 pkt
.CompletionCodes([0x0000, 0x9804, 0x9c00, 0xa100])
9028 pkt
= NCP(0x161B, "Scan Salvageable Files", 'file')
9030 rec( 10, 1, DirHandle
),
9031 rec( 11, 4, SequenceNumber
),
9034 rec( 8, 4, SequenceNumber
),
9035 rec( 12, 2, Subdirectory
),
9036 rec( 14, 2, Reserved2
),
9037 rec( 16, 4, AttributesDef32
),
9038 rec( 20, 1, UniqueID
),
9039 rec( 21, 1, FlagsDef
),
9040 rec( 22, 1, DestNameSpace
),
9041 rec( 23, 1, FileNameLen
),
9042 rec( 24, 12, FileName12
),
9043 rec( 36, 2, CreationTime
),
9044 rec( 38, 2, CreationDate
),
9045 rec( 40, 4, CreatorID
, BE
),
9046 rec( 44, 2, ArchivedTime
),
9047 rec( 46, 2, ArchivedDate
),
9048 rec( 48, 4, ArchiverID
, BE
),
9049 rec( 52, 2, UpdateTime
),
9050 rec( 54, 2, UpdateDate
),
9051 rec( 56, 4, UpdateID
, BE
),
9052 rec( 60, 4, FileSize
, BE
),
9053 rec( 64, 44, Reserved44
),
9054 rec( 108, 2, InheritedRightsMask
),
9055 rec( 110, 2, LastAccessedDate
),
9056 rec( 112, 4, DeletedFileTime
),
9057 rec( 116, 2, DeletedTime
),
9058 rec( 118, 2, DeletedDate
),
9059 rec( 120, 4, DeletedID
, BE
),
9060 rec( 124, 16, Reserved16
),
9062 pkt
.CompletionCodes([0x0000, 0xfb01, 0x9801, 0xff1d])
9064 pkt
= NCP(0x161C, "Recover Salvageable File", 'file')
9065 pkt
.Request((17,525), [
9066 rec( 10, 1, DirHandle
),
9067 rec( 11, 4, SequenceNumber
),
9068 rec( 15, (1, 255), FileName
),
9069 rec( -1, (1, 255), NewFileNameLen
),
9070 ], info_str
=(FileName
, "Recover File: %s", ", %s"))
9072 pkt
.CompletionCodes([0x0000, 0x8401, 0x9c03, 0xfe02])
9074 pkt
= NCP(0x161D, "Purge Salvageable File", 'file')
9076 rec( 10, 1, DirHandle
),
9077 rec( 11, 4, SequenceNumber
),
9080 pkt
.CompletionCodes([0x0000, 0x8500, 0x9c03])
9082 pkt
= NCP(0x161E, "Scan a Directory", 'file')
9083 pkt
.Request((17, 271), [
9084 rec( 10, 1, DirHandle
),
9085 rec( 11, 1, DOSFileAttributes
),
9086 rec( 12, 4, SequenceNumber
),
9087 rec( 16, (1, 255), SearchPattern
),
9088 ], info_str
=(SearchPattern
, "Scan a Directory: %s", ", %s"))
9090 rec( 8, 4, SequenceNumber
),
9091 rec( 12, 4, Subdirectory
),
9092 rec( 16, 4, AttributesDef32
),
9093 rec( 20, 1, UniqueID
, LE
),
9094 rec( 21, 1, PurgeFlags
),
9095 rec( 22, 1, DestNameSpace
),
9096 rec( 23, 1, NameLen
),
9097 rec( 24, 12, Name12
),
9098 rec( 36, 2, CreationTime
),
9099 rec( 38, 2, CreationDate
),
9100 rec( 40, 4, CreatorID
, BE
),
9101 rec( 44, 2, ArchivedTime
),
9102 rec( 46, 2, ArchivedDate
),
9103 rec( 48, 4, ArchiverID
, BE
),
9104 rec( 52, 2, UpdateTime
),
9105 rec( 54, 2, UpdateDate
),
9106 rec( 56, 4, UpdateID
, BE
),
9107 rec( 60, 4, FileSize
, BE
),
9108 rec( 64, 44, Reserved44
),
9109 rec( 108, 2, InheritedRightsMask
),
9110 rec( 110, 2, LastAccessedDate
),
9111 rec( 112, 28, Reserved28
),
9113 pkt
.CompletionCodes([0x0000, 0x8500, 0x9c03])
9115 pkt
= NCP(0x161F, "Get Directory Entry", 'file')
9117 rec( 10, 1, DirHandle
),
9120 rec( 8, 4, Subdirectory
),
9121 rec( 12, 4, AttributesDef32
),
9122 rec( 16, 1, UniqueID
, LE
),
9123 rec( 17, 1, PurgeFlags
),
9124 rec( 18, 1, DestNameSpace
),
9125 rec( 19, 1, NameLen
),
9126 rec( 20, 12, Name12
),
9127 rec( 32, 2, CreationTime
),
9128 rec( 34, 2, CreationDate
),
9129 rec( 36, 4, CreatorID
, BE
),
9130 rec( 40, 2, ArchivedTime
),
9131 rec( 42, 2, ArchivedDate
),
9132 rec( 44, 4, ArchiverID
, BE
),
9133 rec( 48, 2, UpdateTime
),
9134 rec( 50, 2, UpdateDate
),
9135 rec( 52, 4, NextTrusteeEntry
, BE
),
9136 rec( 56, 48, Reserved48
),
9137 rec( 104, 2, MaximumSpace
),
9138 rec( 106, 2, InheritedRightsMask
),
9139 rec( 108, 28, Undefined28
),
9141 pkt
.CompletionCodes([0x0000, 0x8900, 0xbf00, 0xfb00])
9143 pkt
= NCP(0x1620, "Scan Volume's User Disk Restrictions", 'file')
9145 rec( 10, 1, VolumeNumber
),
9146 rec( 11, 4, SequenceNumber
),
9149 rec( 8, 1, NumberOfEntries
, var
="x" ),
9150 rec( 9, 8, ObjectIDStruct
, repeat
="x" ),
9152 pkt
.CompletionCodes([0x0000, 0x9800])
9154 pkt
= NCP(0x1621, "Add User Disk Space Restriction", 'file')
9156 rec( 10, 1, VolumeNumber
),
9157 rec( 11, 4, ObjectID
),
9158 rec( 15, 4, DiskSpaceLimit
),
9161 pkt
.CompletionCodes([0x0000, 0x8c00, 0x9600, 0x9800])
9163 pkt
= NCP(0x1622, "Remove User Disk Space Restrictions", 'file')
9165 rec( 10, 1, VolumeNumber
),
9166 rec( 11, 4, ObjectID
),
9169 pkt
.CompletionCodes([0x0000, 0x8c00, 0xfe0e])
9171 pkt
= NCP(0x1623, "Get Directory Disk Space Restriction", 'file')
9173 rec( 10, 1, DirHandle
),
9176 rec( 8, 1, NumberOfEntries
),
9178 rec( 10, 4, MaxSpace
),
9179 rec( 14, 4, CurrentSpace
),
9181 pkt
.CompletionCodes([0x0000])
9183 pkt
= NCP(0x1624, "Set Directory Disk Space Restriction", 'file')
9185 rec( 10, 1, DirHandle
),
9186 rec( 11, 4, DiskSpaceLimit
),
9189 pkt
.CompletionCodes([0x0000, 0x0101, 0x8c00, 0xbf00])
9191 pkt
= NCP(0x1625, "Set Directory Entry Information", 'file')
9192 pkt
.Request(NO_LENGTH_CHECK
, [
9194 # XXX - this didn't match what was in the spec for 22/37
9195 # on the Novell Web site.
9197 rec( 10, 1, DirHandle
),
9198 rec( 11, 1, SearchAttributes
),
9199 rec( 12, 4, SequenceNumber
),
9200 rec( 16, 2, ChangeBits
),
9201 rec( 18, 2, Reserved2
),
9202 rec( 20, 4, Subdirectory
),
9203 #srec(DOSDirectoryEntryStruct, req_cond="ncp.search_att_sub == TRUE"),
9204 srec(DOSFileEntryStruct
, req_cond
="ncp.search_att_sub == FALSE"),
9207 pkt
.ReqCondSizeConstant()
9208 pkt
.CompletionCodes([0x0000, 0x0106, 0x8c00, 0xbf00])
9210 pkt
= NCP(0x1626, "Scan File or Directory for Extended Trustees", 'file')
9211 pkt
.Request((13,267), [
9212 rec( 10, 1, DirHandle
),
9213 rec( 11, 1, SequenceByte
),
9214 rec( 12, (1, 255), Path
),
9215 ], info_str
=(Path
, "Scan for Extended Trustees: %s", ", %s"))
9217 rec( 8, 1, NumberOfEntries
, var
="x" ),
9218 rec( 9, 4, ObjectID
),
9219 rec( 13, 4, ObjectID
),
9220 rec( 17, 4, ObjectID
),
9221 rec( 21, 4, ObjectID
),
9222 rec( 25, 4, ObjectID
),
9223 rec( 29, 4, ObjectID
),
9224 rec( 33, 4, ObjectID
),
9225 rec( 37, 4, ObjectID
),
9226 rec( 41, 4, ObjectID
),
9227 rec( 45, 4, ObjectID
),
9228 rec( 49, 4, ObjectID
),
9229 rec( 53, 4, ObjectID
),
9230 rec( 57, 4, ObjectID
),
9231 rec( 61, 4, ObjectID
),
9232 rec( 65, 4, ObjectID
),
9233 rec( 69, 4, ObjectID
),
9234 rec( 73, 4, ObjectID
),
9235 rec( 77, 4, ObjectID
),
9236 rec( 81, 4, ObjectID
),
9237 rec( 85, 4, ObjectID
),
9238 rec( 89, 2, AccessRightsMaskWord
, repeat
="x" ),
9240 pkt
.CompletionCodes([0x0000, 0x9800, 0x9b00, 0x9c00])
9242 pkt
= NCP(0x1627, "Add Extended Trustee to Directory or File", 'file')
9243 pkt
.Request((18,272), [
9244 rec( 10, 1, DirHandle
),
9245 rec( 11, 4, ObjectID
, BE
),
9246 rec( 15, 2, TrusteeRights
),
9247 rec( 17, (1, 255), Path
),
9248 ], info_str
=(Path
, "Add Extended Trustee: %s", ", %s"))
9250 pkt
.CompletionCodes([0x0000, 0x9000])
9252 pkt
= NCP(0x1628, "Scan Directory Disk Space", 'file')
9253 pkt
.Request((17,271), [
9254 rec( 10, 1, DirHandle
),
9255 rec( 11, 1, SearchAttributes
),
9256 rec( 12, 4, SequenceNumber
),
9257 rec( 16, (1, 255), SearchPattern
),
9258 ], info_str
=(SearchPattern
, "Scan Directory Disk Space: %s", ", %s"))
9260 rec( 8, 4, SequenceNumber
),
9261 rec( 12, 4, Subdirectory
),
9262 rec( 16, 4, AttributesDef32
),
9263 rec( 20, 1, UniqueID
),
9264 rec( 21, 1, PurgeFlags
),
9265 rec( 22, 1, DestNameSpace
),
9266 rec( 23, 1, NameLen
),
9267 rec( 24, 12, Name12
),
9268 rec( 36, 2, CreationTime
),
9269 rec( 38, 2, CreationDate
),
9270 rec( 40, 4, CreatorID
, BE
),
9271 rec( 44, 2, ArchivedTime
),
9272 rec( 46, 2, ArchivedDate
),
9273 rec( 48, 4, ArchiverID
, BE
),
9274 rec( 52, 2, UpdateTime
),
9275 rec( 54, 2, UpdateDate
),
9276 rec( 56, 4, UpdateID
, BE
),
9277 rec( 60, 4, DataForkSize
, BE
),
9278 rec( 64, 4, DataForkFirstFAT
, BE
),
9279 rec( 68, 4, NextTrusteeEntry
, BE
),
9280 rec( 72, 36, Reserved36
),
9281 rec( 108, 2, InheritedRightsMask
),
9282 rec( 110, 2, LastAccessedDate
),
9283 rec( 112, 4, DeletedFileTime
),
9284 rec( 116, 2, DeletedTime
),
9285 rec( 118, 2, DeletedDate
),
9286 rec( 120, 4, DeletedID
, BE
),
9287 rec( 124, 8, Undefined8
),
9288 rec( 132, 4, PrimaryEntry
, LE
),
9289 rec( 136, 4, NameList
, LE
),
9290 rec( 140, 4, OtherFileForkSize
, BE
),
9291 rec( 144, 4, OtherFileForkFAT
, BE
),
9293 pkt
.CompletionCodes([0x0000, 0x8900, 0x9c03, 0xfb01, 0xff00])
9295 pkt
= NCP(0x1629, "Get Object Disk Usage and Restrictions", 'file')
9297 rec( 10, 1, VolumeNumber
),
9298 rec( 11, 4, ObjectID
, LE
),
9301 rec( 8, 4, Restriction
),
9302 rec( 12, 4, InUse
),
9304 pkt
.CompletionCodes([0x0000, 0x9802])
9306 pkt
= NCP(0x162A, "Get Effective Rights for Directory Entry", 'file')
9307 pkt
.Request((12,266), [
9308 rec( 10, 1, DirHandle
),
9309 rec( 11, (1, 255), Path
),
9310 ], info_str
=(Path
, "Get Effective Rights: %s", ", %s"))
9312 rec( 8, 2, AccessRightsMaskWord
),
9314 pkt
.CompletionCodes([0x0000, 0x9804, 0x9c03])
9316 pkt
= NCP(0x162B, "Remove Extended Trustee from Dir or File", 'file')
9317 pkt
.Request((17,271), [
9318 rec( 10, 1, DirHandle
),
9319 rec( 11, 4, ObjectID
, BE
),
9320 rec( 15, 1, Unused
),
9321 rec( 16, (1, 255), Path
),
9322 ], info_str
=(Path
, "Remove Extended Trustee from %s", ", %s"))
9324 pkt
.CompletionCodes([0x0000, 0x9002, 0x9c03, 0xfe0f, 0xff09])
9326 pkt
= NCP(0x162C, "Get Volume and Purge Information", 'file')
9328 rec( 10, 1, VolumeNumber
)
9329 ],info_str
=(VolumeNumber
, "Get Volume and Purge Information for Volume %d", ", %d"))
9330 pkt
.Reply( (38,53), [
9331 rec( 8, 4, TotalBlocks
),
9332 rec( 12, 4, FreeBlocks
),
9333 rec( 16, 4, PurgeableBlocks
),
9334 rec( 20, 4, NotYetPurgeableBlocks
),
9335 rec( 24, 4, TotalDirectoryEntries
),
9336 rec( 28, 4, AvailableDirEntries
),
9337 rec( 32, 4, Reserved4
),
9338 rec( 36, 1, SectorsPerBlock
),
9339 rec( 37, (1,16), VolumeNameLen
),
9341 pkt
.CompletionCodes([0x0000])
9343 pkt
= NCP(0x162D, "Get Directory Information", 'file')
9345 rec( 10, 1, DirHandle
)
9347 pkt
.Reply( (30, 45), [
9348 rec( 8, 4, TotalBlocks
),
9349 rec( 12, 4, AvailableBlocks
),
9350 rec( 16, 4, TotalDirectoryEntries
),
9351 rec( 20, 4, AvailableDirEntries
),
9352 rec( 24, 4, Reserved4
),
9353 rec( 28, 1, SectorsPerBlock
),
9354 rec( 29, (1,16), VolumeNameLen
),
9356 pkt
.CompletionCodes([0x0000, 0x9b03])
9358 pkt
= NCP(0x162E, "Rename Or Move", 'file')
9359 pkt
.Request( (17,525), [
9360 rec( 10, 1, SourceDirHandle
),
9361 rec( 11, 1, SearchAttributes
),
9362 rec( 12, 1, SourcePathComponentCount
),
9363 rec( 13, (1,255), SourcePath
),
9364 rec( -1, 1, DestDirHandle
),
9365 rec( -1, 1, DestPathComponentCount
),
9366 rec( -1, (1,255), DestPath
),
9367 ], info_str
=(SourcePath
, "Rename or Move: %s", ", %s"))
9369 pkt
.CompletionCodes([0x0000, 0x0102, 0x8701, 0x8b00, 0x8d00, 0x8e00,
9370 0x8f00, 0x9001, 0x9101, 0x9201, 0x9a00, 0x9b03,
9371 0x9c03, 0xa400, 0xff17])
9373 pkt
= NCP(0x162F, "Get Name Space Information", 'file')
9375 rec( 10, 1, VolumeNumber
)
9376 ],info_str
=(VolumeNumber
, "Get Name Space Information for Volume %d", ", %d"))
9377 pkt
.Reply( (15,523), [
9379 # XXX - why does this not display anything at all
9380 # if the stuff after the first IndexNumber is
9381 # un-commented? That stuff really is there....
9383 rec( 8, 1, DefinedNameSpaces
, var
="v" ),
9384 rec( 9, (1,255), NameSpaceName
, repeat
="v" ),
9385 rec( -1, 1, DefinedDataStreams
, var
="w" ),
9386 rec( -1, (2,256), DataStreamInfo
, repeat
="w" ),
9387 rec( -1, 1, LoadedNameSpaces
, var
="x" ),
9388 rec( -1, 1, IndexNumber
, repeat
="x" ),
9389 # rec( -1, 1, VolumeNameSpaces, var="y" ),
9390 # rec( -1, 1, IndexNumber, repeat="y" ),
9391 # rec( -1, 1, VolumeDataStreams, var="z" ),
9392 # rec( -1, 1, IndexNumber, repeat="z" ),
9394 pkt
.CompletionCodes([0x0000, 0x9802, 0xff00])
9396 pkt
= NCP(0x1630, "Get Name Space Directory Entry", 'file')
9398 rec( 10, 1, VolumeNumber
),
9399 rec( 11, 4, DOSSequence
),
9400 rec( 15, 1, SrcNameSpace
),
9403 rec( 8, 4, SequenceNumber
),
9404 rec( 12, 4, Subdirectory
),
9405 rec( 16, 4, AttributesDef32
),
9406 rec( 20, 1, UniqueID
),
9407 rec( 21, 1, Flags
),
9408 rec( 22, 1, SrcNameSpace
),
9409 rec( 23, 1, NameLength
),
9410 rec( 24, 12, Name12
),
9411 rec( 36, 2, CreationTime
),
9412 rec( 38, 2, CreationDate
),
9413 rec( 40, 4, CreatorID
, BE
),
9414 rec( 44, 2, ArchivedTime
),
9415 rec( 46, 2, ArchivedDate
),
9416 rec( 48, 4, ArchiverID
),
9417 rec( 52, 2, UpdateTime
),
9418 rec( 54, 2, UpdateDate
),
9419 rec( 56, 4, UpdateID
),
9420 rec( 60, 4, FileSize
),
9421 rec( 64, 44, Reserved44
),
9422 rec( 108, 2, InheritedRightsMask
),
9423 rec( 110, 2, LastAccessedDate
),
9425 pkt
.CompletionCodes([0x0000, 0x8900, 0x9802, 0xbf00])
9427 pkt
= NCP(0x1631, "Open Data Stream", 'file')
9428 pkt
.Request( (15,269), [
9429 rec( 10, 1, DataStream
),
9430 rec( 11, 1, DirHandle
),
9431 rec( 12, 1, AttributesDef
),
9432 rec( 13, 1, OpenRights
),
9433 rec( 14, (1, 255), FileName
),
9434 ], info_str
=(FileName
, "Open Data Stream: %s", ", %s"))
9436 rec( 8, 4, CCFileHandle
, BE
),
9438 pkt
.CompletionCodes([0x0000, 0x8000, 0x8200, 0x9002, 0xbe00, 0xff00])
9440 pkt
= NCP(0x1632, "Get Object Effective Rights for Directory Entry", 'file')
9441 pkt
.Request( (16,270), [
9442 rec( 10, 4, ObjectID
, BE
),
9443 rec( 14, 1, DirHandle
),
9444 rec( 15, (1, 255), Path
),
9445 ], info_str
=(Path
, "Get Object Effective Rights: %s", ", %s"))
9447 rec( 8, 2, TrusteeRights
),
9449 pkt
.CompletionCodes([0x0000, 0x7e01, 0x9b00, 0x9c03, 0xfc06])
9451 pkt
= NCP(0x1633, "Get Extended Volume Information", 'file')
9453 rec( 10, 1, VolumeNumber
),
9454 ],info_str
=(VolumeNumber
, "Get Extended Volume Information for Volume %d", ", %d"))
9455 pkt
.Reply( (139,266), [
9456 rec( 8, 2, VolInfoReplyLen
),
9457 rec( 10, 128, VolInfoStructure
),
9458 rec( 138, (1,128), VolumeNameLen
),
9460 pkt
.CompletionCodes([0x0000, 0x7e01, 0x9804, 0xfb08, 0xff00])
9462 pkt
= NCP(0x1634, "Get Mount Volume List", 'file')
9464 rec( 10, 4, StartVolumeNumber
),
9465 rec( 14, 4, VolumeRequestFlags
, LE
),
9466 rec( 18, 4, SrcNameSpace
),
9468 pkt
.Reply( NO_LENGTH_CHECK
, [
9469 rec( 8, 4, ItemsInPacket
, var
="x" ),
9470 rec( 12, 4, NextVolumeNumber
),
9471 srec( VolumeStruct
, req_cond
="ncp.volume_request_flags==0x0000", repeat
="x" ),
9472 srec( VolumeWithNameStruct
, req_cond
="ncp.volume_request_flags==0x0001", repeat
="x" ),
9474 pkt
.ReqCondSizeVariable()
9475 pkt
.CompletionCodes([0x0000, 0x9802])
9477 pkt
= NCP(0x1635, "Get Volume Capabilities", 'file')
9479 rec( 10, 4, VolumeNumberLong
),
9480 rec( 14, 4, VersionNumberLong
),
9483 rec( 8, 4, VolumeCapabilities
),
9484 rec( 12, 28, Reserved28
),
9485 rec( 40, 64, VolumeNameStringz
),
9486 rec( 104, 128, VolumeGUID
),
9487 rec( 232, 256, PoolName
),
9488 rec( 488, 256, VolumeMountPoint
),
9490 pkt
.CompletionCodes([0x0000])
9492 pkt
= NCP(0x1700, "Login User", 'connection')
9493 pkt
.Request( (12, 58), [
9494 rec( 10, (1,16), UserName
),
9495 rec( -1, (1,32), Password
),
9496 ], info_str
=(UserName
, "Login User: %s", ", %s"))
9498 pkt
.CompletionCodes([0x0000, 0x9602, 0xc101, 0xc200, 0xc501, 0xd700,
9499 0xd900, 0xda00, 0xdb00, 0xde00, 0xdf00, 0xe800,
9500 0xec00, 0xed00, 0xef00, 0xf001, 0xf100, 0xf200,
9501 0xf600, 0xfb00, 0xfc06, 0xfe07, 0xff00])
9503 pkt
= NCP(0x1701, "Change User Password", 'bindery')
9504 pkt
.Request( (13, 90), [
9505 rec( 10, (1,16), UserName
),
9506 rec( -1, (1,32), Password
),
9507 rec( -1, (1,32), NewPassword
),
9508 ], info_str
=(UserName
, "Change Password for User: %s", ", %s"))
9510 pkt
.CompletionCodes([0x0000, 0x9600, 0xd600, 0xf001, 0xf101, 0xf501,
9511 0xfc06, 0xfe07, 0xff00])
9513 pkt
= NCP(0x1702, "Get User Connection List", 'connection')
9514 pkt
.Request( (11, 26), [
9515 rec( 10, (1,16), UserName
),
9516 ], info_str
=(UserName
, "Get User Connection: %s", ", %s"))
9517 pkt
.Reply( (9, 136), [
9518 rec( 8, (1, 128), ConnectionNumberList
),
9520 pkt
.CompletionCodes([0x0000, 0x9600, 0xf001, 0xfc06, 0xfe07, 0xff00])
9522 pkt
= NCP(0x1703, "Get User Number", 'bindery')
9523 pkt
.Request( (11, 26), [
9524 rec( 10, (1,16), UserName
),
9525 ], info_str
=(UserName
, "Get User Number: %s", ", %s"))
9527 rec( 8, 4, ObjectID
, BE
),
9529 pkt
.CompletionCodes([0x0000, 0x9600, 0xf001, 0xfc06, 0xfe07, 0xff00])
9531 pkt
= NCP(0x1705, "Get Station's Logged Info", 'connection')
9533 rec( 10, 1, TargetConnectionNumber
),
9534 ],info_str
=(TargetConnectionNumber
, "Get Station's Logged Information on Connection %d", ", %d"))
9536 rec( 8, 16, UserName16
),
9537 rec( 24, 7, LoginTime
),
9538 rec( 31, 39, FullName
),
9539 rec( 70, 4, UserID
, BE
),
9540 rec( 74, 128, SecurityEquivalentList
),
9541 rec( 202, 64, Reserved64
),
9543 pkt
.CompletionCodes([0x0000, 0x9602, 0xfc06, 0xfd00, 0xfe07, 0xff00])
9545 pkt
= NCP(0x1707, "Get Group Number", 'bindery')
9547 rec( 10, 4, ObjectID
, BE
),
9550 rec( 8, 4, ObjectID
, BE
),
9551 rec( 12, 2, ObjectType
, BE
),
9552 rec( 14, 48, ObjectNameLen
),
9554 pkt
.CompletionCodes([0x0000, 0x9602, 0xf101, 0xfc06, 0xfe07, 0xff00])
9556 pkt
= NCP(0x170C, "Verify Serialization", 'fileserver')
9558 rec( 10, 4, ServerSerialNumber
),
9561 pkt
.CompletionCodes([0x0000, 0xff00])
9563 pkt
= NCP(0x170D, "Log Network Message", 'file')
9564 pkt
.Request( (11, 68), [
9565 rec( 10, (1, 58), TargetMessage
),
9566 ], info_str
=(TargetMessage
, "Log Network Message: %s", ", %s"))
9568 pkt
.CompletionCodes([0x0000, 0x8000, 0x8100, 0x8800, 0x8d00, 0x8e00, 0x8f00,
9569 0x9001, 0x9400, 0x9600, 0x9804, 0x9900, 0x9b00, 0xa100,
9572 pkt
= NCP(0x170E, "Get Disk Utilization", 'fileserver')
9574 rec( 10, 1, VolumeNumber
),
9575 rec( 11, 4, TrusteeID
, BE
),
9578 rec( 8, 1, VolumeNumber
),
9579 rec( 9, 4, TrusteeID
, BE
),
9580 rec( 13, 2, DirectoryCount
, BE
),
9581 rec( 15, 2, FileCount
, BE
),
9582 rec( 17, 2, ClusterCount
, BE
),
9584 pkt
.CompletionCodes([0x0000, 0x9600, 0x9804, 0xa100, 0xf200])
9586 pkt
= NCP(0x170F, "Scan File Information", 'file')
9587 pkt
.Request((15,269), [
9588 rec( 10, 2, LastSearchIndex
),
9589 rec( 12, 1, DirHandle
),
9590 rec( 13, 1, SearchAttributes
),
9591 rec( 14, (1, 255), FileName
),
9592 ], info_str
=(FileName
, "Scan File Information: %s", ", %s"))
9594 rec( 8, 2, NextSearchIndex
),
9595 rec( 10, 14, FileName14
),
9596 rec( 24, 2, AttributesDef16
),
9597 rec( 26, 4, FileSize
, BE
),
9598 rec( 30, 2, CreationDate
, BE
),
9599 rec( 32, 2, LastAccessedDate
, BE
),
9600 rec( 34, 2, ModifiedDate
, BE
),
9601 rec( 36, 2, ModifiedTime
, BE
),
9602 rec( 38, 4, CreatorID
, BE
),
9603 rec( 42, 2, ArchivedDate
, BE
),
9604 rec( 44, 2, ArchivedTime
, BE
),
9605 rec( 46, 56, Reserved56
),
9607 pkt
.CompletionCodes([0x0000, 0x8800, 0x8900, 0x9300, 0x9400, 0x9804, 0x9b00, 0x9c00,
9608 0xa100, 0xfd00, 0xff17])
9610 pkt
= NCP(0x1710, "Set File Information", 'file')
9611 pkt
.Request((91,345), [
9612 rec( 10, 2, AttributesDef16
),
9613 rec( 12, 4, FileSize
, BE
),
9614 rec( 16, 2, CreationDate
, BE
),
9615 rec( 18, 2, LastAccessedDate
, BE
),
9616 rec( 20, 2, ModifiedDate
, BE
),
9617 rec( 22, 2, ModifiedTime
, BE
),
9618 rec( 24, 4, CreatorID
, BE
),
9619 rec( 28, 2, ArchivedDate
, BE
),
9620 rec( 30, 2, ArchivedTime
, BE
),
9621 rec( 32, 56, Reserved56
),
9622 rec( 88, 1, DirHandle
),
9623 rec( 89, 1, SearchAttributes
),
9624 rec( 90, (1, 255), FileName
),
9625 ], info_str
=(FileName
, "Set Information for File: %s", ", %s"))
9627 pkt
.CompletionCodes([0x0000, 0x8800, 0x8c00, 0x8e00, 0x9400, 0x9600, 0x9804,
9628 0x9b03, 0x9c00, 0xa100, 0xa201, 0xfc06, 0xfd00, 0xfe07,
9631 pkt
= NCP(0x1711, "Get File Server Information", 'fileserver')
9634 rec( 8, 48, ServerName
),
9635 rec( 56, 1, OSMajorVersion
),
9636 rec( 57, 1, OSMinorVersion
),
9637 rec( 58, 2, ConnectionsSupportedMax
, BE
),
9638 rec( 60, 2, ConnectionsInUse
, BE
),
9639 rec( 62, 2, VolumesSupportedMax
, BE
),
9640 rec( 64, 1, OSRevision
),
9641 rec( 65, 1, SFTSupportLevel
),
9642 rec( 66, 1, TTSLevel
),
9643 rec( 67, 2, ConnectionsMaxUsed
, BE
),
9644 rec( 69, 1, AccountVersion
),
9645 rec( 70, 1, VAPVersion
),
9646 rec( 71, 1, QueueingVersion
),
9647 rec( 72, 1, PrintServerVersion
),
9648 rec( 73, 1, VirtualConsoleVersion
),
9649 rec( 74, 1, SecurityRestrictionVersion
),
9650 rec( 75, 1, InternetBridgeVersion
),
9651 rec( 76, 1, MixedModePathFlag
),
9652 rec( 77, 1, LocalLoginInfoCcode
),
9653 rec( 78, 2, ProductMajorVersion
, BE
),
9654 rec( 80, 2, ProductMinorVersion
, BE
),
9655 rec( 82, 2, ProductRevisionVersion
, BE
),
9656 rec( 84, 1, OSLanguageID
, LE
),
9657 rec( 85, 1, SixtyFourBitOffsetsSupportedFlag
),
9658 rec( 86, 1, OESServer
),
9659 rec( 87, 1, OESLinuxOrNetWare
),
9660 rec( 88, 48, Reserved48
),
9662 pkt
.CompletionCodes([0x0000, 0x9600])
9664 pkt
= NCP(0x1712, "Get Network Serial Number", 'fileserver')
9667 rec( 8, 4, ServerSerialNumber
),
9668 rec( 12, 2, ApplicationNumber
),
9670 pkt
.CompletionCodes([0x0000, 0x9600])
9672 pkt
= NCP(0x1713, "Get Internet Address", 'connection')
9674 rec( 10, 1, TargetConnectionNumber
),
9675 ],info_str
=(TargetConnectionNumber
, "Get Internet Address for Connection %d", ", %d"))
9677 rec( 8, 4, NetworkAddress
, BE
),
9678 rec( 12, 6, NetworkNodeAddress
),
9679 rec( 18, 2, NetworkSocket
, BE
),
9681 pkt
.CompletionCodes([0x0000, 0xff00])
9683 pkt
= NCP(0x1714, "Login Object", 'connection')
9684 pkt
.Request( (14, 60), [
9685 rec( 10, 2, ObjectType
, BE
),
9686 rec( 12, (1,16), ClientName
),
9687 rec( -1, (1,32), Password
),
9688 ], info_str
=(UserName
, "Login Object: %s", ", %s"))
9690 pkt
.CompletionCodes([0x0000, 0x9602, 0xc101, 0xc200, 0xc501, 0xd600, 0xd700,
9691 0xd900, 0xda00, 0xdb00, 0xde00, 0xdf00, 0xe800, 0xec00,
9692 0xed00, 0xef00, 0xf001, 0xf100, 0xf200, 0xf600, 0xfb00,
9693 0xfc06, 0xfe07, 0xff00])
9695 pkt
= NCP(0x1715, "Get Object Connection List", 'connection')
9696 pkt
.Request( (13, 28), [
9697 rec( 10, 2, ObjectType
, BE
),
9698 rec( 12, (1,16), ObjectName
),
9699 ], info_str
=(UserName
, "Get Object Connection List: %s", ", %s"))
9700 pkt
.Reply( (9, 136), [
9701 rec( 8, (1, 128), ConnectionNumberList
),
9703 pkt
.CompletionCodes([0x0000, 0x9600, 0xf001, 0xfc06, 0xfe07, 0xff00])
9705 pkt
= NCP(0x1716, "Get Station's Logged Info", 'connection')
9707 rec( 10, 1, TargetConnectionNumber
),
9710 rec( 8, 4, UserID
, BE
),
9711 rec( 12, 2, ObjectType
, BE
),
9712 rec( 14, 48, ObjectNameLen
),
9713 rec( 62, 7, LoginTime
),
9714 rec( 69, 1, Reserved
),
9716 pkt
.CompletionCodes([0x0000, 0x9602, 0xfb0a, 0xfc06, 0xfd00, 0xfe07, 0xff00])
9718 pkt
= NCP(0x1717, "Get Login Key", 'connection')
9721 rec( 8, 8, LoginKey
),
9723 pkt
.CompletionCodes([0x0000, 0x9602])
9725 pkt
= NCP(0x1718, "Keyed Object Login", 'connection')
9726 pkt
.Request( (21, 68), [
9727 rec( 10, 8, LoginKey
),
9728 rec( 18, 2, ObjectType
, BE
),
9729 rec( 20, (1,48), ObjectName
),
9730 ], info_str
=(ObjectName
, "Keyed Object Login: %s", ", %s"))
9732 pkt
.CompletionCodes([0x0000, 0x9602, 0xc101, 0xc200, 0xc500, 0xd904, 0xda00,
9733 0xdb00, 0xdc00, 0xde00, 0xff00])
9735 pkt
= NCP(0x171A, "Get Internet Address", 'connection')
9737 rec( 10, 2, TargetConnectionNumber
),
9739 # Dissect reply in packet-ncp2222.inc
9741 pkt
.CompletionCodes([0x0000])
9743 pkt
= NCP(0x171B, "Get Object Connection List", 'connection')
9744 pkt
.Request( (17,64), [
9745 rec( 10, 4, SearchConnNumber
),
9746 rec( 14, 2, ObjectType
, BE
),
9747 rec( 16, (1,48), ObjectName
),
9748 ], info_str
=(ObjectName
, "Get Object Connection List: %s", ", %s"))
9750 rec( 8, 1, ConnListLen
, var
="x" ),
9751 rec( 9, 4, ConnectionNumber
, LE
, repeat
="x" ),
9753 pkt
.CompletionCodes([0x0000, 0x9600, 0xf001, 0xfc06, 0xfe07, 0xff00])
9755 pkt
= NCP(0x171C, "Get Station's Logged Info", 'connection')
9757 rec( 10, 4, TargetConnectionNumber
),
9760 rec( 8, 4, UserID
, BE
),
9761 rec( 12, 2, ObjectType
, BE
),
9762 rec( 14, 48, ObjectNameLen
),
9763 rec( 62, 7, LoginTime
),
9764 rec( 69, 1, Reserved
),
9766 pkt
.CompletionCodes([0x0000, 0x7d00, 0x9602, 0xfb02, 0xfc06, 0xfd00, 0xfe07, 0xff00])
9768 pkt
= NCP(0x171D, "Change Connection State", 'connection')
9770 rec( 10, 1, RequestCode
),
9773 pkt
.CompletionCodes([0x0000, 0x0109, 0x7a00, 0x7b00, 0x7c00, 0xe000, 0xfb06, 0xfd00])
9775 pkt
= NCP(0x171E, "Set Watchdog Delay Interval", 'connection')
9777 rec( 10, 4, NumberOfMinutesToDelay
),
9780 pkt
.CompletionCodes([0x0000, 0x0107])
9782 pkt
= NCP(0x171F, "Get Connection List From Object", 'connection')
9784 rec( 10, 4, ObjectID
, BE
),
9785 rec( 14, 4, ConnectionNumber
),
9787 pkt
.Reply( (9, 136), [
9788 rec( 8, (1, 128), ConnectionNumberList
),
9790 pkt
.CompletionCodes([0x0000, 0x9600, 0xf001, 0xfc06, 0xfe07, 0xff00])
9792 pkt
= NCP(0x1720, "Scan Bindery Object (List)", 'bindery')
9793 pkt
.Request((23,70), [
9794 rec( 10, 4, NextObjectID
, BE
),
9795 rec( 14, 2, ObjectType
, BE
),
9796 rec( 16, 2, Reserved2
),
9797 rec( 18, 4, InfoFlags
),
9798 rec( 22, (1,48), ObjectName
),
9799 ], info_str
=(ObjectName
, "Scan Bindery Object: %s", ", %s"))
9800 pkt
.Reply(NO_LENGTH_CHECK
, [
9801 rec( 8, 4, ObjectInfoReturnCount
),
9802 rec( 12, 4, NextObjectID
, BE
),
9803 rec( 16, 4, ObjectID
),
9804 srec(ObjectTypeStruct
, req_cond
="ncp.info_flags_type == TRUE"),
9805 srec(ObjectSecurityStruct
, req_cond
="ncp.info_flags_security == TRUE"),
9806 srec(ObjectFlagsStruct
, req_cond
="ncp.info_flags_flags == TRUE"),
9807 srec(ObjectNameStruct
, req_cond
="ncp.info_flags_name == TRUE"),
9809 pkt
.ReqCondSizeVariable()
9810 pkt
.CompletionCodes([0x0000, 0x9600, 0xef01, 0xfc02, 0xfe01, 0xff00])
9812 pkt
= NCP(0x1721, "Generate GUIDs", 'connection')
9814 rec( 10, 4, ReturnInfoCount
),
9817 rec( 8, 4, ReturnInfoCount
, var
="x" ),
9818 rec( 12, 16, GUID
, repeat
="x" ),
9820 pkt
.CompletionCodes([0x0000, 0x7e01])
9822 pkt
= NCP(0x1722, "Set Connection Language Encoding", 'connection')
9824 rec( 10, 4, SetMask
),
9825 rec( 14, 4, NCPEncodedStringsBits
),
9826 rec( 18, 4, CodePage
),
9829 pkt
.CompletionCodes([0x0000])
9831 pkt
= NCP(0x1732, "Create Bindery Object", 'bindery')
9832 pkt
.Request( (15,62), [
9833 rec( 10, 1, ObjectFlags
),
9834 rec( 11, 1, ObjectSecurity
),
9835 rec( 12, 2, ObjectType
, BE
),
9836 rec( 14, (1,48), ObjectName
),
9837 ], info_str
=(ObjectName
, "Create Bindery Object: %s", ", %s"))
9839 pkt
.CompletionCodes([0x0000, 0x9600, 0xe700, 0xee00, 0xef00, 0xf101, 0xf501,
9840 0xfc06, 0xfe07, 0xff00])
9842 pkt
= NCP(0x1733, "Delete Bindery Object", 'bindery')
9843 pkt
.Request( (13,60), [
9844 rec( 10, 2, ObjectType
, BE
),
9845 rec( 12, (1,48), ObjectName
),
9846 ], info_str
=(ObjectName
, "Delete Bindery Object: %s", ", %s"))
9848 pkt
.CompletionCodes([0x0000, 0x9600, 0xf000, 0xf200, 0xf400, 0xf600, 0xfb00,
9849 0xfc06, 0xfe07, 0xff00])
9851 pkt
= NCP(0x1734, "Rename Bindery Object", 'bindery')
9852 pkt
.Request( (14,108), [
9853 rec( 10, 2, ObjectType
, BE
),
9854 rec( 12, (1,48), ObjectName
),
9855 rec( -1, (1,48), NewObjectName
),
9856 ], info_str
=(ObjectName
, "Rename Bindery Object: %s", ", %s"))
9858 pkt
.CompletionCodes([0x0000, 0x9600, 0xee00, 0xf000, 0xf300, 0xfc06, 0xfe07, 0xff00])
9860 pkt
= NCP(0x1735, "Get Bindery Object ID", 'bindery')
9861 pkt
.Request((13,60), [
9862 rec( 10, 2, ObjectType
, BE
),
9863 rec( 12, (1,48), ObjectName
),
9864 ], info_str
=(ObjectName
, "Get Bindery Object: %s", ", %s"))
9866 rec( 8, 4, ObjectID
, BE
),
9867 rec( 12, 2, ObjectType
, BE
),
9868 rec( 14, 48, ObjectNameLen
),
9870 pkt
.CompletionCodes([0x0000, 0x9600, 0xef01, 0xf000, 0xfc02, 0xfe01, 0xff00])
9872 pkt
= NCP(0x1736, "Get Bindery Object Name", 'bindery')
9874 rec( 10, 4, ObjectID
, BE
),
9877 rec( 8, 4, ObjectID
, BE
),
9878 rec( 12, 2, ObjectType
, BE
),
9879 rec( 14, 48, ObjectNameLen
),
9881 pkt
.CompletionCodes([0x0000, 0x9600, 0xf101, 0xfc02, 0xfe01, 0xff00])
9883 pkt
= NCP(0x1737, "Scan Bindery Object", 'bindery')
9884 pkt
.Request((17,64), [
9885 rec( 10, 4, ObjectID
, BE
),
9886 rec( 14, 2, ObjectType
, BE
),
9887 rec( 16, (1,48), ObjectName
),
9888 ], info_str
=(ObjectName
, "Scan Bindery Object: %s", ", %s"))
9890 rec( 8, 4, ObjectID
, BE
),
9891 rec( 12, 2, ObjectType
, BE
),
9892 rec( 14, 48, ObjectNameLen
),
9893 rec( 62, 1, ObjectFlags
),
9894 rec( 63, 1, ObjectSecurity
),
9895 rec( 64, 1, ObjectHasProperties
),
9897 pkt
.CompletionCodes([0x0000, 0x9600, 0xef01, 0xfc02,
9900 pkt
= NCP(0x1738, "Change Bindery Object Security", 'bindery')
9901 pkt
.Request((14,61), [
9902 rec( 10, 1, ObjectSecurity
),
9903 rec( 11, 2, ObjectType
, BE
),
9904 rec( 13, (1,48), ObjectName
),
9905 ], info_str
=(ObjectName
, "Change Bindery Object Security: %s", ", %s"))
9907 pkt
.CompletionCodes([0x0000, 0x9600, 0xf000, 0xf101, 0xf501, 0xfc02, 0xfe01, 0xff00])
9909 pkt
= NCP(0x1739, "Create Property", 'bindery')
9910 pkt
.Request((16,78), [
9911 rec( 10, 2, ObjectType
, BE
),
9912 rec( 12, (1,48), ObjectName
),
9913 rec( -1, 1, PropertyType
),
9914 rec( -1, 1, ObjectSecurity
),
9915 rec( -1, (1,16), PropertyName
),
9916 ], info_str
=(PropertyName
, "Create Property: %s", ", %s"))
9918 pkt
.CompletionCodes([0x0000, 0x9600, 0xed00, 0xef00, 0xf000, 0xf101,
9919 0xf200, 0xf600, 0xf700, 0xfb00, 0xfc02, 0xfe01,
9922 pkt
= NCP(0x173A, "Delete Property", 'bindery')
9923 pkt
.Request((14,76), [
9924 rec( 10, 2, ObjectType
, BE
),
9925 rec( 12, (1,48), ObjectName
),
9926 rec( -1, (1,16), PropertyName
),
9927 ], info_str
=(PropertyName
, "Delete Property: %s", ", %s"))
9929 pkt
.CompletionCodes([0x0000, 0x9600, 0xf000, 0xf101, 0xf600, 0xfb00, 0xfc02,
9932 pkt
= NCP(0x173B, "Change Property Security", 'bindery')
9933 pkt
.Request((15,77), [
9934 rec( 10, 2, ObjectType
, BE
),
9935 rec( 12, (1,48), ObjectName
),
9936 rec( -1, 1, ObjectSecurity
),
9937 rec( -1, (1,16), PropertyName
),
9938 ], info_str
=(PropertyName
, "Change Property Security: %s", ", %s"))
9940 pkt
.CompletionCodes([0x0000, 0x9600, 0xf000, 0xf101, 0xf200, 0xf600, 0xfb00,
9941 0xfc02, 0xfe01, 0xff00])
9943 pkt
= NCP(0x173C, "Scan Property", 'bindery')
9944 pkt
.Request((18,80), [
9945 rec( 10, 2, ObjectType
, BE
),
9946 rec( 12, (1,48), ObjectName
),
9947 rec( -1, 4, LastInstance
, BE
),
9948 rec( -1, (1,16), PropertyName
),
9949 ], info_str
=(PropertyName
, "Scan Property: %s", ", %s"))
9951 rec( 8, 16, PropertyName16
),
9952 rec( 24, 1, ObjectFlags
),
9953 rec( 25, 1, ObjectSecurity
),
9954 rec( 26, 4, SearchInstance
, BE
),
9955 rec( 30, 1, ValueAvailable
),
9956 rec( 31, 1, MoreProperties
),
9958 pkt
.CompletionCodes([0x0000, 0x9600, 0xf000, 0xf101, 0xf200, 0xf600, 0xfb00,
9959 0xfc02, 0xfe01, 0xff00])
9961 pkt
= NCP(0x173D, "Read Property Value", 'bindery')
9962 pkt
.Request((15,77), [
9963 rec( 10, 2, ObjectType
, BE
),
9964 rec( 12, (1,48), ObjectName
),
9965 rec( -1, 1, PropertySegment
),
9966 rec( -1, (1,16), PropertyName
),
9967 ], info_str
=(PropertyName
, "Read Property Value: %s", ", %s"))
9969 rec( 8, 128, PropertyData
),
9970 rec( 136, 1, PropertyHasMoreSegments
),
9971 rec( 137, 1, PropertyType
),
9973 pkt
.CompletionCodes([0x0000, 0x8800, 0x9300, 0x9600, 0xec01,
9974 0xf000, 0xf100, 0xf900, 0xfb02, 0xfc02,
9977 pkt
= NCP(0x173E, "Write Property Value", 'bindery')
9978 pkt
.Request((144,206), [
9979 rec( 10, 2, ObjectType
, BE
),
9980 rec( 12, (1,48), ObjectName
),
9981 rec( -1, 1, PropertySegment
),
9982 rec( -1, 1, MoreFlag
),
9983 rec( -1, (1,16), PropertyName
),
9985 # XXX - don't show this if MoreFlag isn't set?
9986 # In at least some packages where it's not set,
9987 # PropertyValue appears to be garbage.
9989 rec( -1, 128, PropertyValue
),
9990 ], info_str
=(PropertyName
, "Write Property Value: %s", ", %s"))
9992 pkt
.CompletionCodes([0x0000, 0x9600, 0xe800, 0xec01, 0xf000, 0xf800,
9993 0xfb02, 0xfc03, 0xfe01, 0xff00 ])
9995 pkt
= NCP(0x173F, "Verify Bindery Object Password", 'bindery')
9996 pkt
.Request((14,92), [
9997 rec( 10, 2, ObjectType
, BE
),
9998 rec( 12, (1,48), ObjectName
),
9999 rec( -1, (1,32), Password
),
10000 ], info_str
=(ObjectName
, "Verify Bindery Object Password: %s", ", %s"))
10002 pkt
.CompletionCodes([0x0000, 0x9600, 0xe800, 0xec01, 0xf000, 0xf101,
10003 0xfb02, 0xfc03, 0xfe01, 0xff00 ])
10005 pkt
= NCP(0x1740, "Change Bindery Object Password", 'bindery')
10006 pkt
.Request((15,124), [
10007 rec( 10, 2, ObjectType
, BE
),
10008 rec( 12, (1,48), ObjectName
),
10009 rec( -1, (1,32), Password
),
10010 rec( -1, (1,32), NewPassword
),
10011 ], info_str
=(ObjectName
, "Change Bindery Object Password: %s", ", %s"))
10013 pkt
.CompletionCodes([0x0000, 0x9600, 0xc501, 0xd701, 0xe800, 0xec01, 0xf001,
10014 0xf100, 0xf800, 0xfb02, 0xfc03, 0xfe01, 0xff00])
10016 pkt
= NCP(0x1741, "Add Bindery Object To Set", 'bindery')
10017 pkt
.Request((17,126), [
10018 rec( 10, 2, ObjectType
, BE
),
10019 rec( 12, (1,48), ObjectName
),
10020 rec( -1, (1,16), PropertyName
),
10021 rec( -1, 2, MemberType
, BE
),
10022 rec( -1, (1,48), MemberName
),
10023 ], info_str
=(MemberName
, "Add Bindery Object to Set: %s", ", %s"))
10025 pkt
.CompletionCodes([0x0000, 0x9600, 0xe800, 0xe900, 0xea00, 0xeb00,
10026 0xec01, 0xf000, 0xf800, 0xfb02, 0xfc03, 0xfe01,
10029 pkt
= NCP(0x1742, "Delete Bindery Object From Set", 'bindery')
10030 pkt
.Request((17,126), [
10031 rec( 10, 2, ObjectType
, BE
),
10032 rec( 12, (1,48), ObjectName
),
10033 rec( -1, (1,16), PropertyName
),
10034 rec( -1, 2, MemberType
, BE
),
10035 rec( -1, (1,48), MemberName
),
10036 ], info_str
=(MemberName
, "Delete Bindery Object from Set: %s", ", %s"))
10038 pkt
.CompletionCodes([0x0000, 0x9600, 0xeb00, 0xf000, 0xf800, 0xfb02,
10039 0xfc03, 0xfe01, 0xff00])
10041 pkt
= NCP(0x1743, "Is Bindery Object In Set", 'bindery')
10042 pkt
.Request((17,126), [
10043 rec( 10, 2, ObjectType
, BE
),
10044 rec( 12, (1,48), ObjectName
),
10045 rec( -1, (1,16), PropertyName
),
10046 rec( -1, 2, MemberType
, BE
),
10047 rec( -1, (1,48), MemberName
),
10048 ], info_str
=(MemberName
, "Is Bindery Object in Set: %s", ", %s"))
10050 pkt
.CompletionCodes([0x0000, 0x9600, 0xea00, 0xeb00, 0xec01, 0xf000,
10051 0xfb02, 0xfc03, 0xfe01, 0xff00])
10053 pkt
= NCP(0x1744, "Close Bindery", 'bindery')
10056 pkt
.CompletionCodes([0x0000, 0xff00])
10058 pkt
= NCP(0x1745, "Open Bindery", 'bindery')
10061 pkt
.CompletionCodes([0x0000, 0xff00])
10063 pkt
= NCP(0x1746, "Get Bindery Access Level", 'bindery')
10066 rec( 8, 1, ObjectSecurity
),
10067 rec( 9, 4, LoggedObjectID
, BE
),
10069 pkt
.CompletionCodes([0x0000, 0x9600])
10071 pkt
= NCP(0x1747, "Scan Bindery Object Trustee Paths", 'bindery')
10073 rec( 10, 1, VolumeNumber
),
10074 rec( 11, 2, LastSequenceNumber
, BE
),
10075 rec( 13, 4, ObjectID
, BE
),
10077 pkt
.Reply((16,270), [
10078 rec( 8, 2, LastSequenceNumber
, BE
),
10079 rec( 10, 4, ObjectID
, BE
),
10080 rec( 14, 1, ObjectSecurity
),
10081 rec( 15, (1,255), Path
),
10083 pkt
.CompletionCodes([0x0000, 0x9300, 0x9600, 0xa100, 0xf000, 0xf100,
10084 0xf200, 0xfc02, 0xfe01, 0xff00])
10086 pkt
= NCP(0x1748, "Get Bindery Object Access Level", 'bindery')
10088 rec( 10, 4, ObjectID
, BE
),
10091 rec( 8, 1, ObjectSecurity
),
10093 pkt
.CompletionCodes([0x0000, 0x9600])
10095 pkt
= NCP(0x1749, "Is Calling Station a Manager", 'bindery')
10098 pkt
.CompletionCodes([0x0003, 0xff1e])
10100 pkt
= NCP(0x174A, "Keyed Verify Password", 'bindery')
10101 pkt
.Request((21,68), [
10102 rec( 10, 8, LoginKey
),
10103 rec( 18, 2, ObjectType
, BE
),
10104 rec( 20, (1,48), ObjectName
),
10105 ], info_str
=(ObjectName
, "Keyed Verify Password: %s", ", %s"))
10107 pkt
.CompletionCodes([0x0000, 0xc500, 0xfe01, 0xff0c])
10109 pkt
= NCP(0x174B, "Keyed Change Password", 'bindery')
10110 pkt
.Request((22,100), [
10111 rec( 10, 8, LoginKey
),
10112 rec( 18, 2, ObjectType
, BE
),
10113 rec( 20, (1,48), ObjectName
),
10114 rec( -1, (1,32), Password
),
10115 ], info_str
=(ObjectName
, "Keyed Change Password: %s", ", %s"))
10117 pkt
.CompletionCodes([0x0000, 0xc500, 0xfe01, 0xff0c])
10119 pkt
= NCP(0x174C, "List Relations Of an Object", 'bindery')
10120 pkt
.Request((18,80), [
10121 rec( 10, 4, LastSeen
, BE
),
10122 rec( 14, 2, ObjectType
, BE
),
10123 rec( 16, (1,48), ObjectName
),
10124 rec( -1, (1,16), PropertyName
),
10125 ], info_str
=(ObjectName
, "List Relations of an Object: %s", ", %s"))
10127 rec( 8, 2, RelationsCount
, BE
, var
="x" ),
10128 rec( 10, 4, ObjectID
, BE
, repeat
="x" ),
10130 pkt
.CompletionCodes([0x0000, 0xf000, 0xf200, 0xfe01, 0xff00])
10131 # 2222/1764, 23/100
10132 pkt
= NCP(0x1764, "Create Queue", 'qms')
10133 pkt
.Request((15,316), [
10134 rec( 10, 2, QueueType
, BE
),
10135 rec( 12, (1,48), QueueName
),
10136 rec( -1, 1, PathBase
),
10137 rec( -1, (1,255), Path
),
10138 ], info_str
=(QueueName
, "Create Queue: %s", ", %s"))
10140 rec( 8, 4, QueueID
),
10142 pkt
.CompletionCodes([0x0000, 0x9600, 0x9900, 0xd000, 0xd100,
10143 0xd200, 0xd300, 0xd400, 0xd500, 0xd601,
10144 0xd703, 0xd800, 0xd902, 0xda01, 0xdb02,
10146 # 2222/1765, 23/101
10147 pkt
= NCP(0x1765, "Destroy Queue", 'qms')
10149 rec( 10, 4, QueueID
),
10152 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10153 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10154 0xd800, 0xd902, 0xda01, 0xdb02, 0xff00])
10155 # 2222/1766, 23/102
10156 pkt
= NCP(0x1766, "Read Queue Current Status", 'qms')
10158 rec( 10, 4, QueueID
),
10161 rec( 8, 4, QueueID
),
10162 rec( 12, 1, QueueStatus
),
10163 rec( 13, 1, CurrentEntries
),
10164 rec( 14, 1, CurrentServers
, var
="x" ),
10165 rec( 15, 4, ServerID
, repeat
="x" ),
10166 rec( 19, 1, ServerStationList
, repeat
="x" ),
10168 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10169 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10170 0xd800, 0xd902, 0xda01, 0xdb02, 0xff00])
10171 # 2222/1767, 23/103
10172 pkt
= NCP(0x1767, "Set Queue Current Status", 'qms')
10174 rec( 10, 4, QueueID
),
10175 rec( 14, 1, QueueStatus
),
10178 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10179 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10180 0xd800, 0xd902, 0xda01, 0xdb02, 0xfc07,
10182 # 2222/1768, 23/104
10183 pkt
= NCP(0x1768, "Create Queue Job And File", 'qms')
10185 rec( 10, 4, QueueID
),
10186 rec( 14, 250, JobStruct
),
10189 rec( 8, 1, ClientStation
),
10190 rec( 9, 1, ClientTaskNumber
),
10191 rec( 10, 4, ClientIDNumber
, BE
),
10192 rec( 14, 4, TargetServerIDNumber
, BE
),
10193 rec( 18, 6, TargetExecutionTime
),
10194 rec( 24, 6, JobEntryTime
),
10195 rec( 30, 2, JobNumber
, BE
),
10196 rec( 32, 2, JobType
, BE
),
10197 rec( 34, 1, JobPosition
),
10198 rec( 35, 1, JobControlFlags
),
10199 rec( 36, 14, JobFileName
),
10200 rec( 50, 6, JobFileHandle
),
10201 rec( 56, 1, ServerStation
),
10202 rec( 57, 1, ServerTaskNumber
),
10203 rec( 58, 4, ServerID
, BE
),
10205 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10206 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10207 0xd800, 0xd902, 0xda01, 0xdb02, 0xfc07,
10209 # 2222/1769, 23/105
10210 pkt
= NCP(0x1769, "Close File And Start Queue Job", 'qms')
10212 rec( 10, 4, QueueID
),
10213 rec( 14, 2, JobNumber
, BE
),
10216 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10217 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10218 0xd800, 0xd902, 0xda01, 0xdb02, 0xff00])
10219 # 2222/176A, 23/106
10220 pkt
= NCP(0x176A, "Remove Job From Queue", 'qms')
10222 rec( 10, 4, QueueID
),
10223 rec( 14, 2, JobNumber
, BE
),
10226 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10227 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10228 0xd800, 0xd902, 0xda01, 0xdb02, 0xff00])
10229 # 2222/176B, 23/107
10230 pkt
= NCP(0x176B, "Get Queue Job List", 'qms')
10232 rec( 10, 4, QueueID
),
10235 rec( 8, 2, JobCount
, BE
, var
="x" ),
10236 rec( 10, 2, JobNumber
, BE
, repeat
="x" ),
10238 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10239 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10240 0xd800, 0xd902, 0xda01, 0xdb02, 0xff00])
10241 # 2222/176C, 23/108
10242 pkt
= NCP(0x176C, "Read Queue Job Entry", 'qms')
10244 rec( 10, 4, QueueID
),
10245 rec( 14, 2, JobNumber
, BE
),
10248 rec( 8, 250, JobStruct
),
10250 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10251 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10252 0xd800, 0xd902, 0xda01, 0xdb02, 0xff00])
10253 # 2222/176D, 23/109
10254 pkt
= NCP(0x176D, "Change Queue Job Entry", 'qms')
10256 rec( 14, 250, JobStruct
),
10259 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10260 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10261 0xd800, 0xd902, 0xda01, 0xdb02, 0xff18])
10262 # 2222/176E, 23/110
10263 pkt
= NCP(0x176E, "Change Queue Job Position", 'qms')
10265 rec( 10, 4, QueueID
),
10266 rec( 14, 2, JobNumber
, BE
),
10267 rec( 16, 1, NewPosition
),
10270 pkt
.CompletionCodes([0x0000, 0x9600, 0xd000, 0xd100, 0xd300, 0xd500,
10271 0xd601, 0xfe07, 0xff1f])
10272 # 2222/176F, 23/111
10273 pkt
= NCP(0x176F, "Attach Queue Server To Queue", 'qms')
10275 rec( 10, 4, QueueID
),
10278 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10279 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10280 0xd800, 0xd902, 0xda01, 0xdb02, 0xea00,
10282 # 2222/1770, 23/112
10283 pkt
= NCP(0x1770, "Detach Queue Server From Queue", 'qms')
10285 rec( 10, 4, QueueID
),
10288 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10289 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10290 0xd800, 0xd902, 0xda01, 0xdb02, 0xff00])
10291 # 2222/1771, 23/113
10292 pkt
= NCP(0x1771, "Service Queue Job", 'qms')
10294 rec( 10, 4, QueueID
),
10295 rec( 14, 2, ServiceType
, BE
),
10298 rec( 8, 1, ClientStation
),
10299 rec( 9, 1, ClientTaskNumber
),
10300 rec( 10, 4, ClientIDNumber
, BE
),
10301 rec( 14, 4, TargetServerIDNumber
, BE
),
10302 rec( 18, 6, TargetExecutionTime
),
10303 rec( 24, 6, JobEntryTime
),
10304 rec( 30, 2, JobNumber
, BE
),
10305 rec( 32, 2, JobType
, BE
),
10306 rec( 34, 1, JobPosition
),
10307 rec( 35, 1, JobControlFlags
),
10308 rec( 36, 14, JobFileName
),
10309 rec( 50, 6, JobFileHandle
),
10310 rec( 56, 1, ServerStation
),
10311 rec( 57, 1, ServerTaskNumber
),
10312 rec( 58, 4, ServerID
, BE
),
10314 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10315 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10316 0xd800, 0xd902, 0xda01, 0xdb02, 0xff00])
10317 # 2222/1772, 23/114
10318 pkt
= NCP(0x1772, "Finish Servicing Queue Job", 'qms')
10320 rec( 10, 4, QueueID
),
10321 rec( 14, 2, JobNumber
, BE
),
10322 rec( 16, 2, ChargeInformation
, BE
),
10325 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10326 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10327 0xd800, 0xd902, 0xda01, 0xdb02, 0xfc07, 0xff00])
10328 # 2222/1773, 23/115
10329 pkt
= NCP(0x1773, "Abort Servicing Queue Job", 'qms')
10331 rec( 10, 4, QueueID
),
10332 rec( 14, 2, JobNumber
, BE
),
10335 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10336 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10337 0xd800, 0xd902, 0xda01, 0xdb02, 0xfc07, 0xff18])
10338 # 2222/1774, 23/116
10339 pkt
= NCP(0x1774, "Change To Client Rights", 'qms')
10341 rec( 10, 4, QueueID
),
10342 rec( 14, 2, JobNumber
, BE
),
10345 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10346 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10347 0xd800, 0xd902, 0xda01, 0xdb02, 0xff18])
10348 # 2222/1775, 23/117
10349 pkt
= NCP(0x1775, "Restore Queue Server Rights", 'qms')
10352 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10353 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10354 0xd800, 0xd902, 0xda01, 0xdb02, 0xff00])
10355 # 2222/1776, 23/118
10356 pkt
= NCP(0x1776, "Read Queue Server Current Status", 'qms')
10358 rec( 10, 4, QueueID
),
10359 rec( 14, 4, ServerID
, BE
),
10360 rec( 18, 1, ServerStation
),
10363 rec( 8, 64, ServerStatusRecord
),
10365 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10366 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10367 0xd800, 0xd902, 0xda01, 0xdb02, 0xff00])
10368 # 2222/1777, 23/119
10369 pkt
= NCP(0x1777, "Set Queue Server Current Status", 'qms')
10371 rec( 10, 4, QueueID
),
10372 rec( 14, 64, ServerStatusRecord
),
10375 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10376 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10377 0xd800, 0xd902, 0xda01, 0xdb02, 0xff00])
10378 # 2222/1778, 23/120
10379 pkt
= NCP(0x1778, "Get Queue Job File Size", 'qms')
10381 rec( 10, 4, QueueID
),
10382 rec( 14, 2, JobNumber
, BE
),
10385 rec( 8, 4, QueueID
),
10386 rec( 12, 2, JobNumber
, BE
),
10387 rec( 14, 4, FileSize
, BE
),
10389 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10390 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10391 0xd800, 0xd902, 0xda01, 0xdb02, 0xfc07, 0xff00])
10392 # 2222/1779, 23/121
10393 pkt
= NCP(0x1779, "Create Queue Job And File", 'qms')
10395 rec( 10, 4, QueueID
),
10396 rec( 14, 250, JobStruct3x
),
10399 rec( 8, 86, JobStructNew
),
10401 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10402 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10403 0xd800, 0xd902, 0xda01, 0xdb02, 0xfc07, 0xff00])
10404 # 2222/177A, 23/122
10405 pkt
= NCP(0x177A, "Read Queue Job Entry", 'qms')
10407 rec( 10, 4, QueueID
),
10408 rec( 14, 4, JobNumberLong
),
10411 rec( 8, 250, JobStruct3x
),
10413 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10414 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10415 0xd800, 0xd902, 0xda01, 0xdb02, 0xff00])
10416 # 2222/177B, 23/123
10417 pkt
= NCP(0x177B, "Change Queue Job Entry", 'qms')
10419 rec( 10, 4, QueueID
),
10420 rec( 14, 250, JobStruct
),
10423 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10424 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10425 0xd800, 0xd902, 0xda01, 0xdb02, 0xea02, 0xfc07, 0xff00])
10426 # 2222/177C, 23/124
10427 pkt
= NCP(0x177C, "Service Queue Job", 'qms')
10429 rec( 10, 4, QueueID
),
10430 rec( 14, 2, ServiceType
),
10433 rec( 8, 86, JobStructNew
),
10435 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10436 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10437 0xd800, 0xd902, 0xda01, 0xdb02, 0xfc05, 0xff00])
10438 # 2222/177D, 23/125
10439 pkt
= NCP(0x177D, "Read Queue Current Status", 'qms')
10441 rec( 10, 4, QueueID
),
10444 rec( 8, 4, QueueID
),
10445 rec( 12, 1, QueueStatus
),
10446 rec( 13, 3, Reserved3
),
10447 rec( 16, 4, CurrentEntries
),
10448 rec( 20, 4, CurrentServers
, var
="x" ),
10449 rec( 24, 4, ServerID
, repeat
="x" ),
10450 rec( 28, 4, ServerStationLong
, LE
, repeat
="x" ),
10452 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10453 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10454 0xd800, 0xd902, 0xda01, 0xdb02, 0xff00])
10455 # 2222/177E, 23/126
10456 pkt
= NCP(0x177E, "Set Queue Current Status", 'qms')
10458 rec( 10, 4, QueueID
),
10459 rec( 14, 1, QueueStatus
),
10462 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10463 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10464 0xd800, 0xd902, 0xda01, 0xdb02, 0xff00])
10465 # 2222/177F, 23/127
10466 pkt
= NCP(0x177F, "Close File And Start Queue Job", 'qms')
10468 rec( 10, 4, QueueID
),
10469 rec( 14, 4, JobNumberLong
),
10472 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10473 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10474 0xd800, 0xd902, 0xda01, 0xdb02, 0xfc07, 0xff00])
10475 # 2222/1780, 23/128
10476 pkt
= NCP(0x1780, "Remove Job From Queue", 'qms')
10478 rec( 10, 4, QueueID
),
10479 rec( 14, 4, JobNumberLong
),
10482 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10483 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10484 0xd800, 0xd902, 0xda01, 0xdb02, 0xff00])
10485 # 2222/1781, 23/129
10486 pkt
= NCP(0x1781, "Get Queue Job List", 'qms')
10488 rec( 10, 4, QueueID
),
10489 rec( 14, 4, JobNumberLong
),
10492 rec( 8, 4, TotalQueueJobs
),
10493 rec( 12, 4, ReplyQueueJobNumbers
, var
="x" ),
10494 rec( 16, 4, JobNumberLong
, repeat
="x" ),
10496 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10497 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10498 0xd800, 0xd902, 0xda01, 0xdb02, 0xff00])
10499 # 2222/1782, 23/130
10500 pkt
= NCP(0x1782, "Change Job Priority", 'qms')
10502 rec( 10, 4, QueueID
),
10503 rec( 14, 4, JobNumberLong
),
10504 rec( 18, 4, Priority
),
10507 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10508 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10509 0xd800, 0xd902, 0xda01, 0xdb02, 0xff00])
10510 # 2222/1783, 23/131
10511 pkt
= NCP(0x1783, "Finish Servicing Queue Job", 'qms')
10513 rec( 10, 4, QueueID
),
10514 rec( 14, 4, JobNumberLong
),
10515 rec( 18, 4, ChargeInformation
),
10518 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10519 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10520 0xd800, 0xd902, 0xda01, 0xdb02, 0xfc05, 0xff00])
10521 # 2222/1784, 23/132
10522 pkt
= NCP(0x1784, "Abort Servicing Queue Job", 'qms')
10524 rec( 10, 4, QueueID
),
10525 rec( 14, 4, JobNumberLong
),
10528 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10529 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10530 0xd800, 0xd902, 0xda01, 0xdb02, 0xfc05, 0xff18])
10531 # 2222/1785, 23/133
10532 pkt
= NCP(0x1785, "Change To Client Rights", 'qms')
10534 rec( 10, 4, QueueID
),
10535 rec( 14, 4, JobNumberLong
),
10538 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10539 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10540 0xd800, 0xd902, 0xda01, 0xdb02, 0xff18])
10541 # 2222/1786, 23/134
10542 pkt
= NCP(0x1786, "Read Queue Server Current Status", 'qms')
10544 rec( 10, 4, QueueID
),
10545 rec( 14, 4, ServerID
, BE
),
10546 rec( 18, 4, ServerStation
),
10549 rec( 8, 64, ServerStatusRecord
),
10551 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10552 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10553 0xd800, 0xd902, 0xda01, 0xdb02, 0xff00])
10554 # 2222/1787, 23/135
10555 pkt
= NCP(0x1787, "Get Queue Job File Size", 'qms')
10557 rec( 10, 4, QueueID
),
10558 rec( 14, 4, JobNumberLong
),
10561 rec( 8, 4, QueueID
),
10562 rec( 12, 4, JobNumberLong
),
10563 rec( 16, 4, FileSize
, BE
),
10565 pkt
.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
10566 0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
10567 0xd800, 0xd902, 0xda01, 0xdb02, 0xfc05, 0xff00])
10568 # 2222/1788, 23/136
10569 pkt
= NCP(0x1788, "Move Queue Job From Src Q to Dst Q", 'qms')
10571 rec( 10, 4, QueueID
),
10572 rec( 14, 4, JobNumberLong
),
10573 rec( 18, 4, DstQueueID
),
10576 rec( 8, 4, JobNumberLong
),
10578 pkt
.CompletionCodes([0x0000, 0x7e01, 0xfc06])
10579 # 2222/1789, 23/137
10580 pkt
= NCP(0x1789, "Get Queue Jobs From Form List", 'qms')
10582 rec( 10, 4, QueueID
),
10583 rec( 14, 4, QueueStartPosition
),
10584 rec( 18, 4, FormTypeCnt
, LE
, var
="x" ),
10585 rec( 22, 2, FormType
, repeat
="x" ),
10588 rec( 8, 4, TotalQueueJobs
),
10589 rec( 12, 4, JobCount
, var
="x" ),
10590 rec( 16, 4, JobNumberLong
, repeat
="x" ),
10592 pkt
.CompletionCodes([0x0000, 0x7e01, 0xd300, 0xfc06])
10593 # 2222/178A, 23/138
10594 pkt
= NCP(0x178A, "Service Queue Job By Form List", 'qms')
10596 rec( 10, 4, QueueID
),
10597 rec( 14, 4, QueueStartPosition
),
10598 rec( 18, 4, FormTypeCnt
, LE
, var
= "x" ),
10599 rec( 22, 2, FormType
, repeat
="x" ),
10602 rec( 8, 86, JobStructNew
),
10604 pkt
.CompletionCodes([0x0000, 0x7e01, 0xd902, 0xfc06, 0xff00])
10605 # 2222/1796, 23/150
10606 pkt
= NCP(0x1796, "Get Current Account Status", 'accounting')
10607 pkt
.Request((13,60), [
10608 rec( 10, 2, ObjectType
, BE
),
10609 rec( 12, (1,48), ObjectName
),
10610 ], info_str
=(ObjectName
, "Get Current Account Status: %s", ", %s"))
10612 rec( 8, 4, AccountBalance
, BE
),
10613 rec( 12, 4, CreditLimit
, BE
),
10614 rec( 16, 120, Reserved120
),
10615 rec( 136, 4, HolderID
, BE
),
10616 rec( 140, 4, HoldAmount
, BE
),
10617 rec( 144, 4, HolderID
, BE
),
10618 rec( 148, 4, HoldAmount
, BE
),
10619 rec( 152, 4, HolderID
, BE
),
10620 rec( 156, 4, HoldAmount
, BE
),
10621 rec( 160, 4, HolderID
, BE
),
10622 rec( 164, 4, HoldAmount
, BE
),
10623 rec( 168, 4, HolderID
, BE
),
10624 rec( 172, 4, HoldAmount
, BE
),
10625 rec( 176, 4, HolderID
, BE
),
10626 rec( 180, 4, HoldAmount
, BE
),
10627 rec( 184, 4, HolderID
, BE
),
10628 rec( 188, 4, HoldAmount
, BE
),
10629 rec( 192, 4, HolderID
, BE
),
10630 rec( 196, 4, HoldAmount
, BE
),
10631 rec( 200, 4, HolderID
, BE
),
10632 rec( 204, 4, HoldAmount
, BE
),
10633 rec( 208, 4, HolderID
, BE
),
10634 rec( 212, 4, HoldAmount
, BE
),
10635 rec( 216, 4, HolderID
, BE
),
10636 rec( 220, 4, HoldAmount
, BE
),
10637 rec( 224, 4, HolderID
, BE
),
10638 rec( 228, 4, HoldAmount
, BE
),
10639 rec( 232, 4, HolderID
, BE
),
10640 rec( 236, 4, HoldAmount
, BE
),
10641 rec( 240, 4, HolderID
, BE
),
10642 rec( 244, 4, HoldAmount
, BE
),
10643 rec( 248, 4, HolderID
, BE
),
10644 rec( 252, 4, HoldAmount
, BE
),
10645 rec( 256, 4, HolderID
, BE
),
10646 rec( 260, 4, HoldAmount
, BE
),
10648 pkt
.CompletionCodes([0x0000, 0x9600, 0xc000, 0xc101, 0xc400, 0xe800,
10649 0xea00, 0xeb00, 0xec00, 0xfc06, 0xfe07, 0xff00])
10650 # 2222/1797, 23/151
10651 pkt
= NCP(0x1797, "Submit Account Charge", 'accounting')
10652 pkt
.Request((26,327), [
10653 rec( 10, 2, ServiceType
, BE
),
10654 rec( 12, 4, ChargeAmount
, BE
),
10655 rec( 16, 4, HoldCancelAmount
, BE
),
10656 rec( 20, 2, ObjectType
, BE
),
10657 rec( 22, 2, CommentType
, BE
),
10658 rec( 24, (1,48), ObjectName
),
10659 rec( -1, (1,255), Comment
),
10660 ], info_str
=(ObjectName
, "Submit Account Charge: %s", ", %s"))
10662 pkt
.CompletionCodes([0x0000, 0x0102, 0x8800, 0x9400, 0x9600, 0xa201,
10663 0xc000, 0xc101, 0xc200, 0xc400, 0xe800, 0xea00,
10664 0xeb00, 0xec00, 0xfe07, 0xff00])
10665 # 2222/1798, 23/152
10666 pkt
= NCP(0x1798, "Submit Account Hold", 'accounting')
10667 pkt
.Request((17,64), [
10668 rec( 10, 4, HoldCancelAmount
, BE
),
10669 rec( 14, 2, ObjectType
, BE
),
10670 rec( 16, (1,48), ObjectName
),
10671 ], info_str
=(ObjectName
, "Submit Account Hold: %s", ", %s"))
10673 pkt
.CompletionCodes([0x0000, 0x0102, 0x8800, 0x9400, 0x9600, 0xa201,
10674 0xc000, 0xc101, 0xc200, 0xc400, 0xe800, 0xea00,
10675 0xeb00, 0xec00, 0xfe07, 0xff00])
10676 # 2222/1799, 23/153
10677 pkt
= NCP(0x1799, "Submit Account Note", 'accounting')
10678 pkt
.Request((18,319), [
10679 rec( 10, 2, ServiceType
, BE
),
10680 rec( 12, 2, ObjectType
, BE
),
10681 rec( 14, 2, CommentType
, BE
),
10682 rec( 16, (1,48), ObjectName
),
10683 rec( -1, (1,255), Comment
),
10684 ], info_str
=(ObjectName
, "Submit Account Note: %s", ", %s"))
10686 pkt
.CompletionCodes([0x0000, 0x0102, 0x9600, 0xc000, 0xc101, 0xc400,
10687 0xe800, 0xea00, 0xeb00, 0xec00, 0xf000, 0xfc06,
10689 # 2222/17c8, 23/200
10690 pkt
= NCP(0x17c8, "Check Console Privileges", 'fileserver')
10693 pkt
.CompletionCodes([0x0000, 0xc601])
10694 # 2222/17c9, 23/201
10695 pkt
= NCP(0x17c9, "Get File Server Description Strings", 'fileserver')
10698 rec( 8, 100, DescriptionStrings
),
10700 pkt
.CompletionCodes([0x0000, 0x9600])
10701 # 2222/17CA, 23/202
10702 pkt
= NCP(0x17CA, "Set File Server Date And Time", 'fileserver')
10704 rec( 10, 1, Year
),
10705 rec( 11, 1, Month
),
10707 rec( 13, 1, Hour
),
10708 rec( 14, 1, Minute
),
10709 rec( 15, 1, Second
),
10712 pkt
.CompletionCodes([0x0000, 0xc601])
10713 # 2222/17CB, 23/203
10714 pkt
= NCP(0x17CB, "Disable File Server Login", 'fileserver')
10717 pkt
.CompletionCodes([0x0000, 0xc601])
10718 # 2222/17CC, 23/204
10719 pkt
= NCP(0x17CC, "Enable File Server Login", 'fileserver')
10722 pkt
.CompletionCodes([0x0000, 0xc601])
10723 # 2222/17CD, 23/205
10724 pkt
= NCP(0x17CD, "Get File Server Login Status", 'fileserver')
10727 rec( 8, 1, UserLoginAllowed
),
10729 pkt
.CompletionCodes([0x0000, 0x9600, 0xfb01])
10730 # 2222/17CF, 23/207
10731 pkt
= NCP(0x17CF, "Disable Transaction Tracking", 'fileserver')
10734 pkt
.CompletionCodes([0x0000, 0xc601])
10735 # 2222/17D0, 23/208
10736 pkt
= NCP(0x17D0, "Enable Transaction Tracking", 'fileserver')
10739 pkt
.CompletionCodes([0x0000, 0xc601])
10740 # 2222/17D1, 23/209
10741 pkt
= NCP(0x17D1, "Send Console Broadcast", 'fileserver')
10742 pkt
.Request((13,267), [
10743 rec( 10, 1, NumberOfStations
, var
="x" ),
10744 rec( 11, 1, StationList
, repeat
="x" ),
10745 rec( 12, (1, 255), TargetMessage
),
10746 ], info_str
=(TargetMessage
, "Send Console Broadcast: %s", ", %s"))
10748 pkt
.CompletionCodes([0x0000, 0xc601, 0xfd00])
10749 # 2222/17D2, 23/210
10750 pkt
= NCP(0x17D2, "Clear Connection Number", 'fileserver')
10752 rec( 10, 1, ConnectionNumber
),
10753 ],info_str
=(ConnectionNumber
, "Clear Connection Number %d", ", %d"))
10755 pkt
.CompletionCodes([0x0000, 0xc601, 0xfd00])
10756 # 2222/17D3, 23/211
10757 pkt
= NCP(0x17D3, "Down File Server", 'fileserver')
10759 rec( 10, 1, ForceFlag
),
10762 pkt
.CompletionCodes([0x0000, 0xc601, 0xff00])
10763 # 2222/17D4, 23/212
10764 pkt
= NCP(0x17D4, "Get File System Statistics", 'fileserver')
10767 rec( 8, 4, SystemIntervalMarker
, BE
),
10768 rec( 12, 2, ConfiguredMaxOpenFiles
),
10769 rec( 14, 2, ActualMaxOpenFiles
),
10770 rec( 16, 2, CurrentOpenFiles
),
10771 rec( 18, 4, TotalFilesOpened
),
10772 rec( 22, 4, TotalReadRequests
),
10773 rec( 26, 4, TotalWriteRequests
),
10774 rec( 30, 2, CurrentChangedFATs
),
10775 rec( 32, 4, TotalChangedFATs
),
10776 rec( 36, 2, FATWriteErrors
),
10777 rec( 38, 2, FatalFATWriteErrors
),
10778 rec( 40, 2, FATScanErrors
),
10779 rec( 42, 2, ActualMaxIndexedFiles
),
10780 rec( 44, 2, ActiveIndexedFiles
),
10781 rec( 46, 2, AttachedIndexedFiles
),
10782 rec( 48, 2, AvailableIndexedFiles
),
10784 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xff00])
10785 # 2222/17D5, 23/213
10786 pkt
= NCP(0x17D5, "Get Transaction Tracking Statistics", 'fileserver')
10787 pkt
.Request((13,267), [
10788 rec( 10, 2, LastRecordSeen
),
10789 rec( 12, (1,255), SemaphoreName
),
10792 rec( 8, 4, SystemIntervalMarker
, BE
),
10793 rec( 12, 1, TransactionTrackingSupported
),
10794 rec( 13, 1, TransactionTrackingEnabled
),
10795 rec( 14, 2, TransactionVolumeNumber
),
10796 rec( 16, 2, ConfiguredMaxSimultaneousTransactions
),
10797 rec( 18, 2, ActualMaxSimultaneousTransactions
),
10798 rec( 20, 2, CurrentTransactionCount
),
10799 rec( 22, 4, TotalTransactionsPerformed
),
10800 rec( 26, 4, TotalWriteTransactionsPerformed
),
10801 rec( 30, 4, TotalTransactionsBackedOut
),
10802 rec( 34, 2, TotalUnfilledBackoutRequests
),
10803 rec( 36, 2, TransactionDiskSpace
),
10804 rec( 38, 4, TransactionFATAllocations
),
10805 rec( 42, 4, TransactionFileSizeChanges
),
10806 rec( 46, 4, TransactionFilesTruncated
),
10807 rec( 50, 1, NumberOfEntries
, var
="x" ),
10808 rec( 51, 2, ConnTaskStruct
, repeat
="x" ),
10810 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xff00])
10811 # 2222/17D6, 23/214
10812 pkt
= NCP(0x17D6, "Read Disk Cache Statistics", 'fileserver')
10815 rec( 8, 4, SystemIntervalMarker
, BE
),
10816 rec( 12, 2, CacheBufferCount
),
10817 rec( 14, 2, CacheBufferSize
),
10818 rec( 16, 2, DirtyCacheBuffers
),
10819 rec( 18, 4, CacheReadRequests
),
10820 rec( 22, 4, CacheWriteRequests
),
10821 rec( 26, 4, CacheHits
),
10822 rec( 30, 4, CacheMisses
),
10823 rec( 34, 4, PhysicalReadRequests
),
10824 rec( 38, 4, PhysicalWriteRequests
),
10825 rec( 42, 2, PhysicalReadErrors
),
10826 rec( 44, 2, PhysicalWriteErrors
),
10827 rec( 46, 4, CacheGetRequests
),
10828 rec( 50, 4, CacheFullWriteRequests
),
10829 rec( 54, 4, CachePartialWriteRequests
),
10830 rec( 58, 4, BackgroundDirtyWrites
),
10831 rec( 62, 4, BackgroundAgedWrites
),
10832 rec( 66, 4, TotalCacheWrites
),
10833 rec( 70, 4, CacheAllocations
),
10834 rec( 74, 2, ThrashingCount
),
10835 rec( 76, 2, LRUBlockWasDirty
),
10836 rec( 78, 2, ReadBeyondWrite
),
10837 rec( 80, 2, FragmentWriteOccurred
),
10838 rec( 82, 2, CacheHitOnUnavailableBlock
),
10839 rec( 84, 2, CacheBlockScrapped
),
10841 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xff00])
10842 # 2222/17D7, 23/215
10843 pkt
= NCP(0x17D7, "Get Drive Mapping Table", 'fileserver')
10846 rec( 8, 4, SystemIntervalMarker
, BE
),
10847 rec( 12, 1, SFTSupportLevel
),
10848 rec( 13, 1, LogicalDriveCount
),
10849 rec( 14, 1, PhysicalDriveCount
),
10850 rec( 15, 1, DiskChannelTable
),
10851 rec( 16, 4, Reserved4
),
10852 rec( 20, 2, PendingIOCommands
, BE
),
10853 rec( 22, 32, DriveMappingTable
),
10854 rec( 54, 32, DriveMirrorTable
),
10855 rec( 86, 32, DeadMirrorTable
),
10856 rec( 118, 1, ReMirrorDriveNumber
),
10857 rec( 119, 1, Filler
),
10858 rec( 120, 4, ReMirrorCurrentOffset
, BE
),
10859 rec( 124, 60, SFTErrorTable
),
10861 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xff00])
10862 # 2222/17D8, 23/216
10863 pkt
= NCP(0x17D8, "Read Physical Disk Statistics", 'fileserver')
10865 rec( 10, 1, PhysicalDiskNumber
),
10868 rec( 8, 4, SystemIntervalMarker
, BE
),
10869 rec( 12, 1, PhysicalDiskChannel
),
10870 rec( 13, 1, DriveRemovableFlag
),
10871 rec( 14, 1, PhysicalDriveType
),
10872 rec( 15, 1, ControllerDriveNumber
),
10873 rec( 16, 1, ControllerNumber
),
10874 rec( 17, 1, ControllerType
),
10875 rec( 18, 4, DriveSize
),
10876 rec( 22, 2, DriveCylinders
),
10877 rec( 24, 1, DriveHeads
),
10878 rec( 25, 1, SectorsPerTrack
),
10879 rec( 26, 64, DriveDefinitionString
),
10880 rec( 90, 2, IOErrorCount
),
10881 rec( 92, 4, HotFixTableStart
),
10882 rec( 96, 2, HotFixTableSize
),
10883 rec( 98, 2, HotFixBlocksAvailable
),
10884 rec( 100, 1, HotFixDisabled
),
10886 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xff00])
10887 # 2222/17D9, 23/217
10888 pkt
= NCP(0x17D9, "Get Disk Channel Statistics", 'fileserver')
10890 rec( 10, 1, DiskChannelNumber
),
10893 rec( 8, 4, SystemIntervalMarker
, BE
),
10894 rec( 12, 2, ChannelState
, BE
),
10895 rec( 14, 2, ChannelSynchronizationState
, BE
),
10896 rec( 16, 1, SoftwareDriverType
),
10897 rec( 17, 1, SoftwareMajorVersionNumber
),
10898 rec( 18, 1, SoftwareMinorVersionNumber
),
10899 rec( 19, 65, SoftwareDescription
),
10900 rec( 84, 8, IOAddressesUsed
),
10901 rec( 92, 10, SharedMemoryAddresses
),
10902 rec( 102, 4, InterruptNumbersUsed
),
10903 rec( 106, 4, DMAChannelsUsed
),
10904 rec( 110, 1, FlagBits
),
10905 rec( 111, 1, Reserved
),
10906 rec( 112, 80, ConfigurationDescription
),
10908 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xff00])
10909 # 2222/17DB, 23/219
10910 pkt
= NCP(0x17DB, "Get Connection's Open Files", 'fileserver')
10912 rec( 10, 2, ConnectionNumber
),
10913 rec( 12, 2, LastRecordSeen
, BE
),
10916 rec( 8, 2, NextRequestRecord
),
10917 rec( 10, 1, NumberOfRecords
, var
="x" ),
10918 rec( 11, 21, ConnStruct
, repeat
="x" ),
10920 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xff00])
10921 # 2222/17DC, 23/220
10922 pkt
= NCP(0x17DC, "Get Connection Using A File", 'fileserver')
10923 pkt
.Request((14,268), [
10924 rec( 10, 2, LastRecordSeen
, BE
),
10925 rec( 12, 1, DirHandle
),
10926 rec( 13, (1,255), Path
),
10927 ], info_str
=(Path
, "Get Connection Using File: %s", ", %s"))
10929 rec( 8, 2, UseCount
, BE
),
10930 rec( 10, 2, OpenCount
, BE
),
10931 rec( 12, 2, OpenForReadCount
, BE
),
10932 rec( 14, 2, OpenForWriteCount
, BE
),
10933 rec( 16, 2, DenyReadCount
, BE
),
10934 rec( 18, 2, DenyWriteCount
, BE
),
10935 rec( 20, 2, NextRequestRecord
, BE
),
10936 rec( 22, 1, Locked
),
10937 rec( 23, 1, NumberOfRecords
, var
="x" ),
10938 rec( 24, 6, ConnFileStruct
, repeat
="x" ),
10940 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xff00])
10941 # 2222/17DD, 23/221
10942 pkt
= NCP(0x17DD, "Get Physical Record Locks By Connection And File", 'fileserver')
10944 rec( 10, 2, TargetConnectionNumber
),
10945 rec( 12, 2, LastRecordSeen
, BE
),
10946 rec( 14, 1, VolumeNumber
),
10947 rec( 15, 2, DirectoryID
),
10948 rec( 17, 14, FileName14
),
10949 ], info_str
=(FileName14
, "Get Physical Record Locks by Connection and File: %s", ", %s"))
10951 rec( 8, 2, NextRequestRecord
),
10952 rec( 10, 1, NumberOfLocks
, var
="x" ),
10953 rec( 11, 1, Reserved
),
10954 rec( 12, 10, LockStruct
, repeat
="x" ),
10956 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xfd00, 0xff00])
10957 # 2222/17DE, 23/222
10958 pkt
= NCP(0x17DE, "Get Physical Record Locks By File", 'fileserver')
10959 pkt
.Request((14,268), [
10960 rec( 10, 2, TargetConnectionNumber
),
10961 rec( 12, 1, DirHandle
),
10962 rec( 13, (1,255), Path
),
10963 ], info_str
=(Path
, "Get Physical Record Locks by File: %s", ", %s"))
10965 rec( 8, 2, NextRequestRecord
),
10966 rec( 10, 1, NumberOfLocks
, var
="x" ),
10967 rec( 11, 1, Reserved
),
10968 rec( 12, 16, PhyLockStruct
, repeat
="x" ),
10970 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xfd00, 0xff00])
10971 # 2222/17DF, 23/223
10972 pkt
= NCP(0x17DF, "Get Logical Records By Connection", 'fileserver')
10974 rec( 10, 2, TargetConnectionNumber
),
10975 rec( 12, 2, LastRecordSeen
, BE
),
10977 pkt
.Reply((14,268), [
10978 rec( 8, 2, NextRequestRecord
),
10979 rec( 10, 1, NumberOfRecords
, var
="x" ),
10980 rec( 11, (3, 257), LogLockStruct
, repeat
="x" ),
10982 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xfd00, 0xff00])
10983 # 2222/17E0, 23/224
10984 pkt
= NCP(0x17E0, "Get Logical Record Information", 'fileserver')
10985 pkt
.Request((13,267), [
10986 rec( 10, 2, LastRecordSeen
),
10987 rec( 12, (1,255), LogicalRecordName
),
10988 ], info_str
=(LogicalRecordName
, "Get Logical Record Information: %s", ", %s"))
10990 rec( 8, 2, UseCount
, BE
),
10991 rec( 10, 2, ShareableLockCount
, BE
),
10992 rec( 12, 2, NextRequestRecord
),
10993 rec( 14, 1, Locked
),
10994 rec( 15, 1, NumberOfRecords
, var
="x" ),
10995 rec( 16, 4, LogRecStruct
, repeat
="x" ),
10997 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xfd00, 0xff00])
10998 # 2222/17E1, 23/225
10999 pkt
= NCP(0x17E1, "Get Connection's Semaphores", 'fileserver')
11001 rec( 10, 2, ConnectionNumber
),
11002 rec( 12, 2, LastRecordSeen
),
11004 pkt
.Reply((18,272), [
11005 rec( 8, 2, NextRequestRecord
),
11006 rec( 10, 2, NumberOfSemaphores
, var
="x" ),
11007 rec( 12, (6,260), SemaStruct
, repeat
="x" ),
11009 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xfd00, 0xff00])
11010 # 2222/17E2, 23/226
11011 pkt
= NCP(0x17E2, "Get Semaphore Information", 'fileserver')
11012 pkt
.Request((13,267), [
11013 rec( 10, 2, LastRecordSeen
),
11014 rec( 12, (1,255), SemaphoreName
),
11015 ], info_str
=(SemaphoreName
, "Get Semaphore Information: %s", ", %s"))
11017 rec( 8, 2, NextRequestRecord
, BE
),
11018 rec( 10, 2, OpenCount
, BE
),
11019 rec( 12, 1, SemaphoreValue
),
11020 rec( 13, 1, NumberOfRecords
, var
="x" ),
11021 rec( 14, 3, SemaInfoStruct
, repeat
="x" ),
11023 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xfd00, 0xff00])
11024 # 2222/17E3, 23/227
11025 pkt
= NCP(0x17E3, "Get LAN Driver Configuration Information", 'fileserver')
11027 rec( 10, 1, LANDriverNumber
),
11030 rec( 8, 4, NetworkAddress
, BE
),
11031 rec( 12, 6, HostAddress
),
11032 rec( 18, 1, BoardInstalled
),
11033 rec( 19, 1, OptionNumber
),
11034 rec( 20, 160, ConfigurationText
),
11036 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xfd00, 0xff00])
11037 # 2222/17E5, 23/229
11038 pkt
= NCP(0x17E5, "Get Connection Usage Statistics", 'fileserver')
11040 rec( 10, 2, ConnectionNumber
),
11043 rec( 8, 2, NextRequestRecord
),
11044 rec( 10, 6, BytesRead
),
11045 rec( 16, 6, BytesWritten
),
11046 rec( 22, 4, TotalRequestPackets
),
11048 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xfd00, 0xff00])
11049 # 2222/17E6, 23/230
11050 pkt
= NCP(0x17E6, "Get Object's Remaining Disk Space", 'fileserver')
11052 rec( 10, 4, ObjectID
, BE
),
11055 rec( 8, 4, SystemIntervalMarker
, BE
),
11056 rec( 12, 4, ObjectID
),
11057 rec( 16, 4, UnusedDiskBlocks
, BE
),
11058 rec( 20, 1, RestrictionsEnforced
),
11060 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xfd00, 0xff00])
11061 # 2222/17E7, 23/231
11062 pkt
= NCP(0x17E7, "Get File Server LAN I/O Statistics", 'fileserver')
11065 rec( 8, 4, SystemIntervalMarker
, BE
),
11066 rec( 12, 2, ConfiguredMaxRoutingBuffers
),
11067 rec( 14, 2, ActualMaxUsedRoutingBuffers
),
11068 rec( 16, 2, CurrentlyUsedRoutingBuffers
),
11069 rec( 18, 4, TotalFileServicePackets
),
11070 rec( 22, 2, TurboUsedForFileService
),
11071 rec( 24, 2, PacketsFromInvalidConnection
),
11072 rec( 26, 2, BadLogicalConnectionCount
),
11073 rec( 28, 2, PacketsReceivedDuringProcessing
),
11074 rec( 30, 2, RequestsReprocessed
),
11075 rec( 32, 2, PacketsWithBadSequenceNumber
),
11076 rec( 34, 2, DuplicateRepliesSent
),
11077 rec( 36, 2, PositiveAcknowledgesSent
),
11078 rec( 38, 2, PacketsWithBadRequestType
),
11079 rec( 40, 2, AttachDuringProcessing
),
11080 rec( 42, 2, AttachWhileProcessingAttach
),
11081 rec( 44, 2, ForgedDetachedRequests
),
11082 rec( 46, 2, DetachForBadConnectionNumber
),
11083 rec( 48, 2, DetachDuringProcessing
),
11084 rec( 50, 2, RepliesCancelled
),
11085 rec( 52, 2, PacketsDiscardedByHopCount
),
11086 rec( 54, 2, PacketsDiscardedUnknownNet
),
11087 rec( 56, 2, IncomingPacketDiscardedNoDGroup
),
11088 rec( 58, 2, OutgoingPacketDiscardedNoTurboBuffer
),
11089 rec( 60, 2, IPXNotMyNetwork
),
11090 rec( 62, 4, NetBIOSBroadcastWasPropogated
),
11091 rec( 66, 4, TotalOtherPackets
),
11092 rec( 70, 4, TotalRoutedPackets
),
11094 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xfd00, 0xff00])
11095 # 2222/17E8, 23/232
11096 pkt
= NCP(0x17E8, "Get File Server Misc Information", 'fileserver')
11099 rec( 8, 4, SystemIntervalMarker
, BE
),
11100 rec( 12, 1, ProcessorType
),
11101 rec( 13, 1, Reserved
),
11102 rec( 14, 1, NumberOfServiceProcesses
),
11103 rec( 15, 1, ServerUtilizationPercentage
),
11104 rec( 16, 2, ConfiguredMaxBinderyObjects
),
11105 rec( 18, 2, ActualMaxBinderyObjects
),
11106 rec( 20, 2, CurrentUsedBinderyObjects
),
11107 rec( 22, 2, TotalServerMemory
),
11108 rec( 24, 2, WastedServerMemory
),
11109 rec( 26, 2, NumberOfDynamicMemoryAreas
, var
="x" ),
11110 rec( 28, 12, DynMemStruct
, repeat
="x" ),
11112 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xfd00, 0xff00])
11113 # 2222/17E9, 23/233
11114 pkt
= NCP(0x17E9, "Get Volume Information", 'fileserver')
11116 rec( 10, 1, VolumeNumber
),
11117 ],info_str
=(VolumeNumber
, "Get Information on Volume %d", ", %d"))
11119 rec( 8, 4, SystemIntervalMarker
, BE
),
11120 rec( 12, 1, VolumeNumber
),
11121 rec( 13, 1, LogicalDriveNumber
),
11122 rec( 14, 2, BlockSize
),
11123 rec( 16, 2, StartingBlock
),
11124 rec( 18, 2, TotalBlocks
),
11125 rec( 20, 2, FreeBlocks
),
11126 rec( 22, 2, TotalDirectoryEntries
),
11127 rec( 24, 2, FreeDirectoryEntries
),
11128 rec( 26, 2, ActualMaxUsedDirectoryEntries
),
11129 rec( 28, 1, VolumeHashedFlag
),
11130 rec( 29, 1, VolumeCachedFlag
),
11131 rec( 30, 1, VolumeRemovableFlag
),
11132 rec( 31, 1, VolumeMountedFlag
),
11133 rec( 32, 16, VolumeName
),
11135 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xfd00, 0xff00])
11136 # 2222/17EA, 23/234
11137 pkt
= NCP(0x17EA, "Get Connection's Task Information", 'fileserver')
11139 rec( 10, 2, ConnectionNumber
),
11142 rec( 8, 1, ConnLockStatus
),
11143 rec( 9, 1, NumberOfActiveTasks
, var
="x" ),
11144 rec( 10, 3, TaskStruct
, repeat
="x" ),
11146 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xfd00, 0xff00])
11147 # 2222/17EB, 23/235
11148 pkt
= NCP(0x17EB, "Get Connection's Open Files", 'fileserver')
11150 rec( 10, 2, ConnectionNumber
),
11151 rec( 12, 2, LastRecordSeen
),
11153 pkt
.Reply((29,283), [
11154 rec( 8, 2, NextRequestRecord
),
11155 rec( 10, 2, NumberOfRecords
, var
="x" ),
11156 rec( 12, (17, 271), OpnFilesStruct
, repeat
="x" ),
11158 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xff00])
11159 # 2222/17EC, 23/236
11160 pkt
= NCP(0x17EC, "Get Connection Using A File", 'fileserver')
11162 rec( 10, 1, DataStreamNumber
),
11163 rec( 11, 1, VolumeNumber
),
11164 rec( 12, 4, DirectoryBase
, LE
),
11165 rec( 16, 2, LastRecordSeen
),
11168 rec( 8, 2, NextRequestRecord
),
11169 rec( 10, 2, FileUseCount
),
11170 rec( 12, 2, OpenCount
),
11171 rec( 14, 2, OpenForReadCount
),
11172 rec( 16, 2, OpenForWriteCount
),
11173 rec( 18, 2, DenyReadCount
),
11174 rec( 20, 2, DenyWriteCount
),
11175 rec( 22, 1, Locked
),
11176 rec( 23, 1, ForkCount
),
11177 rec( 24, 2, NumberOfRecords
, var
="x" ),
11178 rec( 26, 7, ConnFileStruct
, repeat
="x" ),
11180 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xff00])
11181 # 2222/17ED, 23/237
11182 pkt
= NCP(0x17ED, "Get Physical Record Locks By Connection And File", 'fileserver')
11184 rec( 10, 2, TargetConnectionNumber
),
11185 rec( 12, 1, DataStreamNumber
),
11186 rec( 13, 1, VolumeNumber
),
11187 rec( 14, 4, DirectoryBase
, LE
),
11188 rec( 18, 2, LastRecordSeen
),
11191 rec( 8, 2, NextRequestRecord
),
11192 rec( 10, 2, NumberOfLocks
, LE
, var
="x" ),
11193 rec( 12, 11, LockStruct
, repeat
="x" ),
11195 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xfd00, 0xff00])
11196 # 2222/17EE, 23/238
11197 pkt
= NCP(0x17EE, "Get Physical Record Locks By File", 'fileserver')
11199 rec( 10, 1, DataStreamNumber
),
11200 rec( 11, 1, VolumeNumber
),
11201 rec( 12, 4, DirectoryBase
),
11202 rec( 16, 2, LastRecordSeen
),
11205 rec( 8, 2, NextRequestRecord
),
11206 rec( 10, 2, NumberOfLocks
, LE
, var
="x" ),
11207 rec( 12, 18, PhyLockStruct
, repeat
="x" ),
11209 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xfd00, 0xff00])
11210 # 2222/17EF, 23/239
11211 pkt
= NCP(0x17EF, "Get Logical Records By Connection", 'fileserver')
11213 rec( 10, 2, TargetConnectionNumber
),
11214 rec( 12, 2, LastRecordSeen
),
11216 pkt
.Reply((16,270), [
11217 rec( 8, 2, NextRequestRecord
),
11218 rec( 10, 2, NumberOfRecords
, var
="x" ),
11219 rec( 12, (4, 258), LogLockStruct
, repeat
="x" ),
11221 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xfd00, 0xff00])
11222 # 2222/17F0, 23/240
11223 pkt
= NCP(0x17F0, "Get Logical Record Information (old)", 'fileserver')
11224 pkt
.Request((13,267), [
11225 rec( 10, 2, LastRecordSeen
),
11226 rec( 12, (1,255), LogicalRecordName
),
11229 rec( 8, 2, ShareableLockCount
),
11230 rec( 10, 2, UseCount
),
11231 rec( 12, 1, Locked
),
11232 rec( 13, 2, NextRequestRecord
),
11233 rec( 15, 2, NumberOfRecords
, var
="x" ),
11234 rec( 17, 5, LogRecStruct
, repeat
="x" ),
11236 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xfd00, 0xff00])
11237 # 2222/17F1, 23/241
11238 pkt
= NCP(0x17F1, "Get Connection's Semaphores", 'fileserver')
11240 rec( 10, 2, ConnectionNumber
),
11241 rec( 12, 2, LastRecordSeen
),
11243 pkt
.Reply((19,273), [
11244 rec( 8, 2, NextRequestRecord
),
11245 rec( 10, 2, NumberOfSemaphores
, var
="x" ),
11246 rec( 12, (7, 261), SemaStruct
, repeat
="x" ),
11248 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xfd00, 0xff00])
11249 # 2222/17F2, 23/242
11250 pkt
= NCP(0x17F2, "Get Semaphore Information", 'fileserver')
11251 pkt
.Request((13,267), [
11252 rec( 10, 2, LastRecordSeen
),
11253 rec( 12, (1,255), SemaphoreName
),
11254 ], info_str
=(SemaphoreName
, "Get Semaphore Information: %s", ", %s"))
11256 rec( 8, 2, NextRequestRecord
),
11257 rec( 10, 2, OpenCount
),
11258 rec( 12, 2, SemaphoreValue
),
11259 rec( 14, 2, NumberOfRecords
, var
="x" ),
11260 rec( 16, 4, SemaInfoStruct
, repeat
="x" ),
11262 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xfd00, 0xff00])
11263 # 2222/17F3, 23/243
11264 pkt
= NCP(0x17F3, "Map Directory Number to Path", 'file')
11266 rec( 10, 1, VolumeNumber
),
11267 rec( 11, 4, DirectoryNumber
),
11268 rec( 15, 1, NameSpace
),
11270 pkt
.Reply((9,263), [
11271 rec( 8, (1,255), Path
),
11273 pkt
.CompletionCodes([0x0000, 0x9600, 0x9c00, 0xc601, 0xfd00, 0xff00])
11274 # 2222/17F4, 23/244
11275 pkt
= NCP(0x17F4, "Convert Path to Dir Entry", 'file')
11276 pkt
.Request((12,266), [
11277 rec( 10, 1, DirHandle
),
11278 rec( 11, (1,255), Path
),
11279 ], info_str
=(Path
, "Convert Path to Directory Entry: %s", ", %s"))
11281 rec( 8, 1, VolumeNumber
),
11282 rec( 9, 4, DirectoryNumber
),
11284 pkt
.CompletionCodes([0x0000, 0x9600, 0xc601, 0xfd00, 0xff00])
11285 # 2222/17FD, 23/253
11286 pkt
= NCP(0x17FD, "Send Console Broadcast", 'fileserver')
11287 pkt
.Request((16, 270), [
11288 rec( 10, 1, NumberOfStations
, var
="x" ),
11289 rec( 11, 4, StationList
, repeat
="x" ),
11290 rec( 15, (1, 255), TargetMessage
),
11291 ], info_str
=(TargetMessage
, "Send Console Broadcast: %s", ", %s"))
11293 pkt
.CompletionCodes([0x0000, 0xc601, 0xfd00])
11294 # 2222/17FE, 23/254
11295 pkt
= NCP(0x17FE, "Clear Connection Number", 'fileserver')
11297 rec( 10, 4, ConnectionNumber
),
11300 pkt
.CompletionCodes([0x0000, 0xc601, 0xfd00])
11302 pkt
= NCP(0x18, "End of Job", 'connection')
11305 pkt
.CompletionCodes([0x0000])
11307 pkt
= NCP(0x19, "Logout", 'connection')
11310 pkt
.CompletionCodes([0x0000])
11312 pkt
= NCP(0x1A, "Log Physical Record", 'sync')
11314 rec( 7, 1, LockFlag
),
11315 rec( 8, 6, FileHandle
),
11316 rec( 14, 4, LockAreasStartOffset
, BE
),
11317 rec( 18, 4, LockAreaLen
, BE
),
11318 rec( 22, 2, LockTimeout
),
11319 ], info_str
=(LockAreaLen
, "Lock Record - Length of %d", "%d"))
11321 pkt
.CompletionCodes([0x0000, 0x8800, 0x9600, 0xfd02, 0xfe04, 0xff01])
11323 pkt
= NCP(0x1B, "Lock Physical Record Set", 'sync')
11325 rec( 7, 1, LockFlag
),
11326 rec( 8, 2, LockTimeout
),
11329 pkt
.CompletionCodes([0x0000, 0x8800, 0x9600, 0xfd02, 0xfe04, 0xff01])
11331 pkt
= NCP(0x1C, "Release Physical Record", 'sync')
11333 rec( 7, 1, Reserved
),
11334 rec( 8, 6, FileHandle
),
11335 rec( 14, 4, LockAreasStartOffset
),
11336 rec( 18, 4, LockAreaLen
),
11337 ], info_str
=(LockAreaLen
, "Release Lock Record - Length of %d", "%d"))
11339 pkt
.CompletionCodes([0x0000, 0x8800, 0x9600, 0xfd02, 0xfe04, 0xff03])
11341 pkt
= NCP(0x1D, "Release Physical Record Set", 'sync')
11343 rec( 7, 1, LockFlag
),
11346 pkt
.CompletionCodes([0x0000, 0x8800, 0x9600, 0xfd02, 0xfe04, 0xff03])
11347 # 2222/1E, 30 #Tested and fixed 6-14-02 GM
11348 pkt
= NCP(0x1E, "Clear Physical Record", 'sync')
11350 rec( 7, 1, Reserved
),
11351 rec( 8, 6, FileHandle
),
11352 rec( 14, 4, LockAreasStartOffset
, BE
),
11353 rec( 18, 4, LockAreaLen
, BE
),
11354 ], info_str
=(LockAreaLen
, "Clear Lock Record - Length of %d", "%d"))
11356 pkt
.CompletionCodes([0x0000, 0x8000, 0x8800, 0x9600, 0xfd02, 0xfe04, 0xff03])
11358 pkt
= NCP(0x1F, "Clear Physical Record Set", 'sync')
11360 rec( 7, 1, LockFlag
),
11363 pkt
.CompletionCodes([0x0000, 0x8800, 0x9600, 0xfd02, 0xfe04, 0xff03])
11365 pkt
= NCP(0x2000, "Open Semaphore", 'sync', has_length
=0)
11366 pkt
.Request((10,264), [
11367 rec( 8, 1, InitialSemaphoreValue
),
11368 rec( 9, (1,255), SemaphoreName
),
11369 ], info_str
=(SemaphoreName
, "Open Semaphore: %s", ", %s"))
11371 rec( 8, 4, SemaphoreHandle
, BE
),
11372 rec( 12, 1, SemaphoreOpenCount
),
11374 pkt
.CompletionCodes([0x0000, 0x9600, 0xff01])
11376 pkt
= NCP(0x2001, "Examine Semaphore", 'sync', has_length
=0)
11378 rec( 8, 4, SemaphoreHandle
, BE
),
11381 rec( 8, 1, SemaphoreValue
),
11382 rec( 9, 1, SemaphoreOpenCount
),
11384 pkt
.CompletionCodes([0x0000, 0x9600, 0xff01])
11386 pkt
= NCP(0x2002, "Wait On Semaphore", 'sync', has_length
=0)
11388 rec( 8, 4, SemaphoreHandle
, BE
),
11389 rec( 12, 2, SemaphoreTimeOut
, BE
),
11392 pkt
.CompletionCodes([0x0000, 0x9600, 0xff01])
11394 pkt
= NCP(0x2003, "Signal Semaphore", 'sync', has_length
=0)
11396 rec( 8, 4, SemaphoreHandle
, BE
),
11399 pkt
.CompletionCodes([0x0000, 0x9600, 0xff01])
11401 pkt
= NCP(0x2004, "Close Semaphore", 'sync', has_length
=0)
11403 rec( 8, 4, SemaphoreHandle
, BE
),
11406 pkt
.CompletionCodes([0x0000, 0x9600, 0xff01])
11408 pkt
= NCP(0x21, "Negotiate Buffer Size", 'connection')
11410 rec( 7, 2, BufferSize
, BE
),
11413 rec( 8, 2, BufferSize
, BE
),
11415 pkt
.CompletionCodes([0x0000])
11417 pkt
= NCP(0x2200, "TTS Is Available", 'tts', has_length
=0)
11420 pkt
.CompletionCodes([0x0001, 0xfd03, 0xff12])
11422 pkt
= NCP(0x2201, "TTS Begin Transaction", 'tts', has_length
=0)
11425 pkt
.CompletionCodes([0x0000])
11427 pkt
= NCP(0x2202, "TTS End Transaction", 'tts', has_length
=0)
11430 rec( 8, 4, TransactionNumber
, BE
),
11432 pkt
.CompletionCodes([0x0000, 0xff01])
11434 pkt
= NCP(0x2203, "TTS Abort Transaction", 'tts', has_length
=0)
11437 pkt
.CompletionCodes([0x0000, 0xfd03, 0xfe0b, 0xff01])
11439 pkt
= NCP(0x2204, "TTS Transaction Status", 'tts', has_length
=0)
11441 rec( 8, 4, TransactionNumber
, BE
),
11444 pkt
.CompletionCodes([0x0000])
11446 pkt
= NCP(0x2205, "TTS Get Application Thresholds", 'tts', has_length
=0)
11449 rec( 8, 1, LogicalLockThreshold
),
11450 rec( 9, 1, PhysicalLockThreshold
),
11452 pkt
.CompletionCodes([0x0000])
11454 pkt
= NCP(0x2206, "TTS Set Application Thresholds", 'tts', has_length
=0)
11456 rec( 8, 1, LogicalLockThreshold
),
11457 rec( 9, 1, PhysicalLockThreshold
),
11460 pkt
.CompletionCodes([0x0000, 0x9600])
11462 pkt
= NCP(0x2207, "TTS Get Workstation Thresholds", 'tts', has_length
=0)
11465 rec( 8, 1, LogicalLockThreshold
),
11466 rec( 9, 1, PhysicalLockThreshold
),
11468 pkt
.CompletionCodes([0x0000])
11470 pkt
= NCP(0x2208, "TTS Set Workstation Thresholds", 'tts', has_length
=0)
11472 rec( 8, 1, LogicalLockThreshold
),
11473 rec( 9, 1, PhysicalLockThreshold
),
11476 pkt
.CompletionCodes([0x0000])
11478 pkt
= NCP(0x2209, "TTS Get Transaction Bits", 'tts', has_length
=0)
11481 rec( 8, 1, ControlFlags
),
11483 pkt
.CompletionCodes([0x0000])
11485 pkt
= NCP(0x220A, "TTS Set Transaction Bits", 'tts', has_length
=0)
11487 rec( 8, 1, ControlFlags
),
11490 pkt
.CompletionCodes([0x0000])
11492 pkt
= NCP(0x2301, "AFP Create Directory", 'afp')
11493 pkt
.Request((49, 303), [
11494 rec( 10, 1, VolumeNumber
),
11495 rec( 11, 4, BaseDirectoryID
),
11496 rec( 15, 1, Reserved
),
11497 rec( 16, 4, CreatorID
),
11498 rec( 20, 4, Reserved4
),
11499 rec( 24, 2, FinderAttr
),
11500 rec( 26, 2, HorizLocation
),
11501 rec( 28, 2, VertLocation
),
11502 rec( 30, 2, FileDirWindow
),
11503 rec( 32, 16, Reserved16
),
11504 rec( 48, (1,255), Path
),
11505 ], info_str
=(Path
, "AFP Create Directory: %s", ", %s"))
11507 rec( 8, 4, NewDirectoryID
),
11509 pkt
.CompletionCodes([0x0000, 0x8301, 0x8400, 0x8800, 0x9300, 0x9600, 0x9804,
11510 0x9900, 0x9c03, 0x9e02, 0xa100, 0xa201, 0xfd00, 0xff18])
11512 pkt
= NCP(0x2302, "AFP Create File", 'afp')
11513 pkt
.Request((49, 303), [
11514 rec( 10, 1, VolumeNumber
),
11515 rec( 11, 4, BaseDirectoryID
),
11516 rec( 15, 1, DeleteExistingFileFlag
),
11517 rec( 16, 4, CreatorID
, BE
),
11518 rec( 20, 4, Reserved4
),
11519 rec( 24, 2, FinderAttr
),
11520 rec( 26, 2, HorizLocation
, BE
),
11521 rec( 28, 2, VertLocation
, BE
),
11522 rec( 30, 2, FileDirWindow
, BE
),
11523 rec( 32, 16, Reserved16
),
11524 rec( 48, (1,255), Path
),
11525 ], info_str
=(Path
, "AFP Create File: %s", ", %s"))
11527 rec( 8, 4, NewDirectoryID
),
11529 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8301, 0x8400, 0x8701, 0x8800,
11530 0x8a00, 0x8d00, 0x8e00, 0x8f00, 0x9300, 0x9600, 0x9804,
11531 0x9900, 0x9b03, 0x9c03, 0x9e02, 0xa100, 0xa201, 0xfd00,
11534 pkt
= NCP(0x2303, "AFP Delete", 'afp')
11535 pkt
.Request((16,270), [
11536 rec( 10, 1, VolumeNumber
),
11537 rec( 11, 4, BaseDirectoryID
),
11538 rec( 15, (1,255), Path
),
11539 ], info_str
=(Path
, "AFP Delete: %s", ", %s"))
11541 pkt
.CompletionCodes([0x0000, 0x8301, 0x8800, 0x8a00, 0x8d00, 0x8e00, 0x8f00,
11542 0x9000, 0x9300, 0x9600, 0x9804, 0x9b03, 0x9c03, 0x9e02,
11543 0xa000, 0xa100, 0xa201, 0xfd00, 0xff19])
11545 pkt
= NCP(0x2304, "AFP Get Entry ID From Name", 'afp')
11546 pkt
.Request((16,270), [
11547 rec( 10, 1, VolumeNumber
),
11548 rec( 11, 4, BaseDirectoryID
),
11549 rec( 15, (1,255), Path
),
11550 ], info_str
=(Path
, "AFP Get Entry from Name: %s", ", %s"))
11552 rec( 8, 4, TargetEntryID
, BE
),
11554 pkt
.CompletionCodes([0x0000, 0x8301, 0x8800, 0x9300, 0x9600, 0x9804, 0x9c03,
11555 0xa100, 0xa201, 0xfd00, 0xff19])
11557 pkt
= NCP(0x2305, "AFP Get File Information", 'afp')
11558 pkt
.Request((18,272), [
11559 rec( 10, 1, VolumeNumber
),
11560 rec( 11, 4, BaseDirectoryID
),
11561 rec( 15, 2, RequestBitMap
, BE
),
11562 rec( 17, (1,255), Path
),
11563 ], info_str
=(Path
, "AFP Get File Information: %s", ", %s"))
11565 rec( 8, 4, AFPEntryID
, BE
),
11566 rec( 12, 4, ParentID
, BE
),
11567 rec( 16, 2, AttributesDef16
, LE
),
11568 rec( 18, 4, DataForkLen
, BE
),
11569 rec( 22, 4, ResourceForkLen
, BE
),
11570 rec( 26, 2, TotalOffspring
, BE
),
11571 rec( 28, 2, CreationDate
, BE
),
11572 rec( 30, 2, LastAccessedDate
, BE
),
11573 rec( 32, 2, ModifiedDate
, BE
),
11574 rec( 34, 2, ModifiedTime
, BE
),
11575 rec( 36, 2, ArchivedDate
, BE
),
11576 rec( 38, 2, ArchivedTime
, BE
),
11577 rec( 40, 4, CreatorID
, BE
),
11578 rec( 44, 4, Reserved4
),
11579 rec( 48, 2, FinderAttr
),
11580 rec( 50, 2, HorizLocation
),
11581 rec( 52, 2, VertLocation
),
11582 rec( 54, 2, FileDirWindow
),
11583 rec( 56, 16, Reserved16
),
11584 rec( 72, 32, LongName
),
11585 rec( 104, 4, CreatorID
, BE
),
11586 rec( 108, 12, ShortName
),
11587 rec( 120, 1, AccessPrivileges
),
11589 pkt
.CompletionCodes([0x0000, 0x8301, 0x8800, 0x9300, 0x9600, 0x9804, 0x9c03,
11590 0xa100, 0xa201, 0xfd00, 0xff19])
11592 pkt
= NCP(0x2306, "AFP Get Entry ID From NetWare Handle", 'afp')
11594 rec( 10, 6, FileHandle
),
11597 rec( 8, 1, VolumeID
),
11598 rec( 9, 4, TargetEntryID
, BE
),
11599 rec( 13, 1, ForkIndicator
),
11601 pkt
.CompletionCodes([0x0000, 0x8301, 0x8800, 0x9300, 0x9600, 0xa201])
11603 pkt
= NCP(0x2307, "AFP Rename", 'afp')
11604 pkt
.Request((21, 529), [
11605 rec( 10, 1, VolumeNumber
),
11606 rec( 11, 4, MacSourceBaseID
, BE
),
11607 rec( 15, 4, MacDestinationBaseID
, BE
),
11608 rec( 19, (1,255), Path
),
11609 rec( -1, (1,255), NewFileNameLen
),
11610 ], info_str
=(Path
, "AFP Rename: %s", ", %s"))
11612 pkt
.CompletionCodes([0x0000, 0x8301, 0x8401, 0x8800, 0x8b00, 0x8e00,
11613 0x9001, 0x9201, 0x9300, 0x9600, 0x9804, 0x9900,
11614 0x9c03, 0x9e00, 0xa100, 0xa201, 0xfd00, 0xff0a])
11616 pkt
= NCP(0x2308, "AFP Open File Fork", 'afp')
11617 pkt
.Request((18, 272), [
11618 rec( 10, 1, VolumeNumber
),
11619 rec( 11, 4, MacBaseDirectoryID
),
11620 rec( 15, 1, ForkIndicator
),
11621 rec( 16, 1, AccessMode
),
11622 rec( 17, (1,255), Path
),
11623 ], info_str
=(Path
, "AFP Open File Fork: %s", ", %s"))
11625 rec( 8, 4, AFPEntryID
, BE
),
11626 rec( 12, 4, DataForkLen
, BE
),
11627 rec( 16, 6, NetWareAccessHandle
),
11629 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8301, 0x8800, 0x9300,
11630 0x9400, 0x9600, 0x9804, 0x9900, 0x9c03, 0xa100,
11631 0xa201, 0xfd00, 0xff16])
11633 pkt
= NCP(0x2309, "AFP Set File Information", 'afp')
11634 pkt
.Request((64, 318), [
11635 rec( 10, 1, VolumeNumber
),
11636 rec( 11, 4, MacBaseDirectoryID
),
11637 rec( 15, 2, RequestBitMap
, BE
),
11638 rec( 17, 2, MacAttr
, BE
),
11639 rec( 19, 2, CreationDate
, BE
),
11640 rec( 21, 2, LastAccessedDate
, BE
),
11641 rec( 23, 2, ModifiedDate
, BE
),
11642 rec( 25, 2, ModifiedTime
, BE
),
11643 rec( 27, 2, ArchivedDate
, BE
),
11644 rec( 29, 2, ArchivedTime
, BE
),
11645 rec( 31, 4, CreatorID
, BE
),
11646 rec( 35, 4, Reserved4
),
11647 rec( 39, 2, FinderAttr
),
11648 rec( 41, 2, HorizLocation
),
11649 rec( 43, 2, VertLocation
),
11650 rec( 45, 2, FileDirWindow
),
11651 rec( 47, 16, Reserved16
),
11652 rec( 63, (1,255), Path
),
11653 ], info_str
=(Path
, "AFP Set File Information: %s", ", %s"))
11655 pkt
.CompletionCodes([0x0000, 0x0104, 0x8301, 0x8800, 0x9300, 0x9400,
11656 0x9500, 0x9600, 0x9804, 0x9c03, 0xa100, 0xa201,
11659 pkt
= NCP(0x230A, "AFP Scan File Information", 'afp')
11660 pkt
.Request((26, 280), [
11661 rec( 10, 1, VolumeNumber
),
11662 rec( 11, 4, MacBaseDirectoryID
),
11663 rec( 15, 4, MacLastSeenID
, BE
),
11664 rec( 19, 2, DesiredResponseCount
, BE
),
11665 rec( 21, 2, SearchBitMap
, BE
),
11666 rec( 23, 2, RequestBitMap
, BE
),
11667 rec( 25, (1,255), Path
),
11668 ], info_str
=(Path
, "AFP Scan File Information: %s", ", %s"))
11670 rec( 8, 2, ActualResponseCount
, BE
, var
="x" ),
11671 rec( 10, 113, AFP10Struct
, repeat
="x" ),
11673 pkt
.CompletionCodes([0x0000, 0x8301, 0x8800, 0x9300, 0x9600, 0x9804,
11674 0x9c03, 0xa100, 0xa201, 0xfd00, 0xff16])
11676 pkt
= NCP(0x230B, "AFP Alloc Temporary Directory Handle", 'afp')
11677 pkt
.Request((16,270), [
11678 rec( 10, 1, VolumeNumber
),
11679 rec( 11, 4, MacBaseDirectoryID
),
11680 rec( 15, (1,255), Path
),
11681 ], info_str
=(Path
, "AFP Allocate Temporary Directory Handle: %s", ", %s"))
11683 rec( 8, 1, DirHandle
),
11684 rec( 9, 1, AccessRightsMask
),
11686 pkt
.CompletionCodes([0x0000, 0x8301, 0x8800, 0x9300, 0x9600,
11687 0x9804, 0x9b03, 0x9c03, 0x9d00, 0xa100,
11688 0xa201, 0xfd00, 0xff00])
11690 pkt
= NCP(0x230C, "AFP Get Entry ID From Path Name", 'afp')
11691 pkt
.Request((12,266), [
11692 rec( 10, 1, DirHandle
),
11693 rec( 11, (1,255), Path
),
11694 ], info_str
=(Path
, "AFP Get Entry ID from Path Name: %s", ", %s"))
11696 rec( 8, 4, AFPEntryID
, BE
),
11698 pkt
.CompletionCodes([0x0000, 0x8301, 0x8800, 0x9300, 0x9600,
11699 0x9804, 0x9b03, 0x9c03, 0xa100, 0xa201,
11702 pkt
= NCP(0x230D, "AFP 2.0 Create Directory", 'afp')
11703 pkt
.Request((55,309), [
11704 rec( 10, 1, VolumeNumber
),
11705 rec( 11, 4, BaseDirectoryID
),
11706 rec( 15, 1, Reserved
),
11707 rec( 16, 4, CreatorID
, BE
),
11708 rec( 20, 4, Reserved4
),
11709 rec( 24, 2, FinderAttr
),
11710 rec( 26, 2, HorizLocation
),
11711 rec( 28, 2, VertLocation
),
11712 rec( 30, 2, FileDirWindow
),
11713 rec( 32, 16, Reserved16
),
11714 rec( 48, 6, ProDOSInfo
),
11715 rec( 54, (1,255), Path
),
11716 ], info_str
=(Path
, "AFP 2.0 Create Directory: %s", ", %s"))
11718 rec( 8, 4, NewDirectoryID
),
11720 pkt
.CompletionCodes([0x0000, 0x8301, 0x8400, 0x8800, 0x9300,
11721 0x9600, 0x9804, 0x9900, 0x9c03, 0x9e00,
11722 0xa100, 0xa201, 0xfd00, 0xff00])
11724 pkt
= NCP(0x230E, "AFP 2.0 Create File", 'afp')
11725 pkt
.Request((55,309), [
11726 rec( 10, 1, VolumeNumber
),
11727 rec( 11, 4, BaseDirectoryID
),
11728 rec( 15, 1, DeleteExistingFileFlag
),
11729 rec( 16, 4, CreatorID
, BE
),
11730 rec( 20, 4, Reserved4
),
11731 rec( 24, 2, FinderAttr
),
11732 rec( 26, 2, HorizLocation
),
11733 rec( 28, 2, VertLocation
),
11734 rec( 30, 2, FileDirWindow
),
11735 rec( 32, 16, Reserved16
),
11736 rec( 48, 6, ProDOSInfo
),
11737 rec( 54, (1,255), Path
),
11738 ], info_str
=(Path
, "AFP 2.0 Create File: %s", ", %s"))
11740 rec( 8, 4, NewDirectoryID
),
11742 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8301, 0x8400,
11743 0x8701, 0x8800, 0x8a00, 0x8d00, 0x8e00,
11744 0x8f00, 0x9001, 0x9300, 0x9600, 0x9804,
11745 0x9900, 0x9b03, 0x9c03, 0x9e00, 0xa100,
11746 0xa201, 0xfd00, 0xff00])
11748 pkt
= NCP(0x230F, "AFP 2.0 Get File Or Directory Information", 'afp')
11749 pkt
.Request((18,272), [
11750 rec( 10, 1, VolumeNumber
),
11751 rec( 11, 4, BaseDirectoryID
),
11752 rec( 15, 2, RequestBitMap
, BE
),
11753 rec( 17, (1,255), Path
),
11754 ], info_str
=(Path
, "AFP 2.0 Get Information: %s", ", %s"))
11756 rec( 8, 4, AFPEntryID
, BE
),
11757 rec( 12, 4, ParentID
, BE
),
11758 rec( 16, 2, AttributesDef16
),
11759 rec( 18, 4, DataForkLen
, BE
),
11760 rec( 22, 4, ResourceForkLen
, BE
),
11761 rec( 26, 2, TotalOffspring
, BE
),
11762 rec( 28, 2, CreationDate
, BE
),
11763 rec( 30, 2, LastAccessedDate
, BE
),
11764 rec( 32, 2, ModifiedDate
, BE
),
11765 rec( 34, 2, ModifiedTime
, BE
),
11766 rec( 36, 2, ArchivedDate
, BE
),
11767 rec( 38, 2, ArchivedTime
, BE
),
11768 rec( 40, 4, CreatorID
, BE
),
11769 rec( 44, 4, Reserved4
),
11770 rec( 48, 2, FinderAttr
),
11771 rec( 50, 2, HorizLocation
),
11772 rec( 52, 2, VertLocation
),
11773 rec( 54, 2, FileDirWindow
),
11774 rec( 56, 16, Reserved16
),
11775 rec( 72, 32, LongName
),
11776 rec( 104, 4, CreatorID
, BE
),
11777 rec( 108, 12, ShortName
),
11778 rec( 120, 1, AccessPrivileges
),
11779 rec( 121, 1, Reserved
),
11780 rec( 122, 6, ProDOSInfo
),
11782 pkt
.CompletionCodes([0x0000, 0x8301, 0x8800, 0x9300, 0x9600, 0x9804, 0x9c03,
11783 0xa100, 0xa201, 0xfd00, 0xff19])
11785 pkt
= NCP(0x2310, "AFP 2.0 Set File Information", 'afp')
11786 pkt
.Request((70, 324), [
11787 rec( 10, 1, VolumeNumber
),
11788 rec( 11, 4, MacBaseDirectoryID
),
11789 rec( 15, 2, RequestBitMap
, BE
),
11790 rec( 17, 2, AttributesDef16
),
11791 rec( 19, 2, CreationDate
, BE
),
11792 rec( 21, 2, LastAccessedDate
, BE
),
11793 rec( 23, 2, ModifiedDate
, BE
),
11794 rec( 25, 2, ModifiedTime
, BE
),
11795 rec( 27, 2, ArchivedDate
, BE
),
11796 rec( 29, 2, ArchivedTime
, BE
),
11797 rec( 31, 4, CreatorID
, BE
),
11798 rec( 35, 4, Reserved4
),
11799 rec( 39, 2, FinderAttr
),
11800 rec( 41, 2, HorizLocation
),
11801 rec( 43, 2, VertLocation
),
11802 rec( 45, 2, FileDirWindow
),
11803 rec( 47, 16, Reserved16
),
11804 rec( 63, 6, ProDOSInfo
),
11805 rec( 69, (1,255), Path
),
11806 ], info_str
=(Path
, "AFP 2.0 Set File Information: %s", ", %s"))
11808 pkt
.CompletionCodes([0x0000, 0x0104, 0x8301, 0x8800, 0x9300, 0x9400,
11809 0x9500, 0x9600, 0x9804, 0x9c03, 0xa100, 0xa201,
11812 pkt
= NCP(0x2311, "AFP 2.0 Scan File Information", 'afp')
11813 pkt
.Request((26, 280), [
11814 rec( 10, 1, VolumeNumber
),
11815 rec( 11, 4, MacBaseDirectoryID
),
11816 rec( 15, 4, MacLastSeenID
, BE
),
11817 rec( 19, 2, DesiredResponseCount
, BE
),
11818 rec( 21, 2, SearchBitMap
, BE
),
11819 rec( 23, 2, RequestBitMap
, BE
),
11820 rec( 25, (1,255), Path
),
11821 ], info_str
=(Path
, "AFP 2.0 Scan File Information: %s", ", %s"))
11823 rec( 8, 2, ActualResponseCount
, var
="x" ),
11824 rec( 10, 4, AFP20Struct
, repeat
="x" ),
11826 pkt
.CompletionCodes([0x0000, 0x8301, 0x8800, 0x9300, 0x9600, 0x9804,
11827 0x9c03, 0xa100, 0xa201, 0xfd00, 0xff16])
11829 pkt
= NCP(0x2312, "AFP Get DOS Name From Entry ID", 'afp')
11831 rec( 10, 1, VolumeNumber
),
11832 rec( 11, 4, AFPEntryID
, BE
),
11834 pkt
.Reply((9,263), [
11835 rec( 8, (1,255), Path
),
11837 pkt
.CompletionCodes([0x0000, 0x8900, 0x9600, 0xbf00])
11839 pkt
= NCP(0x2313, "AFP Get Macintosh Info On Deleted File", 'afp')
11841 rec( 10, 1, VolumeNumber
),
11842 rec( 11, 4, DirectoryNumber
, BE
),
11844 pkt
.Reply((51,305), [
11845 rec( 8, 4, CreatorID
, BE
),
11846 rec( 12, 4, Reserved4
),
11847 rec( 16, 2, FinderAttr
),
11848 rec( 18, 2, HorizLocation
),
11849 rec( 20, 2, VertLocation
),
11850 rec( 22, 2, FileDirWindow
),
11851 rec( 24, 16, Reserved16
),
11852 rec( 40, 6, ProDOSInfo
),
11853 rec( 46, 4, ResourceForkSize
, BE
),
11854 rec( 50, (1,255), FileName
),
11856 pkt
.CompletionCodes([0x0000, 0x9c03, 0xbf00])
11858 pkt
= NCP(0x2400, "Get NCP Extension Information", 'extension')
11860 rec( 10, 4, NCPextensionNumber
, LE
),
11862 pkt
.Reply((16,270), [
11863 rec( 8, 4, NCPextensionNumber
),
11864 rec( 12, 1, NCPextensionMajorVersion
),
11865 rec( 13, 1, NCPextensionMinorVersion
),
11866 rec( 14, 1, NCPextensionRevisionNumber
),
11867 rec( 15, (1, 255), NCPextensionName
),
11869 pkt
.CompletionCodes([0x0000, 0x7e01, 0xfe00, 0xff20])
11871 pkt
= NCP(0x2401, "Get NCP Extension Maximum Data Size", 'extension')
11874 rec( 8, 2, NCPdataSize
),
11876 pkt
.CompletionCodes([0x0000, 0x7e01, 0xfe00, 0xff20])
11878 pkt
= NCP(0x2402, "Get NCP Extension Information by Name", 'extension')
11879 pkt
.Request((11, 265), [
11880 rec( 10, (1,255), NCPextensionName
),
11881 ], info_str
=(NCPextensionName
, "Get NCP Extension Information by Name: %s", ", %s"))
11882 pkt
.Reply((16,270), [
11883 rec( 8, 4, NCPextensionNumber
),
11884 rec( 12, 1, NCPextensionMajorVersion
),
11885 rec( 13, 1, NCPextensionMinorVersion
),
11886 rec( 14, 1, NCPextensionRevisionNumber
),
11887 rec( 15, (1, 255), NCPextensionName
),
11889 pkt
.CompletionCodes([0x0000, 0x7e01, 0xfe00, 0xff20])
11891 pkt
= NCP(0x2403, "Get Number of Registered NCP Extensions", 'extension')
11894 rec( 8, 4, NumberOfNCPExtensions
),
11896 pkt
.CompletionCodes([0x0000, 0x7e01, 0xfe00, 0xff20])
11898 pkt
= NCP(0x2404, "Get NCP Extension Registered Verbs List", 'extension')
11900 rec( 10, 4, StartingNumber
),
11903 rec( 8, 4, ReturnedListCount
, var
="x" ),
11904 rec( 12, 4, nextStartingNumber
),
11905 rec( 16, 4, NCPExtensionNumbers
, repeat
="x" ),
11907 pkt
.CompletionCodes([0x0000, 0x7e01, 0xfe00, 0xff20])
11909 pkt
= NCP(0x2405, "Return NCP Extension Information", 'extension')
11911 rec( 10, 4, NCPextensionNumber
),
11913 pkt
.Reply((16,270), [
11914 rec( 8, 4, NCPextensionNumber
),
11915 rec( 12, 1, NCPextensionMajorVersion
),
11916 rec( 13, 1, NCPextensionMinorVersion
),
11917 rec( 14, 1, NCPextensionRevisionNumber
),
11918 rec( 15, (1, 255), NCPextensionName
),
11920 pkt
.CompletionCodes([0x0000, 0x7e01, 0xfe00, 0xff20])
11922 pkt
= NCP(0x2406, "Return NCP Extension Maximum Data Size", 'extension')
11925 rec( 8, 4, NCPdataSize
),
11927 pkt
.CompletionCodes([0x0000, 0x7e01, 0xfe00, 0xff20])
11929 pkt
= NCP(0x25, "Execute NCP Extension", 'extension')
11931 rec( 7, 4, NCPextensionNumber
),
11932 # The following value is Unicode
11933 #rec[ 13, (1,255), RequestData ],
11936 # The following value is Unicode
11937 #[ 8, (1, 255), ReplyBuffer ],
11938 pkt
.CompletionCodes([0x0000, 0x7e01, 0xf000, 0x9c00, 0xd504, 0xee00, 0xfe00, 0xff20])
11940 pkt
= NCP(0x3B, "Commit File", 'file', has_length
=0 )
11942 rec( 7, 1, Reserved
),
11943 rec( 8, 6, FileHandle
),
11944 ], info_str
=(FileHandle
, "Commit File - 0x%s", ", %s"))
11946 pkt
.CompletionCodes([0x0000, 0x8800, 0x9804, 0xff00])
11948 pkt
= NCP(0x3D, "Commit File", 'file', has_length
=0 )
11950 rec( 7, 1, Reserved
),
11951 rec( 8, 6, FileHandle
),
11952 ], info_str
=(FileHandle
, "Commit File - 0x%s", ", %s"))
11954 pkt
.CompletionCodes([0x0000, 0x8800, 0x9804, 0xff00])
11956 pkt
= NCP(0x3E, "File Search Initialize", 'file', has_length
=0 )
11957 pkt
.Request((9, 263), [
11958 rec( 7, 1, DirHandle
),
11959 rec( 8, (1,255), Path
),
11960 ], info_str
=(Path
, "Initialize File Search: %s", ", %s"))
11962 rec( 8, 1, VolumeNumber
),
11963 rec( 9, 2, DirectoryID
),
11964 rec( 11, 2, SequenceNumber
, BE
),
11965 rec( 13, 1, AccessRightsMask
),
11967 pkt
.CompletionCodes([0x0000, 0x9600, 0x9804, 0x9b03, 0x9c03, 0xa100,
11970 pkt
= NCP(0x3F, "File Search Continue", 'file', has_length
=0 )
11971 pkt
.Request((14, 268), [
11972 rec( 7, 1, VolumeNumber
),
11973 rec( 8, 2, DirectoryID
),
11974 rec( 10, 2, SequenceNumber
, BE
),
11975 rec( 12, 1, SearchAttributes
),
11976 rec( 13, (1,255), Path
),
11977 ], info_str
=(Path
, "File Search Continue: %s", ", %s"))
11978 pkt
.Reply( NO_LENGTH_CHECK
, [
11980 # XXX - don't show this if we got back a non-zero
11981 # completion code? For example, 255 means "No
11982 # matching files or directories were found", so
11983 # presumably it can't show you a matching file or
11984 # directory instance - it appears to just leave crap
11987 srec( DirectoryInstance
, req_cond
="ncp.sattr_sub==TRUE"),
11988 srec( FileInstance
, req_cond
="ncp.sattr_sub!=TRUE"),
11990 pkt
.ReqCondSizeVariable()
11991 pkt
.CompletionCodes([0x0000, 0xff16])
11993 pkt
= NCP(0x40, "Search for a File", 'file')
11994 pkt
.Request((12, 266), [
11995 rec( 7, 2, SequenceNumber
, BE
),
11996 rec( 9, 1, DirHandle
),
11997 rec( 10, 1, SearchAttributes
),
11998 rec( 11, (1,255), FileName
),
11999 ], info_str
=(FileName
, "Search for File: %s", ", %s"))
12001 rec( 8, 2, SequenceNumber
, BE
),
12002 rec( 10, 2, Reserved2
),
12003 rec( 12, 14, FileName14
),
12004 rec( 26, 1, AttributesDef
),
12005 rec( 27, 1, FileExecuteType
),
12006 rec( 28, 4, FileSize
),
12007 rec( 32, 2, CreationDate
, BE
),
12008 rec( 34, 2, LastAccessedDate
, BE
),
12009 rec( 36, 2, ModifiedDate
, BE
),
12010 rec( 38, 2, ModifiedTime
, BE
),
12012 pkt
.CompletionCodes([0x0000, 0x8900, 0x9600, 0x9804, 0x9b03,
12013 0x9c03, 0xa100, 0xfd00, 0xff16])
12015 pkt
= NCP(0x41, "Open File", 'file')
12016 pkt
.Request((10, 264), [
12017 rec( 7, 1, DirHandle
),
12018 rec( 8, 1, SearchAttributes
),
12019 rec( 9, (1,255), FileName
),
12020 ], info_str
=(FileName
, "Open File: %s", ", %s"))
12022 rec( 8, 6, FileHandle
),
12023 rec( 14, 2, Reserved2
),
12024 rec( 16, 14, FileName14
),
12025 rec( 30, 1, AttributesDef
),
12026 rec( 31, 1, FileExecuteType
),
12027 rec( 32, 4, FileSize
, BE
),
12028 rec( 36, 2, CreationDate
, BE
),
12029 rec( 38, 2, LastAccessedDate
, BE
),
12030 rec( 40, 2, ModifiedDate
, BE
),
12031 rec( 42, 2, ModifiedTime
, BE
),
12033 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8200, 0x9400,
12034 0x9600, 0x9804, 0x9c03, 0xa100, 0xfd00,
12037 pkt
= NCP(0x42, "Close File", 'file')
12039 rec( 7, 1, Reserved
),
12040 rec( 8, 6, FileHandle
),
12041 ], info_str
=(FileHandle
, "Close File - 0x%s", ", %s"))
12043 pkt
.CompletionCodes([0x0000, 0x8800, 0xff1a])
12045 pkt
= NCP(0x43, "Create File", 'file')
12046 pkt
.Request((10, 264), [
12047 rec( 7, 1, DirHandle
),
12048 rec( 8, 1, AttributesDef
),
12049 rec( 9, (1,255), FileName
),
12050 ], info_str
=(FileName
, "Create File: %s", ", %s"))
12052 rec( 8, 6, FileHandle
),
12053 rec( 14, 2, Reserved2
),
12054 rec( 16, 14, FileName14
),
12055 rec( 30, 1, AttributesDef
),
12056 rec( 31, 1, FileExecuteType
),
12057 rec( 32, 4, FileSize
, BE
),
12058 rec( 36, 2, CreationDate
, BE
),
12059 rec( 38, 2, LastAccessedDate
, BE
),
12060 rec( 40, 2, ModifiedDate
, BE
),
12061 rec( 42, 2, ModifiedTime
, BE
),
12063 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
12064 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
12065 0x9804, 0x9900, 0x9b03, 0x9c03, 0xfd00,
12068 pkt
= NCP(0x44, "Erase File", 'file')
12069 pkt
.Request((10, 264), [
12070 rec( 7, 1, DirHandle
),
12071 rec( 8, 1, SearchAttributes
),
12072 rec( 9, (1,255), FileName
),
12073 ], info_str
=(FileName
, "Erase File: %s", ", %s"))
12075 pkt
.CompletionCodes([0x0000, 0x8a00, 0x8d00, 0x8e00, 0x8f00,
12076 0x9001, 0x9600, 0x9804, 0x9b03, 0x9c03,
12077 0xa100, 0xfd00, 0xff00])
12079 pkt
= NCP(0x45, "Rename File", 'file')
12080 pkt
.Request((12, 520), [
12081 rec( 7, 1, DirHandle
),
12082 rec( 8, 1, SearchAttributes
),
12083 rec( 9, (1,255), FileName
),
12084 rec( -1, 1, TargetDirHandle
),
12085 rec( -1, (1, 255), NewFileNameLen
),
12086 ], info_str
=(FileName
, "Rename File: %s", ", %s"))
12088 pkt
.CompletionCodes([0x0000, 0x8701, 0x8b00, 0x8d00, 0x8e00,
12089 0x8f00, 0x9001, 0x9101, 0x9201, 0x9600,
12090 0x9804, 0x9a00, 0x9b03, 0x9c03, 0xa100,
12093 pkt
= NCP(0x46, "Set File Attributes", 'file')
12094 pkt
.Request((11, 265), [
12095 rec( 7, 1, AttributesDef
),
12096 rec( 8, 1, DirHandle
),
12097 rec( 9, 1, SearchAttributes
),
12098 rec( 10, (1,255), FileName
),
12099 ], info_str
=(FileName
, "Set File Attributes: %s", ", %s"))
12101 pkt
.CompletionCodes([0x0000, 0x8c00, 0x8d00, 0x8e00, 0x9600,
12102 0x9804, 0x9b03, 0x9c03, 0xa100, 0xfd00,
12105 pkt
= NCP(0x47, "Get Current Size of File", 'file')
12107 rec(7, 1, Reserved
),
12108 rec( 8, 6, FileHandle
),
12109 ], info_str
=(FileHandle
, "Get Current Size of File - 0x%s", ", %s"))
12111 rec( 8, 4, FileSize
, BE
),
12113 pkt
.CompletionCodes([0x0000, 0x8800])
12115 pkt
= NCP(0x48, "Read From A File", 'file')
12117 rec( 7, 1, Reserved
),
12118 rec( 8, 6, FileHandle
),
12119 rec( 14, 4, FileOffset
, BE
),
12120 rec( 18, 2, MaxBytes
, BE
),
12121 ], info_str
=(FileHandle
, "Read From File - 0x%s", ", %s"))
12123 rec( 8, 2, NumBytes
, BE
),
12125 pkt
.CompletionCodes([0x0000, 0x8300, 0x8800, 0x9300, 0xff1b])
12127 pkt
= NCP(0x49, "Write to a File", 'file')
12129 rec( 7, 1, Reserved
),
12130 rec( 8, 6, FileHandle
),
12131 rec( 14, 4, FileOffset
, BE
),
12132 rec( 18, 2, MaxBytes
, BE
),
12133 ], info_str
=(FileHandle
, "Write to a File - 0x%s", ", %s"))
12135 pkt
.CompletionCodes([0x0000, 0x0104, 0x8300, 0x8800, 0x9400, 0x9500, 0xa201, 0xff1b])
12137 pkt
= NCP(0x4A, "Copy from One File to Another", 'file')
12139 rec( 7, 1, Reserved
),
12140 rec( 8, 6, FileHandle
),
12141 rec( 14, 6, TargetFileHandle
),
12142 rec( 20, 4, FileOffset
, BE
),
12143 rec( 24, 4, TargetFileOffset
, BE
),
12144 rec( 28, 2, BytesToCopy
, BE
),
12147 rec( 8, 4, BytesActuallyTransferred
, BE
),
12149 pkt
.CompletionCodes([0x0000, 0x0104, 0x8300, 0x8800, 0x9300, 0x9400,
12150 0x9500, 0x9600, 0xa201, 0xff1b])
12152 pkt
= NCP(0x4B, "Set File Time Date Stamp", 'file')
12154 rec( 7, 1, Reserved
),
12155 rec( 8, 6, FileHandle
),
12156 rec( 14, 2, FileTime
, BE
),
12157 rec( 16, 2, FileDate
, BE
),
12158 ], info_str
=(FileHandle
, "Set Time and Date Stamp for File - 0x%s", ", %s"))
12160 pkt
.CompletionCodes([0x0000, 0x8800, 0x9400, 0x9600, 0xfb08])
12162 pkt
= NCP(0x4C, "Open File", 'file')
12163 pkt
.Request((11, 265), [
12164 rec( 7, 1, DirHandle
),
12165 rec( 8, 1, SearchAttributes
),
12166 rec( 9, 1, AccessRightsMask
),
12167 rec( 10, (1,255), FileName
),
12168 ], info_str
=(FileName
, "Open File: %s", ", %s"))
12170 rec( 8, 6, FileHandle
),
12171 rec( 14, 2, Reserved2
),
12172 rec( 16, 14, FileName14
),
12173 rec( 30, 1, AttributesDef
),
12174 rec( 31, 1, FileExecuteType
),
12175 rec( 32, 4, FileSize
, BE
),
12176 rec( 36, 2, CreationDate
, BE
),
12177 rec( 38, 2, LastAccessedDate
, BE
),
12178 rec( 40, 2, ModifiedDate
, BE
),
12179 rec( 42, 2, ModifiedTime
, BE
),
12181 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8200, 0x9400,
12182 0x9600, 0x9804, 0x9c03, 0xa100, 0xfd00,
12185 pkt
= NCP(0x4D, "Create File", 'file')
12186 pkt
.Request((10, 264), [
12187 rec( 7, 1, DirHandle
),
12188 rec( 8, 1, AttributesDef
),
12189 rec( 9, (1,255), FileName
),
12190 ], info_str
=(FileName
, "Create File: %s", ", %s"))
12192 rec( 8, 6, FileHandle
),
12193 rec( 14, 2, Reserved2
),
12194 rec( 16, 14, FileName14
),
12195 rec( 30, 1, AttributesDef
),
12196 rec( 31, 1, FileExecuteType
),
12197 rec( 32, 4, FileSize
, BE
),
12198 rec( 36, 2, CreationDate
, BE
),
12199 rec( 38, 2, LastAccessedDate
, BE
),
12200 rec( 40, 2, ModifiedDate
, BE
),
12201 rec( 42, 2, ModifiedTime
, BE
),
12203 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
12204 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
12205 0x9804, 0x9900, 0x9b03, 0x9c03, 0xfd00,
12208 pkt
= NCP(0x4F, "Set File Extended Attributes", 'file')
12209 pkt
.Request((11, 265), [
12210 rec( 7, 1, AttributesDef
),
12211 rec( 8, 1, DirHandle
),
12212 rec( 9, 1, AccessRightsMask
),
12213 rec( 10, (1,255), FileName
),
12214 ], info_str
=(FileName
, "Set File Extended Attributes: %s", ", %s"))
12216 pkt
.CompletionCodes([0x0000, 0x8c00, 0x8d00, 0x8e00, 0x9600,
12217 0x9804, 0x9b03, 0x9c03, 0xa100, 0xfd00,
12220 pkt
= NCP(0x54, "Open/Create File", 'file')
12221 pkt
.Request((12, 266), [
12222 rec( 7, 1, DirHandle
),
12223 rec( 8, 1, AttributesDef
),
12224 rec( 9, 1, AccessRightsMask
),
12225 rec( 10, 1, ActionFlag
),
12226 rec( 11, (1,255), FileName
),
12227 ], info_str
=(FileName
, "Open/Create File: %s", ", %s"))
12229 rec( 8, 6, FileHandle
),
12230 rec( 14, 2, Reserved2
),
12231 rec( 16, 14, FileName14
),
12232 rec( 30, 1, AttributesDef
),
12233 rec( 31, 1, FileExecuteType
),
12234 rec( 32, 4, FileSize
, BE
),
12235 rec( 36, 2, CreationDate
, BE
),
12236 rec( 38, 2, LastAccessedDate
, BE
),
12237 rec( 40, 2, ModifiedDate
, BE
),
12238 rec( 42, 2, ModifiedTime
, BE
),
12240 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
12241 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
12242 0x9804, 0x9b03, 0x9c03, 0xfd00, 0xff16])
12244 pkt
= NCP(0x55, "Get Sparse File Data Block Bit Map", 'file')
12246 rec( 7, 6, FileHandle
),
12247 rec( 13, 4, FileOffset
),
12248 ], info_str
=(FileHandle
, "Get Sparse File Data Block Bitmap for File - 0x%s", ", %s"))
12250 rec( 8, 4, AllocationBlockSize
),
12251 rec( 12, 4, Reserved4
),
12252 rec( 16, 512, BitMap
),
12254 pkt
.CompletionCodes([0x0000, 0x8800])
12256 pkt
= NCP(0x5601, "Close Extended Attribute Handle", 'extended', has_length
=0 )
12258 rec( 8, 2, Reserved2
),
12259 rec( 10, 4, EAHandle
),
12262 pkt
.CompletionCodes([0x0000, 0xcf00, 0xd301])
12264 pkt
= NCP(0x5602, "Write Extended Attribute", 'extended', has_length
=0 )
12265 pkt
.Request((35,97), [
12266 rec( 8, 2, EAFlags
),
12267 rec( 10, 4, EAHandleOrNetWareHandleOrVolume
, BE
),
12268 rec( 14, 4, ReservedOrDirectoryNumber
),
12269 rec( 18, 4, TtlWriteDataSize
),
12270 rec( 22, 4, FileOffset
),
12271 rec( 26, 4, EAAccessFlag
),
12272 rec( 30, 2, EAValueLength
, var
='x' ),
12273 rec( 32, (2,64), EAKey
),
12274 rec( -1, 1, EAValueRep
, repeat
='x' ),
12275 ], info_str
=(EAKey
, "Write Extended Attribute: %s", ", %s"))
12277 rec( 8, 4, EAErrorCodes
),
12278 rec( 12, 4, EABytesWritten
),
12279 rec( 16, 4, NewEAHandle
),
12281 pkt
.CompletionCodes([0x0000, 0xc800, 0xc900, 0xcb00, 0xce00, 0xcf00, 0xd101,
12282 0xd203, 0xd301, 0xd402, 0xda02, 0xdc01, 0xef00, 0xff00])
12284 pkt
= NCP(0x5603, "Read Extended Attribute", 'extended', has_length
=0 )
12285 pkt
.Request((28,538), [
12286 rec( 8, 2, EAFlags
),
12287 rec( 10, 4, EAHandleOrNetWareHandleOrVolume
),
12288 rec( 14, 4, ReservedOrDirectoryNumber
),
12289 rec( 18, 4, FileOffset
),
12290 rec( 22, 4, InspectSize
),
12291 rec( 26, (2,512), EAKey
),
12292 ], info_str
=(EAKey
, "Read Extended Attribute: %s", ", %s"))
12293 pkt
.Reply((26,536), [
12294 rec( 8, 4, EAErrorCodes
),
12295 rec( 12, 4, TtlValuesLength
),
12296 rec( 16, 4, NewEAHandle
),
12297 rec( 20, 4, EAAccessFlag
),
12298 rec( 24, (2,512), EAValue
),
12300 pkt
.CompletionCodes([0x0000, 0x8800, 0x9c03, 0xc900, 0xce00, 0xcf00, 0xd101,
12303 pkt
= NCP(0x5604, "Enumerate Extended Attribute", 'extended', has_length
=0 )
12304 pkt
.Request((26,536), [
12305 rec( 8, 2, EAFlags
),
12306 rec( 10, 4, EAHandleOrNetWareHandleOrVolume
),
12307 rec( 14, 4, ReservedOrDirectoryNumber
),
12308 rec( 18, 4, InspectSize
),
12309 rec( 22, 2, SequenceNumber
),
12310 rec( 24, (2,512), EAKey
),
12311 ], info_str
=(EAKey
, "Enumerate Extended Attribute: %s", ", %s"))
12313 rec( 8, 4, EAErrorCodes
),
12314 rec( 12, 4, TtlEAs
),
12315 rec( 16, 4, TtlEAsDataSize
),
12316 rec( 20, 4, TtlEAsKeySize
),
12317 rec( 24, 4, NewEAHandle
),
12319 pkt
.CompletionCodes([0x0000, 0x8800, 0x8c01, 0xc800, 0xc900, 0xce00, 0xcf00, 0xd101,
12320 0xd301, 0xd503, 0xfb08, 0xff00])
12322 pkt
= NCP(0x5605, "Duplicate Extended Attributes", 'extended', has_length
=0 )
12324 rec( 8, 2, EAFlags
),
12325 rec( 10, 2, DstEAFlags
),
12326 rec( 12, 4, EAHandleOrNetWareHandleOrVolume
),
12327 rec( 16, 4, ReservedOrDirectoryNumber
),
12328 rec( 20, 4, EAHandleOrNetWareHandleOrVolume
),
12329 rec( 24, 4, ReservedOrDirectoryNumber
),
12332 rec( 8, 4, EADuplicateCount
),
12333 rec( 12, 4, EADataSizeDuplicated
),
12334 rec( 16, 4, EAKeySizeDuplicated
),
12336 pkt
.CompletionCodes([0x0000, 0x8800, 0xd101])
12338 pkt
= NCP(0x5701, "Open/Create File or Subdirectory", 'file', has_length
=0)
12339 pkt
.Request((30, 284), [
12340 rec( 8, 1, NameSpace
),
12341 rec( 9, 1, OpenCreateMode
),
12342 rec( 10, 2, SearchAttributesLow
),
12343 rec( 12, 2, ReturnInfoMask
),
12344 rec( 14, 2, ExtendedInfo
),
12345 rec( 16, 4, AttributesDef32
),
12346 rec( 20, 2, DesiredAccessRights
),
12347 rec( 22, 1, VolumeNumber
),
12348 rec( 23, 4, DirectoryBase
),
12349 rec( 27, 1, HandleFlag
),
12350 rec( 28, 1, PathCount
, var
="x" ),
12351 rec( 29, (1,255), Path
, repeat
="x" ),
12352 ], info_str
=(Path
, "Open or Create: %s", "/%s"))
12353 pkt
.Reply( NO_LENGTH_CHECK
, [
12354 rec( 8, 4, FileHandle
),
12355 rec( 12, 1, OpenCreateAction
),
12356 rec( 13, 1, Reserved
),
12357 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 1)" ),
12358 srec( PadDSSpaceAllocate
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 0)" ),
12359 srec( AttributesStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 1)" ),
12360 srec( PadAttributes
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 0)" ),
12361 srec( DataStreamSizeStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 1)" ),
12362 srec( PadDataStreamSize
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 0)" ),
12363 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 1)" ),
12364 srec( PadTotalStreamSize
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 0)" ),
12365 srec( CreationInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 1)" ),
12366 srec( PadCreationInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 0)" ),
12367 srec( ModifyInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 1)" ),
12368 srec( PadModifyInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 0)" ),
12369 srec( ArchiveInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 1)" ),
12370 srec( PadArchiveInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 0)" ),
12371 srec( RightsInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 1)" ),
12372 srec( PadRightsInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 0)" ),
12373 srec( DirEntryStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 1)" ),
12374 srec( PadDirEntry
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 0)" ),
12375 srec( EAInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 1)" ),
12376 srec( PadEAInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 0)" ),
12377 srec( NSInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 1)" ),
12378 srec( PadNSInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 0)" ),
12379 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_alloc == 1)" ),
12380 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_attr == 1)" ),
12381 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_size == 1)" ),
12382 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_tspace == 1)" ),
12383 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_eattr == 1)" ),
12384 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_mod == 1)" ),
12385 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_create == 1)" ),
12386 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_arch == 1)" ),
12387 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_dir == 1)" ),
12388 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_rights == 1)" ),
12389 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_ns == 1)" ),
12390 srec( ReferenceIDStruct
, req_cond
="ncp.ret_info_mask_id == 1" ),
12391 srec( NSAttributeStruct
, req_cond
="ncp.ret_info_mask_ns_attr == 1" ),
12392 srec( DStreamActual
, req_cond
="ncp.ret_info_mask_actual == 1" ),
12393 srec( DStreamLogical
, req_cond
="ncp.ret_info_mask_logical == 1" ),
12394 srec( LastUpdatedInSecondsStruct
, req_cond
="ncp.ext_info_update == 1" ),
12395 srec( DOSNameStruct
, req_cond
="ncp.ext_info_dos_name == 1" ),
12396 srec( FlushTimeStruct
, req_cond
="ncp.ext_info_flush == 1" ),
12397 srec( ParentBaseIDStruct
, req_cond
="ncp.ext_info_parental == 1" ),
12398 srec( MacFinderInfoStruct
, req_cond
="ncp.ext_info_mac_finder == 1" ),
12399 srec( SiblingCountStruct
, req_cond
="ncp.ext_info_sibling == 1" ),
12400 srec( EffectiveRightsStruct
, req_cond
="ncp.ext_info_effective == 1" ),
12401 srec( MacTimeStruct
, req_cond
="ncp.ext_info_mac_date == 1" ),
12402 srec( LastAccessedTimeStruct
, req_cond
="ncp.ext_info_access == 1" ),
12403 srec( FileNameStruct
, req_cond
="ncp.ret_info_mask_fname == 1" ),
12405 pkt
.ReqCondSizeVariable()
12406 pkt
.CompletionCodes([0x0000, 0x0102, 0x7f00, 0x8001, 0x8101, 0x8401, 0x8501,
12407 0x8701, 0x8900, 0x8d00, 0x8f00, 0x9001, 0x9400, 0x9600,
12408 0x9804, 0x9900, 0x9b03, 0x9c03, 0xa500, 0xa802, 0xa901, 0xbf00, 0xfd00, 0xff16])
12410 pkt
= NCP(0x5702, "Initialize Search", 'file', has_length
=0)
12411 pkt
.Request( (18,272), [
12412 rec( 8, 1, NameSpace
),
12413 rec( 9, 1, Reserved
),
12414 rec( 10, 1, VolumeNumber
),
12415 rec( 11, 4, DirectoryBase
),
12416 rec( 15, 1, HandleFlag
),
12417 rec( 16, 1, PathCount
, var
="x" ),
12418 rec( 17, (1,255), Path
, repeat
="x" ),
12419 ], info_str
=(Path
, "Set Search Pointer to: %s", "/%s"))
12421 rec( 8, 1, VolumeNumber
),
12422 rec( 9, 4, DirectoryNumber
),
12423 rec( 13, 4, DirectoryEntryNumber
),
12425 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
12426 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
12427 0x9804, 0x9b03, 0x9c03, 0xa901, 0xbf00, 0xfd00, 0xff16])
12429 pkt
= NCP(0x5703, "Search for File or Subdirectory", 'file', has_length
=0)
12430 pkt
.Request((26, 280), [
12431 rec( 8, 1, NameSpace
),
12432 rec( 9, 1, DataStream
),
12433 rec( 10, 2, SearchAttributesLow
),
12434 rec( 12, 2, ReturnInfoMask
),
12435 rec( 14, 2, ExtendedInfo
),
12436 rec( 16, 9, SeachSequenceStruct
),
12437 rec( 25, (1,255), SearchPattern
),
12438 ], info_str
=(SearchPattern
, "Search for: %s", "/%s"))
12439 pkt
.Reply( NO_LENGTH_CHECK
, [
12440 rec( 8, 9, SeachSequenceStruct
),
12441 rec( 17, 1, Reserved
),
12442 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 1)" ),
12443 srec( PadDSSpaceAllocate
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 0)" ),
12444 srec( AttributesStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 1)" ),
12445 srec( PadAttributes
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 0)" ),
12446 srec( DataStreamSizeStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 1)" ),
12447 srec( PadDataStreamSize
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 0)" ),
12448 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 1)" ),
12449 srec( PadTotalStreamSize
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 0)" ),
12450 srec( CreationInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 1)" ),
12451 srec( PadCreationInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 0)" ),
12452 srec( ModifyInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 1)" ),
12453 srec( PadModifyInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 0)" ),
12454 srec( ArchiveInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 1)" ),
12455 srec( PadArchiveInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 0)" ),
12456 srec( RightsInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 1)" ),
12457 srec( PadRightsInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 0)" ),
12458 srec( DirEntryStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 1)" ),
12459 srec( PadDirEntry
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 0)" ),
12460 srec( EAInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 1)" ),
12461 srec( PadEAInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 0)" ),
12462 srec( NSInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 1)" ),
12463 srec( PadNSInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 0)" ),
12464 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_alloc == 1)" ),
12465 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_attr == 1)" ),
12466 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_size == 1)" ),
12467 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_tspace == 1)" ),
12468 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_eattr == 1)" ),
12469 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_mod == 1)" ),
12470 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_create == 1)" ),
12471 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_arch == 1)" ),
12472 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_dir == 1)" ),
12473 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_rights == 1)" ),
12474 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_ns == 1)" ),
12475 srec( ReferenceIDStruct
, req_cond
="ncp.ret_info_mask_id == 1" ),
12476 srec( NSAttributeStruct
, req_cond
="ncp.ret_info_mask_ns_attr == 1" ),
12477 srec( DStreamActual
, req_cond
="ncp.ret_info_mask_actual == 1" ),
12478 srec( DStreamLogical
, req_cond
="ncp.ret_info_mask_logical == 1" ),
12479 srec( LastUpdatedInSecondsStruct
, req_cond
="ncp.ext_info_update == 1" ),
12480 srec( DOSNameStruct
, req_cond
="ncp.ext_info_dos_name == 1" ),
12481 srec( FlushTimeStruct
, req_cond
="ncp.ext_info_flush == 1" ),
12482 srec( ParentBaseIDStruct
, req_cond
="ncp.ext_info_parental == 1" ),
12483 srec( MacFinderInfoStruct
, req_cond
="ncp.ext_info_mac_finder == 1" ),
12484 srec( SiblingCountStruct
, req_cond
="ncp.ext_info_sibling == 1" ),
12485 srec( EffectiveRightsStruct
, req_cond
="ncp.ext_info_effective == 1" ),
12486 srec( MacTimeStruct
, req_cond
="ncp.ext_info_mac_date == 1" ),
12487 srec( LastAccessedTimeStruct
, req_cond
="ncp.ext_info_access == 1" ),
12488 srec( FileNameStruct
, req_cond
="ncp.ret_info_mask_fname == 1" ),
12490 pkt
.ReqCondSizeVariable()
12491 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
12492 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
12493 0x9804, 0x9b03, 0x9c03, 0xa901, 0xbf00, 0xfd00, 0xff16])
12495 pkt
= NCP(0x5704, "Rename Or Move a File or Subdirectory", 'file', has_length
=0)
12496 pkt
.Request((28, 536), [
12497 rec( 8, 1, NameSpace
),
12498 rec( 9, 1, RenameFlag
),
12499 rec( 10, 2, SearchAttributesLow
),
12500 rec( 12, 1, VolumeNumber
),
12501 rec( 13, 4, DirectoryBase
),
12502 rec( 17, 1, HandleFlag
),
12503 rec( 18, 1, PathCount
, var
="x" ),
12504 rec( 19, 1, VolumeNumber
),
12505 rec( 20, 4, DirectoryBase
),
12506 rec( 24, 1, HandleFlag
),
12507 rec( 25, 1, PathCount
, var
="y" ),
12508 rec( 26, (1, 255), Path
, repeat
="x" ),
12509 rec( -1, (1,255), DestPath
, repeat
="y" ),
12510 ], info_str
=(Path
, "Rename or Move: %s", "/%s"))
12512 pkt
.CompletionCodes([0x0000, 0x0102, 0x8000, 0x8101, 0x8401, 0x8501,
12513 0x8701, 0x8d00, 0x8e00, 0x8f00, 0x9001, 0x9100, 0x9200, 0x9600,
12514 0x9804, 0x9a00, 0x9b03, 0x9c03, 0x9e00, 0xa901, 0xbf00, 0xfd00, 0xff16])
12516 pkt
= NCP(0x5705, "Scan File or Subdirectory for Trustees", 'file', has_length
=0)
12517 pkt
.Request((24, 278), [
12518 rec( 8, 1, NameSpace
),
12519 rec( 9, 1, Reserved
),
12520 rec( 10, 2, SearchAttributesLow
),
12521 rec( 12, 4, SequenceNumber
),
12522 rec( 16, 1, VolumeNumber
),
12523 rec( 17, 4, DirectoryBase
),
12524 rec( 21, 1, HandleFlag
),
12525 rec( 22, 1, PathCount
, var
="x" ),
12526 rec( 23, (1, 255), Path
, repeat
="x" ),
12527 ], info_str
=(Path
, "Scan Trustees for: %s", "/%s"))
12529 rec( 8, 4, SequenceNumber
),
12530 rec( 12, 2, ObjectIDCount
, var
="x" ),
12531 rec( 14, 6, TrusteeStruct
, repeat
="x" ),
12533 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
12534 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
12535 0x9804, 0x9b03, 0x9c04, 0xa901, 0xbf00, 0xfd00, 0xff16])
12537 pkt
= NCP(0x5706, "Obtain File or SubDirectory Information", 'file', has_length
=0)
12538 pkt
.Request((24,278), [
12539 rec( 10, 1, SrcNameSpace
),
12540 rec( 11, 1, DestNameSpace
),
12541 rec( 12, 2, SearchAttributesLow
),
12542 rec( 14, 2, ReturnInfoMask
, LE
),
12543 rec( 16, 2, ExtendedInfo
),
12544 rec( 18, 1, VolumeNumber
),
12545 rec( 19, 4, DirectoryBase
),
12546 rec( 23, 1, HandleFlag
),
12547 rec( 24, 1, PathCount
, var
="x" ),
12548 rec( 25, (1,255), Path
, repeat
="x",),
12549 ], info_str
=(Path
, "Obtain Info for: %s", "/%s"))
12550 pkt
.Reply(NO_LENGTH_CHECK
, [
12551 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 1)" ),
12552 srec( PadDSSpaceAllocate
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 0)" ),
12553 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 1)" ),
12554 srec( PadAttributes
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 0)" ),
12555 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 1)" ),
12556 srec( PadDataStreamSize
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 0)" ),
12557 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 1)" ),
12558 srec( PadTotalStreamSize
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 0)" ),
12559 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 1)" ),
12560 srec( PadCreationInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 0)" ),
12561 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 1)" ),
12562 srec( PadModifyInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 0)" ),
12563 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 1)" ),
12564 srec( PadArchiveInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 0)" ),
12565 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 1)" ),
12566 srec( PadRightsInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 0)" ),
12567 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 1)" ),
12568 srec( PadDirEntry
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 0)" ),
12569 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 1)" ),
12570 srec( PadEAInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 0)" ),
12571 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 1)" ),
12572 srec( PadNSInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 0)" ),
12573 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_alloc == 1)" ),
12574 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_attr == 1)" ),
12575 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_size == 1)" ),
12576 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_tspace == 1)" ),
12577 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_create == 1)" ),
12578 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_mod == 1)" ),
12579 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_arch == 1)" ),
12580 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_rights == 1)" ),
12581 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_dir == 1)" ),
12582 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_eattr == 1)" ),
12583 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_ns == 1)" ),
12584 srec( ReferenceIDStruct
, req_cond
="ncp.ret_info_mask_id == 1" ),
12585 srec( NSAttributeStruct
, req_cond
="ncp.ret_info_mask_ns_attr == 1" ),
12586 srec( DataStreamsStruct
, req_cond
="ncp.ret_info_mask_actual == 1" ),
12587 srec( DStreamActual
, req_cond
="ncp.ret_info_mask_actual == 1 && ncp.number_of_data_streams_long > 0" ), # , repeat="x"
12588 srec( DataStreamsStruct
, req_cond
="ncp.ret_info_mask_logical == 1" ), # , var="y"
12589 srec( DStreamLogical
, req_cond
="ncp.ret_info_mask_logical == 1 && ncp.number_of_data_streams_long > 0" ), # , repeat="y"
12590 srec( LastUpdatedInSecondsStruct
, req_cond
="ncp.ext_info_update == 1" ),
12591 srec( DOSNameStruct
, req_cond
="ncp.ext_info_dos_name == 1" ),
12592 srec( FlushTimeStruct
, req_cond
="ncp.ext_info_flush == 1" ),
12593 srec( ParentBaseIDStruct
, req_cond
="ncp.ext_info_parental == 1" ),
12594 srec( MacFinderInfoStruct
, req_cond
="ncp.ext_info_mac_finder == 1" ),
12595 srec( SiblingCountStruct
, req_cond
="ncp.ext_info_sibling == 1" ),
12596 srec( EffectiveRightsStruct
, req_cond
="ncp.ext_info_effective == 1" ),
12597 srec( MacTimeStruct
, req_cond
="ncp.ext_info_mac_date == 1" ),
12598 srec( LastAccessedTimeStruct
, req_cond
="ncp.ext_info_access == 1" ),
12599 srec( FileSize64bitStruct
, req_cond
="ncp.ext_info_64_bit_fs == 1" ),
12600 srec( FileNameStruct
, req_cond
="ncp.ret_info_mask_fname == 1" ),
12602 pkt
.ReqCondSizeVariable()
12603 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
12604 0x8700, 0x8900, 0x8d00, 0x8f00, 0x9001, 0x9600,
12605 0x9802, 0x9b03, 0x9c03, 0xa802, 0xa901, 0xbf00, 0xfd00, 0xff16])
12607 pkt
= NCP(0x5707, "Modify File or Subdirectory DOS Information", 'file', has_length
=0)
12608 pkt
.Request((62,316), [
12609 rec( 8, 1, NameSpace
),
12610 rec( 9, 1, Reserved
),
12611 rec( 10, 2, SearchAttributesLow
),
12612 rec( 12, 2, ModifyDOSInfoMask
),
12613 rec( 14, 2, Reserved2
),
12614 rec( 16, 2, AttributesDef16
),
12615 rec( 18, 1, FileMode
),
12616 rec( 19, 1, FileExtendedAttributes
),
12617 rec( 20, 2, CreationDate
),
12618 rec( 22, 2, CreationTime
),
12619 rec( 24, 4, CreatorID
, BE
),
12620 rec( 28, 2, ModifiedDate
),
12621 rec( 30, 2, ModifiedTime
),
12622 rec( 32, 4, ModifierID
, BE
),
12623 rec( 36, 2, ArchivedDate
),
12624 rec( 38, 2, ArchivedTime
),
12625 rec( 40, 4, ArchiverID
, BE
),
12626 rec( 44, 2, LastAccessedDate
),
12627 rec( 46, 2, InheritedRightsMask
),
12628 rec( 48, 2, InheritanceRevokeMask
),
12629 rec( 50, 4, MaxSpace
),
12630 rec( 54, 1, VolumeNumber
),
12631 rec( 55, 4, DirectoryBase
),
12632 rec( 59, 1, HandleFlag
),
12633 rec( 60, 1, PathCount
, var
="x" ),
12634 rec( 61, (1,255), Path
, repeat
="x" ),
12635 ], info_str
=(Path
, "Modify DOS Information for: %s", "/%s"))
12637 pkt
.CompletionCodes([0x0000, 0x0102, 0x8000, 0x8101, 0x8401, 0x8501,
12638 0x8701, 0x8c01, 0x8d00, 0x8e00, 0x8f00, 0x9001, 0x9600,
12639 0x9804, 0x9b03, 0x9c03, 0xa901, 0xbf00, 0xfd00, 0xff16])
12641 pkt
= NCP(0x5708, "Delete a File or Subdirectory", 'file', has_length
=0)
12642 pkt
.Request((20,274), [
12643 rec( 8, 1, NameSpace
),
12644 rec( 9, 1, Reserved
),
12645 rec( 10, 2, SearchAttributesLow
),
12646 rec( 12, 1, VolumeNumber
),
12647 rec( 13, 4, DirectoryBase
),
12648 rec( 17, 1, HandleFlag
),
12649 rec( 18, 1, PathCount
, var
="x" ),
12650 rec( 19, (1,255), Path
, repeat
="x" ),
12651 ], info_str
=(Path
, "Delete a File or Subdirectory: %s", "/%s"))
12653 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
12654 0x8701, 0x8900, 0x8a00, 0x8d00, 0x8e00, 0x8f00, 0x9001, 0x9600,
12655 0x9804, 0x9b03, 0x9c03, 0xa901, 0xbf00, 0xfd00, 0xff16])
12657 pkt
= NCP(0x5709, "Set Short Directory Handle", 'file', has_length
=0)
12658 pkt
.Request((20,274), [
12659 rec( 8, 1, NameSpace
),
12660 rec( 9, 1, DataStream
),
12661 rec( 10, 1, DestDirHandle
),
12662 rec( 11, 1, Reserved
),
12663 rec( 12, 1, VolumeNumber
),
12664 rec( 13, 4, DirectoryBase
),
12665 rec( 17, 1, HandleFlag
),
12666 rec( 18, 1, PathCount
, var
="x" ),
12667 rec( 19, (1,255), Path
, repeat
="x" ),
12668 ], info_str
=(Path
, "Set Short Directory Handle to: %s", "/%s"))
12670 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
12671 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
12672 0x9804, 0x9b03, 0x9c03, 0xa901, 0xbf00, 0xfd00, 0xff16])
12674 pkt
= NCP(0x570A, "Add Trustee Set to File or Subdirectory", 'file', has_length
=0)
12675 pkt
.Request((31,285), [
12676 rec( 8, 1, NameSpace
),
12677 rec( 9, 1, Reserved
),
12678 rec( 10, 2, SearchAttributesLow
),
12679 rec( 12, 2, AccessRightsMaskWord
),
12680 rec( 14, 2, ObjectIDCount
, var
="y" ),
12681 rec( 16, 1, VolumeNumber
),
12682 rec( 17, 4, DirectoryBase
),
12683 rec( 21, 1, HandleFlag
),
12684 rec( 22, 1, PathCount
, var
="x" ),
12685 rec( 23, (1,255), Path
, repeat
="x" ),
12686 rec( -1, 7, TrusteeStruct
, repeat
="y" ),
12687 ], info_str
=(Path
, "Add Trustee Set to: %s", "/%s"))
12689 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
12690 0x8701, 0x8c01, 0x8d00, 0x8f00, 0x9001, 0x9600,
12691 0x9804, 0x9b03, 0x9c03, 0xa802, 0xa901, 0xbf00, 0xfc01, 0xfd00, 0xff16])
12693 pkt
= NCP(0x570B, "Delete Trustee Set from File or SubDirectory", 'file', has_length
=0)
12694 pkt
.Request((27,281), [
12695 rec( 8, 1, NameSpace
),
12696 rec( 9, 1, Reserved
),
12697 rec( 10, 2, ObjectIDCount
, var
="y" ),
12698 rec( 12, 1, VolumeNumber
),
12699 rec( 13, 4, DirectoryBase
),
12700 rec( 17, 1, HandleFlag
),
12701 rec( 18, 1, PathCount
, var
="x" ),
12702 rec( 19, (1,255), Path
, repeat
="x" ),
12703 rec( -1, 7, TrusteeStruct
, repeat
="y" ),
12704 ], info_str
=(Path
, "Delete Trustee Set from: %s", "/%s"))
12706 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
12707 0x8701, 0x8c01, 0x8d00, 0x8f00, 0x9001, 0x9600,
12708 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16])
12710 pkt
= NCP(0x570C, "Allocate Short Directory Handle", 'file', has_length
=0)
12711 pkt
.Request((20,274), [
12712 rec( 8, 1, NameSpace
),
12713 rec( 9, 1, Reserved
),
12714 rec( 10, 2, AllocateMode
),
12715 rec( 12, 1, VolumeNumber
),
12716 rec( 13, 4, DirectoryBase
),
12717 rec( 17, 1, HandleFlag
),
12718 rec( 18, 1, PathCount
, var
="x" ),
12719 rec( 19, (1,255), Path
, repeat
="x" ),
12720 ], info_str
=(Path
, "Allocate Short Directory Handle to: %s", "/%s"))
12721 pkt
.Reply(NO_LENGTH_CHECK
, [
12722 srec( ReplyLevel2Struct
, req_cond
="ncp.alloc_reply_lvl2 == TRUE" ),
12723 srec( ReplyLevel1Struct
, req_cond
="ncp.alloc_reply_lvl2 == FALSE" ),
12725 pkt
.ReqCondSizeVariable()
12726 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
12727 0x8701, 0x8900, 0x8d00, 0x8f00, 0x9001, 0x9600,
12728 0x9804, 0x9b03, 0x9c03, 0x9d00, 0xa901, 0xbf00, 0xfd00, 0xff16])
12730 pkt
= NCP(0x5710, "Scan Salvageable Files", 'file', has_length
=0)
12731 pkt
.Request((26,280), [
12732 rec( 8, 1, NameSpace
),
12733 rec( 9, 1, DataStream
),
12734 rec( 10, 2, ReturnInfoMask
),
12735 rec( 12, 2, ExtendedInfo
),
12736 rec( 14, 4, SequenceNumber
),
12737 rec( 18, 1, VolumeNumber
),
12738 rec( 19, 4, DirectoryBase
),
12739 rec( 23, 1, HandleFlag
),
12740 rec( 24, 1, PathCount
, var
="x" ),
12741 rec( 25, (1,255), Path
, repeat
="x" ),
12742 ], info_str
=(Path
, "Scan for Deleted Files in: %s", "/%s"))
12743 pkt
.Reply(NO_LENGTH_CHECK
, [
12744 rec( 8, 4, SequenceNumber
),
12745 rec( 12, 2, DeletedTime
),
12746 rec( 14, 2, DeletedDate
),
12747 rec( 16, 4, DeletedID
, BE
),
12748 rec( 20, 4, VolumeID
),
12749 rec( 24, 4, DirectoryBase
),
12750 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 1)" ),
12751 srec( PadDSSpaceAllocate
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 0)" ),
12752 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 1)" ),
12753 srec( PadAttributes
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 0)" ),
12754 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 1)" ),
12755 srec( PadDataStreamSize
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 0)" ),
12756 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 1)" ),
12757 srec( PadTotalStreamSize
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 0)" ),
12758 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 1)" ),
12759 srec( PadCreationInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 0)" ),
12760 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 1)" ),
12761 srec( PadModifyInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 0)" ),
12762 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 1)" ),
12763 srec( PadArchiveInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 0)" ),
12764 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 1)" ),
12765 srec( PadRightsInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 0)" ),
12766 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 1)" ),
12767 srec( PadDirEntry
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 0)" ),
12768 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 1)" ),
12769 srec( PadEAInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 0)" ),
12770 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 1)" ),
12771 srec( PadNSInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 0)" ),
12772 srec( FileNameStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_fname == 1)" ),
12773 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_alloc == 1)" ),
12774 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_attr == 1)" ),
12775 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_size == 1)" ),
12776 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_tspace == 1)" ),
12777 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_create == 1)" ),
12778 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_mod == 1)" ),
12779 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_arch == 1)" ),
12780 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_rights == 1)" ),
12781 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_dir == 1)" ),
12782 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_eattr == 1)" ),
12783 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_ns == 1)" ),
12784 srec( FileNameStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_fname == 1)" ),
12786 pkt
.ReqCondSizeVariable()
12787 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
12788 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
12789 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16])
12791 pkt
= NCP(0x5711, "Recover Salvageable File", 'file', has_length
=0)
12792 pkt
.Request((23,277), [
12793 rec( 8, 1, NameSpace
),
12794 rec( 9, 1, Reserved
),
12795 rec( 10, 4, SequenceNumber
),
12796 rec( 14, 4, VolumeID
),
12797 rec( 18, 4, DirectoryBase
),
12798 rec( 22, (1,255), FileName
),
12799 ], info_str
=(FileName
, "Recover Deleted File: %s", ", %s"))
12801 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
12802 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
12803 0x9804, 0x9b03, 0x9c03, 0xa802, 0xbf00, 0xfe02, 0xfd00, 0xff16])
12805 pkt
= NCP(0x5712, "Purge Salvageable Files", 'file', has_length
=0)
12807 rec( 8, 1, NameSpace
),
12808 rec( 9, 1, Reserved
),
12809 rec( 10, 4, SequenceNumber
),
12810 rec( 14, 4, VolumeID
),
12811 rec( 18, 4, DirectoryBase
),
12814 pkt
.CompletionCodes([0x0000, 0x010a, 0x8000, 0x8101, 0x8401, 0x8501,
12815 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
12816 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16])
12818 pkt
= NCP(0x5713, "Get Name Space Information", 'file', has_length
=0)
12820 rec( 8, 1, SrcNameSpace
),
12821 rec( 9, 1, DestNameSpace
),
12822 rec( 10, 1, Reserved
),
12823 rec( 11, 1, VolumeNumber
),
12824 rec( 12, 4, DirectoryBase
),
12825 rec( 16, 2, NamesSpaceInfoMask
),
12827 pkt
.Reply(NO_LENGTH_CHECK
, [
12828 srec( FileNameStruct
, req_cond
="ncp.ns_info_mask_modify == TRUE" ),
12829 srec( FileAttributesStruct
, req_cond
="ncp.ns_info_mask_fatt == TRUE" ),
12830 srec( CreationDateStruct
, req_cond
="ncp.ns_info_mask_cdate == TRUE" ),
12831 srec( CreationTimeStruct
, req_cond
="ncp.ns_info_mask_ctime == TRUE" ),
12832 srec( OwnerIDStruct
, req_cond
="ncp.ns_info_mask_owner == TRUE" ),
12833 srec( ArchiveDateStruct
, req_cond
="ncp.ns_info_mask_adate == TRUE" ),
12834 srec( ArchiveTimeStruct
, req_cond
="ncp.ns_info_mask_atime == TRUE" ),
12835 srec( ArchiveIdStruct
, req_cond
="ncp.ns_info_mask_aid == TRUE" ),
12836 srec( UpdateDateStruct
, req_cond
="ncp.ns_info_mask_udate == TRUE" ),
12837 srec( UpdateTimeStruct
, req_cond
="ncp.ns_info_mask_utime == TRUE" ),
12838 srec( UpdateIDStruct
, req_cond
="ncp.ns_info_mask_uid == TRUE" ),
12839 srec( LastAccessStruct
, req_cond
="ncp.ns_info_mask_acc_date == TRUE" ),
12840 srec( RightsInfoStruct
, req_cond
="ncp.ns_info_mask_max_acc_mask == TRUE" ),
12842 pkt
.ReqCondSizeVariable()
12843 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
12844 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
12845 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16])
12847 pkt
= NCP(0x5714, "Search for File or Subdirectory Set", 'file', has_length
=0)
12848 pkt
.Request((28, 282), [
12849 rec( 8, 1, NameSpace
),
12850 rec( 9, 1, DataStream
),
12851 rec( 10, 2, SearchAttributesLow
),
12852 rec( 12, 2, ReturnInfoMask
),
12853 rec( 14, 2, ExtendedInfo
),
12854 rec( 16, 2, ReturnInfoCount
),
12855 rec( 18, 9, SeachSequenceStruct
),
12856 rec( 27, (1,255), SearchPattern
),
12858 # The reply packet is dissected in packet-ncp2222.inc
12859 pkt
.Reply(NO_LENGTH_CHECK
, [
12861 pkt
.ReqCondSizeVariable()
12862 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
12863 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
12864 0x9804, 0x9b03, 0x9c03, 0xa901, 0xbf00, 0xfd00, 0xff16])
12866 pkt
= NCP(0x5715, "Get Path String from Short Directory Handle", 'file', has_length
=0)
12868 rec( 8, 1, NameSpace
),
12869 rec( 9, 1, DirHandle
),
12871 pkt
.Reply((9,263), [
12872 rec( 8, (1,255), Path
),
12874 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
12875 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
12876 0x9804, 0x9b03, 0x9c03, 0xfd00, 0xff16])
12878 pkt
= NCP(0x5716, "Generate Directory Base and Volume Number", 'file', has_length
=0)
12879 pkt
.Request((20,274), [
12880 rec( 8, 1, SrcNameSpace
),
12881 rec( 9, 1, DestNameSpace
),
12882 rec( 10, 2, dstNSIndicator
),
12883 rec( 12, 1, VolumeNumber
),
12884 rec( 13, 4, DirectoryBase
),
12885 rec( 17, 1, HandleFlag
),
12886 rec( 18, 1, PathCount
, var
="x" ),
12887 rec( 19, (1,255), Path
, repeat
="x" ),
12888 ], info_str
=(Path
, "Get Volume and Directory Base from: %s", "/%s"))
12890 rec( 8, 4, DirectoryBase
),
12891 rec( 12, 4, DOSDirectoryBase
),
12892 rec( 16, 1, VolumeNumber
),
12894 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
12895 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
12896 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16])
12898 pkt
= NCP(0x5717, "Query Name Space Information Format", 'file', has_length
=0)
12900 rec( 8, 1, NameSpace
),
12901 rec( 9, 1, VolumeNumber
),
12904 rec( 8, 4, FixedBitMask
),
12905 rec( 12, 4, VariableBitMask
),
12906 rec( 16, 4, HugeBitMask
),
12907 rec( 20, 2, FixedBitsDefined
),
12908 rec( 22, 2, VariableBitsDefined
),
12909 rec( 24, 2, HugeBitsDefined
),
12910 rec( 26, 32, FieldsLenTable
),
12912 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
12913 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
12914 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16])
12916 pkt
= NCP(0x5718, "Get Name Spaces Loaded List from Volume Number", 'file', has_length
=0)
12918 rec( 8, 2, Reserved2
),
12919 rec( 10, 1, VolumeNumber
),
12920 ], info_str
=(VolumeNumber
, "Get Name Spaces Loaded List from Vol: %d", "/%d"))
12922 rec( 8, 2, NumberOfNSLoaded
, var
="x" ),
12923 rec( 10, 1, NameSpace
, repeat
="x" ),
12925 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
12926 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
12927 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16])
12929 pkt
= NCP(0x5719, "Set Name Space Information", 'file', has_length
=0)
12931 rec( 8, 1, SrcNameSpace
),
12932 rec( 9, 1, DestNameSpace
),
12933 rec( 10, 1, VolumeNumber
),
12934 rec( 11, 4, DirectoryBase
),
12935 rec( 15, 2, NamesSpaceInfoMask
),
12936 rec( 17, 2, Reserved2
),
12937 rec( 19, 512, NSSpecificInfo
),
12940 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
12941 0x8701, 0x8b00, 0x8d00, 0x8f00, 0x9001,
12942 0x9600, 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00,
12945 pkt
= NCP(0x571A, "Get Huge Name Space Information", 'file', has_length
=0)
12947 rec( 8, 1, NameSpace
),
12948 rec( 9, 1, VolumeNumber
),
12949 rec( 10, 4, DirectoryBase
),
12950 rec( 14, 4, HugeBitMask
),
12951 rec( 18, 16, HugeStateInfo
),
12953 pkt
.Reply((25,279), [
12954 rec( 8, 16, NextHugeStateInfo
),
12955 rec( 24, (1,255), HugeData
),
12957 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
12958 0x8701, 0x8b00, 0x8d00, 0x8f00, 0x9001,
12959 0x9600, 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00,
12962 pkt
= NCP(0x571B, "Set Huge Name Space Information", 'file', has_length
=0)
12963 pkt
.Request((35,289), [
12964 rec( 8, 1, NameSpace
),
12965 rec( 9, 1, VolumeNumber
),
12966 rec( 10, 4, DirectoryBase
),
12967 rec( 14, 4, HugeBitMask
),
12968 rec( 18, 16, HugeStateInfo
),
12969 rec( 34, (1,255), HugeData
),
12972 rec( 8, 16, NextHugeStateInfo
),
12973 rec( 24, 4, HugeDataUsed
),
12975 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
12976 0x8701, 0x8b00, 0x8d00, 0x8f00, 0x9001,
12977 0x9600, 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00,
12980 pkt
= NCP(0x571C, "Get Full Path String", 'file', has_length
=0)
12981 pkt
.Request((28,282), [
12982 rec( 8, 1, SrcNameSpace
),
12983 rec( 9, 1, DestNameSpace
),
12984 rec( 10, 2, PathCookieFlags
),
12985 rec( 12, 4, Cookie1
),
12986 rec( 16, 4, Cookie2
),
12987 rec( 20, 1, VolumeNumber
),
12988 rec( 21, 4, DirectoryBase
),
12989 rec( 25, 1, HandleFlag
),
12990 rec( 26, 1, PathCount
, var
="x" ),
12991 rec( 27, (1,255), Path
, repeat
="x" ),
12992 ], info_str
=(Path
, "Get Full Path from: %s", "/%s"))
12993 pkt
.Reply((23,277), [
12994 rec( 8, 2, PathCookieFlags
),
12995 rec( 10, 4, Cookie1
),
12996 rec( 14, 4, Cookie2
),
12997 rec( 18, 2, PathComponentSize
),
12998 rec( 20, 2, PathComponentCount
, var
='x' ),
12999 rec( 22, (1,255), Path
, repeat
='x' ),
13001 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
13002 0x8701, 0x8b00, 0x8d00, 0x8f00, 0x9001,
13003 0x9600, 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00,
13006 pkt
= NCP(0x571D, "Get Effective Directory Rights", 'file', has_length
=0)
13007 pkt
.Request((24, 278), [
13008 rec( 8, 1, NameSpace
),
13009 rec( 9, 1, DestNameSpace
),
13010 rec( 10, 2, SearchAttributesLow
),
13011 rec( 12, 2, ReturnInfoMask
),
13012 rec( 14, 2, ExtendedInfo
),
13013 rec( 16, 1, VolumeNumber
),
13014 rec( 17, 4, DirectoryBase
),
13015 rec( 21, 1, HandleFlag
),
13016 rec( 22, 1, PathCount
, var
="x" ),
13017 rec( 23, (1,255), Path
, repeat
="x" ),
13018 ], info_str
=(Path
, "Get Effective Rights for: %s", "/%s"))
13019 pkt
.Reply(NO_LENGTH_CHECK
, [
13020 rec( 8, 2, EffectiveRights
),
13021 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 1)" ),
13022 srec( PadDSSpaceAllocate
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 0)" ),
13023 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 1)" ),
13024 srec( PadAttributes
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 0)" ),
13025 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 1)" ),
13026 srec( PadDataStreamSize
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 0)" ),
13027 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 1)" ),
13028 srec( PadTotalStreamSize
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 0)" ),
13029 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 1)" ),
13030 srec( PadCreationInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 0)" ),
13031 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 1)" ),
13032 srec( PadModifyInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 0)" ),
13033 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 1)" ),
13034 srec( PadArchiveInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 0)" ),
13035 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 1)" ),
13036 srec( PadRightsInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 0)" ),
13037 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 1)" ),
13038 srec( PadDirEntry
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 0)" ),
13039 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 1)" ),
13040 srec( PadEAInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 0)" ),
13041 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 1)" ),
13042 srec( PadNSInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 0)" ),
13043 srec( FileNameStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_fname == 1)" ),
13044 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_alloc == 1)" ),
13045 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_attr == 1)" ),
13046 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_size == 1)" ),
13047 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_tspace == 1)" ),
13048 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_create == 1)" ),
13049 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_mod == 1)" ),
13050 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_arch == 1)" ),
13051 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_rights == 1)" ),
13052 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_dir == 1)" ),
13053 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_eattr == 1)" ),
13054 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_ns == 1)" ),
13055 srec( FileNameStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_fname == 1)" ),
13057 pkt
.ReqCondSizeVariable()
13058 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
13059 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13060 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16])
13062 pkt
= NCP(0x571E, "Open/Create File or Subdirectory", 'file', has_length
=0)
13063 pkt
.Request((34, 288), [
13064 rec( 8, 1, NameSpace
),
13065 rec( 9, 1, DataStream
),
13066 rec( 10, 1, OpenCreateMode
),
13067 rec( 11, 1, Reserved
),
13068 rec( 12, 2, SearchAttributesLow
),
13069 rec( 14, 2, Reserved2
),
13070 rec( 16, 2, ReturnInfoMask
),
13071 rec( 18, 2, ExtendedInfo
),
13072 rec( 20, 4, AttributesDef32
),
13073 rec( 24, 2, DesiredAccessRights
),
13074 rec( 26, 1, VolumeNumber
),
13075 rec( 27, 4, DirectoryBase
),
13076 rec( 31, 1, HandleFlag
),
13077 rec( 32, 1, PathCount
, var
="x" ),
13078 rec( 33, (1,255), Path
, repeat
="x" ),
13079 ], info_str
=(Path
, "Open or Create File: %s", "/%s"))
13080 pkt
.Reply(NO_LENGTH_CHECK
, [
13081 rec( 8, 4, FileHandle
, BE
),
13082 rec( 12, 1, OpenCreateAction
),
13083 rec( 13, 1, Reserved
),
13084 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 1)" ),
13085 srec( PadDSSpaceAllocate
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 0)" ),
13086 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 1)" ),
13087 srec( PadAttributes
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 0)" ),
13088 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 1)" ),
13089 srec( PadDataStreamSize
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 0)" ),
13090 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 1)" ),
13091 srec( PadTotalStreamSize
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 0)" ),
13092 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 1)" ),
13093 srec( PadCreationInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 0)" ),
13094 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 1)" ),
13095 srec( PadModifyInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 0)" ),
13096 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 1)" ),
13097 srec( PadArchiveInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 0)" ),
13098 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 1)" ),
13099 srec( PadRightsInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 0)" ),
13100 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 1)" ),
13101 srec( PadDirEntry
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 0)" ),
13102 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 1)" ),
13103 srec( PadEAInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 0)" ),
13104 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 1)" ),
13105 srec( PadNSInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 0)" ),
13106 srec( FileNameStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_fname == 1)" ),
13107 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_alloc == 1)" ),
13108 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_attr == 1)" ),
13109 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_size == 1)" ),
13110 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_tspace == 1)" ),
13111 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_create == 1)" ),
13112 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_mod == 1)" ),
13113 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_arch == 1)" ),
13114 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_rights == 1)" ),
13115 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_dir == 1)" ),
13116 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_eattr == 1)" ),
13117 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_ns == 1)" ),
13118 srec( FileNameStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_fname == 1)" ),
13120 pkt
.ReqCondSizeVariable()
13121 pkt
.CompletionCodes([0x0000, 0x0102, 0x8000, 0x8101, 0x8401, 0x8501,
13122 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13123 0x9804, 0x9b03, 0x9c03, 0xbe00, 0xbf00, 0xfd00, 0xff16])
13125 pkt
= NCP(0x571F, "Get File Information", 'file', has_length
=0)
13127 rec( 8, 6, FileHandle
),
13128 rec( 14, 1, HandleInfoLevel
),
13129 ], info_str
=(FileHandle
, "Get File Information - 0x%s", ", %s"))
13130 pkt
.Reply(NO_LENGTH_CHECK
, [
13131 rec( 8, 4, VolumeNumberLong
),
13132 rec( 12, 4, DirectoryBase
),
13133 srec(HandleInfoLevel0
, req_cond
="ncp.handle_info_level==0x00" ),
13134 srec(HandleInfoLevel1
, req_cond
="ncp.handle_info_level==0x01" ),
13135 srec(HandleInfoLevel2
, req_cond
="ncp.handle_info_level==0x02" ),
13136 srec(HandleInfoLevel3
, req_cond
="ncp.handle_info_level==0x03" ),
13137 srec(HandleInfoLevel4
, req_cond
="ncp.handle_info_level==0x04" ),
13138 srec(HandleInfoLevel5
, req_cond
="ncp.handle_info_level==0x05" ),
13140 pkt
.ReqCondSizeVariable()
13141 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
13142 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13143 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16])
13145 pkt
= NCP(0x5720, "Open/Create File or Subdirectory with Callback", 'file', has_length
=0)
13146 pkt
.Request((30, 284), [
13147 rec( 8, 1, NameSpace
),
13148 rec( 9, 1, OpenCreateMode
),
13149 rec( 10, 2, SearchAttributesLow
),
13150 rec( 12, 2, ReturnInfoMask
),
13151 rec( 14, 2, ExtendedInfo
),
13152 rec( 16, 4, AttributesDef32
),
13153 rec( 20, 2, DesiredAccessRights
),
13154 rec( 22, 1, VolumeNumber
),
13155 rec( 23, 4, DirectoryBase
),
13156 rec( 27, 1, HandleFlag
),
13157 rec( 28, 1, PathCount
, var
="x" ),
13158 rec( 29, (1,255), Path
, repeat
="x" ),
13159 ], info_str
=(Path
, "Open or Create with Op-Lock: %s", "/%s"))
13160 pkt
.Reply( NO_LENGTH_CHECK
, [
13161 rec( 8, 4, FileHandle
, BE
),
13162 rec( 12, 1, OpenCreateAction
),
13163 rec( 13, 1, OCRetFlags
),
13164 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 1)" ),
13165 srec( PadDSSpaceAllocate
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 0)" ),
13166 srec( AttributesStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 1)" ),
13167 srec( PadAttributes
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 0)" ),
13168 srec( DataStreamSizeStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 1)" ),
13169 srec( PadDataStreamSize
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 0)" ),
13170 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 1)" ),
13171 srec( PadTotalStreamSize
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 0)" ),
13172 srec( CreationInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 1)" ),
13173 srec( PadCreationInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 0)" ),
13174 srec( ModifyInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 1)" ),
13175 srec( PadModifyInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 0)" ),
13176 srec( ArchiveInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 1)" ),
13177 srec( PadArchiveInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 0)" ),
13178 srec( RightsInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 1)" ),
13179 srec( PadRightsInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 0)" ),
13180 srec( DirEntryStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 1)" ),
13181 srec( PadDirEntry
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 0)" ),
13182 srec( EAInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 1)" ),
13183 srec( PadEAInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 0)" ),
13184 srec( NSInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 1)" ),
13185 srec( PadNSInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 0)" ),
13186 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_alloc == 1)" ),
13187 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_attr == 1)" ),
13188 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_size == 1)" ),
13189 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_tspace == 1)" ),
13190 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_eattr == 1)" ),
13191 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_mod == 1)" ),
13192 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_create == 1)" ),
13193 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_arch == 1)" ),
13194 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_dir == 1)" ),
13195 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_rights == 1)" ),
13196 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_ns == 1)" ),
13197 srec( ReferenceIDStruct
, req_cond
="ncp.ret_info_mask_id == 1" ),
13198 srec( NSAttributeStruct
, req_cond
="ncp.ret_info_mask_ns_attr == 1" ),
13199 srec( DStreamActual
, req_cond
="ncp.ret_info_mask_actual == 1" ),
13200 srec( DStreamLogical
, req_cond
="ncp.ret_info_mask_logical == 1" ),
13201 srec( LastUpdatedInSecondsStruct
, req_cond
="ncp.ext_info_update == 1" ),
13202 srec( DOSNameStruct
, req_cond
="ncp.ext_info_dos_name == 1" ),
13203 srec( FlushTimeStruct
, req_cond
="ncp.ext_info_flush == 1" ),
13204 srec( ParentBaseIDStruct
, req_cond
="ncp.ext_info_parental == 1" ),
13205 srec( MacFinderInfoStruct
, req_cond
="ncp.ext_info_mac_finder == 1" ),
13206 srec( SiblingCountStruct
, req_cond
="ncp.ext_info_sibling == 1" ),
13207 srec( EffectiveRightsStruct
, req_cond
="ncp.ext_info_effective == 1" ),
13208 srec( MacTimeStruct
, req_cond
="ncp.ext_info_mac_date == 1" ),
13209 srec( LastAccessedTimeStruct
, req_cond
="ncp.ext_info_access == 1" ),
13210 srec( FileNameStruct
, req_cond
="ncp.ret_info_mask_fname == 1" ),
13212 pkt
.ReqCondSizeVariable()
13213 pkt
.CompletionCodes([0x0000, 0x0102, 0x7f00, 0x8000, 0x8101, 0x8401, 0x8501,
13214 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13215 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16])
13217 pkt
= NCP(0x5721, "Open/Create File or Subdirectory II with Callback", 'file', has_length
=0)
13218 pkt
.Request((34, 288), [
13219 rec( 8, 1, NameSpace
),
13220 rec( 9, 1, DataStream
),
13221 rec( 10, 1, OpenCreateMode
),
13222 rec( 11, 1, Reserved
),
13223 rec( 12, 2, SearchAttributesLow
),
13224 rec( 14, 2, Reserved2
),
13225 rec( 16, 2, ReturnInfoMask
),
13226 rec( 18, 2, ExtendedInfo
),
13227 rec( 20, 4, AttributesDef32
),
13228 rec( 24, 2, DesiredAccessRights
),
13229 rec( 26, 1, VolumeNumber
),
13230 rec( 27, 4, DirectoryBase
),
13231 rec( 31, 1, HandleFlag
),
13232 rec( 32, 1, PathCount
, var
="x" ),
13233 rec( 33, (1,255), Path
, repeat
="x" ),
13234 ], info_str
=(FilePath
, "Open or Create II with Op-Lock: %s", "/%s"))
13235 pkt
.Reply(NO_LENGTH_CHECK
, [
13236 rec( 8, 4, FileHandle
),
13237 rec( 12, 1, OpenCreateAction
),
13238 rec( 13, 1, OCRetFlags
),
13239 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 1)" ),
13240 srec( PadDSSpaceAllocate
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 0)" ),
13241 srec( AttributesStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 1)" ),
13242 srec( PadAttributes
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 0)" ),
13243 srec( DataStreamSizeStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 1)" ),
13244 srec( PadDataStreamSize
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 0)" ),
13245 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 1)" ),
13246 srec( PadTotalStreamSize
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 0)" ),
13247 srec( CreationInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 1)" ),
13248 srec( PadCreationInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 0)" ),
13249 srec( ModifyInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 1)" ),
13250 srec( PadModifyInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 0)" ),
13251 srec( ArchiveInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 1)" ),
13252 srec( PadArchiveInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 0)" ),
13253 srec( RightsInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 1)" ),
13254 srec( PadRightsInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 0)" ),
13255 srec( DirEntryStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 1)" ),
13256 srec( PadDirEntry
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 0)" ),
13257 srec( EAInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 1)" ),
13258 srec( PadEAInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 0)" ),
13259 srec( NSInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 1)" ),
13260 srec( PadNSInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 0)" ),
13261 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_alloc == 1)" ),
13262 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_attr == 1)" ),
13263 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_size == 1)" ),
13264 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_tspace == 1)" ),
13265 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_eattr == 1)" ),
13266 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_mod == 1)" ),
13267 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_create == 1)" ),
13268 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_arch == 1)" ),
13269 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_dir == 1)" ),
13270 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_rights == 1)" ),
13271 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_ns == 1)" ),
13272 srec( ReferenceIDStruct
, req_cond
="ncp.ret_info_mask_id == 1" ),
13273 srec( NSAttributeStruct
, req_cond
="ncp.ret_info_mask_ns_attr == 1" ),
13274 srec( DStreamActual
, req_cond
="ncp.ret_info_mask_actual == 1" ),
13275 srec( DStreamLogical
, req_cond
="ncp.ret_info_mask_logical == 1" ),
13276 srec( LastUpdatedInSecondsStruct
, req_cond
="ncp.ext_info_update == 1" ),
13277 srec( DOSNameStruct
, req_cond
="ncp.ext_info_dos_name == 1" ),
13278 srec( FlushTimeStruct
, req_cond
="ncp.ext_info_flush == 1" ),
13279 srec( ParentBaseIDStruct
, req_cond
="ncp.ext_info_parental == 1" ),
13280 srec( MacFinderInfoStruct
, req_cond
="ncp.ext_info_mac_finder == 1" ),
13281 srec( SiblingCountStruct
, req_cond
="ncp.ext_info_sibling == 1" ),
13282 srec( EffectiveRightsStruct
, req_cond
="ncp.ext_info_effective == 1" ),
13283 srec( MacTimeStruct
, req_cond
="ncp.ext_info_mac_date == 1" ),
13284 srec( LastAccessedTimeStruct
, req_cond
="ncp.ext_info_access == 1" ),
13285 srec( FileNameStruct
, req_cond
="ncp.ret_info_mask_fname == 1" ),
13287 pkt
.ReqCondSizeVariable()
13288 pkt
.CompletionCodes([0x0000, 0x0102, 0x8000, 0x8101, 0x8401, 0x8501,
13289 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13290 0x9804, 0x9b03, 0x9c03, 0xbe00, 0xbf00, 0xfd00, 0xff16])
13292 pkt
= NCP(0x5722, "Open CallBack Control (Op-Lock)", 'file', has_length
=0)
13294 rec( 10, 4, CCFileHandle
, BE
),
13295 rec( 14, 1, CCFunction
),
13298 pkt
.CompletionCodes([0x0000, 0x8000, 0x8800, 0xff16])
13300 pkt
= NCP(0x5723, "Modify DOS Attributes on a File or Subdirectory", 'file', has_length
=0)
13301 pkt
.Request((28, 282), [
13302 rec( 8, 1, NameSpace
),
13303 rec( 9, 1, Flags
),
13304 rec( 10, 2, SearchAttributesLow
),
13305 rec( 12, 2, ReturnInfoMask
),
13306 rec( 14, 2, ExtendedInfo
),
13307 rec( 16, 4, AttributesDef32
),
13308 rec( 20, 1, VolumeNumber
),
13309 rec( 21, 4, DirectoryBase
),
13310 rec( 25, 1, HandleFlag
),
13311 rec( 26, 1, PathCount
, var
="x" ),
13312 rec( 27, (1,255), Path
, repeat
="x" ),
13313 ], info_str
=(Path
, "Modify DOS Attributes for: %s", "/%s"))
13315 rec( 8, 4, ItemsChecked
),
13316 rec( 12, 4, ItemsChanged
),
13317 rec( 16, 4, AttributeValidFlag
),
13318 rec( 20, 4, AttributesDef32
),
13320 pkt
.CompletionCodes([0x0000, 0x0102, 0x8000, 0x8101, 0x8401, 0x8501,
13321 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13322 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16])
13324 pkt
= NCP(0x5724, "Log File", 'sync', has_length
=0)
13325 pkt
.Request((28, 282), [
13326 rec( 8, 1, NameSpace
),
13327 rec( 9, 1, Reserved
),
13328 rec( 10, 2, Reserved2
),
13329 rec( 12, 1, LogFileFlagLow
),
13330 rec( 13, 1, LogFileFlagHigh
),
13331 rec( 14, 2, Reserved2
),
13332 rec( 16, 4, WaitTime
),
13333 rec( 20, 1, VolumeNumber
),
13334 rec( 21, 4, DirectoryBase
),
13335 rec( 25, 1, HandleFlag
),
13336 rec( 26, 1, PathCount
, var
="x" ),
13337 rec( 27, (1,255), Path
, repeat
="x" ),
13338 ], info_str
=(Path
, "Lock File: %s", "/%s"))
13340 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
13341 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13342 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16])
13344 pkt
= NCP(0x5725, "Release File", 'sync', has_length
=0)
13345 pkt
.Request((20, 274), [
13346 rec( 8, 1, NameSpace
),
13347 rec( 9, 1, Reserved
),
13348 rec( 10, 2, Reserved2
),
13349 rec( 12, 1, VolumeNumber
),
13350 rec( 13, 4, DirectoryBase
),
13351 rec( 17, 1, HandleFlag
),
13352 rec( 18, 1, PathCount
, var
="x" ),
13353 rec( 19, (1,255), Path
, repeat
="x" ),
13354 ], info_str
=(Path
, "Release Lock on: %s", "/%s"))
13356 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
13357 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13358 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16])
13360 pkt
= NCP(0x5726, "Clear File", 'sync', has_length
=0)
13361 pkt
.Request((20, 274), [
13362 rec( 8, 1, NameSpace
),
13363 rec( 9, 1, Reserved
),
13364 rec( 10, 2, Reserved2
),
13365 rec( 12, 1, VolumeNumber
),
13366 rec( 13, 4, DirectoryBase
),
13367 rec( 17, 1, HandleFlag
),
13368 rec( 18, 1, PathCount
, var
="x" ),
13369 rec( 19, (1,255), Path
, repeat
="x" ),
13370 ], info_str
=(Path
, "Clear File: %s", "/%s"))
13372 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
13373 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13374 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16])
13376 pkt
= NCP(0x5727, "Get Directory Disk Space Restriction", 'file', has_length
=0)
13377 pkt
.Request((19, 273), [
13378 rec( 8, 1, NameSpace
),
13379 rec( 9, 2, Reserved2
),
13380 rec( 11, 1, VolumeNumber
),
13381 rec( 12, 4, DirectoryBase
),
13382 rec( 16, 1, HandleFlag
),
13383 rec( 17, 1, PathCount
, var
="x" ),
13384 rec( 18, (1,255), Path
, repeat
="x" ),
13385 ], info_str
=(Path
, "Get Disk Space Restriction for: %s", "/%s"))
13387 rec( 8, 1, NumberOfEntries
, var
="x" ),
13388 rec( 9, 9, SpaceStruct
, repeat
="x" ),
13390 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
13391 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13392 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00,
13395 pkt
= NCP(0x5728, "Search for File or Subdirectory Set (Extended Errors)", 'file', has_length
=0)
13396 pkt
.Request((28, 282), [
13397 rec( 8, 1, NameSpace
),
13398 rec( 9, 1, DataStream
),
13399 rec( 10, 2, SearchAttributesLow
),
13400 rec( 12, 2, ReturnInfoMask
),
13401 rec( 14, 2, ExtendedInfo
),
13402 rec( 16, 2, ReturnInfoCount
),
13403 rec( 18, 9, SeachSequenceStruct
),
13404 rec( 27, (1,255), SearchPattern
),
13405 ], info_str
=(SearchPattern
, "Search for: %s", ", %s"))
13406 pkt
.Reply(NO_LENGTH_CHECK
, [
13407 rec( 8, 9, SeachSequenceStruct
),
13408 rec( 17, 1, MoreFlag
),
13409 rec( 18, 2, InfoCount
),
13410 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 1)" ),
13411 srec( PadDSSpaceAllocate
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 0)" ),
13412 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 1)" ),
13413 srec( PadAttributes
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 0)" ),
13414 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 1)" ),
13415 srec( PadDataStreamSize
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 0)" ),
13416 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 1)" ),
13417 srec( PadTotalStreamSize
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 0)" ),
13418 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 1)" ),
13419 srec( PadCreationInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 0)" ),
13420 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 1)" ),
13421 srec( PadModifyInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 0)" ),
13422 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 1)" ),
13423 srec( PadArchiveInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 0)" ),
13424 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 1)" ),
13425 srec( PadRightsInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 0)" ),
13426 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 1)" ),
13427 srec( PadDirEntry
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 0)" ),
13428 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 1)" ),
13429 srec( PadEAInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 0)" ),
13430 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 1)" ),
13431 srec( PadNSInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 0)" ),
13432 srec( FileNameStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_fname == 1)" ),
13433 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_alloc == 1)" ),
13434 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_attr == 1)" ),
13435 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_size == 1)" ),
13436 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_tspace == 1)" ),
13437 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_create == 1)" ),
13438 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_mod == 1)" ),
13439 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_arch == 1)" ),
13440 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_rights == 1)" ),
13441 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_dir == 1)" ),
13442 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_eattr == 1)" ),
13443 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_ns == 1)" ),
13444 srec( FileNameStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_fname == 1)" ),
13446 pkt
.ReqCondSizeVariable()
13447 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
13448 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13449 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16])
13451 pkt
= NCP(0x5729, "Scan Salvageable Files", 'file', has_length
=0)
13452 pkt
.Request((24,278), [
13453 rec( 8, 1, NameSpace
),
13454 rec( 9, 1, Reserved
),
13455 rec( 10, 2, CtrlFlags
, LE
),
13456 rec( 12, 4, SequenceNumber
),
13457 rec( 16, 1, VolumeNumber
),
13458 rec( 17, 4, DirectoryBase
),
13459 rec( 21, 1, HandleFlag
),
13460 rec( 22, 1, PathCount
, var
="x" ),
13461 rec( 23, (1,255), Path
, repeat
="x" ),
13462 ], info_str
=(Path
, "Scan Deleted Files: %s", "/%s"))
13463 pkt
.Reply(NO_LENGTH_CHECK
, [
13464 rec( 8, 4, SequenceNumber
),
13465 rec( 12, 4, DirectoryBase
),
13466 rec( 16, 4, ScanItems
, var
="x" ),
13467 srec(ScanInfoFileName
, req_cond
="ncp.ctrl_flags==0x0001", repeat
="x" ),
13468 srec(ScanInfoFileNoName
, req_cond
="ncp.ctrl_flags==0x0000", repeat
="x" ),
13470 pkt
.ReqCondSizeVariable()
13471 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
13472 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13473 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16])
13475 pkt
= NCP(0x572A, "Purge Salvageable File List", 'file', has_length
=0)
13477 rec( 8, 1, NameSpace
),
13478 rec( 9, 1, Reserved
),
13479 rec( 10, 2, PurgeFlags
),
13480 rec( 12, 4, VolumeNumberLong
),
13481 rec( 16, 4, DirectoryBase
),
13482 rec( 20, 4, PurgeCount
, var
="x" ),
13483 rec( 24, 4, PurgeList
, repeat
="x" ),
13486 rec( 8, 4, PurgeCount
, var
="x" ),
13487 rec( 12, 4, PurgeCcode
, repeat
="x" ),
13489 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
13490 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13491 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16])
13493 pkt
= NCP(0x572B, "Revoke File Handle Rights", 'file', has_length
=0)
13495 rec( 8, 3, Reserved3
),
13496 rec( 11, 1, RevQueryFlag
),
13497 rec( 12, 4, FileHandle
),
13498 rec( 16, 1, RemoveOpenRights
),
13501 rec( 8, 4, FileHandle
),
13502 rec( 12, 1, OpenRights
),
13504 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
13505 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13506 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16])
13508 pkt
= NCP(0x572C, "Update File Handle Rights", 'file', has_length
=0)
13510 rec( 8, 2, Reserved2
),
13511 rec( 10, 1, VolumeNumber
),
13512 rec( 11, 1, NameSpace
),
13513 rec( 12, 4, DirectoryNumber
),
13514 rec( 16, 2, AccessRightsMaskWord
),
13515 rec( 18, 2, NewAccessRights
),
13516 rec( 20, 4, FileHandle
, BE
),
13519 rec( 8, 4, FileHandle
, BE
),
13520 rec( 12, 4, EffectiveRights
, LE
),
13522 pkt
.CompletionCodes([0x0000, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
13523 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
13524 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16])
13526 pkt
= NCP(0x5740, "Read from File", 'file', has_length
=0)
13528 rec( 8, 4, FileHandle
, BE
),
13529 rec( 12, 8, StartOffset64bit
, BE
),
13530 rec( 20, 2, NumBytes
, BE
),
13533 rec( 8, 2, NumBytes
, BE
),
13535 pkt
.CompletionCodes([0x0000, 0x8300, 0x8800, 0x9300, 0x9500, 0xa201, 0xfd00, 0xff1b])
13537 pkt
= NCP(0x5741, "Write to File", 'file', has_length
=0)
13539 rec( 8, 4, FileHandle
, BE
),
13540 rec( 12, 8, StartOffset64bit
, BE
),
13541 rec( 20, 2, NumBytes
, BE
),
13544 pkt
.CompletionCodes([0x0000, 0x0102, 0x8300, 0x8800, 0x9400, 0x9500, 0xa201, 0xfd00, 0xff1b])
13546 pkt
= NCP(0x5742, "Get Current Size of File", 'file', has_length
=0)
13548 rec( 8, 4, FileHandle
, BE
),
13551 rec( 8, 8, FileSize64bit
),
13553 pkt
.CompletionCodes([0x0000, 0x7f00, 0x8800, 0x9600, 0xfd02, 0xff01])
13555 pkt
= NCP(0x5743, "Log Physical Record", 'file', has_length
=0)
13557 rec( 8, 4, LockFlag
, BE
),
13558 rec(12, 4, FileHandle
, BE
),
13559 rec(16, 8, StartOffset64bit
, BE
),
13560 rec(24, 8, Length64bit
, BE
),
13561 rec(32, 4, LockTimeout
, BE
),
13564 pkt
.CompletionCodes([0x0000, 0x7f00, 0x8800, 0x9600, 0xfb08, 0xfd02, 0xff01])
13566 pkt
= NCP(0x5744, "Release Physical Record", 'file', has_length
=0)
13568 rec(8, 4, FileHandle
, BE
),
13569 rec(12, 8, StartOffset64bit
, BE
),
13570 rec(20, 8, Length64bit
, BE
),
13573 pkt
.CompletionCodes([0x0000, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
13574 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
13575 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff1a])
13577 pkt
= NCP(0x5745, "Clear Physical Record", 'file', has_length
=0)
13579 rec(8, 4, FileHandle
, BE
),
13580 rec(12, 8, StartOffset64bit
, BE
),
13581 rec(20, 8, Length64bit
, BE
),
13584 pkt
.CompletionCodes([0x0000, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
13585 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
13586 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff1a])
13588 pkt
= NCP(0x5801, "Query Volume Audit Status", "auditing", has_length
=0)
13590 rec( 8, 4, ConnectionNumber
),
13593 rec(8, 32, NWAuditStatus
),
13595 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
13596 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
13597 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
13599 pkt
= NCP(0x5802, "Add User Audit Property", "auditing", has_length
=0)
13601 rec(8, 4, AuditIDType
),
13602 rec(12, 4, AuditID
),
13603 rec(16, 4, AuditHandle
),
13604 rec(20, 4, ObjectID
),
13605 rec(24, 1, AuditFlag
),
13608 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
13609 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
13610 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
13612 pkt
= NCP(0x5803, "Add Auditor Access", "auditing", has_length
=0)
13615 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
13616 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
13617 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xde00, 0xfd00, 0xff16])
13619 pkt
= NCP(0x5804, "Change Auditor Volume Password", "auditing", has_length
=0)
13622 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
13623 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
13624 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
13626 pkt
= NCP(0x5805, "Check Auditor Access", "auditing", has_length
=0)
13629 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
13630 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
13631 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
13633 pkt
= NCP(0x5806, "Delete User Audit Property", "auditing", has_length
=0)
13636 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
13637 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
13638 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff21])
13640 pkt
= NCP(0x5807, "Disable Auditing On A Volume", "auditing", has_length
=0)
13643 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
13644 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
13645 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
13647 pkt
= NCP(0x5808, "Enable Auditing On A Volume", "auditing", has_length
=0)
13650 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
13651 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
13652 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xde00, 0xfd00, 0xff16])
13654 pkt
= NCP(0x5809, "Query User Being Audited", "auditing", has_length
=0)
13657 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
13658 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
13659 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
13661 pkt
= NCP(0x580A, "Read Audit Bit Map", "auditing", has_length
=0)
13664 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
13665 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
13666 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
13668 pkt
= NCP(0x580B, "Read Audit File Configuration Header", "auditing", has_length
=0)
13671 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
13672 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
13673 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
13675 pkt
= NCP(0x580D, "Remove Auditor Access", "auditing", has_length
=0)
13678 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
13679 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
13680 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
13682 pkt
= NCP(0x580E, "Reset Audit File", "auditing", has_length
=0)
13685 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
13686 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
13687 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
13690 pkt
= NCP(0x580F, "Auditing NCP", "auditing", has_length
=0)
13693 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
13694 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
13695 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfb00, 0xfd00, 0xff16])
13697 pkt
= NCP(0x5810, "Write Audit Bit Map", "auditing", has_length
=0)
13700 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
13701 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
13702 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
13704 pkt
= NCP(0x5811, "Write Audit File Configuration Header", "auditing", has_length
=0)
13707 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
13708 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
13709 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
13711 pkt
= NCP(0x5812, "Change Auditor Volume Password2", "auditing", has_length
=0)
13714 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
13715 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
13716 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
13718 pkt
= NCP(0x5813, "Return Audit Flags", "auditing", has_length
=0)
13721 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
13722 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
13723 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
13725 pkt
= NCP(0x5814, "Close Old Audit File", "auditing", has_length
=0)
13728 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
13729 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
13730 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
13732 pkt
= NCP(0x5816, "Check Level Two Access", "auditing", has_length
=0)
13735 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
13736 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
13737 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xde00, 0xfd00, 0xff16])
13739 pkt
= NCP(0x5817, "Return Old Audit File List", "auditing", has_length
=0)
13742 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
13743 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
13744 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
13746 pkt
= NCP(0x5818, "Init Audit File Reads", "auditing", has_length
=0)
13749 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
13750 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
13751 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
13753 pkt
= NCP(0x5819, "Read Auditing File", "auditing", has_length
=0)
13756 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
13757 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
13758 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
13760 pkt
= NCP(0x581A, "Delete Old Audit File", "auditing", has_length
=0)
13763 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
13764 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
13765 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
13767 pkt
= NCP(0x581E, "Restart Volume auditing", "auditing", has_length
=0)
13770 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
13771 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
13772 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
13774 pkt
= NCP(0x581F, "Set Volume Password", "auditing", has_length
=0)
13777 pkt
.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
13778 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
13779 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
13781 pkt
= NCP(0x5901, "Open/Create File or Subdirectory", "enhanced", has_length
=0)
13782 pkt
.Request((37,290), [
13783 rec( 8, 1, NameSpace
),
13784 rec( 9, 1, OpenCreateMode
),
13785 rec( 10, 2, SearchAttributesLow
),
13786 rec( 12, 2, ReturnInfoMask
),
13787 rec( 14, 2, ExtendedInfo
),
13788 rec( 16, 4, AttributesDef32
),
13789 rec( 20, 2, DesiredAccessRights
),
13790 rec( 22, 4, DirectoryBase
),
13791 rec( 26, 1, VolumeNumber
),
13792 rec( 27, 1, HandleFlag
),
13793 rec( 28, 1, DataTypeFlag
),
13794 rec( 29, 5, Reserved5
),
13795 rec( 34, 1, PathCount
, var
="x" ),
13796 rec( 35, (2,255), Path16
, repeat
="x" ),
13797 ], info_str
=(Path16
, "Open or Create File or Subdirectory: %s", "/%s"))
13798 pkt
.Reply( NO_LENGTH_CHECK
, [
13799 rec( 8, 4, FileHandle
, BE
),
13800 rec( 12, 1, OpenCreateAction
),
13801 rec( 13, 1, Reserved
),
13802 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 1)" ),
13803 srec( PadDSSpaceAllocate
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 0)" ),
13804 srec( AttributesStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 1)" ),
13805 srec( PadAttributes
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 0)" ),
13806 srec( DataStreamSizeStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 1)" ),
13807 srec( PadDataStreamSize
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 0)" ),
13808 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 1)" ),
13809 srec( PadTotalStreamSize
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 0)" ),
13810 srec( CreationInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 1)" ),
13811 srec( PadCreationInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 0)" ),
13812 srec( ModifyInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 1)" ),
13813 srec( PadModifyInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 0)" ),
13814 srec( ArchiveInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 1)" ),
13815 srec( PadArchiveInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 0)" ),
13816 srec( RightsInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 1)" ),
13817 srec( PadRightsInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 0)" ),
13818 srec( DirEntryStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 1)" ),
13819 srec( PadDirEntry
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 0)" ),
13820 srec( EAInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 1)" ),
13821 srec( PadEAInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 0)" ),
13822 srec( NSInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 1)" ),
13823 srec( PadNSInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 0)" ),
13824 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_alloc == 1)" ),
13825 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_attr == 1)" ),
13826 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_size == 1)" ),
13827 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_tspace == 1)" ),
13828 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_eattr == 1)" ),
13829 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_mod == 1)" ),
13830 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_create == 1)" ),
13831 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_arch == 1)" ),
13832 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_dir == 1)" ),
13833 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_rights == 1)" ),
13834 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_ns == 1)" ),
13835 srec( ReferenceIDStruct
, req_cond
="ncp.ret_info_mask_id == 1" ),
13836 srec( NSAttributeStruct
, req_cond
="ncp.ret_info_mask_ns_attr == 1" ),
13837 srec( DStreamActual
, req_cond
="ncp.ret_info_mask_actual == 1" ),
13838 srec( DStreamLogical
, req_cond
="ncp.ret_info_mask_logical == 1" ),
13839 srec( LastUpdatedInSecondsStruct
, req_cond
="ncp.ext_info_update == 1" ),
13840 srec( DOSName16Struct
, req_cond
="ncp.ext_info_dos_name == 1" ),
13841 srec( FlushTimeStruct
, req_cond
="ncp.ext_info_flush == 1" ),
13842 srec( ParentBaseIDStruct
, req_cond
="ncp.ext_info_parental == 1" ),
13843 srec( MacFinderInfoStruct
, req_cond
="ncp.ext_info_mac_finder == 1" ),
13844 srec( SiblingCountStruct
, req_cond
="ncp.ext_info_sibling == 1" ),
13845 srec( EffectiveRightsStruct
, req_cond
="ncp.ext_info_effective == 1" ),
13846 srec( MacTimeStruct
, req_cond
="ncp.ext_info_mac_date == 1" ),
13847 srec( LastAccessedTimeStruct
, req_cond
="ncp.ext_info_access == 1" ),
13848 srec( FileSize64bitStruct
, req_cond
="ncp.ext_info_64_bit_fs == 1" ),
13849 srec( FileName16Struct
, req_cond
="ncp.ret_info_mask_fname == 1" ),
13851 pkt
.ReqCondSizeVariable()
13852 pkt
.CompletionCodes([0x0000, 0x0102, 0x7f00, 0x8000, 0x8101, 0x8401, 0x8501,
13853 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13854 0x9804, 0x9900, 0x9b03, 0x9c03, 0xa901, 0xa500, 0xaa00, 0xbf00, 0xfd00, 0xff16])
13856 pkt
= NCP(0x5902, "Initialize Search", 'enhanced', has_length
=0)
13857 pkt
.Request( (25,278), [
13858 rec( 8, 1, NameSpace
),
13859 rec( 9, 1, Reserved
),
13860 rec( 10, 4, DirectoryBase
),
13861 rec( 14, 1, VolumeNumber
),
13862 rec( 15, 1, HandleFlag
),
13863 rec( 16, 1, DataTypeFlag
),
13864 rec( 17, 5, Reserved5
),
13865 rec( 22, 1, PathCount
, var
="x" ),
13866 rec( 23, (2,255), Path16
, repeat
="x" ),
13867 ], info_str
=(Path16
, "Set Search Pointer to: %s", "/%s"))
13869 rec( 8, 1, VolumeNumber
),
13870 rec( 9, 4, DirectoryNumber
),
13871 rec( 13, 4, DirectoryEntryNumber
),
13873 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
13874 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13875 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
13877 pkt
= NCP(0x5903, "Search for File or Subdirectory", 'enhanced', has_length
=0)
13878 pkt
.Request((28, 281), [
13879 rec( 8, 1, NameSpace
),
13880 rec( 9, 1, DataStream
),
13881 rec( 10, 2, SearchAttributesLow
),
13882 rec( 12, 2, ReturnInfoMask
),
13883 rec( 14, 2, ExtendedInfo
),
13884 rec( 16, 9, SeachSequenceStruct
),
13885 rec( 25, 1, DataTypeFlag
),
13886 rec( 26, (2,255), SearchPattern16
),
13887 ], info_str
=(SearchPattern16
, "Search for: %s", "/%s"))
13888 pkt
.Reply( NO_LENGTH_CHECK
, [
13889 rec( 8, 9, SeachSequenceStruct
),
13890 rec( 17, 1, Reserved
),
13891 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 1)" ),
13892 srec( PadDSSpaceAllocate
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 0)" ),
13893 srec( AttributesStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 1)" ),
13894 srec( PadAttributes
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 0)" ),
13895 srec( DataStreamSizeStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 1)" ),
13896 srec( PadDataStreamSize
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 0)" ),
13897 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 1)" ),
13898 srec( PadTotalStreamSize
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 0)" ),
13899 srec( CreationInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 1)" ),
13900 srec( PadCreationInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 0)" ),
13901 srec( ModifyInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 1)" ),
13902 srec( PadModifyInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 0)" ),
13903 srec( ArchiveInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 1)" ),
13904 srec( PadArchiveInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 0)" ),
13905 srec( RightsInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 1)" ),
13906 srec( PadRightsInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 0)" ),
13907 srec( DirEntryStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 1)" ),
13908 srec( PadDirEntry
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 0)" ),
13909 srec( EAInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 1)" ),
13910 srec( PadEAInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 0)" ),
13911 srec( NSInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 1)" ),
13912 srec( PadNSInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 0)" ),
13913 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_alloc == 1)" ),
13914 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_attr == 1)" ),
13915 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_size == 1)" ),
13916 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_tspace == 1)" ),
13917 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_eattr == 1)" ),
13918 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_mod == 1)" ),
13919 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_create == 1)" ),
13920 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_arch == 1)" ),
13921 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_dir == 1)" ),
13922 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_rights == 1)" ),
13923 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_ns == 1)" ),
13924 srec( ReferenceIDStruct
, req_cond
="ncp.ret_info_mask_id == 1" ),
13925 srec( NSAttributeStruct
, req_cond
="ncp.ret_info_mask_ns_attr == 1" ),
13926 srec( DStreamActual
, req_cond
="ncp.ret_info_mask_actual == 1" ),
13927 srec( DStreamLogical
, req_cond
="ncp.ret_info_mask_logical == 1" ),
13928 srec( LastUpdatedInSecondsStruct
, req_cond
="ncp.ext_info_update == 1" ),
13929 srec( DOSName16Struct
, req_cond
="ncp.ext_info_dos_name == 1" ),
13930 srec( FlushTimeStruct
, req_cond
="ncp.ext_info_flush == 1" ),
13931 srec( ParentBaseIDStruct
, req_cond
="ncp.ext_info_parental == 1" ),
13932 srec( MacFinderInfoStruct
, req_cond
="ncp.ext_info_mac_finder == 1" ),
13933 srec( SiblingCountStruct
, req_cond
="ncp.ext_info_sibling == 1" ),
13934 srec( EffectiveRightsStruct
, req_cond
="ncp.ext_info_effective == 1" ),
13935 srec( MacTimeStruct
, req_cond
="ncp.ext_info_mac_date == 1" ),
13936 srec( LastAccessedTimeStruct
, req_cond
="ncp.ext_info_access == 1" ),
13937 srec( FileSize64bitStruct
, req_cond
="ncp.ext_info_64_bit_fs == 1" ),
13938 srec( FileName16Struct
, req_cond
="ncp.ret_info_mask_fname == 1" ),
13940 pkt
.ReqCondSizeVariable()
13941 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
13942 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13943 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
13945 pkt
= NCP(0x5904, "Rename Or Move a File or Subdirectory", 'enhanced', has_length
=0)
13946 pkt
.Request((42, 548), [
13947 rec( 8, 1, NameSpace
),
13948 rec( 9, 1, RenameFlag
),
13949 rec( 10, 2, SearchAttributesLow
),
13950 rec( 12, 12, SrcEnhNWHandlePathS1
),
13951 rec( 24, 1, PathCount
, var
="x" ),
13952 rec( 25, 12, DstEnhNWHandlePathS1
),
13953 rec( 37, 1, PathCount
, var
="y" ),
13954 rec( 38, (2, 255), Path16
, repeat
="x" ),
13955 rec( -1, (2,255), DestPath16
, repeat
="y" ),
13956 ], info_str
=(Path16
, "Rename or Move: %s", "/%s"))
13958 pkt
.CompletionCodes([0x0000, 0x0102, 0x8000, 0x8101, 0x8401, 0x8501,
13959 0x8701, 0x8d00, 0x8e00, 0x8f00, 0x9001, 0x9200, 0x9600,
13960 0x9804, 0x9a00, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
13962 pkt
= NCP(0x5905, "Scan File or Subdirectory for Trustees", 'enhanced', has_length
=0)
13963 pkt
.Request((31, 284), [
13964 rec( 8, 1, NameSpace
),
13965 rec( 9, 1, MaxReplyObjectIDCount
),
13966 rec( 10, 2, SearchAttributesLow
),
13967 rec( 12, 4, SequenceNumber
),
13968 rec( 16, 4, DirectoryBase
),
13969 rec( 20, 1, VolumeNumber
),
13970 rec( 21, 1, HandleFlag
),
13971 rec( 22, 1, DataTypeFlag
),
13972 rec( 23, 5, Reserved5
),
13973 rec( 28, 1, PathCount
, var
="x" ),
13974 rec( 29, (2, 255), Path16
, repeat
="x" ),
13975 ], info_str
=(Path16
, "Scan Trustees for: %s", "/%s"))
13977 rec( 8, 4, SequenceNumber
),
13978 rec( 12, 2, ObjectIDCount
, var
="x" ),
13979 rec( 14, 6, TrusteeStruct
, repeat
="x" ),
13981 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
13982 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
13983 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
13985 pkt
= NCP(0x5906, "Obtain File or SubDirectory Information", 'enhanced', has_length
=0)
13986 pkt
.Request((22), [
13987 rec( 8, 1, SrcNameSpace
),
13988 rec( 9, 1, DestNameSpace
),
13989 rec( 10, 2, SearchAttributesLow
),
13990 rec( 12, 2, ReturnInfoMask
, LE
),
13991 rec( 14, 2, ExtendedInfo
),
13992 rec( 16, 4, DirectoryBase
),
13993 rec( 20, 1, VolumeNumber
),
13994 rec( 21, 1, HandleFlag
),
13996 # Move to packet-ncp2222.inc
13997 # The datatype flag indicates if the path is represented as ASCII or UTF8
13998 # ASCII has a 1 byte count field whereas UTF8 has a two byte count field.
14000 #rec( 22, 1, DataTypeFlag ),
14001 #rec( 23, 5, Reserved5 ),
14002 #rec( 28, 1, PathCount, var="x" ),
14003 #rec( 29, (2,255), Path16, repeat="x",),
14004 ], info_str
=(Path16
, "Obtain Info for: %s", "/%s"))
14005 pkt
.Reply(NO_LENGTH_CHECK
, [
14006 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 1)" ),
14007 srec( PadDSSpaceAllocate
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 0)" ),
14008 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 1)" ),
14009 srec( PadAttributes
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 0)" ),
14010 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 1)" ),
14011 srec( PadDataStreamSize
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 0)" ),
14012 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 1)" ),
14013 srec( PadTotalStreamSize
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 0)" ),
14014 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 1)" ),
14015 srec( PadCreationInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 0)" ),
14016 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 1)" ),
14017 srec( PadModifyInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 0)" ),
14018 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 1)" ),
14019 srec( PadArchiveInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 0)" ),
14020 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 1)" ),
14021 srec( PadRightsInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 0)" ),
14022 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 1)" ),
14023 srec( PadDirEntry
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 0)" ),
14024 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 1)" ),
14025 srec( PadEAInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 0)" ),
14026 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 1)" ),
14027 srec( PadNSInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 0)" ),
14028 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_alloc == 1)" ),
14029 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_attr == 1)" ),
14030 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_size == 1)" ),
14031 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_tspace == 1)" ),
14032 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_create == 1)" ),
14033 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_mod == 1)" ),
14034 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_arch == 1)" ),
14035 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_rights == 1)" ),
14036 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_dir == 1)" ),
14037 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_eattr == 1)" ),
14038 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_ns == 1)" ),
14039 srec( ReferenceIDStruct
, req_cond
="ncp.ret_info_mask_id == 1" ),
14040 srec( NSAttributeStruct
, req_cond
="ncp.ret_info_mask_ns_attr == 1" ),
14041 srec( DStreamActual
, req_cond
="ncp.ret_info_mask_actual == 1" ),
14042 srec( DStreamLogical
, req_cond
="ncp.ret_info_mask_logical == 1" ),
14043 srec( LastUpdatedInSecondsStruct
, req_cond
="ncp.ext_info_update == 1" ),
14044 srec( DOSName16Struct
, req_cond
="ncp.ext_info_dos_name == 1" ),
14045 srec( FlushTimeStruct
, req_cond
="ncp.ext_info_flush == 1" ),
14046 srec( ParentBaseIDStruct
, req_cond
="ncp.ext_info_parental == 1" ),
14047 srec( MacFinderInfoStruct
, req_cond
="ncp.ext_info_mac_finder == 1" ),
14048 srec( SiblingCountStruct
, req_cond
="ncp.ext_info_sibling == 1" ),
14049 srec( EffectiveRightsStruct
, req_cond
="ncp.ext_info_effective == 1" ),
14050 srec( MacTimeStruct
, req_cond
="ncp.ext_info_mac_date == 1" ),
14051 srec( LastAccessedTimeStruct
, req_cond
="ncp.ext_info_access == 1" ),
14052 srec( FileSize64bitStruct
, req_cond
="ncp.ext_info_64_bit_fs == 1" ),
14053 srec( FileName16Struct
, req_cond
="ncp.ret_info_mask_fname == 1" ),
14055 pkt
.ReqCondSizeVariable()
14056 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
14057 0x8700, 0x8900, 0x8d00, 0x8f00, 0x9001, 0x9600,
14058 0x9804, 0x9b03, 0x9c03, 0xa802, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
14060 pkt
= NCP(0x5907, "Modify File or Subdirectory DOS Information", 'enhanced', has_length
=0)
14061 pkt
.Request((69,322), [
14062 rec( 8, 1, NameSpace
),
14063 rec( 9, 1, Reserved
),
14064 rec( 10, 2, SearchAttributesLow
),
14065 rec( 12, 2, ModifyDOSInfoMask
),
14066 rec( 14, 2, Reserved2
),
14067 rec( 16, 2, AttributesDef16
),
14068 rec( 18, 1, FileMode
),
14069 rec( 19, 1, FileExtendedAttributes
),
14070 rec( 20, 2, CreationDate
),
14071 rec( 22, 2, CreationTime
),
14072 rec( 24, 4, CreatorID
, BE
),
14073 rec( 28, 2, ModifiedDate
),
14074 rec( 30, 2, ModifiedTime
),
14075 rec( 32, 4, ModifierID
, BE
),
14076 rec( 36, 2, ArchivedDate
),
14077 rec( 38, 2, ArchivedTime
),
14078 rec( 40, 4, ArchiverID
, BE
),
14079 rec( 44, 2, LastAccessedDate
),
14080 rec( 46, 2, InheritedRightsMask
),
14081 rec( 48, 2, InheritanceRevokeMask
),
14082 rec( 50, 4, MaxSpace
),
14083 rec( 54, 4, DirectoryBase
),
14084 rec( 58, 1, VolumeNumber
),
14085 rec( 59, 1, HandleFlag
),
14086 rec( 60, 1, DataTypeFlag
),
14087 rec( 61, 5, Reserved5
),
14088 rec( 66, 1, PathCount
, var
="x" ),
14089 rec( 67, (2,255), Path16
, repeat
="x" ),
14090 ], info_str
=(Path16
, "Modify DOS Information for: %s", "/%s"))
14092 pkt
.CompletionCodes([0x0000, 0x0102, 0x8000, 0x8101, 0x8401, 0x8501,
14093 0x8701, 0x8c01, 0x8d00, 0x8e00, 0x8f00, 0x9001, 0x9600,
14094 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
14096 pkt
= NCP(0x5908, "Delete a File or Subdirectory", 'enhanced', has_length
=0)
14097 pkt
.Request((27,280), [
14098 rec( 8, 1, NameSpace
),
14099 rec( 9, 1, Reserved
),
14100 rec( 10, 2, SearchAttributesLow
),
14101 rec( 12, 4, DirectoryBase
),
14102 rec( 16, 1, VolumeNumber
),
14103 rec( 17, 1, HandleFlag
),
14104 rec( 18, 1, DataTypeFlag
),
14105 rec( 19, 5, Reserved5
),
14106 rec( 24, 1, PathCount
, var
="x" ),
14107 rec( 25, (2,255), Path16
, repeat
="x" ),
14108 ], info_str
=(Path16
, "Delete a File or Subdirectory: %s", "/%s"))
14110 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
14111 0x8701, 0x8900, 0x8a00, 0x8d00, 0x8e00, 0x8f00, 0x9001, 0x9600,
14112 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
14114 pkt
= NCP(0x5909, "Set Short Directory Handle", 'enhanced', has_length
=0)
14115 pkt
.Request((27,280), [
14116 rec( 8, 1, NameSpace
),
14117 rec( 9, 1, DataStream
),
14118 rec( 10, 1, DestDirHandle
),
14119 rec( 11, 1, Reserved
),
14120 rec( 12, 4, DirectoryBase
),
14121 rec( 16, 1, VolumeNumber
),
14122 rec( 17, 1, HandleFlag
),
14123 rec( 18, 1, DataTypeFlag
),
14124 rec( 19, 5, Reserved5
),
14125 rec( 24, 1, PathCount
, var
="x" ),
14126 rec( 25, (2,255), Path16
, repeat
="x" ),
14127 ], info_str
=(Path16
, "Set Short Directory Handle to: %s", "/%s"))
14129 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
14130 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
14131 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
14133 pkt
= NCP(0x590A, "Add Trustee Set to File or Subdirectory", 'enhanced', has_length
=0)
14134 pkt
.Request((37,290), [
14135 rec( 8, 1, NameSpace
),
14136 rec( 9, 1, Reserved
),
14137 rec( 10, 2, SearchAttributesLow
),
14138 rec( 12, 2, AccessRightsMaskWord
),
14139 rec( 14, 2, ObjectIDCount
, var
="y" ),
14140 rec( -1, 6, TrusteeStruct
, repeat
="y" ),
14141 rec( -1, 4, DirectoryBase
),
14142 rec( -1, 1, VolumeNumber
),
14143 rec( -1, 1, HandleFlag
),
14144 rec( -1, 1, DataTypeFlag
),
14145 rec( -1, 5, Reserved5
),
14146 rec( -1, 1, PathCount
, var
="x" ),
14147 rec( -1, (2,255), Path16
, repeat
="x" ),
14148 ], info_str
=(Path16
, "Add Trustee Set to: %s", "/%s"))
14150 pkt
.CompletionCodes([0x0000, 0x0102, 0x8000, 0x8101, 0x8401, 0x8501,
14151 0x8701, 0x8c01, 0x8d00, 0x8f00, 0x9001, 0x9600,
14152 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfc01, 0xfd00, 0xff16])
14154 pkt
= NCP(0x590B, "Delete Trustee Set from File or SubDirectory", 'enhanced', has_length
=0)
14155 pkt
.Request((34,287), [
14156 rec( 8, 1, NameSpace
),
14157 rec( 9, 1, Reserved
),
14158 rec( 10, 2, ObjectIDCount
, var
="y" ),
14159 rec( 12, 7, TrusteeStruct
, repeat
="y" ),
14160 rec( 19, 4, DirectoryBase
),
14161 rec( 23, 1, VolumeNumber
),
14162 rec( 24, 1, HandleFlag
),
14163 rec( 25, 1, DataTypeFlag
),
14164 rec( 26, 5, Reserved5
),
14165 rec( 31, 1, PathCount
, var
="x" ),
14166 rec( 32, (2,255), Path16
, repeat
="x" ),
14167 ], info_str
=(Path16
, "Delete Trustee Set from: %s", "/%s"))
14169 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
14170 0x8701, 0x8c01, 0x8d00, 0x8f00, 0x9001, 0x9600,
14171 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
14173 pkt
= NCP(0x590C, "Allocate Short Directory Handle", 'enhanced', has_length
=0)
14174 pkt
.Request((27,280), [
14175 rec( 8, 1, NameSpace
),
14176 rec( 9, 1, DestNameSpace
),
14177 rec( 10, 2, AllocateMode
),
14178 rec( 12, 4, DirectoryBase
),
14179 rec( 16, 1, VolumeNumber
),
14180 rec( 17, 1, HandleFlag
),
14181 rec( 18, 1, DataTypeFlag
),
14182 rec( 19, 5, Reserved5
),
14183 rec( 24, 1, PathCount
, var
="x" ),
14184 rec( 25, (2,255), Path16
, repeat
="x" ),
14185 ], info_str
=(Path16
, "Allocate Short Directory Handle to: %s", "/%s"))
14186 pkt
.Reply(NO_LENGTH_CHECK
, [
14187 srec( ReplyLevel2Struct
, req_cond
="ncp.alloc_reply_lvl2 == TRUE" ),
14188 srec( ReplyLevel1Struct
, req_cond
="ncp.alloc_reply_lvl2 == FALSE" ),
14190 pkt
.ReqCondSizeVariable()
14191 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
14192 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
14193 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
14195 pkt
= NCP(0x5910, "Scan Salvageable Files", 'enhanced', has_length
=0)
14196 pkt
.Request((33,286), [
14197 rec( 8, 1, NameSpace
),
14198 rec( 9, 1, DataStream
),
14199 rec( 10, 2, ReturnInfoMask
),
14200 rec( 12, 2, ExtendedInfo
),
14201 rec( 14, 4, SequenceNumber
),
14202 rec( 18, 4, DirectoryBase
),
14203 rec( 22, 1, VolumeNumber
),
14204 rec( 23, 1, HandleFlag
),
14205 rec( 24, 1, DataTypeFlag
),
14206 rec( 25, 5, Reserved5
),
14207 rec( 30, 1, PathCount
, var
="x" ),
14208 rec( 31, (2,255), Path16
, repeat
="x" ),
14209 ], info_str
=(Path16
, "Scan for Deleted Files in: %s", "/%s"))
14210 pkt
.Reply(NO_LENGTH_CHECK
, [
14211 rec( 8, 4, SequenceNumber
),
14212 rec( 12, 2, DeletedTime
),
14213 rec( 14, 2, DeletedDate
),
14214 rec( 16, 4, DeletedID
, BE
),
14215 rec( 20, 4, VolumeID
),
14216 rec( 24, 4, DirectoryBase
),
14217 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 1)" ),
14218 srec( PadDSSpaceAllocate
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 0)" ),
14219 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 1)" ),
14220 srec( PadAttributes
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 0)" ),
14221 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 1)" ),
14222 srec( PadDataStreamSize
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 0)" ),
14223 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 1)" ),
14224 srec( PadTotalStreamSize
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 0)" ),
14225 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 1)" ),
14226 srec( PadCreationInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 0)" ),
14227 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 1)" ),
14228 srec( PadModifyInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 0)" ),
14229 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 1)" ),
14230 srec( PadArchiveInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 0)" ),
14231 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 1)" ),
14232 srec( PadRightsInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 0)" ),
14233 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 1)" ),
14234 srec( PadDirEntry
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 0)" ),
14235 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 1)" ),
14236 srec( PadEAInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 0)" ),
14237 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 1)" ),
14238 srec( PadNSInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 0)" ),
14239 srec( FileName16Struct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_fname == 1)" ),
14240 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_alloc == 1)" ),
14241 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_attr == 1)" ),
14242 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_size == 1)" ),
14243 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_tspace == 1)" ),
14244 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_create == 1)" ),
14245 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_mod == 1)" ),
14246 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_arch == 1)" ),
14247 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_rights == 1)" ),
14248 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_dir == 1)" ),
14249 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_eattr == 1)" ),
14250 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_ns == 1)" ),
14251 srec( FileSize64bitStruct
, req_cond
="ncp.ext_info_64_bit_fs == 1" ),
14252 srec( FileName16Struct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_fname == 1)" ),
14254 pkt
.ReqCondSizeVariable()
14255 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
14256 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
14257 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
14259 pkt
= NCP(0x5911, "Recover Salvageable File", 'enhanced', has_length
=0)
14260 pkt
.Request((24,278), [
14261 rec( 8, 1, NameSpace
),
14262 rec( 9, 1, Reserved
),
14263 rec( 10, 4, SequenceNumber
),
14264 rec( 14, 4, VolumeID
),
14265 rec( 18, 4, DirectoryBase
),
14266 rec( 22, 1, DataTypeFlag
),
14267 rec( 23, (1,255), FileName
),
14268 ], info_str
=(FileName
, "Recover Deleted File: %s", ", %s"))
14270 pkt
.CompletionCodes([0x0000, 0x0102, 0x8000, 0x8101, 0x8401, 0x8501,
14271 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
14272 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
14274 pkt
= NCP(0x5913, "Get Name Space Information", 'enhanced', has_length
=0)
14276 rec( 8, 1, SrcNameSpace
),
14277 rec( 9, 1, DestNameSpace
),
14278 rec( 10, 1, DataTypeFlag
),
14279 rec( 11, 1, VolumeNumber
),
14280 rec( 12, 4, DirectoryBase
),
14281 rec( 16, 2, NamesSpaceInfoMask
),
14283 pkt
.Reply(NO_LENGTH_CHECK
, [
14284 srec( FileName16Struct
, req_cond
="ncp.ns_info_mask_modify == TRUE" ),
14285 srec( FileAttributesStruct
, req_cond
="ncp.ns_info_mask_fatt == TRUE" ),
14286 srec( CreationDateStruct
, req_cond
="ncp.ns_info_mask_cdate == TRUE" ),
14287 srec( CreationTimeStruct
, req_cond
="ncp.ns_info_mask_ctime == TRUE" ),
14288 srec( OwnerIDStruct
, req_cond
="ncp.ns_info_mask_owner == TRUE" ),
14289 srec( ArchiveDateStruct
, req_cond
="ncp.ns_info_mask_adate == TRUE" ),
14290 srec( ArchiveTimeStruct
, req_cond
="ncp.ns_info_mask_atime == TRUE" ),
14291 srec( ArchiveIdStruct
, req_cond
="ncp.ns_info_mask_aid == TRUE" ),
14292 srec( UpdateDateStruct
, req_cond
="ncp.ns_info_mask_udate == TRUE" ),
14293 srec( UpdateTimeStruct
, req_cond
="ncp.ns_info_mask_utime == TRUE" ),
14294 srec( UpdateIDStruct
, req_cond
="ncp.ns_info_mask_uid == TRUE" ),
14295 srec( LastAccessStruct
, req_cond
="ncp.ns_info_mask_acc_date == TRUE" ),
14296 srec( RightsInfoStruct
, req_cond
="ncp.ns_info_mask_max_acc_mask == TRUE" ),
14298 pkt
.ReqCondSizeVariable()
14299 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
14300 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
14301 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
14303 pkt
= NCP(0x5914, "Search for File or Subdirectory Set", 'enhanced', has_length
=0)
14304 pkt
.Request((30, 283), [
14305 rec( 8, 1, NameSpace
),
14306 rec( 9, 1, DataStream
),
14307 rec( 10, 2, SearchAttributesLow
),
14308 rec( 12, 2, ReturnInfoMask
),
14309 rec( 14, 2, ExtendedInfo
),
14310 rec( 16, 2, ReturnInfoCount
),
14311 rec( 18, 9, SeachSequenceStruct
),
14312 rec( 27, 1, DataTypeFlag
),
14313 rec( 28, (2,255), SearchPattern16
),
14315 # The reply packet is dissected in packet-ncp2222.inc
14316 pkt
.Reply(NO_LENGTH_CHECK
, [
14318 pkt
.ReqCondSizeVariable()
14319 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
14320 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
14321 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
14323 pkt
= NCP(0x5916, "Generate Directory Base and Volume Number", 'enhanced', has_length
=0)
14324 pkt
.Request((27,280), [
14325 rec( 8, 1, SrcNameSpace
),
14326 rec( 9, 1, DestNameSpace
),
14327 rec( 10, 2, dstNSIndicator
),
14328 rec( 12, 4, DirectoryBase
),
14329 rec( 16, 1, VolumeNumber
),
14330 rec( 17, 1, HandleFlag
),
14331 rec( 18, 1, DataTypeFlag
),
14332 rec( 19, 5, Reserved5
),
14333 rec( 24, 1, PathCount
, var
="x" ),
14334 rec( 25, (2,255), Path16
, repeat
="x" ),
14335 ], info_str
=(Path16
, "Get Volume and Directory Base from: %s", "/%s"))
14337 rec( 8, 4, DirectoryBase
),
14338 rec( 12, 4, DOSDirectoryBase
),
14339 rec( 16, 1, VolumeNumber
),
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(0x5919, "Set Name Space Information", 'enhanced', has_length
=0)
14347 rec( 8, 1, SrcNameSpace
),
14348 rec( 9, 1, DestNameSpace
),
14349 rec( 10, 1, VolumeNumber
),
14350 rec( 11, 4, DirectoryBase
),
14351 rec( 15, 2, NamesSpaceInfoMask
),
14352 rec( 17, 1, DataTypeFlag
),
14353 rec( 18, 512, NSSpecificInfo
),
14356 pkt
.CompletionCodes([0x0000, 0x0102, 0x8000, 0x8101, 0x8401, 0x8501,
14357 0x8701, 0x8b00, 0x8d00, 0x8f00, 0x9001,
14358 0x9600, 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00,
14361 pkt
= NCP(0x591C, "Get Full Path String", 'enhanced', has_length
=0)
14362 pkt
.Request((35,288), [
14363 rec( 8, 1, SrcNameSpace
),
14364 rec( 9, 1, DestNameSpace
),
14365 rec( 10, 2, PathCookieFlags
),
14366 rec( 12, 4, Cookie1
),
14367 rec( 16, 4, Cookie2
),
14368 rec( 20, 4, DirectoryBase
),
14369 rec( 24, 1, VolumeNumber
),
14370 rec( 25, 1, HandleFlag
),
14371 rec( 26, 1, DataTypeFlag
),
14372 rec( 27, 5, Reserved5
),
14373 rec( 32, 1, PathCount
, var
="x" ),
14374 rec( 33, (2,255), Path16
, repeat
="x" ),
14375 ], info_str
=(Path16
, "Get Full Path from: %s", "/%s"))
14376 pkt
.Reply((24,277), [
14377 rec( 8, 2, PathCookieFlags
),
14378 rec( 10, 4, Cookie1
),
14379 rec( 14, 4, Cookie2
),
14380 rec( 18, 2, PathComponentSize
),
14381 rec( 20, 2, PathComponentCount
, var
='x' ),
14382 rec( 22, (2,255), Path16
, repeat
='x' ),
14384 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
14385 0x8701, 0x8b00, 0x8d00, 0x8f00, 0x9001,
14386 0x9600, 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00,
14389 pkt
= NCP(0x591D, "Get Effective Directory Rights", 'enhanced', has_length
=0)
14390 pkt
.Request((31, 284), [
14391 rec( 8, 1, NameSpace
),
14392 rec( 9, 1, DestNameSpace
),
14393 rec( 10, 2, SearchAttributesLow
),
14394 rec( 12, 2, ReturnInfoMask
),
14395 rec( 14, 2, ExtendedInfo
),
14396 rec( 16, 4, DirectoryBase
),
14397 rec( 20, 1, VolumeNumber
),
14398 rec( 21, 1, HandleFlag
),
14399 rec( 22, 1, DataTypeFlag
),
14400 rec( 23, 5, Reserved5
),
14401 rec( 28, 1, PathCount
, var
="x" ),
14402 rec( 29, (2,255), Path16
, repeat
="x" ),
14403 ], info_str
=(Path16
, "Get Effective Rights for: %s", "/%s"))
14404 pkt
.Reply(NO_LENGTH_CHECK
, [
14405 rec( 8, 2, EffectiveRights
, LE
),
14406 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 1)" ),
14407 srec( PadDSSpaceAllocate
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 0)" ),
14408 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 1)" ),
14409 srec( PadAttributes
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 0)" ),
14410 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 1)" ),
14411 srec( PadDataStreamSize
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 0)" ),
14412 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 1)" ),
14413 srec( PadTotalStreamSize
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 0)" ),
14414 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 1)" ),
14415 srec( PadCreationInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 0)" ),
14416 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 1)" ),
14417 srec( PadModifyInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 0)" ),
14418 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 1)" ),
14419 srec( PadArchiveInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 0)" ),
14420 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 1)" ),
14421 srec( PadRightsInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 0)" ),
14422 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 1)" ),
14423 srec( PadDirEntry
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 0)" ),
14424 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 1)" ),
14425 srec( PadEAInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 0)" ),
14426 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 1)" ),
14427 srec( PadNSInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 0)" ),
14428 srec( FileName16Struct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_fname == 1)" ),
14429 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_alloc == 1)" ),
14430 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_attr == 1)" ),
14431 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_size == 1)" ),
14432 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_tspace == 1)" ),
14433 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_create == 1)" ),
14434 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_mod == 1)" ),
14435 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_arch == 1)" ),
14436 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_rights == 1)" ),
14437 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_dir == 1)" ),
14438 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_eattr == 1)" ),
14439 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_ns == 1)" ),
14440 srec( FileSize64bitStruct
, req_cond
="(ncp.ext_info_64_bit_fs == 1) && (ncp.ret_info_mask_fname == 1)" ),
14441 srec( FileName16Struct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_fname == 1)" ),
14443 pkt
.ReqCondSizeVariable()
14444 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
14445 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
14446 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
14448 pkt
= NCP(0x591E, "Open/Create File or Subdirectory", 'enhanced', has_length
=0)
14449 pkt
.Request((41, 294), [
14450 rec( 8, 1, NameSpace
),
14451 rec( 9, 1, DataStream
),
14452 rec( 10, 1, OpenCreateMode
),
14453 rec( 11, 1, Reserved
),
14454 rec( 12, 2, SearchAttributesLow
),
14455 rec( 14, 2, Reserved2
),
14456 rec( 16, 2, ReturnInfoMask
),
14457 rec( 18, 2, ExtendedInfo
),
14458 rec( 20, 4, AttributesDef32
),
14459 rec( 24, 2, DesiredAccessRights
),
14460 rec( 26, 4, DirectoryBase
),
14461 rec( 30, 1, VolumeNumber
),
14462 rec( 31, 1, HandleFlag
),
14463 rec( 32, 1, DataTypeFlag
),
14464 rec( 33, 5, Reserved5
),
14465 rec( 38, 1, PathCount
, var
="x" ),
14466 rec( 39, (2,255), Path16
, repeat
="x" ),
14467 ], info_str
=(Path16
, "Open or Create File: %s", "/%s"))
14468 pkt
.Reply(NO_LENGTH_CHECK
, [
14469 rec( 8, 4, FileHandle
, BE
),
14470 rec( 12, 1, OpenCreateAction
),
14471 rec( 13, 1, Reserved
),
14472 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 1)" ),
14473 srec( PadDSSpaceAllocate
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 0)" ),
14474 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 1)" ),
14475 srec( PadAttributes
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 0)" ),
14476 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 1)" ),
14477 srec( PadDataStreamSize
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 0)" ),
14478 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 1)" ),
14479 srec( PadTotalStreamSize
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 0)" ),
14480 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 1)" ),
14481 srec( PadCreationInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 0)" ),
14482 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 1)" ),
14483 srec( PadModifyInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 0)" ),
14484 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 1)" ),
14485 srec( PadArchiveInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 0)" ),
14486 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 1)" ),
14487 srec( PadRightsInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 0)" ),
14488 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 1)" ),
14489 srec( PadDirEntry
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 0)" ),
14490 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 1)" ),
14491 srec( PadEAInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 0)" ),
14492 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 1)" ),
14493 srec( PadNSInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 0)" ),
14494 srec( FileName16Struct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_fname == 1)" ),
14495 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_alloc == 1)" ),
14496 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_attr == 1)" ),
14497 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_size == 1)" ),
14498 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_tspace == 1)" ),
14499 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_create == 1)" ),
14500 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_mod == 1)" ),
14501 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_arch == 1)" ),
14502 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_rights == 1)" ),
14503 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_dir == 1)" ),
14504 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_eattr == 1)" ),
14505 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_ns == 1)" ),
14506 srec( FileSize64bitStruct
, req_cond
="(ncp.ext_info_64_bit_fs == 1) && (ncp.ret_info_mask_fname == 1)" ),
14507 srec( FileName16Struct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_fname == 1)" ),
14509 pkt
.ReqCondSizeVariable()
14510 pkt
.CompletionCodes([0x0000, 0x0102, 0x8000, 0x8101, 0x8401, 0x8501,
14511 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
14512 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
14514 pkt
= NCP(0x5920, "Open/Create File or Subdirectory with Callback", 'enhanced', has_length
=0)
14515 pkt
.Request((37, 290), [
14516 rec( 8, 1, NameSpace
),
14517 rec( 9, 1, OpenCreateMode
),
14518 rec( 10, 2, SearchAttributesLow
),
14519 rec( 12, 2, ReturnInfoMask
),
14520 rec( 14, 2, ExtendedInfo
),
14521 rec( 16, 4, AttributesDef32
),
14522 rec( 20, 2, DesiredAccessRights
),
14523 rec( 22, 4, DirectoryBase
),
14524 rec( 26, 1, VolumeNumber
),
14525 rec( 27, 1, HandleFlag
),
14526 rec( 28, 1, DataTypeFlag
),
14527 rec( 29, 5, Reserved5
),
14528 rec( 34, 1, PathCount
, var
="x" ),
14529 rec( 35, (2,255), Path16
, repeat
="x" ),
14530 ], info_str
=(Path16
, "Open or Create with Op-Lock: %s", "/%s"))
14531 pkt
.Reply( NO_LENGTH_CHECK
, [
14532 rec( 8, 4, FileHandle
, BE
),
14533 rec( 12, 1, OpenCreateAction
),
14534 rec( 13, 1, OCRetFlags
),
14535 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 1)" ),
14536 srec( PadDSSpaceAllocate
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 0)" ),
14537 srec( AttributesStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 1)" ),
14538 srec( PadAttributes
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 0)" ),
14539 srec( DataStreamSizeStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 1)" ),
14540 srec( PadDataStreamSize
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 0)" ),
14541 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 1)" ),
14542 srec( PadTotalStreamSize
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 0)" ),
14543 srec( CreationInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 1)" ),
14544 srec( PadCreationInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 0)" ),
14545 srec( ModifyInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 1)" ),
14546 srec( PadModifyInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 0)" ),
14547 srec( ArchiveInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 1)" ),
14548 srec( PadArchiveInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 0)" ),
14549 srec( RightsInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 1)" ),
14550 srec( PadRightsInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 0)" ),
14551 srec( DirEntryStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 1)" ),
14552 srec( PadDirEntry
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 0)" ),
14553 srec( EAInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 1)" ),
14554 srec( PadEAInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 0)" ),
14555 srec( NSInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 1)" ),
14556 srec( PadNSInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 0)" ),
14557 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_alloc == 1)" ),
14558 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_attr == 1)" ),
14559 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_size == 1)" ),
14560 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_tspace == 1)" ),
14561 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_eattr == 1)" ),
14562 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_mod == 1)" ),
14563 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_create == 1)" ),
14564 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_arch == 1)" ),
14565 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_dir == 1)" ),
14566 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_rights == 1)" ),
14567 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_ns == 1)" ),
14568 srec( ReferenceIDStruct
, req_cond
="ncp.ret_info_mask_id == 1" ),
14569 srec( NSAttributeStruct
, req_cond
="ncp.ret_info_mask_ns_attr == 1" ),
14570 srec( DStreamActual
, req_cond
="ncp.ret_info_mask_actual == 1" ),
14571 srec( DStreamLogical
, req_cond
="ncp.ret_info_mask_logical == 1" ),
14572 srec( LastUpdatedInSecondsStruct
, req_cond
="ncp.ext_info_update == 1" ),
14573 srec( DOSName16Struct
, req_cond
="ncp.ext_info_dos_name == 1" ),
14574 srec( FlushTimeStruct
, req_cond
="ncp.ext_info_flush == 1" ),
14575 srec( ParentBaseIDStruct
, req_cond
="ncp.ext_info_parental == 1" ),
14576 srec( MacFinderInfoStruct
, req_cond
="ncp.ext_info_mac_finder == 1" ),
14577 srec( SiblingCountStruct
, req_cond
="ncp.ext_info_sibling == 1" ),
14578 srec( EffectiveRightsStruct
, req_cond
="ncp.ext_info_effective == 1" ),
14579 srec( MacTimeStruct
, req_cond
="ncp.ext_info_mac_date == 1" ),
14580 srec( LastAccessedTimeStruct
, req_cond
="ncp.ext_info_access == 1" ),
14581 srec( FileSize64bitStruct
, req_cond
="ncp.ext_info_64_bit_fs == 1" ),
14582 srec( FileName16Struct
, req_cond
="ncp.ret_info_mask_fname == 1" ),
14584 pkt
.ReqCondSizeVariable()
14585 pkt
.CompletionCodes([0x0000, 0x0102, 0x7f00, 0x8000, 0x8101, 0x8401, 0x8501,
14586 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
14587 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
14589 pkt
= NCP(0x5921, "Open/Create File or Subdirectory II with Callback", 'enhanced', has_length
=0)
14590 pkt
.Request((41, 294), [
14591 rec( 8, 1, NameSpace
),
14592 rec( 9, 1, DataStream
),
14593 rec( 10, 1, OpenCreateMode
),
14594 rec( 11, 1, Reserved
),
14595 rec( 12, 2, SearchAttributesLow
),
14596 rec( 14, 2, Reserved2
),
14597 rec( 16, 2, ReturnInfoMask
),
14598 rec( 18, 2, ExtendedInfo
),
14599 rec( 20, 4, AttributesDef32
),
14600 rec( 24, 2, DesiredAccessRights
),
14601 rec( 26, 4, DirectoryBase
),
14602 rec( 30, 1, VolumeNumber
),
14603 rec( 31, 1, HandleFlag
),
14604 rec( 32, 1, DataTypeFlag
),
14605 rec( 33, 5, Reserved5
),
14606 rec( 38, 1, PathCount
, var
="x" ),
14607 rec( 39, (2,255), Path16
, repeat
="x" ),
14608 ], info_str
=(Path16
, "Open or Create II with Op-Lock: %s", "/%s"))
14609 pkt
.Reply( NO_LENGTH_CHECK
, [
14610 rec( 8, 4, FileHandle
),
14611 rec( 12, 1, OpenCreateAction
),
14612 rec( 13, 1, OCRetFlags
),
14613 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 1)" ),
14614 srec( PadDSSpaceAllocate
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 0)" ),
14615 srec( AttributesStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 1)" ),
14616 srec( PadAttributes
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 0)" ),
14617 srec( DataStreamSizeStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 1)" ),
14618 srec( PadDataStreamSize
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 0)" ),
14619 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 1)" ),
14620 srec( PadTotalStreamSize
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 0)" ),
14621 srec( CreationInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 1)" ),
14622 srec( PadCreationInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 0)" ),
14623 srec( ModifyInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 1)" ),
14624 srec( PadModifyInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 0)" ),
14625 srec( ArchiveInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 1)" ),
14626 srec( PadArchiveInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 0)" ),
14627 srec( RightsInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 1)" ),
14628 srec( PadRightsInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 0)" ),
14629 srec( DirEntryStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 1)" ),
14630 srec( PadDirEntry
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 0)" ),
14631 srec( EAInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 1)" ),
14632 srec( PadEAInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 0)" ),
14633 srec( NSInfoStruct
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 1)" ),
14634 srec( PadNSInfo
, req_cond
="(ncp.ret_info_mask != 0x0000) && (ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 0)" ),
14635 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_alloc == 1)" ),
14636 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_attr == 1)" ),
14637 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_size == 1)" ),
14638 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_tspace == 1)" ),
14639 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_eattr == 1)" ),
14640 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_mod == 1)" ),
14641 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_create == 1)" ),
14642 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_arch == 1)" ),
14643 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_dir == 1)" ),
14644 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_rights == 1)" ),
14645 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_ns == 1)" ),
14646 srec( ReferenceIDStruct
, req_cond
="ncp.ret_info_mask_id == 1" ),
14647 srec( NSAttributeStruct
, req_cond
="ncp.ret_info_mask_ns_attr == 1" ),
14648 srec( DStreamActual
, req_cond
="ncp.ret_info_mask_actual == 1" ),
14649 srec( DStreamLogical
, req_cond
="ncp.ret_info_mask_logical == 1" ),
14650 srec( LastUpdatedInSecondsStruct
, req_cond
="ncp.ext_info_update == 1" ),
14651 srec( DOSName16Struct
, req_cond
="ncp.ext_info_dos_name == 1" ),
14652 srec( FlushTimeStruct
, req_cond
="ncp.ext_info_flush == 1" ),
14653 srec( ParentBaseIDStruct
, req_cond
="ncp.ext_info_parental == 1" ),
14654 srec( MacFinderInfoStruct
, req_cond
="ncp.ext_info_mac_finder == 1" ),
14655 srec( SiblingCountStruct
, req_cond
="ncp.ext_info_sibling == 1" ),
14656 srec( EffectiveRightsStruct
, req_cond
="ncp.ext_info_effective == 1" ),
14657 srec( MacTimeStruct
, req_cond
="ncp.ext_info_mac_date == 1" ),
14658 srec( LastAccessedTimeStruct
, req_cond
="ncp.ext_info_access == 1" ),
14659 srec( FileSize64bitStruct
, req_cond
="ncp.ext_info_64_bit_fs == 1" ),
14660 srec( FileName16Struct
, req_cond
="ncp.ret_info_mask_fname == 1" ),
14662 pkt
.ReqCondSizeVariable()
14663 pkt
.CompletionCodes([0x0000, 0x0102, 0x8000, 0x8101, 0x8401, 0x8501,
14664 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
14665 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
14667 pkt
= NCP(0x5923, "Modify DOS Attributes on a File or Subdirectory", 'enhanced', has_length
=0)
14668 pkt
.Request((35, 288), [
14669 rec( 8, 1, NameSpace
),
14670 rec( 9, 1, Flags
),
14671 rec( 10, 2, SearchAttributesLow
),
14672 rec( 12, 2, ReturnInfoMask
),
14673 rec( 14, 2, ExtendedInfo
),
14674 rec( 16, 4, AttributesDef32
),
14675 rec( 20, 4, DirectoryBase
),
14676 rec( 24, 1, VolumeNumber
),
14677 rec( 25, 1, HandleFlag
),
14678 rec( 26, 1, DataTypeFlag
),
14679 rec( 27, 5, Reserved5
),
14680 rec( 32, 1, PathCount
, var
="x" ),
14681 rec( 33, (2,255), Path16
, repeat
="x" ),
14682 ], info_str
=(Path16
, "Modify DOS Attributes for: %s", "/%s"))
14684 rec( 8, 4, ItemsChecked
),
14685 rec( 12, 4, ItemsChanged
),
14686 rec( 16, 4, AttributeValidFlag
),
14687 rec( 20, 4, AttributesDef32
),
14689 pkt
.CompletionCodes([0x0000, 0x0102, 0x8000, 0x8101, 0x8401, 0x8501,
14690 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
14691 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
14693 pkt
= NCP(0x5927, "Get Directory Disk Space Restriction", 'enhanced', has_length
=0)
14694 pkt
.Request((26, 279), [
14695 rec( 8, 1, NameSpace
),
14696 rec( 9, 2, Reserved2
),
14697 rec( 11, 4, DirectoryBase
),
14698 rec( 15, 1, VolumeNumber
),
14699 rec( 16, 1, HandleFlag
),
14700 rec( 17, 1, DataTypeFlag
),
14701 rec( 18, 5, Reserved5
),
14702 rec( 23, 1, PathCount
, var
="x" ),
14703 rec( 24, (2,255), Path16
, repeat
="x" ),
14704 ], info_str
=(Path16
, "Get Disk Space Restriction for: %s", "/%s"))
14706 rec( 8, 1, NumberOfEntries
, var
="x" ),
14707 rec( 9, 9, SpaceStruct
, repeat
="x" ),
14709 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
14710 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
14711 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00,
14714 pkt
= NCP(0x5928, "Search for File or Subdirectory Set (Extended Errors)", 'enhanced', has_length
=0)
14715 pkt
.Request((30, 283), [
14716 rec( 8, 1, NameSpace
),
14717 rec( 9, 1, DataStream
),
14718 rec( 10, 2, SearchAttributesLow
),
14719 rec( 12, 2, ReturnInfoMask
),
14720 rec( 14, 2, ExtendedInfo
),
14721 rec( 16, 2, ReturnInfoCount
),
14722 rec( 18, 9, SeachSequenceStruct
),
14723 rec( 27, 1, DataTypeFlag
),
14724 rec( 28, (2,255), SearchPattern16
),
14725 ], info_str
=(SearchPattern16
, "Search for: %s", ", %s"))
14726 pkt
.Reply(NO_LENGTH_CHECK
, [
14727 rec( 8, 9, SeachSequenceStruct
),
14728 rec( 17, 1, MoreFlag
),
14729 rec( 18, 2, InfoCount
),
14730 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 1)" ),
14731 srec( PadDSSpaceAllocate
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_alloc == 0)" ),
14732 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 1)" ),
14733 srec( PadAttributes
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_attr == 0)" ),
14734 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 1)" ),
14735 srec( PadDataStreamSize
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_size == 0)" ),
14736 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 1)" ),
14737 srec( PadTotalStreamSize
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_tspace == 0)" ),
14738 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 1)" ),
14739 srec( PadCreationInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_create == 0)" ),
14740 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 1)" ),
14741 srec( PadModifyInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_mod == 0)" ),
14742 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 1)" ),
14743 srec( PadArchiveInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_arch == 0)" ),
14744 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 1)" ),
14745 srec( PadRightsInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_rights == 0)" ),
14746 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 1)" ),
14747 srec( PadDirEntry
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_dir == 0)" ),
14748 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 1)" ),
14749 srec( PadEAInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_eattr == 0)" ),
14750 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 1)" ),
14751 srec( PadNSInfo
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_ns == 0)" ),
14752 srec( FileName16Struct
, req_cond
="(ncp.ext_info_newstyle == 0) && (ncp.ret_info_mask_fname == 1)" ),
14753 srec( DSSpaceAllocateStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_alloc == 1)" ),
14754 srec( AttributesStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_attr == 1)" ),
14755 srec( DataStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_size == 1)" ),
14756 srec( TotalStreamSizeStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_tspace == 1)" ),
14757 srec( CreationInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_create == 1)" ),
14758 srec( ModifyInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_mod == 1)" ),
14759 srec( ArchiveInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_arch == 1)" ),
14760 srec( RightsInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_rights == 1)" ),
14761 srec( DirEntryStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_dir == 1)" ),
14762 srec( EAInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_eattr == 1)" ),
14763 srec( NSInfoStruct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_ns == 1)" ),
14764 srec( FileSize64bitStruct
, req_cond
="(ncp.ext_info_64_bit_fs == 1) && (ncp.ret_info_mask_fname == 1)" ),
14765 srec( FileName16Struct
, req_cond
="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_fname == 1)" ),
14767 pkt
.ReqCondSizeVariable()
14768 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
14769 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
14770 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
14772 pkt
= NCP(0x5932, "Get Object Effective Rights", "enhanced", has_length
=0)
14774 rec( 8, 1, NameSpace
),
14775 rec( 9, 4, ObjectID
),
14776 rec( 13, 4, DirectoryBase
),
14777 rec( 17, 1, VolumeNumber
),
14778 rec( 18, 1, HandleFlag
),
14779 rec( 19, 1, DataTypeFlag
),
14780 rec( 20, 5, Reserved5
),
14783 rec( 8, 2, TrusteeRights
),
14785 pkt
.CompletionCodes([0x0000, 0x7e01, 0x9b00, 0x9c03, 0xa901, 0xaa00])
14787 pkt
= NCP(0x5934, "Write Extended Attribute", 'enhanced', has_length
=0 )
14788 pkt
.Request((36,98), [
14789 rec( 8, 2, EAFlags
),
14790 rec( 10, 4, EAHandleOrNetWareHandleOrVolume
),
14791 rec( 14, 4, ReservedOrDirectoryNumber
),
14792 rec( 18, 4, TtlWriteDataSize
),
14793 rec( 22, 4, FileOffset
),
14794 rec( 26, 4, EAAccessFlag
),
14795 rec( 30, 1, DataTypeFlag
),
14796 rec( 31, 2, EAValueLength
, var
='x' ),
14797 rec( 33, (2,64), EAKey
),
14798 rec( -1, 1, EAValueRep
, repeat
='x' ),
14799 ], info_str
=(EAKey
, "Write Extended Attribute: %s", ", %s"))
14801 rec( 8, 4, EAErrorCodes
),
14802 rec( 12, 4, EABytesWritten
),
14803 rec( 16, 4, NewEAHandle
),
14805 pkt
.CompletionCodes([0x0000, 0xc800, 0xc900, 0xcb00, 0xce00, 0xcf00, 0xd101,
14806 0xd203, 0xa901, 0xaa00, 0xd301, 0xd402])
14808 pkt
= NCP(0x5935, "Read Extended Attribute", 'enhanced', has_length
=0 )
14809 pkt
.Request((31,541), [
14810 rec( 8, 2, EAFlags
),
14811 rec( 10, 4, EAHandleOrNetWareHandleOrVolume
),
14812 rec( 14, 4, ReservedOrDirectoryNumber
),
14813 rec( 18, 4, FileOffset
),
14814 rec( 22, 4, InspectSize
),
14815 rec( 26, 1, DataTypeFlag
),
14816 rec( 27, 2, MaxReadDataReplySize
),
14817 rec( 29, (2,512), EAKey
),
14818 ], info_str
=(EAKey
, "Read Extended Attribute: %s", ", %s"))
14819 pkt
.Reply((26,536), [
14820 rec( 8, 4, EAErrorCodes
),
14821 rec( 12, 4, TtlValuesLength
),
14822 rec( 16, 4, NewEAHandle
),
14823 rec( 20, 4, EAAccessFlag
),
14824 rec( 24, (2,512), EAValue
),
14826 pkt
.CompletionCodes([0x0000, 0xa901, 0xaa00, 0xc900, 0xce00, 0xcf00, 0xd101,
14829 pkt
= NCP(0x5936, "Enumerate Extended Attribute", 'enhanced', has_length
=0 )
14830 pkt
.Request((27,537), [
14831 rec( 8, 2, EAFlags
),
14832 rec( 10, 4, EAHandleOrNetWareHandleOrVolume
),
14833 rec( 14, 4, ReservedOrDirectoryNumber
),
14834 rec( 18, 4, InspectSize
),
14835 rec( 22, 2, SequenceNumber
),
14836 rec( 24, 1, DataTypeFlag
),
14837 rec( 25, (2,512), EAKey
),
14838 ], info_str
=(EAKey
, "Enumerate Extended Attribute: %s", ", %s"))
14840 rec( 8, 4, EAErrorCodes
),
14841 rec( 12, 4, TtlEAs
),
14842 rec( 16, 4, TtlEAsDataSize
),
14843 rec( 20, 4, TtlEAsKeySize
),
14844 rec( 24, 4, NewEAHandle
),
14846 pkt
.CompletionCodes([0x0000, 0x8800, 0xa901, 0xaa00, 0xc900, 0xce00, 0xcf00, 0xd101,
14849 pkt
= NCP(0x5947, "Scan Volume Trustee Object Paths", 'enhanced', has_length
=0)
14851 rec( 8, 4, VolumeID
),
14852 rec( 12, 4, ObjectID
),
14853 rec( 16, 4, SequenceNumber
),
14854 rec( 20, 1, DataTypeFlag
),
14856 pkt
.Reply((20,273), [
14857 rec( 8, 4, SequenceNumber
),
14858 rec( 12, 4, ObjectID
),
14859 rec( 16, 1, TrusteeAccessMask
),
14860 rec( 17, 1, PathCount
, var
="x" ),
14861 rec( 18, (2,255), Path16
, repeat
="x" ),
14863 pkt
.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
14864 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
14865 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
14867 pkt
= NCP(0x5A00, "Parse Tree", 'file')
14869 rec( 10, 4, InfoMask
),
14870 rec( 14, 4, Reserved4
),
14871 rec( 18, 4, Reserved4
),
14872 rec( 22, 4, limbCount
),
14873 rec( 26, 4, limbFlags
),
14874 rec( 30, 4, VolumeNumberLong
),
14875 rec( 34, 4, DirectoryBase
),
14876 rec( 38, 4, limbScanNum
),
14877 rec( 42, 4, NameSpace
),
14880 rec( 8, 4, limbCount
),
14881 rec( 12, 4, ItemsCount
),
14882 rec( 16, 4, nextLimbScanNum
),
14883 rec( 20, 4, CompletionCode
),
14884 rec( 24, 1, FolderFlag
),
14885 rec( 25, 3, Reserved
),
14886 rec( 28, 4, DirectoryBase
),
14888 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
14889 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
14890 0x9804, 0x9b03, 0x9c03, 0xfd00, 0xff16])
14892 pkt
= NCP(0x5A0A, "Get Reference Count from Dir Entry Number", 'file')
14894 rec( 10, 4, VolumeNumberLong
),
14895 rec( 14, 4, DirectoryBase
),
14896 rec( 18, 1, NameSpace
),
14899 rec( 8, 4, ReferenceCount
),
14901 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
14902 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
14903 0x9804, 0x9b03, 0x9c03, 0xfd00, 0xff16])
14905 pkt
= NCP(0x5A0B, "Get Reference Count from Dir Handle", 'file')
14907 rec( 10, 4, DirHandle
),
14910 rec( 8, 4, ReferenceCount
),
14912 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
14913 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
14914 0x9804, 0x9b03, 0x9c03, 0xfd00, 0xff16])
14916 pkt
= NCP(0x5A0C, "Set Compressed File Size", 'file')
14918 rec( 10, 6, FileHandle
),
14919 rec( 16, 4, SuggestedFileSize
),
14922 rec( 8, 4, OldFileSize
),
14923 rec( 12, 4, NewFileSize
),
14925 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
14926 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
14927 0x9804, 0x9b03, 0x9c03, 0xfd00, 0xff16])
14928 # 2222/5A80, 90/128
14929 pkt
= NCP(0x5A80, "Move File Data To Data Migration", 'migration')
14931 rec( 10, 4, VolumeNumberLong
),
14932 rec( 14, 4, DirectoryEntryNumber
),
14933 rec( 18, 1, NameSpace
),
14934 rec( 19, 3, Reserved
),
14935 rec( 22, 4, SupportModuleID
),
14936 rec( 26, 1, DMFlags
),
14939 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
14940 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
14941 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
14942 # 2222/5A81, 90/129
14943 pkt
= NCP(0x5A81, "Data Migration File Information", 'migration')
14945 rec( 10, 4, VolumeNumberLong
),
14946 rec( 14, 4, DirectoryEntryNumber
),
14947 rec( 18, 1, NameSpace
),
14950 rec( 8, 4, SupportModuleID
),
14951 rec( 12, 4, RestoreTime
),
14952 rec( 16, 4, DMInfoEntries
, var
="x" ),
14953 rec( 20, 4, DataSize
, repeat
="x" ),
14955 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
14956 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
14957 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
14958 # 2222/5A82, 90/130
14959 pkt
= NCP(0x5A82, "Volume Data Migration Status", 'migration')
14961 rec( 10, 4, VolumeNumberLong
),
14962 rec( 14, 4, SupportModuleID
),
14965 rec( 8, 4, NumOfFilesMigrated
),
14966 rec( 12, 4, TtlMigratedSize
),
14967 rec( 16, 4, SpaceUsed
),
14968 rec( 20, 4, LimboUsed
),
14969 rec( 24, 4, SpaceMigrated
),
14970 rec( 28, 4, FileLimbo
),
14972 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
14973 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
14974 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
14975 # 2222/5A83, 90/131
14976 pkt
= NCP(0x5A83, "Migrator Status Info", 'migration')
14979 rec( 8, 1, DMPresentFlag
),
14980 rec( 9, 3, Reserved3
),
14981 rec( 12, 4, DMmajorVersion
),
14982 rec( 16, 4, DMminorVersion
),
14984 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
14985 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
14986 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
14987 # 2222/5A84, 90/132
14988 pkt
= NCP(0x5A84, "Data Migration Support Module Information", 'migration')
14990 rec( 10, 1, DMInfoLevel
),
14991 rec( 11, 3, Reserved3
),
14992 rec( 14, 4, SupportModuleID
),
14994 pkt
.Reply(NO_LENGTH_CHECK
, [
14995 srec( DMInfoLevel0
, req_cond
="ncp.dm_info_level == 0x00" ),
14996 srec( DMInfoLevel1
, req_cond
="ncp.dm_info_level == 0x01" ),
14997 srec( DMInfoLevel2
, req_cond
="ncp.dm_info_level == 0x02" ),
14999 pkt
.ReqCondSizeVariable()
15000 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15001 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
15002 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
15003 # 2222/5A85, 90/133
15004 pkt
= NCP(0x5A85, "Move File Data From Data Migration", 'migration')
15006 rec( 10, 4, VolumeNumberLong
),
15007 rec( 14, 4, DirectoryEntryNumber
),
15008 rec( 18, 1, NameSpace
),
15011 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15012 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
15013 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
15014 # 2222/5A86, 90/134
15015 pkt
= NCP(0x5A86, "Get/Set Default Read-Write Support Module ID", 'migration')
15017 rec( 10, 1, GetSetFlag
),
15018 rec( 11, 3, Reserved3
),
15019 rec( 14, 4, SupportModuleID
),
15022 rec( 8, 4, SupportModuleID
),
15024 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15025 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
15026 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
15027 # 2222/5A87, 90/135
15028 pkt
= NCP(0x5A87, "Data Migration Support Module Capacity Request", 'migration')
15030 rec( 10, 4, SupportModuleID
),
15031 rec( 14, 4, VolumeNumberLong
),
15032 rec( 18, 4, DirectoryBase
),
15035 rec( 8, 4, BlockSizeInSectors
),
15036 rec( 12, 4, TotalBlocks
),
15037 rec( 16, 4, UsedBlocks
),
15039 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15040 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
15041 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
15042 # 2222/5A88, 90/136
15043 pkt
= NCP(0x5A88, "RTDM Request", 'migration')
15045 rec( 10, 4, Verb
),
15046 rec( 14, 1, VerbData
),
15049 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15050 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
15051 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
15052 # 2222/5A96, 90/150
15053 pkt
= NCP(0x5A96, "File Migration Request", 'file')
15055 rec( 10, 4, VolumeNumberLong
),
15056 rec( 14, 4, DirectoryBase
),
15057 rec( 18, 4, FileMigrationState
),
15060 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15061 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
15062 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfb00, 0xff16])
15064 pkt
= NCP(0x5B, "NMAS Graded Authentication", 'nmas')
15065 #Need info on this packet structure
15068 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15069 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600, 0xfb0b,
15070 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
15071 # SecretStore data is dissected by packet-ncp-sss.c
15073 pkt
= NCP(0x5C01, "SecretStore Services (Ping Server)", 'sss', 0)
15076 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15077 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600, 0xfb0b,
15078 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
15080 pkt
= NCP(0x5C02, "SecretStore Services (Fragment)", 'sss', 0)
15083 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15084 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600, 0xfb0b,
15085 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
15087 pkt
= NCP(0x5C03, "SecretStore Services (Write App Secrets)", 'sss', 0)
15090 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15091 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600, 0xfb0b,
15092 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
15094 pkt
= NCP(0x5C04, "SecretStore Services (Add Secret ID)", 'sss', 0)
15097 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15098 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600, 0xfb0b,
15099 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
15101 pkt
= NCP(0x5C05, "SecretStore Services (Remove Secret ID)", 'sss', 0)
15104 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15105 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600, 0xfb0b,
15106 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
15108 pkt
= NCP(0x5C06, "SecretStore Services (Remove SecretStore)", 'sss', 0)
15111 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15112 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600, 0xfb0b,
15113 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
15115 pkt
= NCP(0x5C07, "SecretStore Services (Enumerate Secret IDs)", 'sss', 0)
15118 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15119 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600, 0xfb0b,
15120 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
15122 pkt
= NCP(0x5C08, "SecretStore Services (Unlock Store)", 'sss', 0)
15125 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15126 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600, 0xfb0b,
15127 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
15129 pkt
= NCP(0x5C09, "SecretStore Services (Set Master Password)", 'sss', 0)
15132 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15133 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600, 0xfb0b,
15134 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
15136 pkt
= NCP(0x5C0a, "SecretStore Services (Get Service Information)", 'sss', 0)
15139 pkt
.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
15140 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600, 0xfb0b,
15141 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
15142 # NMAS packets are dissected in packet-ncp-nmas.c
15144 pkt
= NCP(0x5E01, "NMAS Communications Packet (Ping)", 'nmas', 0)
15147 pkt
.CompletionCodes([0x0000, 0xfb09, 0xff08])
15149 pkt
= NCP(0x5E02, "NMAS Communications Packet (Fragment)", 'nmas', 0)
15152 pkt
.CompletionCodes([0x0000, 0xfb09, 0xff08])
15154 pkt
= NCP(0x5E03, "NMAS Communications Packet (Abort)", 'nmas', 0)
15157 pkt
.CompletionCodes([0x0000, 0xfb09, 0xff08])
15159 pkt
= NCP(0x61, "Get Big Packet NCP Max Packet Size", 'connection')
15161 rec( 7, 2, ProposedMaxSize
, BE
),
15162 rec( 9, 1, SecurityFlag
),
15163 ],info_str
=(ProposedMaxSize
, "Get Big Max Packet Size - %d", ", %d"))
15165 rec( 8, 2, AcceptedMaxSize
, BE
),
15166 rec( 10, 2, EchoSocket
, BE
),
15167 rec( 12, 1, SecurityFlag
),
15169 pkt
.CompletionCodes([0x0000])
15171 pkt
= NCP(0x63, "Undocumented Packet Burst", 'pburst')
15174 pkt
.CompletionCodes([0x0000])
15176 pkt
= NCP(0x64, "Undocumented Packet Burst", 'pburst')
15179 pkt
.CompletionCodes([0x0000])
15181 pkt
= NCP(0x65, "Packet Burst Connection Request", 'pburst')
15183 rec( 7, 4, LocalConnectionID
, BE
),
15184 rec( 11, 4, LocalMaxPacketSize
, BE
),
15185 rec( 15, 2, LocalTargetSocket
, BE
),
15186 rec( 17, 4, LocalMaxSendSize
, BE
),
15187 rec( 21, 4, LocalMaxRecvSize
, BE
),
15190 rec( 8, 4, RemoteTargetID
, BE
),
15191 rec( 12, 4, RemoteMaxPacketSize
, BE
),
15193 pkt
.CompletionCodes([0x0000])
15195 pkt
= NCP(0x66, "Undocumented Packet Burst", 'pburst')
15198 pkt
.CompletionCodes([0x0000])
15200 pkt
= NCP(0x67, "Undocumented Packet Burst", 'pburst')
15203 pkt
.CompletionCodes([0x0000])
15204 # 2222/6801, 104/01
15205 pkt
= NCP(0x6801, "Ping for NDS NCP", "nds", has_length
=0)
15208 pkt
.ReqCondSizeVariable()
15209 pkt
.CompletionCodes([0x0000, 0x8100, 0xfb04, 0xfe0c])
15210 # 2222/6802, 104/02
15212 # XXX - if FraggerHandle is not 0xffffffff, this is not the
15213 # first fragment, so we can only dissect this by reassembling;
15214 # the fields after "Fragment Handle" are bogus for non-0xffffffff
15215 # fragments, so we shouldn't dissect them. This is all handled in packet-ncp2222.inc.
15217 pkt
= NCP(0x6802, "Send NDS Fragmented Request/Reply", "nds", has_length
=0)
15220 pkt
.ReqCondSizeVariable()
15221 pkt
.CompletionCodes([0x0000, 0xac00, 0xfd01])
15222 # 2222/6803, 104/03
15223 pkt
= NCP(0x6803, "Fragment Close", "nds", has_length
=0)
15225 rec( 8, 4, FraggerHandle
),
15228 pkt
.CompletionCodes([0x0000, 0xff00])
15229 # 2222/6804, 104/04
15230 pkt
= NCP(0x6804, "Return Bindery Context", "nds", has_length
=0)
15232 pkt
.Reply((9, 263), [
15233 rec( 8, (1,255), binderyContext
),
15235 pkt
.CompletionCodes([0x0000, 0xfe0c, 0xff00])
15236 # 2222/6805, 104/05
15237 pkt
= NCP(0x6805, "Monitor NDS Connection", "nds", has_length
=0)
15240 pkt
.CompletionCodes([0x0000, 0x7700, 0xfb00, 0xfe0c, 0xff00])
15241 # 2222/6806, 104/06
15242 pkt
= NCP(0x6806, "Return NDS Statistics", "nds", has_length
=0)
15244 rec( 8, 2, NDSRequestFlags
),
15247 #Need to investigate how to decode Statistics Return Value
15248 pkt
.CompletionCodes([0x0000, 0xfb00, 0xfe0c, 0xff00])
15249 # 2222/6807, 104/07
15250 pkt
= NCP(0x6807, "Clear NDS Statistics", "nds", has_length
=0)
15253 pkt
.CompletionCodes([0x0000, 0xfb00, 0xfe0c, 0xff00])
15254 # 2222/6808, 104/08
15255 pkt
= NCP(0x6808, "Reload NDS Software", "nds", has_length
=0)
15258 rec( 8, 4, NDSStatus
),
15260 pkt
.CompletionCodes([0x0000, 0xfb00, 0xfe0c, 0xff00])
15261 # 2222/68C8, 104/200
15262 pkt
= NCP(0x68C8, "Query Container Audit Status", "auditing", has_length
=0)
15264 rec( 8, 4, ConnectionNumber
),
15267 rec(8, 32, NWAuditStatus
),
15269 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15270 # 2222/68CA, 104/202
15271 pkt
= NCP(0x68CA, "Add Auditor Access", "auditing", has_length
=0)
15274 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15275 # 2222/68CB, 104/203
15276 pkt
= NCP(0x68CB, "Change Auditor Container Password", "auditing", has_length
=0)
15279 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15280 # 2222/68CC, 104/204
15281 pkt
= NCP(0x68CC, "Check Auditor Access", "auditing", has_length
=0)
15284 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15285 # 2222/68CE, 104/206
15286 pkt
= NCP(0x680CE, "Disable Container Auditing", "auditing", has_length
=0)
15289 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15290 # 2222/68CF, 104/207
15291 pkt
= NCP(0x68CF, "Enable Container Auditing", "auditing", has_length
=0)
15294 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15295 # 2222/68D1, 104/209
15296 pkt
= NCP(0x68D1, "Read Audit File Header", "auditing", has_length
=0)
15299 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15300 # 2222/68D3, 104/211
15301 pkt
= NCP(0x68D3, "Remove Auditor Access", "auditing", has_length
=0)
15304 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15305 # 2222/68D4, 104/212
15306 pkt
= NCP(0x68D4, "Reset Audit File", "auditing", has_length
=0)
15309 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15310 # 2222/68D6, 104/214
15311 pkt
= NCP(0x68D6, "Write Audit File Configuration Header", "auditing", has_length
=0)
15314 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15315 # 2222/68D7, 104/215
15316 pkt
= NCP(0x68D7, "Change Auditor Container Password2", "auditing", has_length
=0)
15319 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15320 # 2222/68D8, 104/216
15321 pkt
= NCP(0x68D8, "Return Audit Flags", "auditing", has_length
=0)
15324 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15325 # 2222/68D9, 104/217
15326 pkt
= NCP(0x68D9, "Close Old Audit File", "auditing", has_length
=0)
15329 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15330 # 2222/68DB, 104/219
15331 pkt
= NCP(0x68DB, "Check Level Two Access", "auditing", has_length
=0)
15334 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15335 # 2222/68DC, 104/220
15336 pkt
= NCP(0x68DC, "Check Object Audited", "auditing", has_length
=0)
15339 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15340 # 2222/68DD, 104/221
15341 pkt
= NCP(0x68DD, "Change Object Audited", "auditing", has_length
=0)
15344 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15345 # 2222/68DE, 104/222
15346 pkt
= NCP(0x68DE, "Return Old Audit File List", "auditing", has_length
=0)
15349 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15350 # 2222/68DF, 104/223
15351 pkt
= NCP(0x68DF, "Init Audit File Reads", "auditing", has_length
=0)
15354 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15355 # 2222/68E0, 104/224
15356 pkt
= NCP(0x68E0, "Read Auditing File", "auditing", has_length
=0)
15359 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15360 # 2222/68E1, 104/225
15361 pkt
= NCP(0x68E1, "Delete Old Audit File", "auditing", has_length
=0)
15364 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15365 # 2222/68E5, 104/229
15366 pkt
= NCP(0x68E5, "Set Audit Password", "auditing", has_length
=0)
15369 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15370 # 2222/68E7, 104/231
15371 pkt
= NCP(0x68E7, "External Audit Append To File", "auditing", has_length
=0)
15374 pkt
.CompletionCodes([0x0000, 0xa700, 0xfb00, 0xfe0c, 0xff00])
15376 pkt
= NCP(0x69, "Log File", 'sync')
15377 pkt
.Request( (12, 267), [
15378 rec( 7, 1, DirHandle
),
15379 rec( 8, 1, LockFlag
),
15380 rec( 9, 2, TimeoutLimit
),
15381 rec( 11, (1, 256), FilePath
),
15382 ], info_str
=(FilePath
, "Log File: %s", "/%s"))
15384 pkt
.CompletionCodes([0x0000, 0x7f00, 0x8200, 0x9600, 0xfe0d, 0xff01])
15386 pkt
= NCP(0x6A, "Lock File Set", 'sync')
15388 rec( 7, 2, TimeoutLimit
),
15391 pkt
.CompletionCodes([0x0000, 0x7f00, 0x8200, 0x9600, 0xfe0d, 0xff01])
15393 pkt
= NCP(0x6B, "Log Logical Record", 'sync')
15394 pkt
.Request( (11, 266), [
15395 rec( 7, 1, LockFlag
),
15396 rec( 8, 2, TimeoutLimit
),
15397 rec( 10, (1, 256), SynchName
),
15398 ], info_str
=(SynchName
, "Log Logical Record: %s", ", %s"))
15400 pkt
.CompletionCodes([0x0000, 0x7f00, 0x9600, 0xfe0d, 0xff01])
15402 pkt
= NCP(0x6C, "Log Logical Record", 'sync')
15404 rec( 7, 1, LockFlag
),
15405 rec( 8, 2, TimeoutLimit
),
15408 pkt
.CompletionCodes([0x0000, 0x7f00, 0x9600, 0xfe0d, 0xff01])
15410 pkt
= NCP(0x6D, "Log Physical Record", 'sync')
15412 rec( 7, 1, LockFlag
),
15413 rec( 8, 6, FileHandle
),
15414 rec( 14, 4, LockAreasStartOffset
),
15415 rec( 18, 4, LockAreaLen
),
15416 rec( 22, 2, LockTimeout
),
15419 pkt
.CompletionCodes([0x0000, 0x7f00, 0x8200, 0x8800, 0x9600, 0xfd02, 0xfe04, 0xff01])
15421 pkt
= NCP(0x6E, "Lock Physical Record Set", 'sync')
15423 rec( 7, 1, LockFlag
),
15424 rec( 8, 2, LockTimeout
),
15427 pkt
.CompletionCodes([0x0000, 0x7f00, 0x8200, 0x8800, 0x9600, 0xfd02, 0xfe04, 0xff01])
15428 # 2222/6F00, 111/00
15429 pkt
= NCP(0x6F00, "Open/Create a Semaphore", 'sync', has_length
=0)
15430 pkt
.Request((10,521), [
15431 rec( 8, 1, InitialSemaphoreValue
),
15432 rec( 9, (1, 512), SemaphoreName
),
15433 ], info_str
=(SemaphoreName
, "Open/Create Semaphore: %s", ", %s"))
15435 rec( 8, 4, SemaphoreHandle
),
15436 rec( 12, 1, SemaphoreOpenCount
),
15438 pkt
.CompletionCodes([0x0000, 0x9600, 0xff01])
15439 # 2222/6F01, 111/01
15440 pkt
= NCP(0x6F01, "Examine Semaphore", 'sync', has_length
=0)
15442 rec( 8, 4, SemaphoreHandle
),
15445 rec( 8, 1, SemaphoreValue
),
15446 rec( 9, 1, SemaphoreOpenCount
),
15448 pkt
.CompletionCodes([0x0000, 0x9600, 0xff01])
15449 # 2222/6F02, 111/02
15450 pkt
= NCP(0x6F02, "Wait On (P) Semaphore", 'sync', has_length
=0)
15452 rec( 8, 4, SemaphoreHandle
),
15453 rec( 12, 2, LockTimeout
),
15456 pkt
.CompletionCodes([0x0000, 0x9600, 0xfe04, 0xff01])
15457 # 2222/6F03, 111/03
15458 pkt
= NCP(0x6F03, "Signal (V) Semaphore", 'sync', has_length
=0)
15460 rec( 8, 4, SemaphoreHandle
),
15463 pkt
.CompletionCodes([0x0000, 0x9600, 0xfe04, 0xff01])
15464 # 2222/6F04, 111/04
15465 pkt
= NCP(0x6F04, "Close Semaphore", 'sync', has_length
=0)
15467 rec( 8, 4, SemaphoreHandle
),
15470 rec( 8, 1, SemaphoreOpenCount
),
15471 rec( 9, 1, SemaphoreShareCount
),
15473 pkt
.CompletionCodes([0x0000, 0x9600, 0xfe04, 0xff01])
15475 pkt
= NCP(0x70, "Clear and Get Waiting Lock Completion", 'sync')
15478 pkt
.CompletionCodes([0x0000, 0x9b00, 0x9c03, 0xff1a])
15479 # 2222/7201, 114/01
15480 pkt
= NCP(0x7201, "Timesync Get Time", 'tsync')
15483 rec( 8, 12, theTimeStruct
),
15484 rec(20, 8, eventOffset
),
15485 rec(28, 4, eventTime
),
15487 pkt
.CompletionCodes([0x0000, 0x7e00, 0xfb06, 0xff00])
15488 # 2222/7202, 114/02
15489 pkt
= NCP(0x7202, "Timesync Exchange Time", 'tsync')
15490 pkt
.Request((63,112), [
15491 rec( 10, 4, protocolFlags
),
15492 rec( 14, 4, nodeFlags
),
15493 rec( 18, 8, sourceOriginateTime
),
15494 rec( 26, 8, targetReceiveTime
),
15495 rec( 34, 8, targetTransmitTime
),
15496 rec( 42, 8, sourceReturnTime
),
15497 rec( 50, 8, eventOffset
),
15498 rec( 58, 4, eventTime
),
15499 rec( 62, (1,50), ServerNameLen
),
15500 ], info_str
=(ServerNameLen
, "Timesync Exchange Time: %s", ", %s"))
15501 pkt
.Reply((64,113), [
15502 rec( 8, 3, Reserved3
),
15503 rec( 11, 4, protocolFlags
),
15504 rec( 15, 4, nodeFlags
),
15505 rec( 19, 8, sourceOriginateTime
),
15506 rec( 27, 8, targetReceiveTime
),
15507 rec( 35, 8, targetTransmitTime
),
15508 rec( 43, 8, sourceReturnTime
),
15509 rec( 51, 8, eventOffset
),
15510 rec( 59, 4, eventTime
),
15511 rec( 63, (1,50), ServerNameLen
),
15513 pkt
.CompletionCodes([0x0000, 0x7e00, 0xfb06, 0xff00])
15514 # 2222/7205, 114/05
15515 pkt
= NCP(0x7205, "Timesync Get Server List", 'tsync')
15517 rec( 10, 4, StartNumber
),
15520 rec( 8, 4, nameType
),
15521 rec( 12, 48, ServerName
),
15522 rec( 60, 4, serverListFlags
),
15523 rec( 64, 2, startNumberFlag
),
15525 pkt
.CompletionCodes([0x0000, 0x7e00, 0xfb06, 0xff00])
15526 # 2222/7206, 114/06
15527 pkt
= NCP(0x7206, "Timesync Set Server List", 'tsync')
15529 rec( 10, 4, StartNumber
),
15532 rec( 8, 4, nameType
),
15533 rec( 12, 48, ServerName
),
15534 rec( 60, 4, serverListFlags
),
15535 rec( 64, 2, startNumberFlag
),
15537 pkt
.CompletionCodes([0x0000, 0x7e00, 0xfb06, 0xff00])
15538 # 2222/720C, 114/12
15539 pkt
= NCP(0x720C, "Timesync Get Version", 'tsync')
15542 rec( 8, 4, version
),
15544 pkt
.CompletionCodes([0x0000, 0x7e00, 0xfb06, 0xff00])
15545 # 2222/7B01, 123/01
15546 pkt
= NCP(0x7B01, "Get Cache Information", 'stats')
15549 rec(8, 4, CurrentServerTime
, LE
),
15550 rec(12, 1, VConsoleVersion
),
15551 rec(13, 1, VConsoleRevision
),
15552 rec(14, 2, Reserved2
),
15553 rec(16, 104, Counters
),
15554 rec(120, 40, ExtraCacheCntrs
),
15555 rec(160, 40, MemoryCounters
),
15556 rec(200, 48, TrendCounters
),
15557 rec(248, 40, CacheInfo
),
15559 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xff00])
15560 # 2222/7B02, 123/02
15561 pkt
= NCP(0x7B02, "Get File Server Information", 'stats')
15564 rec(8, 4, CurrentServerTime
),
15565 rec(12, 1, VConsoleVersion
),
15566 rec(13, 1, VConsoleRevision
),
15567 rec(14, 2, Reserved2
),
15568 rec(16, 4, NCPStaInUseCnt
),
15569 rec(20, 4, NCPPeakStaInUse
),
15570 rec(24, 4, NumOfNCPReqs
),
15571 rec(28, 4, ServerUtilization
),
15572 rec(32, 96, ServerInfo
),
15573 rec(128, 22, FileServerCounters
),
15575 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
15576 # 2222/7B03, 123/03
15577 pkt
= NCP(0x7B03, "NetWare File System Information", 'stats')
15579 rec(10, 1, FileSystemID
),
15582 rec(8, 4, CurrentServerTime
),
15583 rec(12, 1, VConsoleVersion
),
15584 rec(13, 1, VConsoleRevision
),
15585 rec(14, 2, Reserved2
),
15586 rec(16, 52, FileSystemInfo
),
15588 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
15589 # 2222/7B04, 123/04
15590 pkt
= NCP(0x7B04, "User Information", 'stats')
15592 rec(10, 4, ConnectionNumber
, LE
),
15594 pkt
.Reply((85, 132), [
15595 rec(8, 4, CurrentServerTime
),
15596 rec(12, 1, VConsoleVersion
),
15597 rec(13, 1, VConsoleRevision
),
15598 rec(14, 2, Reserved2
),
15599 rec(16, 68, UserInformation
),
15600 rec(84, (1, 48), UserName
),
15602 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
15603 # 2222/7B05, 123/05
15604 pkt
= NCP(0x7B05, "Packet Burst Information", 'stats')
15607 rec(8, 4, CurrentServerTime
),
15608 rec(12, 1, VConsoleVersion
),
15609 rec(13, 1, VConsoleRevision
),
15610 rec(14, 2, Reserved2
),
15611 rec(16, 200, PacketBurstInformation
),
15613 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
15614 # 2222/7B06, 123/06
15615 pkt
= NCP(0x7B06, "IPX SPX Information", 'stats')
15618 rec(8, 4, CurrentServerTime
),
15619 rec(12, 1, VConsoleVersion
),
15620 rec(13, 1, VConsoleRevision
),
15621 rec(14, 2, Reserved2
),
15622 rec(16, 34, IPXInformation
),
15623 rec(50, 44, SPXInformation
),
15625 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
15626 # 2222/7B07, 123/07
15627 pkt
= NCP(0x7B07, "Garbage Collection Information", 'stats')
15630 rec(8, 4, CurrentServerTime
),
15631 rec(12, 1, VConsoleVersion
),
15632 rec(13, 1, VConsoleRevision
),
15633 rec(14, 2, Reserved2
),
15634 rec(16, 4, FailedAllocReqCnt
),
15635 rec(20, 4, NumberOfAllocs
),
15636 rec(24, 4, NoMoreMemAvlCnt
),
15637 rec(28, 4, NumOfGarbageColl
),
15638 rec(32, 4, FoundSomeMem
),
15639 rec(36, 4, NumOfChecks
),
15641 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
15642 # 2222/7B08, 123/08
15643 pkt
= NCP(0x7B08, "CPU Information", 'stats')
15645 rec(10, 4, CPUNumber
),
15648 rec(8, 4, CurrentServerTime
),
15649 rec(12, 1, VConsoleVersion
),
15650 rec(13, 1, VConsoleRevision
),
15651 rec(14, 2, Reserved2
),
15652 rec(16, 4, NumberOfCPUs
),
15653 rec(20, 31, CPUInformation
),
15655 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
15656 # 2222/7B09, 123/09
15657 pkt
= NCP(0x7B09, "Volume Switch Information", 'stats')
15659 rec(10, 4, StartNumber
)
15662 rec(8, 4, CurrentServerTime
),
15663 rec(12, 1, VConsoleVersion
),
15664 rec(13, 1, VConsoleRevision
),
15665 rec(14, 2, Reserved2
),
15666 rec(16, 4, TotalLFSCounters
),
15667 rec(20, 4, CurrentLFSCounters
, var
="x"),
15668 rec(24, 4, LFSCounters
, repeat
="x"),
15670 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
15671 # 2222/7B0A, 123/10
15672 pkt
= NCP(0x7B0A, "Get NLM Loaded List", 'stats')
15674 rec(10, 4, StartNumber
)
15677 rec(8, 4, CurrentServerTime
),
15678 rec(12, 1, VConsoleVersion
),
15679 rec(13, 1, VConsoleRevision
),
15680 rec(14, 2, Reserved2
),
15681 rec(16, 4, NLMcount
),
15682 rec(20, 4, NLMsInList
, var
="x" ),
15683 rec(24, 4, NLMNumbers
, repeat
="x" ),
15685 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
15686 # 2222/7B0B, 123/11
15687 pkt
= NCP(0x7B0B, "NLM Information", 'stats')
15689 rec(10, 4, NLMNumber
),
15691 pkt
.Reply(NO_LENGTH_CHECK
, [
15692 rec(8, 4, CurrentServerTime
),
15693 rec(12, 1, VConsoleVersion
),
15694 rec(13, 1, VConsoleRevision
),
15695 rec(14, 2, Reserved2
),
15696 rec(16, 60, NLMInformation
),
15697 # The remainder of this dissection is manually decoded in packet-ncp2222.inc
15698 #rec(-1, (1,255), FileName ),
15699 #rec(-1, (1,255), Name ),
15700 #rec(-1, (1,255), Copyright ),
15702 pkt
.ReqCondSizeVariable()
15703 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
15704 # 2222/7B0C, 123/12
15705 pkt
= NCP(0x7B0C, "Get Directory Cache Information", 'stats')
15708 rec(8, 4, CurrentServerTime
),
15709 rec(12, 1, VConsoleVersion
),
15710 rec(13, 1, VConsoleRevision
),
15711 rec(14, 2, Reserved2
),
15712 rec(16, 56, DirCacheInfo
),
15714 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
15715 # 2222/7B0D, 123/13
15716 pkt
= NCP(0x7B0D, "Get Operating System Version Information", 'stats')
15719 rec(8, 4, CurrentServerTime
),
15720 rec(12, 1, VConsoleVersion
),
15721 rec(13, 1, VConsoleRevision
),
15722 rec(14, 2, Reserved2
),
15723 rec(16, 1, OSMajorVersion
),
15724 rec(17, 1, OSMinorVersion
),
15725 rec(18, 1, OSRevision
),
15726 rec(19, 1, AccountVersion
),
15727 rec(20, 1, VAPVersion
),
15728 rec(21, 1, QueueingVersion
),
15729 rec(22, 1, SecurityRestrictionVersion
),
15730 rec(23, 1, InternetBridgeVersion
),
15731 rec(24, 4, MaxNumOfVol
),
15732 rec(28, 4, MaxNumOfConn
),
15733 rec(32, 4, MaxNumOfUsers
),
15734 rec(36, 4, MaxNumOfNmeSps
),
15735 rec(40, 4, MaxNumOfLANS
),
15736 rec(44, 4, MaxNumOfMedias
),
15737 rec(48, 4, MaxNumOfStacks
),
15738 rec(52, 4, MaxDirDepth
),
15739 rec(56, 4, MaxDataStreams
),
15740 rec(60, 4, MaxNumOfSpoolPr
),
15741 rec(64, 4, ServerSerialNumber
),
15742 rec(68, 2, ServerAppNumber
),
15744 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
15745 # 2222/7B0E, 123/14
15746 pkt
= NCP(0x7B0E, "Get Active Connection List by Type", 'stats')
15748 rec(10, 4, StartConnNumber
),
15749 rec(14, 1, ConnectionType
),
15752 rec(8, 4, CurrentServerTime
),
15753 rec(12, 1, VConsoleVersion
),
15754 rec(13, 1, VConsoleRevision
),
15755 rec(14, 2, Reserved2
),
15756 rec(16, 512, ActiveConnBitList
),
15758 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfd01, 0xff00])
15759 # 2222/7B0F, 123/15
15760 pkt
= NCP(0x7B0F, "Get NLM Resource Tag List", 'stats')
15762 rec(10, 4, NLMNumber
),
15763 rec(14, 4, NLMStartNumber
),
15766 rec(8, 4, CurrentServerTime
),
15767 rec(12, 1, VConsoleVersion
),
15768 rec(13, 1, VConsoleRevision
),
15769 rec(14, 2, Reserved2
),
15770 rec(16, 4, TtlNumOfRTags
),
15771 rec(20, 4, CurNumOfRTags
),
15772 rec(24, 13, RTagStructure
),
15774 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
15775 # 2222/7B10, 123/16
15776 pkt
= NCP(0x7B10, "Enumerate Connection Information from Connection List", 'stats')
15778 rec(10, 1, EnumInfoMask
),
15779 rec(11, 3, Reserved3
),
15780 rec(14, 4, itemsInList
, var
="x"),
15781 rec(18, 4, connList
, repeat
="x"),
15783 pkt
.Reply(NO_LENGTH_CHECK
, [
15784 rec(8, 4, CurrentServerTime
),
15785 rec(12, 1, VConsoleVersion
),
15786 rec(13, 1, VConsoleRevision
),
15787 rec(14, 2, Reserved2
),
15788 rec(16, 4, ItemsInPacket
),
15789 srec(netAddr
, req_cond
="ncp.enum_info_transport==TRUE"),
15790 srec(timeInfo
, req_cond
="ncp.enum_info_time==TRUE"),
15791 srec(nameInfo
, req_cond
="ncp.enum_info_name==TRUE"),
15792 srec(lockInfo
, req_cond
="ncp.enum_info_lock==TRUE"),
15793 srec(printInfo
, req_cond
="ncp.enum_info_print==TRUE"),
15794 srec(statsInfo
, req_cond
="ncp.enum_info_stats==TRUE"),
15795 srec(acctngInfo
, req_cond
="ncp.enum_info_account==TRUE"),
15796 srec(authInfo
, req_cond
="ncp.enum_info_auth==TRUE"),
15798 pkt
.ReqCondSizeVariable()
15799 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
15800 # 2222/7B11, 123/17
15801 pkt
= NCP(0x7B11, "Enumerate NCP Service Network Addresses", 'stats')
15803 rec(10, 4, SearchNumber
),
15806 rec(8, 4, CurrentServerTime
),
15807 rec(12, 1, VConsoleVersion
),
15808 rec(13, 1, VConsoleRevision
),
15809 rec(14, 2, ServerInfoFlags
),
15810 rec(16, 16, GUID
),
15811 rec(32, 4, NextSearchNum
),
15812 # The following two items are dissected in packet-ncp2222.inc
15813 #rec(36, 4, ItemsInPacket, var="x"),
15814 #rec(40, 20, NCPNetworkAddress, repeat="x" ),
15816 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb01, 0xff00])
15817 # 2222/7B14, 123/20
15818 pkt
= NCP(0x7B14, "Active LAN Board List", 'stats')
15820 rec(10, 4, StartNumber
),
15823 rec(8, 4, CurrentServerTime
),
15824 rec(12, 1, VConsoleVersion
),
15825 rec(13, 1, VConsoleRevision
),
15826 rec(14, 2, Reserved2
),
15827 rec(16, 4, MaxNumOfLANS
),
15828 rec(20, 4, ItemsInPacket
, var
="x"),
15829 rec(24, 4, BoardNumbers
, repeat
="x"),
15831 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
15832 # 2222/7B15, 123/21
15833 pkt
= NCP(0x7B15, "LAN Configuration Information", 'stats')
15835 rec(10, 4, BoardNumber
),
15838 rec(8, 4, CurrentServerTime
),
15839 rec(12, 1, VConsoleVersion
),
15840 rec(13, 1, VConsoleRevision
),
15841 rec(14, 2, Reserved2
),
15842 rec(16,136, LANConfigInfo
),
15844 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
15845 # 2222/7B16, 123/22
15846 pkt
= NCP(0x7B16, "LAN Common Counters Information", 'stats')
15848 rec(10, 4, BoardNumber
),
15849 rec(14, 4, BlockNumber
),
15852 rec(8, 4, CurrentServerTime
),
15853 rec(12, 1, VConsoleVersion
),
15854 rec(13, 1, VConsoleRevision
),
15855 rec(14, 1, StatMajorVersion
),
15856 rec(15, 1, StatMinorVersion
),
15857 rec(16, 4, TotalCommonCnts
),
15858 rec(20, 4, TotalCntBlocks
),
15859 rec(24, 4, CustomCounters
),
15860 rec(28, 4, NextCntBlock
),
15861 rec(32, 54, CommonLanStruc
),
15863 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
15864 # 2222/7B17, 123/23
15865 pkt
= NCP(0x7B17, "LAN Custom Counters Information", 'stats')
15867 rec(10, 4, BoardNumber
),
15868 rec(14, 4, StartNumber
),
15871 rec(8, 4, CurrentServerTime
),
15872 rec(12, 1, VConsoleVersion
),
15873 rec(13, 1, VConsoleRevision
),
15874 rec(14, 2, Reserved2
),
15875 rec(16, 4, NumOfCCinPkt
, var
="x"),
15876 rec(20, 5, CustomCntsInfo
, repeat
="x"),
15878 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
15879 # 2222/7B18, 123/24
15880 pkt
= NCP(0x7B18, "LAN Name Information", 'stats')
15882 rec(10, 4, BoardNumber
),
15884 pkt
.Reply(NO_LENGTH_CHECK
, [
15885 rec(8, 4, CurrentServerTime
),
15886 rec(12, 1, VConsoleVersion
),
15887 rec(13, 1, VConsoleRevision
),
15888 rec(14, 2, Reserved2
),
15889 rec(16, PROTO_LENGTH_UNKNOWN
, DriverBoardName
),
15890 rec(-1, PROTO_LENGTH_UNKNOWN
, DriverShortName
),
15891 rec(-1, PROTO_LENGTH_UNKNOWN
, DriverLogicalName
),
15893 pkt
.ReqCondSizeVariable()
15894 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
15895 # 2222/7B19, 123/25
15896 pkt
= NCP(0x7B19, "LSL Information", 'stats')
15899 rec(8, 4, CurrentServerTime
),
15900 rec(12, 1, VConsoleVersion
),
15901 rec(13, 1, VConsoleRevision
),
15902 rec(14, 2, Reserved2
),
15903 rec(16, 74, LSLInformation
),
15905 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
15906 # 2222/7B1A, 123/26
15907 pkt
= NCP(0x7B1A, "LSL Logical Board Statistics", 'stats')
15909 rec(10, 4, BoardNumber
),
15912 rec(8, 4, CurrentServerTime
),
15913 rec(12, 1, VConsoleVersion
),
15914 rec(13, 1, VConsoleRevision
),
15915 rec(14, 2, Reserved2
),
15916 rec(16, 4, LogTtlTxPkts
),
15917 rec(20, 4, LogTtlRxPkts
),
15918 rec(24, 4, UnclaimedPkts
),
15920 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
15921 # 2222/7B1B, 123/27
15922 pkt
= NCP(0x7B1B, "MLID Board Information", 'stats')
15924 rec(10, 4, BoardNumber
),
15927 rec(8, 4, CurrentServerTime
),
15928 rec(12, 1, VConsoleVersion
),
15929 rec(13, 1, VConsoleRevision
),
15930 rec(14, 1, Reserved
),
15931 rec(15, 1, NumberOfProtocols
),
15932 rec(16, 28, MLIDBoardInfo
),
15934 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
15935 # 2222/7B1E, 123/30
15936 pkt
= NCP(0x7B1E, "Get Media Manager Object Information", 'stats')
15938 rec(10, 4, ObjectNumber
),
15941 rec(8, 4, CurrentServerTime
),
15942 rec(12, 1, VConsoleVersion
),
15943 rec(13, 1, VConsoleRevision
),
15944 rec(14, 2, Reserved2
),
15945 rec(16, 196, GenericInfoDef
),
15947 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
15948 # 2222/7B1F, 123/31
15949 pkt
= NCP(0x7B1F, "Get Media Manager Objects List", 'stats')
15951 rec(10, 4, StartNumber
),
15952 rec(14, 1, MediaObjectType
),
15955 rec(8, 4, CurrentServerTime
),
15956 rec(12, 1, VConsoleVersion
),
15957 rec(13, 1, VConsoleRevision
),
15958 rec(14, 2, Reserved2
),
15959 rec(16, 4, nextStartingNumber
),
15960 rec(20, 4, ObjectCount
, var
="x"),
15961 rec(24, 4, ObjectID
, repeat
="x"),
15963 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
15964 # 2222/7B20, 123/32
15965 pkt
= NCP(0x7B20, "Get Media Manager Object Childrens List", 'stats')
15967 rec(10, 4, StartNumber
),
15968 rec(14, 1, MediaObjectType
),
15969 rec(15, 3, Reserved3
),
15970 rec(18, 4, ParentObjectNumber
),
15973 rec(8, 4, CurrentServerTime
),
15974 rec(12, 1, VConsoleVersion
),
15975 rec(13, 1, VConsoleRevision
),
15976 rec(14, 2, Reserved2
),
15977 rec(16, 4, nextStartingNumber
),
15978 rec(20, 4, ObjectCount
, var
="x" ),
15979 rec(24, 4, ObjectID
, repeat
="x" ),
15981 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
15982 # 2222/7B21, 123/33
15983 pkt
= NCP(0x7B21, "Get Volume Segment List", 'stats')
15985 rec(10, 4, VolumeNumberLong
),
15988 rec(8, 4, CurrentServerTime
),
15989 rec(12, 1, VConsoleVersion
),
15990 rec(13, 1, VConsoleRevision
),
15991 rec(14, 2, Reserved2
),
15992 rec(16, 4, NumOfSegments
, var
="x" ),
15993 rec(20, 12, Segments
, repeat
="x" ),
15995 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0x9801, 0xfb06, 0xff00])
15996 # 2222/7B22, 123/34
15997 pkt
= NCP(0x7B22, "Get Volume Information by Level", 'stats')
15999 rec(10, 4, VolumeNumberLong
),
16000 rec(14, 1, InfoLevelNumber
),
16002 pkt
.Reply(NO_LENGTH_CHECK
, [
16003 rec(8, 4, CurrentServerTime
),
16004 rec(12, 1, VConsoleVersion
),
16005 rec(13, 1, VConsoleRevision
),
16006 rec(14, 2, Reserved2
),
16007 rec(16, 1, InfoLevelNumber
),
16008 rec(17, 3, Reserved3
),
16009 srec(VolInfoStructure
, req_cond
="ncp.info_level_num==0x01"),
16010 srec(VolInfo2Struct
, req_cond
="ncp.info_level_num==0x02"),
16012 pkt
.ReqCondSizeVariable()
16013 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16014 # 2222/7B28, 123/40
16015 pkt
= NCP(0x7B28, "Active Protocol Stacks", 'stats')
16017 rec(10, 4, StartNumber
),
16020 rec(8, 4, CurrentServerTime
),
16021 rec(12, 1, VConsoleVersion
),
16022 rec(13, 1, VConsoleRevision
),
16023 rec(14, 2, Reserved2
),
16024 rec(16, 4, MaxNumOfLANS
),
16025 rec(20, 4, StackCount
, var
="x" ),
16026 rec(24, 4, nextStartingNumber
),
16027 rec(28, 20, StackInfo
, repeat
="x" ),
16029 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16030 # 2222/7B29, 123/41
16031 pkt
= NCP(0x7B29, "Get Protocol Stack Configuration Information", 'stats')
16033 rec(10, 4, StackNumber
),
16035 pkt
.Reply((37,164), [
16036 rec(8, 4, CurrentServerTime
),
16037 rec(12, 1, VConsoleVersion
),
16038 rec(13, 1, VConsoleRevision
),
16039 rec(14, 2, Reserved2
),
16040 rec(16, 1, ConfigMajorVN
),
16041 rec(17, 1, ConfigMinorVN
),
16042 rec(18, 1, StackMajorVN
),
16043 rec(19, 1, StackMinorVN
),
16044 rec(20, 16, ShortStkName
),
16045 rec(36, (1,128), StackFullNameStr
),
16047 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16048 # 2222/7B2A, 123/42
16049 pkt
= NCP(0x7B2A, "Get Protocol Stack Statistics Information", 'stats')
16051 rec(10, 4, StackNumber
),
16054 rec(8, 4, CurrentServerTime
),
16055 rec(12, 1, VConsoleVersion
),
16056 rec(13, 1, VConsoleRevision
),
16057 rec(14, 2, Reserved2
),
16058 rec(16, 1, StatMajorVersion
),
16059 rec(17, 1, StatMinorVersion
),
16060 rec(18, 2, ComCnts
),
16061 rec(20, 4, CounterMask
),
16062 rec(24, 4, TotalTxPkts
),
16063 rec(28, 4, TotalRxPkts
),
16064 rec(32, 4, IgnoredRxPkts
),
16065 rec(36, 2, CustomCnts
),
16067 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16068 # 2222/7B2B, 123/43
16069 pkt
= NCP(0x7B2B, "Get Protocol Stack Custom Information", 'stats')
16071 rec(10, 4, StackNumber
),
16072 rec(14, 4, StartNumber
),
16075 rec(8, 4, CurrentServerTime
),
16076 rec(12, 1, VConsoleVersion
),
16077 rec(13, 1, VConsoleRevision
),
16078 rec(14, 2, Reserved2
),
16079 rec(16, 4, CustomCount
, var
="x" ),
16080 rec(20, 5, CustomCntsInfo
, repeat
="x" ),
16082 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16083 # 2222/7B2C, 123/44
16084 pkt
= NCP(0x7B2C, "Get Protocol Stack Numbers by Media Number", 'stats')
16086 rec(10, 4, MediaNumber
),
16089 rec(8, 4, CurrentServerTime
),
16090 rec(12, 1, VConsoleVersion
),
16091 rec(13, 1, VConsoleRevision
),
16092 rec(14, 2, Reserved2
),
16093 rec(16, 4, StackCount
, var
="x" ),
16094 rec(20, 4, StackNumber
, repeat
="x" ),
16096 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16097 # 2222/7B2D, 123/45
16098 pkt
= NCP(0x7B2D, "Get Protocol Stack Numbers by LAN Board Number", 'stats')
16100 rec(10, 4, BoardNumber
),
16103 rec(8, 4, CurrentServerTime
),
16104 rec(12, 1, VConsoleVersion
),
16105 rec(13, 1, VConsoleRevision
),
16106 rec(14, 2, Reserved2
),
16107 rec(16, 4, StackCount
, var
="x" ),
16108 rec(20, 4, StackNumber
, repeat
="x" ),
16110 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16111 # 2222/7B2E, 123/46
16112 pkt
= NCP(0x7B2E, "Get Media Name by Media Number", 'stats')
16114 rec(10, 4, MediaNumber
),
16116 pkt
.Reply((17,144), [
16117 rec(8, 4, CurrentServerTime
),
16118 rec(12, 1, VConsoleVersion
),
16119 rec(13, 1, VConsoleRevision
),
16120 rec(14, 2, Reserved2
),
16121 rec(16, (1,128), MediaName
),
16123 pkt
.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
16124 # 2222/7B2F, 123/47
16125 pkt
= NCP(0x7B2F, "Get Loaded Media Number", 'stats')
16128 rec(8, 4, CurrentServerTime
),
16129 rec(12, 1, VConsoleVersion
),
16130 rec(13, 1, VConsoleRevision
),
16131 rec(14, 2, Reserved2
),
16132 rec(16, 4, MaxNumOfMedias
),
16133 rec(20, 4, MediaListCount
, var
="x" ),
16134 rec(24, 4, MediaList
, repeat
="x" ),
16136 pkt
.CompletionCodes([0x0000, 0x7e01, 0xfb06, 0xff00])
16137 # 2222/7B32, 123/50
16138 pkt
= NCP(0x7B32, "Get General Router and SAP Information", 'stats')
16141 rec(8, 4, CurrentServerTime
),
16142 rec(12, 1, VConsoleVersion
),
16143 rec(13, 1, VConsoleRevision
),
16144 rec(14, 2, Reserved2
),
16145 rec(16, 2, RIPSocketNumber
),
16146 rec(18, 2, Reserved2
),
16147 rec(20, 1, RouterDownFlag
),
16148 rec(21, 3, Reserved3
),
16149 rec(24, 1, TrackOnFlag
),
16150 rec(25, 3, Reserved3
),
16151 rec(28, 1, ExtRouterActiveFlag
),
16152 rec(29, 3, Reserved3
),
16153 rec(32, 2, SAPSocketNumber
),
16154 rec(34, 2, Reserved2
),
16155 rec(36, 1, RpyNearestSrvFlag
),
16157 pkt
.CompletionCodes([0x0000, 0x7e01, 0xfb06, 0xff00])
16158 # 2222/7B33, 123/51
16159 pkt
= NCP(0x7B33, "Get Network Router Information", 'stats')
16161 rec(10, 4, NetworkNumber
),
16164 rec(8, 4, CurrentServerTime
),
16165 rec(12, 1, VConsoleVersion
),
16166 rec(13, 1, VConsoleRevision
),
16167 rec(14, 2, Reserved2
),
16168 rec(16, 10, KnownRoutes
),
16170 pkt
.CompletionCodes([0x0000, 0x0108, 0x7e01, 0xfb06, 0xff00])
16171 # 2222/7B34, 123/52
16172 pkt
= NCP(0x7B34, "Get Network Routers Information", 'stats')
16174 rec(10, 4, NetworkNumber
),
16175 rec(14, 4, StartNumber
),
16178 rec(8, 4, CurrentServerTime
),
16179 rec(12, 1, VConsoleVersion
),
16180 rec(13, 1, VConsoleRevision
),
16181 rec(14, 2, Reserved2
),
16182 rec(16, 4, NumOfEntries
, var
="x" ),
16183 rec(20, 14, RoutersInfo
, repeat
="x" ),
16185 pkt
.CompletionCodes([0x0000, 0x0108, 0x7e01, 0xfb06, 0xff00])
16186 # 2222/7B35, 123/53
16187 pkt
= NCP(0x7B35, "Get Known Networks Information", 'stats')
16189 rec(10, 4, StartNumber
),
16192 rec(8, 4, CurrentServerTime
),
16193 rec(12, 1, VConsoleVersion
),
16194 rec(13, 1, VConsoleRevision
),
16195 rec(14, 2, Reserved2
),
16196 rec(16, 4, NumOfEntries
, var
="x" ),
16197 rec(20, 10, KnownRoutes
, repeat
="x" ),
16199 pkt
.CompletionCodes([0x0000, 0x7e01, 0xfb06, 0xff00])
16200 # 2222/7B36, 123/54
16201 pkt
= NCP(0x7B36, "Get Server Information", 'stats')
16202 pkt
.Request((15,64), [
16203 rec(10, 2, ServerType
),
16204 rec(12, 2, Reserved2
),
16205 rec(14, (1,50), ServerNameLen
),
16206 ], info_str
=(ServerNameLen
, "Get Server Information: %s", ", %s"))
16208 rec(8, 4, CurrentServerTime
),
16209 rec(12, 1, VConsoleVersion
),
16210 rec(13, 1, VConsoleRevision
),
16211 rec(14, 2, Reserved2
),
16212 rec(16, 12, ServerAddress
),
16213 rec(28, 2, HopsToNet
),
16215 pkt
.CompletionCodes([0x0000, 0x7e01, 0xfb06, 0xff00])
16216 # 2222/7B37, 123/55
16217 pkt
= NCP(0x7B37, "Get Server Sources Information", 'stats')
16218 pkt
.Request((19,68), [
16219 rec(10, 4, StartNumber
),
16220 rec(14, 2, ServerType
),
16221 rec(16, 2, Reserved2
),
16222 rec(18, (1,50), ServerNameLen
),
16223 ], info_str
=(ServerNameLen
, "Get Server Sources Info: %s", ", %s"))
16225 rec(8, 4, CurrentServerTime
),
16226 rec(12, 1, VConsoleVersion
),
16227 rec(13, 1, VConsoleRevision
),
16228 rec(14, 2, Reserved2
),
16229 rec(16, 4, NumOfEntries
, var
="x" ),
16230 rec(20, 12, ServersSrcInfo
, repeat
="x" ),
16232 pkt
.CompletionCodes([0x0000, 0x0108, 0x7e01, 0xfb06, 0xff00])
16233 # 2222/7B38, 123/56
16234 pkt
= NCP(0x7B38, "Get Known Servers Information", 'stats')
16236 rec(10, 4, StartNumber
),
16237 rec(14, 2, ServerType
),
16240 rec(8, 4, CurrentServerTime
),
16241 rec(12, 1, VConsoleVersion
),
16242 rec(13, 1, VConsoleRevision
),
16243 rec(14, 2, Reserved2
),
16244 rec(16, 4, NumOfEntries
, var
="x" ),
16245 rec(20, 15, KnownServStruc
, repeat
="x" ),
16247 pkt
.CompletionCodes([0x0000, 0x0108, 0x7e01, 0xfb06, 0xff00])
16248 # 2222/7B3C, 123/60
16249 pkt
= NCP(0x7B3C, "Get Server Set Commands Information", 'stats')
16251 rec(10, 4, StartNumber
),
16253 pkt
.Reply(NO_LENGTH_CHECK
, [
16254 rec(8, 4, CurrentServerTime
),
16255 rec(12, 1, VConsoleVersion
),
16256 rec(13, 1, VConsoleRevision
),
16257 rec(14, 2, Reserved2
),
16258 rec(16, 4, TtlNumOfSetCmds
),
16259 rec(20, 4, nextStartingNumber
),
16260 rec(24, 1, SetCmdType
),
16261 rec(25, 3, Reserved3
),
16262 rec(28, 1, SetCmdCategory
),
16263 rec(29, 3, Reserved3
),
16264 rec(32, 1, SetCmdFlags
),
16265 rec(33, 3, Reserved3
),
16266 rec(36, PROTO_LENGTH_UNKNOWN
, SetCmdName
),
16267 rec(-1, 4, SetCmdValueNum
),
16269 pkt
.ReqCondSizeVariable()
16270 pkt
.CompletionCodes([0x0000, 0x7e01, 0xfb06, 0xff00])
16271 # 2222/7B3D, 123/61
16272 pkt
= NCP(0x7B3D, "Get Server Set Categories", 'stats')
16274 rec(10, 4, StartNumber
),
16276 pkt
.Reply(NO_LENGTH_CHECK
, [
16277 rec(8, 4, CurrentServerTime
),
16278 rec(12, 1, VConsoleVersion
),
16279 rec(13, 1, VConsoleRevision
),
16280 rec(14, 2, Reserved2
),
16281 rec(16, 4, NumberOfSetCategories
),
16282 rec(20, 4, nextStartingNumber
),
16283 rec(24, PROTO_LENGTH_UNKNOWN
, CategoryName
),
16285 pkt
.CompletionCodes([0x0000, 0x7e01, 0xfb06, 0xff00])
16286 # 2222/7B3E, 123/62
16287 pkt
= NCP(0x7B3E, "Get Server Set Commands Information By Name", 'stats')
16288 pkt
.Request(NO_LENGTH_CHECK
, [
16289 rec(10, PROTO_LENGTH_UNKNOWN
, SetParmName
),
16290 ], info_str
=(SetParmName
, "Get Server Set Command Info for: %s", ", %s"))
16291 pkt
.Reply(NO_LENGTH_CHECK
, [
16292 rec(8, 4, CurrentServerTime
),
16293 rec(12, 1, VConsoleVersion
),
16294 rec(13, 1, VConsoleRevision
),
16295 rec(14, 2, Reserved2
),
16296 rec(16, 4, TtlNumOfSetCmds
),
16297 rec(20, 4, nextStartingNumber
),
16298 rec(24, 1, SetCmdType
),
16299 rec(25, 3, Reserved3
),
16300 rec(28, 1, SetCmdCategory
),
16301 rec(29, 3, Reserved3
),
16302 rec(32, 1, SetCmdFlags
),
16303 rec(33, 3, Reserved3
),
16304 rec(36, PROTO_LENGTH_UNKNOWN
, SetCmdName
),
16305 # The value of the set command is decoded in packet-ncp2222.inc
16307 pkt
.ReqCondSizeVariable()
16308 pkt
.CompletionCodes([0x0000, 0x7e01, 0xc600, 0xfb06, 0xff22])
16309 # 2222/7B46, 123/70
16310 pkt
= NCP(0x7B46, "Get Current Compressing File", 'stats')
16312 rec(10, 4, VolumeNumberLong
),
16315 rec(8, 4, ParentID
),
16316 rec(12, 4, DirectoryEntryNumber
),
16317 rec(16, 4, compressionStage
),
16318 rec(20, 4, ttlIntermediateBlks
),
16319 rec(24, 4, ttlCompBlks
),
16320 rec(28, 4, curIntermediateBlks
),
16321 rec(32, 4, curCompBlks
),
16322 rec(36, 4, curInitialBlks
),
16323 rec(40, 4, fileFlags
),
16324 rec(44, 4, projectedCompSize
),
16325 rec(48, 4, originalSize
),
16326 rec(52, 4, compressVolume
),
16328 pkt
.CompletionCodes([0x0000, 0x7e00, 0x7901, 0x9801, 0xfb06, 0xff00])
16329 # 2222/7B47, 123/71
16330 pkt
= NCP(0x7B47, "Get Current DeCompressing File Info List", 'stats')
16332 rec(10, 4, VolumeNumberLong
),
16335 #rec(8, 4, FileListCount ),
16336 rec(8, 16, FileInfoStruct
),
16338 pkt
.CompletionCodes([0x0000, 0x7e00, 0x9801, 0xfb06, 0xff00])
16339 # 2222/7B48, 123/72
16340 pkt
= NCP(0x7B48, "Get Compression and Decompression Time and Counts", 'stats')
16342 rec(10, 4, VolumeNumberLong
),
16345 rec(8, 56, CompDeCompStat
),
16347 pkt
.CompletionCodes([0x0000, 0x7e00, 0x9801, 0xfb06, 0xff00])
16348 # 2222/7BF9, 123/249
16349 pkt
= NCP(0x7BF9, "Set Alert Notification", 'stats')
16352 pkt
.CompletionCodes([0x0000, 0x7e00, 0xfb06, 0xff00])
16353 # 2222/7BFB, 123/251
16354 pkt
= NCP(0x7BFB, "Get Item Configuration Information", 'stats')
16357 pkt
.CompletionCodes([0x0000, 0x7e00, 0xfb06, 0xff00])
16358 # 2222/7BFC, 123/252
16359 pkt
= NCP(0x7BFC, "Get Subject Item ID List", 'stats')
16362 pkt
.CompletionCodes([0x0000, 0x7e00, 0xfb06, 0xff00])
16363 # 2222/7BFD, 123/253
16364 pkt
= NCP(0x7BFD, "Get Subject Item List Count", 'stats')
16367 pkt
.CompletionCodes([0x0000, 0x7e00, 0xfb06, 0xff00])
16368 # 2222/7BFE, 123/254
16369 pkt
= NCP(0x7BFE, "Get Subject ID List", 'stats')
16372 pkt
.CompletionCodes([0x0000, 0x7e00, 0xfb06, 0xff00])
16373 # 2222/7BFF, 123/255
16374 pkt
= NCP(0x7BFF, "Get Number of NetMan Subjects", 'stats')
16377 pkt
.CompletionCodes([0x0000, 0x7e00, 0xfb06, 0xff00])
16378 # 2222/8301, 131/01
16379 pkt
= NCP(0x8301, "RPC Load an NLM", 'remote')
16380 pkt
.Request(NO_LENGTH_CHECK
, [
16381 rec(10, 4, NLMLoadOptions
),
16382 rec(14, 16, Reserved16
),
16383 rec(30, PROTO_LENGTH_UNKNOWN
, PathAndName
),
16384 ], info_str
=(PathAndName
, "RPC Load NLM: %s", ", %s"))
16386 rec(8, 4, RPCccode
),
16388 pkt
.CompletionCodes([0x0000, 0x7c00, 0x7e00, 0xfb07, 0xff00])
16389 # 2222/8302, 131/02
16390 pkt
= NCP(0x8302, "RPC Unload an NLM", 'remote')
16391 pkt
.Request(NO_LENGTH_CHECK
, [
16392 rec(10, 20, Reserved20
),
16393 rec(30, PROTO_LENGTH_UNKNOWN
, NLMName
),
16394 ], info_str
=(NLMName
, "RPC Unload NLM: %s", ", %s"))
16396 rec(8, 4, RPCccode
),
16398 pkt
.CompletionCodes([0x0000, 0x7c00, 0x7e00, 0xfb07, 0xff00])
16399 # 2222/8303, 131/03
16400 pkt
= NCP(0x8303, "RPC Mount Volume", 'remote')
16401 pkt
.Request(NO_LENGTH_CHECK
, [
16402 rec(10, 20, Reserved20
),
16403 rec(30, PROTO_LENGTH_UNKNOWN
, VolumeNameStringz
),
16404 ], info_str
=(VolumeNameStringz
, "RPC Mount Volume: %s", ", %s"))
16406 rec(8, 4, RPCccode
),
16407 rec(12, 16, Reserved16
),
16408 rec(28, 4, VolumeNumberLong
),
16410 pkt
.CompletionCodes([0x0000, 0x7e00, 0xfb07, 0xff00])
16411 # 2222/8304, 131/04
16412 pkt
= NCP(0x8304, "RPC Dismount Volume", 'remote')
16413 pkt
.Request(NO_LENGTH_CHECK
, [
16414 rec(10, 20, Reserved20
),
16415 rec(30, PROTO_LENGTH_UNKNOWN
, VolumeNameStringz
),
16416 ], info_str
=(VolumeNameStringz
, "RPC Dismount Volume: %s", ", %s"))
16418 rec(8, 4, RPCccode
),
16420 pkt
.CompletionCodes([0x0000, 0x7e00, 0xfb07, 0xff00])
16421 # 2222/8305, 131/05
16422 pkt
= NCP(0x8305, "RPC Add Name Space To Volume", 'remote')
16423 pkt
.Request(NO_LENGTH_CHECK
, [
16424 rec(10, 20, Reserved20
),
16425 rec(30, PROTO_LENGTH_UNKNOWN
, AddNameSpaceAndVol
),
16426 ], info_str
=(AddNameSpaceAndVol
, "RPC Add Name Space to Volume: %s", ", %s"))
16428 rec(8, 4, RPCccode
),
16430 pkt
.CompletionCodes([0x0000, 0x7e00, 0xfb07, 0xff00])
16431 # 2222/8306, 131/06
16432 pkt
= NCP(0x8306, "RPC Set Command Value", 'remote')
16433 pkt
.Request(NO_LENGTH_CHECK
, [
16434 rec(10, 1, SetCmdType
),
16435 rec(11, 3, Reserved3
),
16436 rec(14, 4, SetCmdValueNum
),
16437 rec(18, 12, Reserved12
),
16438 rec(30, PROTO_LENGTH_UNKNOWN
, SetCmdName
),
16440 # XXX - optional string, if SetCmdType is 0
16442 ], info_str
=(SetCmdName
, "RPC Set Command Value: %s", ", %s"))
16444 rec(8, 4, RPCccode
),
16446 pkt
.CompletionCodes([0x0000, 0x7e00, 0xfb07, 0xff00])
16447 # 2222/8307, 131/07
16448 pkt
= NCP(0x8307, "RPC Execute NCF File", 'remote')
16449 pkt
.Request(NO_LENGTH_CHECK
, [
16450 rec(10, 20, Reserved20
),
16451 rec(30, PROTO_LENGTH_UNKNOWN
, PathAndName
),
16452 ], info_str
=(PathAndName
, "RPC Execute NCF File: %s", ", %s"))
16454 rec(8, 4, RPCccode
),
16456 pkt
.CompletionCodes([0x0000, 0x7e00, 0xfb07, 0xff00])
16457 if __name__
== '__main__':
16459 # filename = "ncp.pstats"
16460 # profile.run("main()", filename)
16464 # p = pstats.Stats(filename)
16466 # print "Stats sorted by cumulative time"
16467 # p.strip_dirs().sort_stats('cumulative').print_stats()
16469 # print "Function callees"
16470 # p.print_callees()