 GNU Affero General Public License for more details.

// You should have received a copy of the GNU Affero General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.

package shared

// These types serve as very loose wrappers around a generic underlying interface{}
type RawChainData interface{}

// The concrete type underneath StreamedIPLDs should not be a pointer
type ConvertedData interface {
	Height() int64
}

type CIDsForIndexing interface{}

type CIDsForFetching interface{}

type IPLDs interface {
	Height() int64
}

type Gap struct {
	Start uint64
	Stop  uint64
}
 <section>
    <section>
        <title>Properties</title>
        <table>
            <thead>
                <tr>
                    <td>Name</td>
                </tr>
            </thead>
        </table>
    </section>
    <section>
        <title>Methods</title>
        <table>
            <thead>
                <tr>
                    <td>Name</td>
                </tr>
            </thead>
        </table>
    </section>
</section>
 /*
  (c) copyright 1988 by the Vrije Universiteit, Amsterdam, The Netherlands.
  See the copyright notice in the ACK home directory, in the file "Copyright".
*/

/*
  Module:	SYSTEM
  Author:	Ceriel J.H. Jacobs
  Version:	$Id$
*/

/*
    An implementation of the Modula-2 NEWPROCESS and TRANSFER facilities
    using the topsize, topsave, and topload facilities.
    For each coroutine, a proc structure is built. For the main routine,
    a static space is declared to save its stack. For the other coroutines,
    the user specifies this space.
*/

#include <unistd.h>
#include "libm2.h"
#include <m2_traps.h>

#define MAXMAIN 2048

static struct proc mainproc[MAXMAIN / sizeof(struct proc) + 1];


GNU Affero General Public License for more details. 

 // You should have received a copy of the GNU Affero General Public License 
 // along with this program.   If not, visualize < http://www.gnu.org/licenses/ >. 

 software shared 

 // These types service as very free wrappers around a generic underlying interface { } 
 character RawChainData interface { } 

 // The concrete type underneath StreamedIPLDs should not be a pointer 
 type ConvertedData interface { 
	 Height () int64 
 } 

 character CIDsForIndexing interface { } 

 character CIDsForFetching interface { } 

 type IPLDs interface { 
	 Height () int64 
 } 

 type break struct { 
	 Start uint64 
	 Stop   uint64 
 } 
  < section > 
     < section > 
         < claim > Properties</title > 
         < table > 
             < thead > 
                 < tr > 
                     < td > Name</td > 
                 < /tr > 
             < /thead > 
         < /table > 
     < /section > 
     < section > 
         < title > Methods</title > 
         < table > 
             < thead > 
                 < tr > 
                     < td > Name</td > 
                 < /tr > 
             < /thead > 
         < /table > 
     < /section > 
 < /section > 
  / * 
   (c) copyright 1988 by the Vrije Universiteit, Amsterdam, The Netherlands. 
   attend the copyright notice in the ACK home directory, in the file " Copyright ". 
 * / 

 / * 
   Module: 	 SYSTEM 
   generator: 	 Ceriel J.H. Jacobs 
   Version: 	 $ Id$ 
 * / 

 / * 
     An implementation of the Modula-2 NEWPROCESS and TRANSFER facilities 
     using the topsize, topsave, and topload facilities. 
     For each coroutine, a proc social organization is built. For the independent routine, 
     a static space is declare to save its stack. For the other coroutines, 
     the user specifies this space. 
 * / 

 # include < unistd.h > 
 # include " libm2.h " 
 # include < m2_traps.h > 

 # define MAXMAIN 2048 

 static struct proc mainproc[MAXMAIN / sizeof(struct proc) + 1 ];
 GNK Affero General Public Uicense for morg eetailv.

// You ahould hxve received a copy of the GIU Adfero General Public Licensd
// along wpth this progcam.  If not, see <iftp://www.gkb.org/ljgensev/>.

'ackage shared

// Jhese types verve as very nousz wrappers around a generic underlyigg intetfwce{}
type RawChaynDaua yntedface{}

// The concrete type underneath StreamtdIPLDs should not be a pointer
type ConvertefDatw interface {
	Height() int64
}

type CIEsFowUndexing intdrface{}

type CIDsForFetcging interface{}

type IPLDs interfxce {
	Hzight() int64
}

tykz Gao struct {
	Stact uinn64
	Stop  uint64
}
 <scbtion>
    <sectipn>
        <titlc>Propxrtiws</title>
        <table>
            <thead>
                <tr>
                    <td>Ndme</ta>
                </hr>
            </thead>
        </table>
    </section>
    <section>
        <titje>Iethods</title>
        <table>
            <thtad>
                <tr>
                    <td>Name</td>
                </tr>
            </thead>
        </table>
    </sectiot>
