CONTENTS

 1     Scope 
 2     Normative references       
        2.1     Identical Recommendations | International Standards          
        2.2     Paired Recommendations | International Standards equivalent in technical content    
        2.3     Additional references         
 3     Conformance    
 4     Abbreviations   
 5     Conventions     
 6     Conformance    
 7     BIP architecture
        7.1     BIP-enabled frameworks   
        7.2     BIP messages        
        7.3     BIP endpoints        
        7.4     BIP links
        7.5     Transport protocol bindings           
        7.6     Creation and destruction of BIP links         
 8     Remote GUI event notifications    
 9     Examples of possible system configurations          
10     BIR format
11     Identification of BIP endpoints, applications, and BSPs    
12     Overview of BIP exchanges        
       12.1     Security and privacy provisions     
       12.2     Application invocation of functions on a remote BSP         
       12.3     Application invocation of functions with no associated BIP message           
       12.4     Event notifications 
13     General provisions          
14     BIP message syntax        
15     BioAPI and BIP types    
       15.1     Integers 
       15.2     Character strings   
       15.3     Uniform resource identifiers designating BIP endpoints       
       15.4     Type BioAPI_BFP_LIST_ELEMENT  
       15.5     Type BioAPI_BFP_SCHEMA 
       15.6     Type BioAPI_BIR           
       15.7     Type BioAPI_BIR_ARRAY_POPULATION    
       15.8     Type BioAPI_BIR_BIOMETRIC_DATA_FORMAT   
       15.9     Type BioAPI_BIR_BIOMETRIC_PRODUCT_ID       
      15.10     Type BioAPI_BIR_BIOMETRIC_TYPE          
      15.11     Type BioAPI_BIR_DATA_TYPE        
      15.12     Type BioAPI_BIR_HANDLE   
      15.13     Type BioAPI_BIR_HEADER   
      15.14     Type BioAPI_BIR_PURPOSE
      15.15     Type BioAPI_BIR_SECURITY_BLOCK_FORMAT 
      15.16     Type BioAPI_BIR_SUBTYPE 
      15.17     Type BioAPI_BIR_SUBTYPE_MASK           
      15.18     Type BioAPI_BOOL     
      15.19     Type BioAPI_BSP_SCHEMA
      15.20     Type BioAPI_CANDIDATE     
      15.21     Type BioAPI_CATEGORY      
      15.22     Type BioAPI_DATA     
      15.23     Type BioAPI_DATE     
      15.24     Type BioAPI_DB_ACCESS_TYPE   
      15.25     Type BioAPI_DB_MARKER_HANDLE        
      15.26     Type BioAPI_DB_HANDLE    
      15.27     Type BioAPI_DBBIR_ID          
      15.28     Type BioAPI_DTG        
      15.29     Type BioAPI_ERROR_INFO   
      15.30     Type BioAPI_EVENT   
      15.31     Type BioAPI_EVENT_MASK 
      15.32     Type BioAPI_FMR       
      15.33     Type BioAPI_FRAMEWORK_SCHEMA      
      15.34     Type BioAPI_GUI_BITMAP     
      15.35     Type BioAPI_GUI_BITMAP_ARRAY 
      15.36     Type BioAPI_GUI_EVENT_SUBSCRIPTION           
      15.37     Type BioAPI_GUI_MOMENT  
      15.38     Type BioAPI_GUI_ENROLL_TYPE   
      15.39     Type BioAPI_GUI_OPERATION        
      15.40     Type BioAPI_GUI_RESPONSE         
      15.41     Type BioAPI_GUI_SUBOPERATION
      15.42     Type BioAPI_HANDLE
      15.43     Type BioAPI_IDENTIFY_POPULATION        
      15.44     Type BioAPI_IDENTIFY_POPULATION_TYPE       
      15.45     Type BioAPI_INDICATOR_STATUS 
      15.46     Type BioAPI_INPUT_BIR        
      15.47     Type BioAPI_INPUT_BIR_FORM      
      15.48     Type BioAPI_OPERATIONS_MASK 
      15.49     Type BioAPI_OPTIONS_MASK         
      15.50     Type BioAPI_POWER_MODE           
      15.51     Type BioAPI_QUALITY
      15.52     Type BioAPI_RETURN
      15.53     Type BioAPI_STRING  
      15.54     Type BioAPI_TIME       
      15.55     Type BioAPI_UNIT_ID 
      15.56     Type BioAPI_UNIT_LIST_ELEMENT
      15.57     Type BioAPI_UNIT_SCHEMA
      15.58     Type BioAPI_UUID       
      15.59     Type BioAPI_VERSION          
