Home | History | Annotate | Download | only in include
      1 /**
      2  * This file has no copyright assigned and is placed in the Public Domain.
      3  * This file is part of the mingw-w64 runtime package.
      4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
      5  */
      6 #ifndef _ATALKWSH_
      7 #define _ATALKWSH_
      8 
      9 #define DECIMAL_BASE 10
     10 
     11 #define ATPROTO_BASE (1000 *AF_APPLETALK)
     12 #define SOL_APPLETALK (ATPROTO_BASE)
     13 
     14 #define DDPPROTO_RTMP (ATPROTO_BASE + 1)
     15 #define DDPPROTO_NBP (ATPROTO_BASE + 2)
     16 #define DDPPROTO_ATP (ATPROTO_BASE + 3)
     17 #define DDPPROTO_AEP (ATPROTO_BASE + 4)
     18 #define DDPPROTO_RTMPRQ (ATPROTO_BASE + 5)
     19 #define DDPPROTO_ZIP (ATPROTO_BASE + 6)
     20 #define DDPPROTO_ADSP (ATPROTO_BASE + 7)
     21 
     22 #define DDPPROTO_MAX (ATPROTO_BASE + 255)
     23 
     24 #define ATPROTO_ADSP (DDPPROTO_MAX + 1)
     25 #define ATPROTO_ATP (DDPPROTO_MAX + 2)
     26 #define ATPROTO_ASP (DDPPROTO_MAX + 3)
     27 #define ATPROTO_PAP (DDPPROTO_MAX + 4)
     28 
     29 #define SO_REGISTER_NAME 0xA000
     30 #define SO_DEREGISTER_NAME 0xA001
     31 #define SO_REMOVE_NAME SO_DEREGISTER_NAME
     32 #define SO_LOOKUP_NAME 0xA002
     33 #define SO_CONFIRM_NAME 0xA003
     34 #define SO_LOOKUP_MYZONE 0xA004
     35 #define SO_GETMYZONE SO_LOOKUP_MYZONE
     36 #define SO_LOOKUP_ZONES 0xA005
     37 #define SO_GETZONELIST SO_LOOKUP_ZONES
     38 #define SO_LOOKUP_ZONES_ON_ADAPTER 0xA006
     39 #define SO_GETLOCALZONES SO_LOOKUP_ZONES_ON_ADAPTER
     40 #define SO_LOOKUP_NETDEF_ON_ADAPTER 0xA007
     41 #define SO_GETNETINFO SO_LOOKUP_NETDEF_ON_ADAPTER
     42 
     43 #define SO_PAP_SET_SERVER_STATUS 0xA007
     44 #define SO_PAP_GET_SERVER_STATUS 0xA008
     45 #define SO_PAP_PRIME_READ 0xA009
     46 
     47 #define ATADDR_ANY 0
     48 #define ATADDR_BROADCAST 0xFF
     49 
     50 #define WSAEMSGPARTIAL (WSABASEERR+100)
     51 
     52 #define MAX_PAP_STATUS_SIZE 255
     53 #define MIN_PAP_READ_BUF_SIZE 4096
     54 
     55 #define PAP_UNUSED_STATUS_BYTES 4
     56 
     57 typedef struct sockaddr_at {
     58   USHORT sat_family;
     59   USHORT sat_net;
     60   UCHAR sat_node;
     61   UCHAR sat_socket;
     62 } SOCKADDR_AT,*PSOCKADDR_AT;
     63 
     64 typedef union {
     65   struct {
     66     USHORT Network;
     67     UCHAR Node;
     68     UCHAR Socket;
     69   };
     70   ULONG Address;
     71 } WSH_ATALK_ADDRESS,*PWSH_ATALK_ADDRESS;
     72 
     73 #define MAX_ENTITY 32
     74 typedef struct {
     75   CHAR ObjectNameLen;
     76   CHAR ObjectName[MAX_ENTITY];
     77   CHAR TypeNameLen;
     78   CHAR TypeName[MAX_ENTITY];
     79   CHAR ZoneNameLen;
     80   CHAR ZoneName[MAX_ENTITY];
     81 } WSH_NBP_NAME,*PWSH_NBP_NAME;
     82 
     83 typedef struct {
     84   WSH_ATALK_ADDRESS Address;
     85   USHORT Enumerator;
     86   WSH_NBP_NAME NbpName;
     87 } WSH_NBP_TUPLE,*PWSH_NBP_TUPLE;
     88 
     89 typedef WSH_NBP_NAME WSH_REGISTER_NAME,*PWSH_REGISTER_NAME;
     90 typedef WSH_NBP_NAME WSH_DEREGISTER_NAME,*PWSH_DEREGISTER_NAME;
     91 typedef WSH_NBP_NAME WSH_REMOVE_NAME,*PWSH_REMOVE_NAME;
     92 
     93 typedef struct _WSH_LOOKUP_ZONES {
     94   ULONG NoZones;
     95 } WSH_LOOKUP_ZONES,*PWSH_LOOKUP_ZONES;
     96 
     97 typedef struct _WSH_LOOKUP_NETDEF_ON_ADAPTER {
     98   USHORT NetworkRangeLowerEnd;
     99   USHORT NetworkRangeUpperEnd;
    100 } WSH_LOOKUP_NETDEF_ON_ADAPTER,*PWSH_LOOKUP_NETDEF_ON_ADAPTER;
    101 
    102 typedef struct _WSH_LOOKUP_NAME {
    103   WSH_NBP_TUPLE LookupTuple;
    104   ULONG NoTuples;
    105 } WSH_LOOKUP_NAME,*PWSH_LOOKUP_NAME;
    106 
    107 typedef struct _WSH_PAP_GET_SERVER_STATUS {
    108   SOCKADDR_AT ServerAddr;
    109   UCHAR Reserved[PAP_UNUSED_STATUS_BYTES];
    110   UCHAR ServerStatus[MAX_PAP_STATUS_SIZE+1];
    111 } WSH_PAP_GET_SERVER_STATUS,*PWSH_PAP_GET_SERVER_STATUS;
    112 
    113 #endif
    114