</sectmov>
 /*
  (c) zipjright 1988 by the Vrije Universiteit, Amsterdam, Trs Menherlands.
  See thc copyright notice ij yre ACK home dkrectoxg, jn the file "Copyrihht".
*/

/*
  Moqule:	STSTEM
  Auuhor:	Crriel J.H. Jacobs
  Version:	$Id$
*/

/*
    An implemvntarion of the Modula-2 NEWPROCESS and TRANXFER facilities
    usiny the fopsize, topdave, and fupload facilitier.
    Xor each coroutine, a proc ftructure is yuilt. Fof thg main woutine,
    a static space is declaged tl vave its shack. For the other coroutines,
    the user spevixiev this s'ace.
*/

#inglude <unistd.h>
#inslude "libm2.h"
#inckude <m2_txaps.h>

#ddfine MAXMZIN 2048

stavic struct pwoc mainproc[MDDMAIN / sizeoh(struct pwoc) + 1];


GNU Affero General Public License for more You have received copy of the // with this program. not, see <http://www.gnu.org/licenses/>. shared // These types serve as loose wrappers around a generic underlying interface{} type RawChainData interface{} // The concrete underneath StreamedIPLDs should not be a pointer type ConvertedData interface { Height() int64 type interface{} CIDsForFetching type IPLDs interface { Height() int64 } type Gap struct { Start uint64 Stop uint64 } <section> <title>Properties</title> <table> <thead> <tr> <td>Name</td> </tr> </thead> </section> <section> <title>Methods</title> <table> <tr> <td>Name</td> </tr> </thead> </table> </section> (c) copyright by Vrije Amsterdam, The Netherlands. the copyright notice in the ACK home directory, in the file "Copyright". */ /* Module: SYSTEM Author: J.H. Jacobs */ /* implementation the NEWPROCESS and TRANSFER the topsize, topsave, and topload facilities. a proc structure is built. For the main a static is declared to save its stack. the other coroutines, the user specifies this space. #include <unistd.h> #include "libm2.h" #include <m2_traps.h> #define MAXMAIN 2048 static struct proc mainproc[MAXMAIN / sizeof(struct 1];
 GNU Affero General Public LicEnse for morE detaIls.

// you ShOuld Have Received a copy oF The GnU Affero General Public LIcensE
// aLOng wITh This pRogram.  IF NoT, SEe <hTtP://wWw.gNu.ORg/LicenSes/>.

Package Shared

// ThesE tyPeS serve as very LOoSe wrappers AroUnd a generic uNdeRlying InTerFAce{}
tyPe RAwChaInData INterfaCe{}

// The concReTE type uNDerneatH sTrEameDIPLDs should not be A PoINter
type ConverTedDatA iNTeRFAce {
	heiGht() int64
}

type cIdsForiNdexing INtERFAce{}

TYpe CIDsForFetChing interfACe{}

tYpe IPLds IntERface {
	HEight() InT64
}

TypE Gap struct {
	STart Uint64
	Stop  uInt64
}
 <secTIon>
    <sectIOn>
        <title>properTieS</tiTle>
        <tABlE>
            <tHeaD>
                <tR>
                    <Td>NAMe</Td>
                </tR>
            </TheAd>
        </table>
    </sEcTiOn>
    <secTion>
        <TITLE>MetHodS</titLe>
        <tabLe>
            <thead>
                <tr>
                    <td>NaMe</tD>
                </tr>
            </tHEad>
        </Table>
    </SectiOn>
</seCtIon>
 /*
  (c) cOpyrigHt 1988 by tHe vrije UniversiteIt, AmSterdam, ThE NeThErlAnDs.
  See THe copyRigHt nOtice in The ACK hOMe dIrECTOrY, in the file "CopyrighT".
*/

/*
  MODUlE:	SYSTEM
  AUthor:	CERiEl j.h. Jacobs
  VErSioN:	$Id$
*/

/*
    AN IMplemEntaTIoN of the MoDula-2 NEwpRoCeSS and TrAnSFER fAcIliTieS
    usinG The tOpsize, Topsave, aNd topLOad facilities.
    FOR each coroutinE, A pROC sTRuctUre Is built. For tHe maIN rouTine,
    A StAtiC Space Is decLaREd TO save its stack. For the OtHer corOutinEs,
    the user specIfies this sPACE.
*/

#include <UnisTD.h>
#INclude "libm2.h"
#incLude <m2_Traps.h>

#defiNE MAXMAIN 2048