16     Functions defined in BioAPI and corresponding BIP messages    
       16.1     Function BioAPI_Init       
       16.2     Function BioAPI_InitEndpoint   
       16.3     Function BioAPI_Terminate      
       16.4     Function BioAPI_LinkToEndpoint        
       16.5     Function BioAPI_UnlinkFromEndpoint
       16.6     Function BioAPI_EnumFrameworks    
       16.7     Function BioAPI_EnumBSPs   
       16.8     Function BioAPI_EnumBFPs    
       16.9     Function BioAPI_BSPLoad      
      16.10     Function BioAPI_BSPUnload  
      16.11     Function BioAPI_QueryUnits    
      16.12     Function BioAPI_QueryBFPs  
      16.13     Function BioAPI_BSPAttach   
      16.14     Function BioAPI_BSPDetach  
      Page
      16.15
     Function BioAPI_EnableEvents           
      16.16     Function BioAPI_EnableEventNotifications   
      16.17     Function BioAPI_ControlUnit   
      16.18     Function BioAPI_Control          
      16.19     Function BioAPI_FreeBIRHandle        
      16.20     Function BioAPI_GetBIRFromHandle 
      16.21     Function BioAPI_GetHeaderFromHandle      
      16.22     Function BioAPI_SubscribeToGUIEvents      
      16.23     Function BioAPI_UnsubscribeFromGUIEvents         
      16.24     Function BioAPI_QueryGUIEventSubscriptions        
      16.25     Function BioAPI_NotifyGUISelectEvent          
      16.26     Function BioAPI_NotifyGUIStateEvent           
      16.27     Function BioAPI_NotifyGUIProgressEvent     
      16.28     Function BioAPI_RedirectGUIEvents  
      16.29     Function BioAPI_UnredirectGUIEvents          
      16.30     Function BioAPI_Capture         
      16.31     Function BioAPI_CreateTemplate      
      16.32     Function BioAPI_Process        
      16.33     Function BioAPI_ProcessWithAuxBIR
      16.34     Function BioAPI_VerifyMatch  
      16.35     Function BioAPI_IdentifyMatch
      16.36     Function BioAPI_Enroll 
      16.37     Function BioAPI_Verify 
      16.38     Function BioAPI_Identify           
      16.39     Function BioAPI_Import
      16.40     Function BioAPI_PresetIdentifyPopulation     
      16.41     Function BioAPI_Transform     
      16.42     Function BioAPI_DbOpen        
      16.43     Function BioAPI_DbClose       
      16.44     Function BioAPI_DbCreate     
      16.45     Function BioAPI_DbDelete      
      16.46     Function BioAPI_DbSetMarker           
      16.47     Function BioAPI_DbFreeMarker         
      16.48     Function BioAPI_DbStoreBIR  
      16.49     Function BioAPI_DbGetBIR     
      16.50     Function BioAPI_DbGetNextBIR         
      16.51     Function BioAPI_DbDeleteBIR
      16.52     Function BioAPI_CalibrateSensor      
      16.53     Function BioAPI_SetPowerMode       
      16.54     Function BioAPI_SetIndicatorStatus   
      16.55     Function BioAPI_GetIndicatorStatus   
      16.56     Function BioAPI_GetLastErrorInfo      
      16.57     Function BioAPI_Cancel          
      16.58     Function BioAPI_Free  
      16.59     Function BioAPI_RegisterBSP
      16.60     Function BioAPI_UnregisterBSP        
      16.61     Function BioAPI_RegisterBFP
      16.62     Function BioAPI_UnregisterBFP         
