summaryrefslogblamecommitdiff
path: root/misc/server/ptp.rst
blob: 7c40a3ba3e510b115e01034433f026436e1baaab (plain) (tree)
1
2
3
4
5
6
7
8
9
                                 







                                 
                                             
                                             
                                             




            
                                             
                                             

                                             










                                                                     






                 


                                                       




            
                                                

                                                
 
                
    

                          
 





                 


                                                          




            
                          
                          

                          
                
 

                                






                      


                                              




            
                                                             
                                                             
                                                             
        
                        




                                          
                                          
 
Piztor Transmission Protocol v0.3
---------------------------------

- General 

  - Request

    ::
    
        +---4b---+---1b---+-------?b--------+
        | LENGTH | OPT_ID |  SPECIFIC DATA  |
        +--int---+-uchar--+-----------------+

  - Response

    ::
    
        +---4b---+---1b---+------?b---------+
        | LENGTH | OPT_ID |  SPECIFIC DATA  |
        +--int---+-uchar--+-----------------+

    Notice:

    - In following sections, ``LENGTH`` part is left out for clarity.
    - ``PADDING`` has value ``0``.
    - ``AUTH_HEAD`` structure:

      ::

          +----32b-----+----?b----+----1b---+
          | USER_TOKEN | USERNAME | PADDING |
          +----raw-----+----------+---------+

- Authentication 

  - Request

    :: 

        +--1b---+-----?b------+----1b----+-----?b-----+
        | 0x00  |   USERNAME  | PADDING  |  PASSWORD  |
        +-uchar-+-------------+----------+------------+

  - Response

    ::
    
       +--1b---+---1b---+---4b----+----32b-----+
       | 0x00  | STATUS | USER_ID | USER_TOKEN |
       +-uchar-+--uchar-+---int---+----raw-----+

    ``STATUS`` :
    
    - ``0x00`` for success
    - ``0x01`` for failure

- Location Update

  - Request

    ::
    
        +--1b---+-----?b------+----8b------+------8b-----+
        | 0x01  |  AUTH_HEAD  |  LATITUDE  |  LONGITUDE  |
        +-uchar-+-------------+---double---+---double----+

  - Response

    ::

        +--1b---+---1b---+
        | 0x01  | STATUS |
        +-uchar-+--uchar-+

    ``STATUS`` :

    - ``0x00`` for success
    - ``0x01`` for invalid token

- Location Information

  - Request

    ::
    
        +--1b---+------?b------+------4b-----+
        | 0x02  |  AUTH_HEAD   |  GROUP_ID   |
        +-uchar-+--------------+-----int-----+

  - Response

    ::

        +--1b---+---1b---+-----4b----+------20b-------+-----+
        | 0x02  | STATUS | ENTRY_CNT | LOCATION_ENTRY | ... |
        +-uchar-+-uchar--+----int----+----------------+-----+
        
    ``LOCATION_ENTRY`` :

    :: 

        +---4b----+----8b----+-----8b----+
        | USER_ID | LATITUDE | LONGITUDE |
        +---int---+--double--+--double---+