+---------------------------+
                        | Event Control block (ECB) |
                        +---------------------------+

         Tuto strukturu předáváme ovladači, když po něm něco chceme.
           Některé položky jsou v opačném pořadí ! tj. Vyšší-nižší.

                Tato struktura je pro DOS na pracovní stanici.

   +---------------+-----------------------------+------------+--------------+
   |Posunutí       |Název                        |typ         |Uspořádání    |
   +---------------+-----------------------------+------------+--------------+
   |00h            |Link Address                 |BYTE[4]     |Offset-Segment|
   +---------------+-----------------------------+------------+--------------+
   |04h            |Adresa ESR                   |BYTE[4]     |Offset-Segment|
   +---------------+-----------------------------+------------+--------------+
   |08h            |InUseFlag                    |BYTE        |              |
   +---------------+-----------------------------+------------+--------------+
   |09h            |Completion code              |BYTE        |              |
   +---------------+-----------------------------+------------+--------------+
   |0Ah            |Číslo soketu                 |WORD        |Vyšši-nižší   |
   +---------------+-----------------------------+------------+--------------+
   |0Ch            |IPX workspace                |BYTE[4]     |              |
   +---------------+-----------------------------+------------+--------------+
   |10h            |Driver workspace             |BYTE[12]    |              |
   +---------------+-----------------------------+------------+--------------+
   |1Ch            |Cílová adresa                |BYTE[6]     |              |
   +---------------+-----------------------------+------------+--------------+
   |22h            |Počet fragmentů              |WORD        |Normálně      |
   +---------------+-----------------------------+------------+--------------+
   |24h            |Adresa 1.fragmentu           |BYTE[4]     |Offset-Segment|
   +---------------+-----------------------------+------------+--------------+
   |28h            |Delka 1.fragmentu            |BYTE[2]     |Normálně      |
   +---------------+-----------------------------+------------+--------------+
   |2Ah            |Adresa 2.fragmentu           |BYTE[4]     |Offset-Segment|
   +---------------+-----------------------------+------------+--------------+
   |2Eh            |Delka 2.fragmentu            |BYTE[2]     |Normálně      |
   +---------------+-----------------------------+------------+--------------+
   |  ..........   |   ......................    |  ........  |              |
   +---------------+-----------------------------+------------+--------------+

                               Význam položek:

                                 Link Addres:

           Tuto  polozku  pouziva  ovladač.  Nemusíte  s ní nic dělat, ale
      můžete ji použít pro vase potřeby, jako indentifikace volných bloků.

                                  Adresa ESR:

           Adresa  procedury ESR, která se bude volat po dokončení práce s
      tímto  blokem.  Třeba po dojití paketu do ECB připraveného na příjem
      se  po  úspěšném  přijetí  zavolá  tato procedura. V té můžete tento
      paket  zpracovat  a zadat další příjem. Pokud budete mít zájem, můžu
      se  o  ní  rozepsat  více  a  i  s parametry které dostává. Pokud ji
      nepoužíváte, musí být vyplněna nulamy.

                                   InUseFlag:

           Je to příznak, jestli se tento ECB používá a nebo byl požadavek
      úspěšně  splněn.  Odtud  zjistíte,  jestli vám něco došlo a nebo byl
      paket už poslán.

                                    Hodnoty:

       00h   -  ECB se nepoužívá. Buďto byl požadavek splněn a nebo se
                tento blok nepoužívá.
       0F8h  -  Čeká na ve frontě na vyslání.
       0FAh  -  Je právě zpracováván.
       0FBh  -  Požadavek byl splněn, ale EBC ještě čeká na zpracování.
       0FCh  -  ECB je použit AES (plánovač) , čeká na uplynutí nastaveného
                času.
       0FDh  -  Je použito IPX a čeká na uplynutí nastaveného času.
       0FEh  -  Čeká na příjem paketu.
       0FFh  -  Čeká na poslání paketu.

            Po slnění požadavku nastaví IPX tuto položku na nulovou.

                                Completion Code:

           Po  splnění  požadavku  (nulová  hodnota  v  InUseFlag) se tady
      nastaví "úspěšnost" dokončení.

                              Při posílání paketu:

       00h    -  V pořádku odesláno.
       0FCh   -  Požadavek byl zrušen.
       0FDh   -  Špatně vytvořený paket. Je menší než 30 byte (velikost
                 hlavičky), je větší než maximální délka (576 byte), první
                 fragment (část, ze kterých se skládá paket) je moc malý na
                 hlavičku a nebo nulový počet fragmentů.
       0FEh   -  Paket nemůže být doručen. (asi když posíláte na stejný
                 počítač z kterého vysíláte a nemáte požadavek na příjem)
       0FFh   -  Chyba hardware.

                             Při přijímání paketu:

       00h    -  V pořádku, byl přijat paket.
       0FCh   -  Požadavek příjmu byl zrušen.
       0FDh   -  Přetečení. Paket byl moc veliký nebo máte málo místa
                 v fragmentech a všechny došlé data.
       0FFh   -  Soket, který používáte je zavřen.

                        V případě naplánování události:

       00h    -  V pořádku. Nastavený čas uplynul.
       0F9h   -  Událos byla zrušena.

                Při požadavku na zrušení příjmu,vysílání a pod:

       00h    -  Událost byla zrušena.
       0FCh   -  Událos nemůže být zrušena.

                                 Číslo soketu:

           Číslo  soketu  do kterého vysíláte\příjmáte. Musíte tento soket
      nejdřív  otevřít.  Když ECB vysíláte, je tady číslo soketu z kterého
      je paket poslán a když příjmá tak číslo soketu do kterého příjmáte.

                                 IPX Workspace:
                               Driver Workspace:

           Rezervováno pro IPX a ovladač. Pokud není ECB používáno, můžete
      sem zapisovat co chcete.

                                 Cílová adresa:

           Sem  napíšete  adresu  stanice, do které chcete paket poslat. V
      skutečnosti  se  tento paket pošle do celé sítě, ale odchytne si jej
      jen  ta  stanice,  pro kterou je určen. Adresa každé stanice je dána
      síťové  kartě už u výrobce (u Ethernetu) a stačí když si ji zjistíte
      pomocí  služby  IPX.  Potom stací poslat tomu druhému svoji adresu a
      začít  komunikovat.  Další  možnost  je  poslat paket všem stanicím.
      Potom  tuto  hodnotu  vyplnte  hodnotou  0FFFFFFFFFFFFh (samé efka).
      Paket  potom dojde každému do určeného soketu, pokud má požadavek na
      příjem.

                                Počet fragmentů:

           IPX  paket  se  může  skládat  z  jednoho nebo více částí. Když
      budete  mít  hlavičku i všechna data paketu na jednom místě za sebou
      jako  nějakou  strukturu,  nastavte  toto na 1. Běžná praxe je mít 2
      části,  v jedné mít hlavičku a ve druhém posílaná data. Při posílání
      potom driver postupně bere tyto fragmenty a slepí je do jednoho, ten
      potom pošle jako IPX paket.

                 Pro každý fragment následuje sekvence položek:

   +---------------+-----------------------------+------------+--------------+
   |2Ah            |Adresa fragmentu             |BYTE[4]     |Offset-Segment|
   +---------------+-----------------------------+------------+--------------+
   |2Eh            |Delka fragmentu              |BYTE[2]     |Normalne      |
   +---------------+-----------------------------+------------+--------------+

           Pocet  těchto  bloků  odpovídá  položce Počet fragmentů. Adresa
      fragmentu  je  celá  adresa  místa,  kde jsou ulozena data pro tento
      fragment  a  Delka  fragmentu  je jeho celková délka. První fragment
      musí být větší nebo mít 30 byte, aby se do něj vlezla hlavička IPX.

 


            výheň