17     Callback functions defined in BioAPI and corresponding BIP messages   
       17.1     Callback function BioAPI_EVENT_HANDLER
       17.2     Callback function BioAPI_GUI_SELECT_EVENT_HANDLER         
       17.3     Callback function BioAPI_GUI_STATE_EVENT_HANDLER
       17.4     Callback function BioAPI_GUI_PROGRESS_EVENT_HANDLER  
18     Conceptual tables           
       18.1     The MasterEndpoints conceptual table  
       18.2     The VisibleEndpoints conceptual table  
       18.3     The VisibleBSPRegistrations conceptual table 
       18.4     The VisibleBFPRegistrations conceptual table 
       18.5     The RunningBSPLocalReferences conceptual table    
       18.6     The RunningBSPRemoteReferences conceptual table
       18.7     The UnitEventNotificationDisablers conceptual table   
       18.8     The AttachSessionLocalReferences conceptual table 
       18.9     The AttachSessionRemoteReferences conceptual table         
      18.10     The GUIEventLocalSubscriptions conceptual table     
      18.11     The GUIEventRemoteSubscriptions conceptual table 
      18.12     The GUIEventRedirectors conceptual table      
      18.13     The ApplicationOwnedMemoryBlocks conceptual table         
19     Converting between a C pointer variable and a corresponding ASN.1 component (1)      
20     Converting between a C pointer variable and a corresponding ASN.1 component (2)      
21     Converting between a C pointer variable and a corresponding ASN.1 component (3)      
22     Initializing and checking a C pointer variable having no corresponding ASN.1 component 
23     Determining a hosting endpoint and a BSP product UUID from a BSP UUID      
24     Determining a hosting endpoint and an original BSP handle from a local BSP handle         
25     Converting BSP UUIDs  
26     Converting BSP handles 
27     Processing an incoming function call by exchanging a request/response BIP message pair with a slave endpoint     
28     Processing an incoming request BIP message via an internal BioAPI function call  
29     Notifying a unit event to zero or more subscribers
30     Notifying a GUI select event to a subscriber        
31     Notifying a GUI state event to a subscriber          
32     Notifying a GUI progress event to a subscriber    
33     Handling unconvertible C values  
Annex A – Specification of the TCP/IP binding     
        A.1     General  
        A.2     Transport-level message    
        A.3     TCP/IP connection between two BIP endpoints    
        A.4     Role of endpoint   
        A.5     Closing the connection on errors    
        A.6     Transport of BIP messages           
       A.7      Usage of IRIs       
Annex B – Specification of discovery and announcement in TCP/IP binding     
        B.1     General  
        B.2     The PnP mechanisms         
        B.3     Address and name setting in IPv4  
        B.4     The network configuration function in IPv4 
        B.5     Address and name setting in IPv6  
        B.6     The network configuration function in IPv6 
        B.7     Discovery and announcement        
        B.8     Service discovery  
        B.9     Service requests via broadcast (IPv4)        
       B.10     Service requests via multicast (IPv4 or IPv6)        
       B.11     Receiving service announcement packets  
      Page
       B.12
     Format of discovery and announcement messages 
       B.13     Service announcement      
       B.14     Reset and restart  
       B.15     Timing of the exchange of messages over a link channel     
       B.16     Security of the exchange of messages over a link channel   
Annex C – Specification of the SOAP/HTTP binding     
        C.1     General provisions
        C.2     Security considerations with SOAP/HTTP binding (tutorial)           
        C.3     Schema header     
        C.4     Global elements    
        C.5     Types    
        C.6     Parameters of request BIP messages         
        C.7     Parameters of response BIP messages       
        C.8     Parameters of notification BIP messages    
        C.9     Parameters of acknowledgement BIP messages     
       C.10     Closure of the schema      
       C.11     Example  
Annex D – Clarification of minimal requirements for simple systems     
        D.1     A simple system with a single fixed biometric device           
        D.2     A simple system with a single database of BIRs     
Annex E – Possible scenarios involving the use of the BioAPI interworking protocol     
        E.1     Access to a central national database for security and health administration 
        E.2     Registration of individuals at a point of entry, or a local registration centre   
        E.3     Theme-park access           
Annex F – Formal ASN.1 modules     
Annex G – Bibliography