\doxysection{ipaccess.\+h}
\label{ipaccess_8h_source}\index{include/osmocom/gsm/protocol/ipaccess.h@{include/osmocom/gsm/protocol/ipaccess.h}}
\textbf{ Go to the documentation of this file.}
\begin{DoxyCode}{0}
\DoxyCodeLine{1 }
\DoxyCodeLine{3 \textcolor{preprocessor}{\#pragma once}}
\DoxyCodeLine{4 }
\DoxyCodeLine{5 \textcolor{preprocessor}{\#include <stdint.h>}}
\DoxyCodeLine{6 }
\DoxyCodeLine{7 \textcolor{preprocessor}{\#define IPA\_TCP\_PORT\_OML        3002}}
\DoxyCodeLine{8 \textcolor{preprocessor}{\#define IPA\_TCP\_PORT\_RSL        3003}}
\DoxyCodeLine{9 }
\DoxyCodeLine{10 \textcolor{keyword}{struct }ipaccess\_head \{}
\DoxyCodeLine{11         uint16\_t len;        \textcolor{comment}{/* network byte order */}}
\DoxyCodeLine{12         uint8\_t proto;}
\DoxyCodeLine{13         uint8\_t data[0];}
\DoxyCodeLine{14 \} \_\_attribute\_\_ ((packed));}
\DoxyCodeLine{15 }
\DoxyCodeLine{16 \textcolor{keyword}{struct }ipaccess\_head\_ext \{}
\DoxyCodeLine{17         uint8\_t proto;}
\DoxyCodeLine{18         uint8\_t data[0];}
\DoxyCodeLine{19 \} \_\_attribute\_\_ ((packed));}
\DoxyCodeLine{20 }
\DoxyCodeLine{21 \textcolor{keyword}{enum} ipaccess\_proto \{}
\DoxyCodeLine{22         IPAC\_PROTO\_RSL            = 0x00,}
\DoxyCodeLine{23         IPAC\_PROTO\_IPACCESS  = 0xfe,}
\DoxyCodeLine{24         IPAC\_PROTO\_SCCP          = 0xfd,}
\DoxyCodeLine{25         IPAC\_PROTO\_OML            = 0xff,}
\DoxyCodeLine{26 }
\DoxyCodeLine{27 }
\DoxyCodeLine{28         \textcolor{comment}{/* OpenBSC extensions */}}
\DoxyCodeLine{29         IPAC\_PROTO\_OSMO          = 0xee,}
\DoxyCodeLine{30         IPAC\_PROTO\_MGCP\_OLD  = 0xfc,}
\DoxyCodeLine{31 \};}
\DoxyCodeLine{32 }
\DoxyCodeLine{33 \textcolor{keyword}{enum} ipaccess\_proto\_ext \{}
\DoxyCodeLine{34         IPAC\_PROTO\_EXT\_CTRL  = 0x00,}
\DoxyCodeLine{35         IPAC\_PROTO\_EXT\_MGCP  = 0x01,}
\DoxyCodeLine{36         IPAC\_PROTO\_EXT\_LAC    = 0x02,}
\DoxyCodeLine{37         IPAC\_PROTO\_EXT\_SMSC  = 0x03,}
\DoxyCodeLine{38         IPAC\_PROTO\_EXT\_ORC    = 0x04,         \textcolor{comment}{/* OML Router Control */}}
\DoxyCodeLine{39         IPAC\_PROTO\_EXT\_GSUP  = 0x05,         \textcolor{comment}{/* GSUP GPRS extension */}}
\DoxyCodeLine{40         IPAC\_PROTO\_EXT\_OAP    = 0x06,         \textcolor{comment}{/* Osmocom Authn Protocol */}}
\DoxyCodeLine{41         IPAC\_PROTO\_EXT\_RSPRO        = 0x07,         \textcolor{comment}{/* Remote SIM protocol */}}
\DoxyCodeLine{42         IPAC\_PROTO\_EXT\_PCU    = 0x08,         \textcolor{comment}{/* BSC<-\/>BTS<-\/>PCU communication */}}
\DoxyCodeLine{43         IPAC\_PROTO\_EXT\_TCAP\_ROUTING  = 0x09,         \textcolor{comment}{/* TCAP Routing Protocol */}}
\DoxyCodeLine{44 \};}
\DoxyCodeLine{45 }
\DoxyCodeLine{46 \textcolor{keyword}{enum} ipaccess\_msgtype \{}
\DoxyCodeLine{47         IPAC\_MSGT\_PING            = 0x00,         \textcolor{comment}{/* Heartbeet */}}
\DoxyCodeLine{48         IPAC\_MSGT\_PONG            = 0x01,         \textcolor{comment}{/* Heartbeat Ack */}}
\DoxyCodeLine{49         IPAC\_MSGT\_ID\_GET        = 0x04,         \textcolor{comment}{/* Identity Request */}}
\DoxyCodeLine{50         IPAC\_MSGT\_ID\_RESP      = 0x05,         \textcolor{comment}{/* Identity */}}
\DoxyCodeLine{51         IPAC\_MSGT\_ID\_ACK        = 0x06,         \textcolor{comment}{/* Identity Ack */}}
\DoxyCodeLine{52         IPAC\_MSGT\_ID\_NACK      = 0x07,         \textcolor{comment}{/* Identity Nack */}}
\DoxyCodeLine{53         IPAC\_MSGT\_PROXY          = 0x08,         \textcolor{comment}{/* Proxy */}}
\DoxyCodeLine{54         IPAC\_MSGT\_PROXY\_ACK  = 0x09,         \textcolor{comment}{/* Proxy Ack */}}
\DoxyCodeLine{55         IPAC\_MSGT\_PROXY\_NACK        = 0x0a,         \textcolor{comment}{/* Proxy Nack */}}
\DoxyCodeLine{56         IPAC\_MSGT\_SSL\_INFO    = 0x0b,         \textcolor{comment}{/* SSL Info */}}
\DoxyCodeLine{57 }
\DoxyCodeLine{58         \textcolor{comment}{/* OpenBSC extension */}}
\DoxyCodeLine{59         IPAC\_MSGT\_SCCP\_OLD    = 0xff,}
\DoxyCodeLine{60 \};}
\DoxyCodeLine{61 }
\DoxyCodeLine{62 \textcolor{keyword}{enum} ipaccess\_id\_tags \{}
\DoxyCodeLine{63         IPAC\_IDTAG\_SERNR                = 0x00, \textcolor{comment}{/* Unit Serial Number */}}
\DoxyCodeLine{64         IPAC\_IDTAG\_UNITNAME          = 0x01, \textcolor{comment}{/* Unit Name */}}
\DoxyCodeLine{65         IPAC\_IDTAG\_LOCATION1                = 0x02, \textcolor{comment}{/* Unit Location */}}
\DoxyCodeLine{66         IPAC\_IDTAG\_LOCATION2                = 0x03, \textcolor{comment}{/* Unit Type */}}
\DoxyCodeLine{67         IPAC\_IDTAG\_EQUIPVERS                = 0x04, \textcolor{comment}{/* Hardware Version */}}
\DoxyCodeLine{68         IPAC\_IDTAG\_SWVERSION                = 0x05, \textcolor{comment}{/* Software Version */}}
\DoxyCodeLine{69         IPAC\_IDTAG\_IPADDR              = 0x06, \textcolor{comment}{/* IP Address */}}
\DoxyCodeLine{70         IPAC\_IDTAG\_MACADDR            = 0x07, \textcolor{comment}{/* Ethernet Address */}}
\DoxyCodeLine{71         IPAC\_IDTAG\_UNIT                  = 0x08, \textcolor{comment}{/* Unit ID */}}
\DoxyCodeLine{72         IPAC\_IDTAG\_USERNAME          = 0x09, \textcolor{comment}{/* User Name */}}
\DoxyCodeLine{73         IPAC\_IDTAG\_PASSWORD          = 0x0a, \textcolor{comment}{/* Password */}}
\DoxyCodeLine{74         IPAC\_IDTAG\_ACCESS\_CLASS          = 0x0b, \textcolor{comment}{/* Access Class */}}
\DoxyCodeLine{75         IPAC\_IDTG\_APP\_PROTO\_VER          = 0x0c, \textcolor{comment}{/* Application Protocol Version */}}
\DoxyCodeLine{76 \};}
\DoxyCodeLine{77 }
\DoxyCodeLine{78 \textcolor{comment}{/*}}
\DoxyCodeLine{79 \textcolor{comment}{ * Firmware specific header}}
\DoxyCodeLine{80 \textcolor{comment}{ */}}
\DoxyCodeLine{81 \textcolor{keyword}{struct }sdp\_firmware \{}
\DoxyCodeLine{82         \textcolor{keywordtype}{char} magic[4];}
\DoxyCodeLine{83         \textcolor{keywordtype}{char} more\_magic[2];}
\DoxyCodeLine{84         uint16\_t more\_more\_magic;}
\DoxyCodeLine{85         uint32\_t header\_length;}
\DoxyCodeLine{86         uint32\_t file\_length;}
\DoxyCodeLine{87         \textcolor{keywordtype}{char} sw\_part[20];}
\DoxyCodeLine{88         \textcolor{keywordtype}{char} text1[64];}
\DoxyCodeLine{89         \textcolor{keywordtype}{char} time[12];}
\DoxyCodeLine{90         \textcolor{keywordtype}{char} date[14];}
\DoxyCodeLine{91         \textcolor{keywordtype}{char} text2[10];}
\DoxyCodeLine{92         \textcolor{keywordtype}{char} version[20];}
\DoxyCodeLine{93         uint16\_t table\_offset;}
\DoxyCodeLine{94         \textcolor{comment}{/* stuff i don't know */}}
\DoxyCodeLine{95 \} \_\_attribute\_\_((packed));}
\DoxyCodeLine{96 }
\DoxyCodeLine{97 \textcolor{keyword}{struct }sdp\_header\_entry \{}
\DoxyCodeLine{98         uint16\_t something1;}
\DoxyCodeLine{99         \textcolor{keywordtype}{char} text1[64];}
\DoxyCodeLine{100         \textcolor{keywordtype}{char} time[12];}
\DoxyCodeLine{101         \textcolor{keywordtype}{char} date[14];}
\DoxyCodeLine{102         \textcolor{keywordtype}{char} text2[10];}
\DoxyCodeLine{103         \textcolor{keywordtype}{char} version[20];}
\DoxyCodeLine{104         uint32\_t length;}
\DoxyCodeLine{105         uint32\_t addr1;}
\DoxyCodeLine{106         uint32\_t addr2;}
\DoxyCodeLine{107         uint32\_t start;}
\DoxyCodeLine{108 \} \_\_attribute\_\_((packed));}

\end{DoxyCode}