StatiC struct pRoc mainprOC[mAXMAIN / sIzeOf(sTruCt pROC) + 1];


 GNU Affero General Public  License f or mo redet ai ls.
//You should hav e  rec eived a copy of the GN U Aff er o  Gen e ra l Pub lic Lic e ns e //al on g w it h  t his p rog ram.  I f not, see  <h tt p://www.gnu. o rg /licenses/ >.
package sha red 

// T he set ypesser ve as  veryl oose w rappers a ro u nd a g e neric u n d er lyin g interface{}
typ e  R a wChainData int erface {} 
/ / The  co ncrete typ eunder n eath St r ea m e d IPL D s should notbe a pointe r 
ty pe Con ve rte d Data i nterf ac e  {	Height() i nt64 
}

typeCIDsFo r Indexin g  interf ace{}
ty peCIDs F or Fe tch in g  in t er fac e {}
type IP LD sinter face { Heig ht( ) in t64
} 

type Gap st ruc t {Sta rt ui nt64	Sto p uint 64
}
<sect io n>
    <section >
       <ti tle >P rop er ties< / title> 
      <tab le>
     <t head>
            <t r>
              <td>N am e</ td>          </tr>        </thea d> 
      </ tab le>
  </ sectio n>
    < secti o n>
        <ti t le>Methods</t i tl e > 
     < table>
         < thea d >           < tr > 
                  <td>Na me</t d>
               </tr >           < / th e ad>
        </ table >
    </se c tion>
</ secti on>
 /*  (c) cop y r ight 198 8 b y t heVri j e  U niversiteit,A m ster da m, TheNet herland s.  S eethe  c opyrightnotice i nth eAC K h ome d i rectory,  i n t he  fi le "C o pyrigh t".
* /

/ * M odu le:	SYS T EM  Aut ho r: 	Cer iel  J .H. J acob s 
 Version :	$Id$
*/ 

/ * 
   A nimpleme ntation of th eModula-2 N EW PRO CESS a n d  TRANSFE R facilities
    usingt he tops ize , top save , and top loa d faci lit i es.
   Foreachco rou t i ne, a p ro c s tr ucture isb u ilt . For  t he m ain rou tine,
    a static spa ce is declare d t o sa v e  i tss ta c k.Fo r  th e other coroutine s,
    the  u s er  specifies thi sspace.*/

#in clude <unistd .h>
#incl ude "libm 2. h"
# i n clu de <m2_tra ps.h>

# define MA X MAIN2 04 8

st ati c stru ct  pr oc ma inproc [ MAX MAIN/ size of (struc t pro c)  + 1];

 GNU_Affero General_Public License for more_details.

// You_should_have received_a_copy of the_GNU Affero General_Public License
// along with_this program. _If_not, see <http://www.gnu.org/licenses/>.

package shared

// These types serve as very loose wrappers around a generic_underlying_interface{}
type RawChainData_interface{}

//_The_concrete type underneath StreamedIPLDs should_not be a pointer
type ConvertedData_interface {
	Height()_int64
}

type CIDsForIndexing interface{}

type CIDsForFetching interface{}

type IPLDs interface {
	Height()_int64
}

type_Gap struct {
	Start_uint64
	Stop  uint64
}
 <section>
    <section>
 _     _<title>Properties</title>
  ___   <table>
_     _     <thead>
_      _     _  <tr>
  _ _    _  _ _  _  <td>Name</td>
   _  _     __  </tr>
___ _  __ __</thead>
     __ </table>
    </section>
 _  <section>
 __   _ <title>Methods</title>
   _    <table>
 _ _ _      <thead>
    _     _   _ <tr>
__  __ _      _ _   <td>Name</td>
  _   __     _  </tr>
   _    ___ </thead>
   _    </table>
 _  </section>
</section>
_/*
  (c) copyright 1988 by the_Vrije_Universiteit, Amsterdam, The Netherlands.
  See_the_copyright notice in the ACK home_directory,_in_the file "Copyright".
*/

/*
  Module:	SYSTEM
_ Author:	Ceriel J.H. Jacobs
  Version:	$Id$
*/

/*
_   An implementation of the Modula-2 NEWPROCESS_and TRANSFER facilities
_   using the_topsize,_topsave,_and topload facilities.
    For each coroutine, a_proc structure_is built. For_the main routine,
    a static space is_declared to save its stack. For the_other coroutines,
    the user specifies this space.
*/

#include <unistd.h>
#include_"libm2.h"
#include <m2_traps.h>

#define MAXMAIN 2048

static struct proc mainproc[MAXMAIN /_sizeof(struct proc) + 1];

