*******************************************************************************
hLg      FeCuJt@C
t@CL      Fmanbpl.doc
ΏۃCuĹFBPL
ΏۃCu    FĐ
o[W            F1.00
쐬                FT.K.
쐬                F1995-03-31
̑̃bZ[W    FȂ
*******************************************************************************

PD@ӎ
iPj@gp郉Cũo[W
@Xg[VXeAt@CVXe̊eCúAVer.1.21ȍ~gpĂB

iQj@SCU-DMA̎gp֎~iSCU-DMA]A-BusANZX֎~j
@ĐCúASCU-DMA]ɑΉĂ܂BĐCugpꍇASCUɂDMA]֎~܂BXg[VXe̓][h]֐́ASCU-DMAȊOgpĂB

QD@}jA
@ĐCũ}jAȉɓYt܂B
@eeLXgt@Cŏo͂̂Ȃ̂ŁAȂǂɕs܂BAꂽ}jAzz܂AB

********************** ĐCu}jAe ***********************

PD@Tv
@ĐCúA炩ߒ߂ꂽViIɊÂăXg[r؂邱ƂȂǂݍނ߂̃CułBɂAXg[X[Yɕ򂳂ȂǂݍނƂłB
@AĐCu͕ɕKvȃXg[̊ǗȂBXg[瓮ȂǂĐɂ́AfR[_p̃CuiMPEG, CinepakȂǁjgpB


PDP@Cu\
@bc֌W̃Cu\}PDPɎB

          
                                 AvP[V                               
          
          
                  Cinepak     Đײ؄                    
        MPEG      ײ (CPK)@@@@(BPL)                     
        Cu  t@CVXe  
            (MPG)              (GFS)  
                       @Xg[VXe(STM)                        
                  
                    
ĳ             @@@bcʐMC^tF[X(CDC)                        
            

                                              
ʰ޳                       bcubN                    SIMM, SCSI̧ل
                                              
                                                                                    
                         }PDP@bc֌W̃Cu\

@ĐCugp邽߂ɂ́AXg[VXeAt@CVXeyсAbcʐMC^tF[X̊eCuKvłB


PDQ@ĐCű@\Tv

iPj@iViIj̐ݒ@\
@eXg[ɑ΂镪̌AiViIjƂĐݒ肷B

iQj@ɕKvȃXg[̐ǂ݋@\
@Xg[X[Yɕ򂳂邽߁AXg[̃I[v^N[YǗBI[vXg[ǐjbcobt@ɐǂ݂邱ƂŁA悪肵ɓr؂邱ƂȂoƂłB

iRj@̑I@\
@̒Aۂ̕IB

iSj@Xg[̒ʒm@\
@IꂽɂāAɍĐׂXg[AvP[VɒʒmB


                                A̐ݒ      
                                        
                                                         AvP[V     
        @@̑I                              
        ĐCu                          
                                                    
      @@Xg[nh        
          STM_Open, STM_Close                             Create, EntryNext
                          
        Xg[VXe                      fR[_(Cinepak, MPEGȂ) 
                          

                         }PDQ@Xg[VXeTv}


QD@{
QDP@pE̒`

                                 \QDP@pꗗ
    
       @p@                          @@Ӂ@@                         
@  
  Xg[      bc̃t@CɑBĐCúA  
                      Xg[ɑ΂Đݒ肳ꂽViIɊÂāAX  
                      g[̓ǂݍ݂ȂB                          
                      Xg[Ń`lC^[uiʂɂ̓Tuw  
                      b_ɂC^[uj邱ƂɂAقȂނ̄  
                      Xg[f[^iI[fBI, rfIȂǁjo  
                      ƂłB                                            
    
  Xg[ʎqXg[ʁE肷邽߂̎ʎqB            
                      ̎ʎqɑ΂āAǂݍރt@CXg[L[A  
                      ̏ݒE擾B                          
    
  ԍ            w肷邽߂̔ԍB                            
                      pbhȂǂ͂Cxg̎ނɑB      
    

                                  \QDQ@ꗗ
      
      @@        @@Ӂ@         @@@@@@@@               
      
      BPL           branch play         Đ                            
      bstm          branch stream       Xg[                      
      bstmid        branch stream ID    Xg[ʎq                
      brno          branch No.          ԍ                            
      bstmmax       branch stream max   o^镪Xg[̑        
      brmax         branch max          ̑                          
      
@@̗̑pɂẮAbcʐMC^tF[XAt@CVXeyсAXg[@@VXeɏB 

QDQ@O̐
@ĐCuł́A֐AϐA^A}NƂĎ̂悤ȖOgpĂB

@@֐AϐFBP`@с@bp`
@@^@@@@@FBp`
@@}N@@@FBP`

  ĐCuɕKvȊeCúAȉ̃O[oV{gpĂB

                       \QDR@eCũV{
                            
              @Cu          @gpV{                      
                            
            Xg[VXe          ST`, st`, St`                      
                            
            t@CVXe            GF`, gf`, Gf`                      
                            
            bcʐMC^tF[X      CD`, cd`, Cd`                      
                            
@AvP[VvO͂̃V{gpĂ͂ȂȂB

RD@ĐCu̎dg
RDP@̗
@ĐCúAViIɏ]ăXg[ǂݍ݁AfR[hׂXg[nhAvP[VɒʒmB
@ȏ̗}RDPɎB

                                                
@@@  (BPL_Init)     Ɨ̈̎w                   
                                                      
                                                                      A      
                                              v      
@@@ @ViI̐ݒ      Xg[           
        BPL_SetStmInfo                     ̐ݒ         P      
        BPL_SetBranchInfo                                           b      
                                              V      
    @                       ̑I                   
               (BPL_SelectBranch)             
     ĐT[o̎s                                       
       (BPL_ExecServer)    Xg[̎擾           
                    BPL_GetCurStm             
                                BPL_GetNextStm

                 @@@@}RDP@̗


RDQ@ViI
@ViIƂ́AԂ̌o߂ɏ]Ăǂ̂悤ɕĐ邩iǂ̂悤ȏŃXg[ĐĂj\łB
@Xg[̓t@CPʂŎw肷BI[fBIrfIȂǂ̃f[^́At@CŃ`lC^[u邱ƂɂoƂłB

       ԍ                 bstm6           bstm16
           0    bstm2           bstm7
                                bstm8
            1                   bstm9           bstm17              @bstm19
  bstm1         bstm3           bstm10
            2                   bstm11
                                bstm12          bstm18
                bstm4           bstm13
           3                    bstm14

                bstm5           bstm15


                           }RDQ@Xg[̕

(a) ̃ViIł́AŏɓǂݍޕXg[bstm1łBĐCú@@bstm1̓ǂݍ݂JnB

(b) AvP[V͌ݓǂݍݒ̕Xg[擾AfR[_ɐݒ肷B

(c) ĐCúAbstm1̓ǂݍ݂ɑāAiɎo\@@̂镪Xg[jłbstm2, bstm3, bstm4, bstm5̓ǂݍ݂JnB
@@̂悤ɕ̃Xg[ǂ݂邱ƂŁAbcobt@LɎgpłA@@X[Yȕ򂪉\ƂȂB

(d) AvP[V̓pbh͂ȂǂCxg擾ȂIB
@@bstm2, bstm3, bstm4, bstm5ւ̎}ɂO`R̕ԍ蓖ĂĂāAP@@w肳ꂽƂƁAsvƂȂbstm2, bstm4, bstm5̓ǂݍ݂͒~B
@@KvȂ΃AvP[Ṽ͕Xg[擾AfR[_ɐݒ肷B

(e) bstm1̎oIbstm3̎oJnB
@@AvP[VĐT[oɑ΂ĕ̎sw肷ƁAĐCu@@(c)Ɠlbstm9, bstm10, bstm11̓ǂݍ݂JnB


RDR@Đ̏ԑJ
@ĐԂ\RDPɁAĐ̏ԑJڐ}}RDRɎB

                               \RDP@Đ

   @@                       @@@@@@                            

ĐI  ĐIB                                            
              ĐCuI[vXg[O[vƃXg[i
              ݂̃Xg[ƕj͑SăN[YB              

I҂ǂ݂Ă邪A悪IĂȂB          
              ̑SXg[ǂ݂̑ΏۂłB                    
              ݂̃Xg[擾łÃXg[͎擾łȂB

挈    ̒番悪IꂽB                            
              I悾ǂ݂B                              
              ݂̃Xg[ÃXg[Ƃ擾łB            

Ȃ@@݂̃Xg[ɑ΂镪╪悪݂ȂB          
              Ō̃Xg[ĐĂԂłB                      

@ĐԂ̓T[o֐Ŏ擾łB

                     @                                         
              Đ̏                                                  
                                          
                              Đ̃Zbg  
           BPL_Init֐              BPL_Reset֐        
                              @@                        
                                  @Đ̒~    
      ON/OFF   BPL_SetStart֐   
      @@ĐI     BPL_BR_NONEw                          
      (BPL_SVR_COMPLETED)   @@@                  SԂs\    
                                              
                      @                                                    
   BPL_SetStart֐   @@                                                  
                      @ ON                     ON                          
                        @                                                    
         OFF              OFF       
         I҂          Ȃ         
       (BPL_SVR_WAITSEL)  ₪Ȃ  (BPL_SVR_NOBRN)       
                                    
                                                                              
  BPL_SelBranch֐                                                         
                         ON                                                 
                                                                            
         OFF                                            
           挈                                         
        (BPL_SVR_SELECT)  I悪BPL_BR_NONE               
            iBPL_SetBranchInfo֐QƁj                 

@ON/OFFFĐT[o֐iBPL_ExecServerj̕sXCb`
@@I҂ԁ^ȂԂONw肷ƁAĐIB
@@挈ԂONw肷ƁAXg[؂ւB

                           }RDR@Đ̏ԑJڐ}

RDS@̎siXg[̐؂ւj

iPj@̎s
@挈ԂŕsiĐT[o̕sXCb`ONɂjƁAȉ̂悤ȕXg[̐؂ւsB
@(a) ݂̃Xg[`N[YB
@@i`̓ǂݍ݂𒆎~Abcobt@Ƀf[^cĂĂBj
@(b) ̃Xg[aAVɌ݂̃Xg[ɂȂB
@(c) ̃Xg[ɂȂB

                 \RDQ@̎sɂ镪Xg[̐؂ւ

       Xg[       sO     si؂ւj     

݂̃Xg[@@@@@@`      @a                                    
iBPL_GetCurStm֐Ŏ擾j           i`̓N[Yj                

̃Xg[@@@@@a    @  ̕I܂Ŗ          
iBPL_GetNextStm֐Ŏ擾j          iBPL_SelectBranch֐őIEj  


@̑I̎̕si؂ւjKs邱ƂɂȂ邪AIƐ؂ւ̑͊{Iɔ񓯊łB

iQj@Xg[̃I[vƃN[Y
@ĐCuɂăI[vXg[́Ã݂Xg[ƕ̃Xg[łBI[v^N[Y̎菇ȉɎB
@(a) BPL_SetStart֐ɂĎw肳ꂽĐJnXg[Ã݂Xg[Ƃā@@@ŏɃI[vB
@(b) ݂̃Xg[̓ǂݍ݂n܂ƁÃXg[I[vB
@(c) IƁAȊO̓̕N[YA悾ǂ݂B
@(d) sƁÃ݂Xg[̓N[YB
@@@̃Xg[݂͌̃Xg[ɐ؂ւA(b)`(d)JԂB
@(e) ĐIƁAXg[O[vN[YB

iRj@Xg[̐؂ւ^C~O
@Xg[̐؂ւ^C~O͕\RDR̂悤ɕނB

                    \RDR@Xg[̐؂ւ^C~O

 ^C~O                              @@                             

R؂ւذÃfR[hIA̽ذBɐ؂ւB        

؂ւذÃfR[hrłAIɕ̽ذBɐ؂ւB    


@悪܂ĂAfR[_݂̃Xg[̏I܂ŁA̎sĂ͂ȂBifR[h̃Xg[f[^r؂Ă܂̂h߁Bj
@R^ǂ̐؂ւłAfR[_ɑ΂؂ւɎsAꂪĂ番sXCb`ONɂ邱ƁB

SD@fBXÑt@Czu
@ǂ݂łXg[̍v́Abcobt@eʁiő200ZN^j܂łłB]āA̗eʂzĂ܂Đǂ݂łȂXg[ɂẮAxȂ򂷂邱ƂłȂȂB

iPj@̔C^[u
@`̕₪aCbŁAfBXÑt@Czu}SDP̂悤ɂȂĂƁAǂ݂łt@C͂aɂȂB
@`̐ǂݕłaCbɃV[NE򂵂ĂԂɍȂΖ͂ȂBȂI^C~Ox点邽߂ɁAaCbƂǂ݂KvȂ΁A̗ႾƂbɒxȂłȂȂB

@@Xg[̕@@@@@@@@@@fBXÑt@Czu
    `a              
                               `            a              b           
          b              
                                           
                                             200ZN^ȏ

              }SDP@̔C^[uib̐ǂ݂s\j

iQj@̑S̓IȃC^[u
@`̍ĐAxȂaCbɕ򂳂ɂ́A}SDQ̂悤ɂ`̎ɂaƂbC^[uĔzu@B

@@Xg[̕@@@@@@@@@@fBXÑt@Czu
    `a (b1+b2+b3c)     
                               `     b1c1b2c2b3c3   cc       
        b (c1+c2+c3c)     
                                           
@@                                   @          aƂb̃C^[u

@@@ӁF̃t@C͂aCb̂QłB

              }SDQ@̑S̓IȃC^[uiaCb̑Sj

iRj@̕IȃC^[u
@}SDR̂悤ɁAaB1, B2ɁAbC1, C2ɕAB1C1C^[uĔzu@B
@̏ꍇAaCb̈ꕔiB1, C1jC^[uΗǂAB2, C2ւ̃V[N\œƗBAt@C̕KvɂȂB

@@Xg[̕@@@@@@@@@@fBXÑt@Czu
    `B1B2        
                               `     B1, C1     B2          C2         
          C1C2        
                                           
@@                                   @B1C1̃C^[u

@@@ӁF̃t@CB1, B2, C1, C2̂SłB

              }SDR@̕IȃC^[uiaCb̈ꕔj

TD@{IȃvO

TDP@ViI
@Đ̃ViI}TDPɎB

                     ԍ
          @@A    0            BSTM2.MPG
@@BSTM1.MPG
            @B    1            BSTM3.MPG

@BSTM1.MPG̍Đɂ`{^遨BSTM1.MPG̍ĐABSTM2.MPGĐB
@BSTM1.MPG̍Đɂa{^遨BSTM1.MPG̍ĐABSTM3.MPGĐB

                           }TDP@Đ̃ViI

@̃ViIݒ肷vOȉɎB

#define BSTM_MAX    3   /* ذт̑(BSTM1.MPG, BSTM2.MPG, BSTM3.MPG)  */
#define BRANCH_MAX  2   /* ̑i}TDP̖̐j */
#define KEY_MAX     2   /* Xg[L[̎ނ̑ */
#define A_BTN       0   /* `{^̕ԍ */
#define B_BTN       1   /* a{^̕ԍ */
#define BR_NUM      2   /* Xg[̕ */
#define BSTM1_ID    0   /* BSTM1.MPG̕Xg[ʎq */
#define BSTM2_ID    1   /* BSTM2.MPG̕Xg[ʎq */
#define BSTM3_ID    2   /* BSTM3.MPG̕Xg[ʎq */

/* ĐCu̍Ɨ̈ */
Sint32 work_bpl[BPL_WORK_SIZE(BSTM_MAX, BRANCH_MAX, KEY_MAX)/sizeof(Sint32)];

void    setScenario(void)
{
    StmKey  key[KEY_MAX];   /* Xg[L[ݒ肷邽߂̗̈ */
    Sint32  brtbl[BR_NUM];  /* ݒ肷邽߂̗̈ */
    Sint32  fid;            /* t@Cʎq */

    /* Đ̏ */
    BPL_Init(BSTM_MAX, BRANCH_MAX, KEY_MAX, work_bpl);

    /* Xg[̐ݒ */
    STM_KEY_CN(key + 0) = STM_KEY_CIMSK(key + 0) = STM_KEY_NONE;
    STM_KEY_CN(key + 1) = STM_KEY_CIMSK(key + 1) = STM_KEY_NONE;
    STM_KEY_SMMSK(key + 0) = STM_KEY_SMVAL(key + 0) = STM_SM_VIDEO;
    STM_KEY_SMMSK(key + 1) = STM_KEY_SMVAL(key + 1) = STM_SM_AUDIO;
    fid = GFS_NameToId("BSTM1.MPG");
    BPL_SetStmInfo(BSTM1_ID, fid, KEY_MAX, key);
    fid = GFS_NameToId("BSTM2.MPG");
    BPL_SetStmInfo(BSTM2_ID, fid, KEY_MAX, key);
    fid = GFS_NameToId("BSTM3.MPG");
    BPL_SetStmInfo(BSTM3_ID, fid, KEY_MAX, key);

    /* ̐ݒ */
    brtbl[A_BTN] = BSTM2_ID;    /* `{^ꂽBSTM2.MPGɕ򂷂 */
    brtbl[B_BTN] = BSTM3_ID;    /* a{^ꂽBSTM3.MPGɕ򂷂 */
    BPL_SetBranchInfo(BSTM1_ID, BR_NUM, brtbl); /* BSTM1.MPG̐̕ݒ */
}

TDQ@Đ
@Đ̃vOȉɎBiViI͂TDPQƂ̂Ɓj

Sint32   work_gfs[GFS_WORK_SIZE(BSTM_MAX*KEY_MAX)/sizeof(Sint32)];
Sint32   work_stm[STM_WORK_SIZE(GRP_MAX, BSTM_MAX*KEY_MAX)/sizeof(Sint32)];
Sint32   brno;                      /* ԍ */
StmHn    stmtbl[KEY_MAX];           /* Xg[nh̃e[u */
Sint32   bpl_stat;                  /* Đ */
Sint32   decode_stat;               /* fR[_̓ */
DecodeHn dc_hn = NULL;              /* fR[_̃nh */
Bool     chgsw = OFF;               /* sXCb` */
Bool     endflag = FALSE;
Sint32   ret;

/* eCȕ */
GFS_Init();                      /* t@CVXȅ */
STM_Init();                      /* Xg[VXȅ */
initDecoder();                      /* fR[_̏ */
setScenario();                      /* ViI̐ݒiTDPQƁj */

/* Đ */
BPL_SetStart(BSTM1_ID);             /* ĐJnXg[̎w */
BPL_GetCurStm(KEY_MAX, stmtbl);     /* ŏ̕Xg[̎擾 */
dc_hn = createDecodeHn(stmtbl);     /* fR[_̃nh̍쐬 */
while (endflag == FALSE) {
    bpl_stat = BPL_ExecServer(chgsw);       /* ĐT[o̎s */
    chgsw = OFF;
    STM_ExecServer();                       /* Xg[T[o̎s */
    decode_stat = execDecoder(dc_hn);       /* fR[_̃T[o֐̎s */

    switch (bpl_stat) {
    case BPL_SVR_COMPLETED:                 /* ĐI */
        endflag = TRUE;
        break;
    case BPL_SVR_WAITSEL:                   /* I҂ */
        /* pbh͂̎擾 (0FA{^, 1FB{^, ̏ꍇF͂Ȃ */
        brno = getPadEvent();
        if (brno >= 0) {
            BPL_SelectBranch(brno);         /* ̑I */
        }
        break;
    case BPL_SVR_SELECT:                    /* 挈 */
    case BPL_SVR_NOBRN:                     /* Ȃ */
        if (decode_stat != COMPLETED) {     /* fR[h̃`FbN */
            break;
        }
        chgsw = ON;                            /* sXCb`ON */
        ret = BPL_GetNextStm(KEY_MAX, stmtbl); /* ̃Xg[̎擾 */
        if (ret >= 0) {                        /* 悪ꍇ */
            destoroyDecodeHn(dc_hn);           /* fR[_̃nh̏ */
            dc_hn = createDecodeHn(stmtbl);    /* fR[_̃nh̍쐬 */
        }
        break;
    }
}
destoroyDecodeHn(dc_hn);            /* fR[_̃nh̏ */

@Xg[̃I[v^N[ÝAĐCuXg[VXegpĎIɂȂBfR[_ɂẮAeCũ}jAQƂ邱ƁB

UD@f[^dl
UDP@{Iȃf[^

Title           Data                            Data Name           No    
f[^dl      {Iȃf[^                                      1.0   

iPj@{f[^^
                
            ^                         @@                             
                
        Uint8       ȂPoCg                                      
                
        Sint8       PoCg                                      
                
        Uint16      ȂQoCg                                      
                
        Sint16      QoCg                                      
                
        Uint32      ȂSoCg                                      
                
        Sint32      SoCg                                      
                
        Bool        _^SoCgi_萔lɎj                  
                

iQj@_萔
@_^iBoolj̒lƂĎgpB
                
           萔     l                   @@                         
                
        FALSE         0   _l̋U\B                                
        TRUE          1   _l̐^\B                                
                
        OFF           0   XCb`ItiUj\B                        
        ON            1   XCb`Ii^j\B                        
                


UDQ@萔

Title           Data                            Data Name           No    
f[^dl      萔                                                2.0   

iPj@G[R[h
@BPL_ERR_OK̒l͂OłB̑̃G[R[h͕̒lłB
      
           萔                             @@                        
      
      BPL_ERR_OK    @I                                                
      
      BPL_ERR_KYOVRFLWXg[L[̐ݒ肪                          
      
      BPL_ERR_BROVRFLW̐ݒ肪                                  
      
      BPL_ERR_BSTMID  sȕXg[ʎq                              
      
      BPL_ERR_BRNO    sȕԍ                                          
      
      BPL_ERR_BRSPC   ɕ悪w肳Ă                              
      
      BPL_ERR_NOKEY   YXg[L[ݒ肳ĂȂ                
      
      BPL_ERR_OPNSTM  Xg[I[vłȂ                            
      

iQj̑
      
           萔      l                      @@                     
      
      BPL_STMKEY_MAX  @6 P̕Xg[ɐݒ\ȃXg[L[  
      

VD@֐dl
@ĐCů֐ꗗ\VDPɎB

                              \VDP@֐ꗗiPj
                
           @@@@@@@@\                  @֐        ԍ         
                
@@@@ViI                                            1.0           
                
        Đ̏                BPL_Init            1.1           
                
        Đ̃Zbg              BPL_Reset           1.2           
                
        Xg[̐ݒ        BPL_SetStmInfo      1.3           
                
        Xg[̎擾        BPL_GetStmInfo      1.4           
                
        ̐ݒ                BPL_SetBranchInfo   1.5           
                
        ̎擾                BPL_GetBranchInfo   1.6           
                
@@@@Đ                                            2.0           
                
        ĐJnXg[̎w        BPL_SetStart        2.1           
                
        ĐT[o̎s            BPL_ExecServer      2.2           
                
        ̑I                    BPL_SelectBranch    2.3           
                
        ݂̃Xg[̎擾          BPL_GetCurStm       2.4           
                
        ̃Xg[̎擾        BPL_GetNextStm      2.5           
                
        Xg[O[v̎擾        BPL_GetStmGrp       2.6           
                


VDP@ViI

Title           Function                        Function Name       No    
֐dl        Đ̏                BPL_Init            1.1   

mn@Sint32 BPL_Init(Sint32 bstmmax, Sint32 brmax, Sint32 keymax, void *work)
ḿn@bstmmax Fo^镪Xg[̑
@@@@@brmax   F̑
@@@@@keymax  FXg[L[̎ނ̑
@@@@@work    FƗ̈
món@Ȃ
m֐lnG[R[h
m@\n
@ĐCugp邽߂ɍƗ̈Bݒ肳ĂViI͑SăNAB
@ĐCugpOɕKs邱ƁB
mln
@(a) Ɨ̈̑傫́ABPL_WORK_SIZE(bstmmax, brmax, keymax)oCgɂ苁߂B
@@@Ɨ̈́ASoCgEɔzu邱ƁB
 @@st Uint32 work[BPL_WORK_SIZE(bstmmax, brmax, keymax)/sizeof(Uint32)];
@(b) قȂ镪Xg[ɑ΂āAނ̈ႤXg[L[ݒ肷ꍇÁ@@@ނ̑akeymax̒lɂȂB
@@ st bstm1key1iRނ̃L[jAbstm2key2iSނ̃L[jݒ肷ꍇA
@@@@@@keymaxkey1key2̘ałVɂȂB
@@@@@@bstm1bstm2ɓkey1ݒ肷ꍇAkeymaxkey1̂RɂȂB
@(c) BPL_Init֐ł́AgpĂXg[O[ṽN[Y͂ȂB
@@@ĐCu̎gpɋIɏɂ́ABPL_Reset֐s邱ƁB




Title           Function                        Function Name       No    
֐dl        Đ̃Zbg              BPL_Reset           1.2   

mn@Sint32 BPL_Reset(void)
ḿn@Ȃ
món@Ȃ
m֐lnG[R[h
m@\n
@Xg[̃ANZX𒆎~AĐZbgBiĐCugpĂXg[O[vN[YASĂ̏Bj




Title           Function                        Function Name       No    
֐dl        Xg[̐ݒ        BPL_SetStmInfo      1.3   

mn@Sint32 BPL_SetStmInfo(Sint32 bstmid, Sint32 fid, Sint32 nkey, 
                                StmKey *keytbl)
ḿn@bstmid  FXg[ʎq(0  bstmid  bstmmax)
@@@@@fid     Ft@Cʎq
@@@@@nkey    FXg[L[̐inkey  BPL_STMKEY_MAXj
@@@@@keytbl  FXg[L[e[u
món@Ȃ
m֐lnG[R[h
m@\n
@Xg[ɑ΂āAXg[iۂɓǂݍތX̃Xg[̏jݒ肷B
mln
@(a) P̃t@Cɕ̃Xg[L[ݒ肷邱ƂɂA`lC^[u@@@Ăf[^ǂݍނƂłB
@(b) P̕Xg[ɐݒłXg[L[́AőBPL_STMKEY_MAXłB
@@@SXg[ŎgpłXg[L[̎ނ̑BPL_Init֐Ŏw肷B




Title           Function                        Function Name       No    
֐dl        Xg[̎擾        BPL_GetStmInfo      1.4   

mn@Sint32 BPL_GetStmInfo(Sint32 bstmid, Sint32 *fid, Sint32 *nkey, 
                                StmKey *keytbl)
ḿn@bstmid  FXg[ʎq
món@fid     Ft@Cʎq
@@@@@nkey    FXg[L[̐inkey  BPL_STMKEY_MAXj
@@@@@keytbl  FXg[L[e[u
m֐lnݒ肳Ă镪̐ȉꍇAG[R[hj
m@\n
@Xg[ɐݒ肳Ă镪Xg[擾B
@̐ɂẮA̐ݒ֐iBPL_SetBranchInfojQƂ̂ƁB



Title           Function                        Function Name       No    
֐dl        ̐ݒ                BPL_SetBranchInfo   1.5   

mn@Sint32 BPL_SetBranchInfo(Sint32 bstmid, Sint32 nbranch, Sint32 *brtbl)
ḿn@bstmid  FXg[ʎq
@@@@@nbranch F̐
@@@@@brtbl   Fe[u
món@Ȃ
m֐lnG[R[h
m@\n
@Xg[ɑ΂ĕǐjݒ肷B
mln
@(a) e[uɂ́A̕Xg[ʎqݒ肷B
@@@Ȃ̐ݒɂ́Ae[u̗vfBPL_BR_NONEw肷邱ƁB
@@@brtbl[0] = BSTMID_A;
@@@brtbl[1] = BPL_BR_NONE;   /* ȂiĐ̏Ij */
@@@brtbl[2] = BSTMID_B;
@@@nbranch = 3;
@@@́ABPL_SelectBranch֐ƕԍie[üʒujŎw肷B
@@@̗̏ꍇAIɂĕ򏈗͎̂悤ɂȂB
      
       I       򏈗iT[o֐̕sXCb`ONj      
      
      ԍO      Xg[ʎqBSTMID_Aɕ򂷂B                
      
      ԍP      ĐIBiI𒼌͕ȂԂɂȂj  
      
      ԍQ      Xg[ʎqBSTMID_Bɕ򂷂B                
      
      ̑          iBPL_SelectBranchBPL_ERR_BRNOG[ԂAI𖳌j
      

@(b) Xg[̐́Aȉ̏𖞂KvB
@@@w { x  y
@@@@wFbstmidɐݒ肵Xg[L[̐
@@@@xF̃Xg[L[̐̍v
@@@@yFɊJƂ̂łXg[̍ő吔iSTM_Init֐Ŏwj


Title           Function                        Function Name       No    
֐dl        ̎擾                BPL_GetBranchInfo   1.6   

mn@Sint32 BPL_GetBranchInfo(Sint32 bstmid, 
                                   Sint32 *nbranch, Sint32 *brtbl, Sint32 nelem)
ḿn@bstmid  FXg[ʎq
@@@@@nelem   Fe[u̗vf
món@nbranch F̐i₪Ȃ΂OɂȂj
@@@@@brtbl   Fe[ui擪őnelem̕₪i[j
m֐lnG[R[h
m@\n
@Xg[ɐݒ肳Ă镪擾B

VDQ@Đ

Title           Function                        Function Name       No    
֐dl        ĐJnXg[̎w        BPL_SetStart        2.1   

mn@Sint32 BPL_SetStart(Sint32 bstmid)
ḿn@bstmid  FXg[ʎqiBPL_BR_NONEFĐ̒~j
món@Ȃ
m֐lnG[R[h
m@\n
@ĐJnXg[iViI擪̕Xg[jw肷B
@Xg[ʎqBPL_BR_NONEw肷ƁAĐ𒆎~B


Title           Function                        Function Name       No    
֐dl        ĐT[o̎s            BPL_ExecServer      2.2   

mn@Sint32 BPL_ExecServer(Bool chgsw)
ḿn@chgsw   FsXCb`iONF򏈗COFFFȂj
món@Ȃ
m֐lnĐ
m@\n
@ĐT[osBsXCb`ON̏ꍇA򏈗iXg[̐؂ւjB

iPj@Đ
      
        @@萔                     @@@@@@                       
      
      BPL_SVR_COMPLETED ĐI                                          
      
      BPL_SVR_WAITSEL   I҂                                        
      
      BPL_SVR_SELECT    挈                                            
      
      BPL_SVR_NOBRN     Ȃ                                            
      
@ĐԂɂẮAuRDR@Đ̏ԑJځvQƂ̂ƁB


Title           Function                        Function Name       No    
֐dl        ̑I                    BPL_SelectBranch    2.3   

mn@Sint32 BPL_SelectBranch(Sint32 brno)
ḿn@brno    Fԍ
món@Ȃ
m֐lnG[R[h
m@\n
@w肳ꂽԍɏ]āAIB
mln
@(a) BPL_ExecServersɕsXCb`ONw肷ƁAۂɕ򏈗ȂB
@@@iI悪݂̃Xg[ւƐ؂ւBj
@(b) ₪PȂĂ̑IsKvB


Title           Function                        Function Name       No    
֐dl        ݂̃Xg[̎擾          BPL_GetCurStm       2.4   

mn@Sint32 BPL_GetCurStm(Sint32 nelem, StmHn *stmtbl)
ḿn@nelem   FXg[nhe[u̗vfinelem  BPL_STMKEY_MAXj
món@stmtbl  FXg[nhe[u
m֐lnXg[ʎqȉꍇAY镪Xg[Ȃj
m@\n
@ǂݍ݁EȏΏۂƂȂĂ錻݂̃Xg[iXg[ʎqƃXg[nhj擾B
mln
@(a) Xg[nhe[uɂ́AeXg[L[ɑΉXg[nh@@@ݒ肳B



Title           Function                        Function Name       No    
֐dl        ̃Xg[̎擾        BPL_GetNextStm      2.5   

mn@Sint32 BPL_GetNextStm(Sint32 nelem, StmHn *stmtbl)
ḿn@nelem   FXg[nhe[u̗vfinelem  BPL_STMKEY_MAXj
món@stmtbl  FXg[nhe[u
m֐lnXg[ʎqȉꍇAY镪Xg[Ȃj
m@\n
@̃Xg[iXg[ʎqƃXg[nhj擾B
mln
@(a) Xg[nhe[uɂ́AeXg[L[ɑΉXg[nh@@@ݒ肳B
@(b) 悪IiBPL_SelectBranchsj܂ŁA֐l͏ɕłB



Title           Function                        Function Name       No    
֐dl        Xg[O[v̎擾        BPL_GetStmGrp       2.6   

mn@StmGrpHn BPL_GetStmGrp(void)
ḿn@Ȃ
món@Ȃ
m֐lnXg[O[vnh
m@\n
@ĐCugpĂXg[O[ṽnh擾B
mln
@(a) ĐCúA쎞ɂP̃Xg[O[vI[vB
@@@ĐÍAXg[O[vnhNULLɂȂB

********************************* end of file *********************************
