Petr,

Here's the complete set of 3.x/4.x/5.x Namespace NCP calls with proper
return codes.  I'll run down the huge-data info and post a bit later.

1.

NCP  code      2222/5716

Generate Directory Base and Volume Number

Returns the directory base for the file or directory in the name space
associated with
"namespace"

Request Packet (20 to ? bytes)

index    bytes   type or value        description
0         6        structure          Request Packet Header
6         2        0x5716             NCP Function Code
8         1        Namespace          Namespace number (0-DOS, 2-NFS,
4-LONG, 1-MAC)
9         3        reserved           '000''s
12        1        Volume Number      The volume the file resides in.
13        4                           ComponentHandle    
17        1                           ComponentHandleFlag
18        1                           The number of components in
ComponentPath
19        1...?                       ComponentPath

Reply Packet (17 bytes)

index    bytes   type or value        description

0         8        structure          Server Response Header
8         4                           The directory base of the file or
directory in the 
                                      namespace associated with
Namespace
12        4                           The directory base of the file or
directory in the DOS Name Space (The FAT Chain head)
16        1                           Volume Number


Completion codes

0x00      OK

2.

NCP     code     2222/5717

Query Name Space Information Format

Attempts to return the format of the information for the specified name
space on the volume associated with VolumeNumber.

Request Packet (10 bytes)

index     bytes    type or value      description

0          6        structure          Request Packet Header
6          2        0x5717             NCP Function Code
8          1                           Namespace
9          1                           Volume Number


Reply Packet (154 bytes)

index     bytes    type or value      description

0          8        structure          ServerResponseHeader
8          4                           fixed bit mask
12         4                           variable bit mask
16         4                           huge bit mask
20         2                           fixed bits defined
22         2                           variable bits defined
24         2                           huge bits defined
26         128                         fields length table  (for NFS,
this is the NFS structure in NWDIR.H in NWFS)

Completion codes

0x00       OK


3.

NCP     code     2222/5719

Set Name Space Information

Attempts to set iformation specific to the name space for the specified
entity.

Request Packet (531 bytes)

index     bytes    type or value     description

0          6        structure        RequestPacketHeader
6          2        0x5719           NCPFunctionCode
8          1                         Source Name Space
9          1                         Destination Name Space
10         1                         Volume Number
11         4                         DirEntry
15         4                         NSInfoBitMask
19         512                       NSSpecificInfo  (the modified
namespace records)

Reply Packet (8 bytes)

index      bytes    type or value    description

0          8        structure        ServerResponseHeader

Completion Codes

0x00       OK


4.   

NCP     code    222/571B

Set Huge Name Space Information

Attempts to set the huge Namespace information for the entity associated
with DirEntry

Request Packet (39 bytes)

index      bytes     type of value     description

0           6         structure         RequestPacketHeader
6           2         0x571B            NCPFunctionCode
8           1                           Namespace
9           1                           Volume Number
10          4                           DirEntry
14          4                           HugeMask
18         16                           HugeStateInfo
34          4                           HugeDataLength
38          1                           HugeData

Reply Packet (28 bytes)

index     bytes      type or value     description

0           8         structure         ServerResponseHeader
8          16                           HugeStateInfo
24          4                           Total Amount of Huge Data Used

Completion Code

0x00      OK


I have the formats for the other NameSpace NCPs, but it looks like your
code is handling these.  If you need them,
let me know.  I have a 600 page document I wrote two years ago that
details every single NCP and NDS NCP used,
and can send it to you via UPS in .cz.   It's too big to fax, or post.


The format of the namespace records is the same as in NWDIR.H in NWFS --
NetWare just passes them through to the client
so all the field layouts are there.  Unless the NFS server is loaded on
NetWare, you can just about write anythin you
want into the NFS namespace, since NetWare does not check the namespace
records (other than the first seven common fields
that are the same for all namespace records).  If NFSSERV.NLM loads on
the server, he does do a consistency check and 
will vrepair the volume if any of the fields are hosed.

Other NCPs you may need (let me know if you need these as well) -- looks
like you are already implementing these correctly.

2222/5714       Get Name Space Information
2222/5715       Search for a File or Subdirectory
2222/5715       Get Path String from Short Dir Handle

2222/5718       Get Name Spaces Loaded List from Volume Number
2222/571C       Get Full Path String
2222/571D       Get Effective Directory Rights

2222/6801       Ping for NDS NCP
2222/6802       Send NDS FRagment/Reply
2222/6803       Close NDS Fragment
2222/6804       Return Bindery Context (you need to implement this one
-- I did not see it in your code)
2222/6805       Monitor NDS Connection (this one will allow you to
intercept NDS replica packets and suck an NDS replica local)

2222/162F       Get Name Space Information
2222/1630       Get Name Space Directory Entry
2222/1631       Open Data Stream (this NCP will allow you to open the
MAC namespace data fork and read it remotely for MAC clients)

:-)

Jeff
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/

Reply via email to