From 79d7f0d901c962872c46501dfe48956c3fd4b3c4 Mon Sep 17 00:00:00 2001 From: "freddy.li" Date: Sat, 13 Nov 2021 21:39:25 +0800 Subject: [PATCH] add poc lib --- components/poc/bnd/broad.lib | Bin 0 -> 114960 bytes components/poc/bnd/broad.pp | 37209 ++++++++++++++++++++++++++++ components/poc/bnd/inc/broad.h | 230 + components/poc/bnd/inc/type_bnd.h | 62 + components/poc/bnd/txt.txt | Bin 0 -> 12306 bytes components/poc/poc.c | 118 + components/poc/poc.h | 77 + components/poc/poc.mk | 33 + components/poc/poc_option.in | 20 + components/poc/sl/inc/echat_api.h | 212 + components/poc/sl/inc/type_sl.h | 59 + components/poc/sl/poclib.lib | Bin 0 -> 102038 bytes components/poc/sl/txt.txt | Bin 0 -> 12306 bytes 13 files changed, 38020 insertions(+) create mode 100644 components/poc/bnd/broad.lib create mode 100644 components/poc/bnd/broad.pp create mode 100644 components/poc/bnd/inc/broad.h create mode 100644 components/poc/bnd/inc/type_bnd.h create mode 100644 components/poc/bnd/txt.txt create mode 100644 components/poc/poc.c create mode 100644 components/poc/poc.h create mode 100644 components/poc/poc.mk create mode 100644 components/poc/poc_option.in create mode 100644 components/poc/sl/inc/echat_api.h create mode 100644 components/poc/sl/inc/type_sl.h create mode 100644 components/poc/sl/poclib.lib create mode 100644 components/poc/sl/txt.txt diff --git a/components/poc/bnd/broad.lib b/components/poc/bnd/broad.lib new file mode 100644 index 0000000000000000000000000000000000000000..e90066dcac583078c3bedcd6b445c0fa906c392e GIT binary patch literal 114960 zcmeEv2Yg(`)&0DcVl5yt4lV=o0{CpG*;A>$LkRsVXV`Y^^H}vYwO&K zf!c?iYE#g`{w#`v}y}N=?i7+N@^=xl2C+SSS`(16=f zGZo)hQPQ*y-J>NMK^ZBSrW{@8Ep@G}abxrH3JVLd#*H06cH9K6atEd!HhbY5$8oUK znU|x6DLqzR z73IjstNyl53sdHFnm=T4r+J+g-8gs1y8Z6#xS;*KjCJSE9d>7Q{`fhm^X~bezPR_? z%mat48#c$BtKS$V;rC8RcDb$nLfVLVHtzYLOL4pT?dC-n7#mFYo*OL5a(va_mI^K` z-9Avd9;KsRX^(*^qTl`U9d!ATccv~#H8r>?$U0?yy9Mp$ojZ5&XW!-3-;-De!#@@L zM}mQ|kf|*g&cX6sS}9+D+y4y?^|y6IEYr{$jAjQN%{(28v2)xu2*#tec;v`> zv^l-Btqu!1YFiVutx0o?wa=#ao{K)RAS$hM&j+6!(Q^CjE?)m_cDkVNf1iH$eao|* z(iWaO$8V{Q(o*x#Qd#R}&M|FuIc9**rXM&r*!H@$0^^aV980@nEP&VCF5vaXSDB~z z+&V4jqoyvJJT2R(9tQrv-|w+^U_ft&UmRe-t)n8 zM`a%P#)rL!JpEy8$QvK_1hxaF1Cxhzxn}*G=o3i~=FRDQ_(a5W#+(InE}r|x_rv4R zumAU*t9MWQc1IuEeRIM8jk*8(_sRdxx#auStNwfMPrmP%`QKjt`;U(w+hBLZ@V~{z z?pg!>+w6Sbar)oVKK~s&{?qgJ_xHa$;`sggl-Wn0H|LEHW0fg$PS88Wk#~mn(U8o* zzHh;trMSY=`}{WUqyM+h$+;gsH#1G|q0J6@B<_Hit5kFC!<}&6oQXOn&&{;2EuK3n zczwWgbM5o}+Uv*r`EvJ@w*r5>pN|hI;y>Qc|M7l)@aDY?kYLu2_w!r)=xF!f&wp`- zQptMWPj=o&SE}PWq`vK^RPT2FY7mJfFUU|T;>1qsO=x#WUqB>!gNBq7yD62_Jbs*t zOzpn{r6S4EU*Sf6QX{kW=wFGfx$ z*P#9>qtYVCh<%xa^9FsMmJeaO1Dsy0cjx4kE0SuV(Pc8&rCil<8qaTntCXv|GhcNb zg}0yKtQ+-{RQFiQW$iCTIz65OtzSkNACzFtMgX}ihk*Pwx;<2ukuEPXn7 zMaQKx(J}pGG)Qz@1`}O+#y6?x_zpv93Nd&D_PgGNw?brS-tc!SLX{OQirq=2OJgWJ zvAyB`Dk>74q!Y>MZ-G{HvQEU(tI*8RDLTH{ccn~I!z~f zr$0~A#X8Y1{RspjI$b9+Rj;d93n#i~>|1hZLRX9~NaeXoKOT(|UD%$9!+Uo}%S9KZ zvIffOU52h5U8+;bj_P_cGSkqUx?TfSukq*!r#aF6V@r`~0(n3;o~!h?NG0BmwM2VBNWnJ{P*dO4nXS`lTZ||m+d&V17^bXUgJ>wfybeleprS}Ad=$-AS zqj1OcE7(8o(uuU5@zS*_`s=Q>@YN-~6V>k4WqPMCVO1VXWhDBg$03hC+W~$yx8?llqpVshP8dE>*Gkw>>00yf!}EZv(k@6&x*dP%PdSE5=G**)Eu zqp0sy=s?4gqX$M}tbE2ohNv{6d8mxN*;18}4%y(7obfi@RYua8ie*e;y(%LEnCh7E z8hc4qBu4vPG9E`>^e2&6Hb!K6#!xb=F*fruma)gyMtV+yEI;FUMzr3@CS>f%p572i zT>#mXjCCT=$&*^s(N9yH~ZtTemoqml>UKQzB3fs-b|5q^XI!1>$v4P0V&=X{~ z)0GL8k;~a)sH2-YIb%8-BFE899fL2{GMY@o{j>0v7M+F#i$=DxHH)2YOsI_a82RZY z)h?qF?xHiCZj&JDsJarGpe9rYJQqDY5uBxcWk6{B{b({+)FCQMMgCuwIpLIVi?^L={pi0S7+q1 z@s5x5QdUoZh zHq&2q)sY5ANe}!i`m;z9$7d#Ifauwg4s5B+pE4M~h;*PwZ}&L9p^ z-8qp_jPqzR*WE!JD{e<#r?Xe#y(|0C&v2r>N7UdylKSYRUYvpkZ{tWBlhi*6nXwAQ zI2O|#BjsF_h^+>ZSbLoj`y8D#mfB|&vWC1z>kdz2UDMt|A}a&zFk_<{j*3wnOHaBV zFyuJ)Hlx}zZ3t$LtU<_DSzp4Tll2c2h-CGH-=wUUaGspSew(6VEEek@`53xAK1byi z#xlDcgwj1LtIAbuaHp$jB)t@Gu^}-ElGDpD*~GHClFqF3NhlM`)>Gm<6U!r@q(d-G z#b_}$G-(X7ddxr=mc)j2d7ajqX?=J{R$i=+h#Kp6qj6#*^;$VAeHas?I9LK4#ye>=82h-PaOE*@JOU%n~5F6Kp5sdWYm(yb7bs{N!Eegi+ zbs{-^F@{{MKqpetupC8HV0t0^U9~?Ou4!`Zrom zWj%)Z*2${E`WneP6Yoh`@9BWgKwVO@9>ZX3mlcI(G>aW3mbC)mY@f9^N~LB!fNt6$ zs}s&Usu&%#?;Y76riZ-2B~iC-`@U(P(%Eq^r?Ni5ICHYTL9vL6QK|ia$P*C9j)IN$ z*`3)vV;QJJ`%&inDs+MN`JD%nKyo(T2NmEgRnOnLtz!>SV~@^yu1uawjS_0GhN)~X zqgx5@Dt0?{XB*3-P@DD(&H3r1zOwT%C>TvXkv1--4HhzQOhTkP|L@RA+OO$+vsT_l zS11>zRE$vYp|5pY^40VL&)zI{yLs=wy66iX6^jqvJZX%Ug zX-8|t6Y#EWpNErF-N&+TXOY#!H{wmXxrI8XU!L8Uh7L2N0GBE?PcUdlV8KT zHuw=vq<(1}2g@@a_lw+$N;vzZ#X7S{8s2r0!8l31oV}QxT4j%93+y}KYrovf&~Oe+ zE7s-axaHz3r{8n~>%!4w8p=KlecdS;m=6t!Qx*AFrX8hC9PgUAkS26#o`Do6%IpZb zt+Q_EMr29pE77r>+O+$T6HR^;@0$2)IMKmN)upqMR8HNH+kjGT4MWhJ_D|%X{qe5L zbw{olwmgG`({J`KAa*un{lzbRDP}6?5EK8qF(WyLW{pGvv0Z~9;v8k9Z}a@kfcCmZ-9<-``{x1!th{nzFSX)*Ed+$LKpZq3$(+SOzo}WuopFTl$Or|K+v&VT7dV9l&SQZq zbOCNFoS{z6!GQvd>?lVEGUutVf={#8%n9c$VS>P*O z;4FrHhBIO`vc$t*Icv>xI#=rg4J>dd3vjccayn2t-^q&m1=iB(VkhlFUEngj>+W_l z3$drEoEPxsEOGju<`+7Gh4z-foXxPVaz;Gt%X@NF-e2T*QGS4v|0iG0waO`X(z>An z(d6EE*G@;_B$d|*W}}sJ4?R~ngHw<%_4@*=qO;zV%vsNHRy%{H`SK+UdV`b3NiLe) zfOl<~cX|9hlgfFMW3tg168B5CV|Uu@=>1pDt*qcro$T{``3;=j4mW|ysb>X`a0cJ$ z%g3>^94qo^R6fob@q1r>6Q{6~MZN<0&M8jzKYjV#yeK+L=_Iolc92eFfyf5#Q) z0tep*X3ZAjeHdrFRXFLOat3lr+3I9Z^b5RAhnG5?H|he1;(gE-yrpups&ejOSGdd> z{u94Ie|osuc*yyJ5xB<5zQC6sK~gtLt1f5kZ*sDK?aR;R%z1~SSA(2&497NS_-nrW zcWk?RowOK4*#F?&v^q`#>#?^6shr6u>-@$U`fuOHP;L<)b~-QAHkRRi(EcnxRQK<9 z*kK-V#!W+(gsnTn`jpf8P+j0C7C40kxSv)zb(|%hcE;BG1vatiUNi-A&R~>Yatbf; z<>!#Wt4`W8$ciSvgm+zw4{+iym?~!&qyL&S;(otmC8@mabdJFS>W}w9yw8!!O}ffC zpIz!5XY{|l0>j_rr1wV$9F!`?;cR^X`XkCpnOneOY)ZaHjzDZ*fY8)>ltP(Xk<8^& zG|szDWCfHC#IXj)Xmoz{b4bTHON_qC%S6@_GbD?A#yCqwrpAua=_N^@J4yG}w1#(4y&ejcB!beo&@h*sR*sw?9_!*87)g?{L9LLP-aa@B# zSK?R{F^EQsYP|Us$e)0$)+%5))3WB=SEZ2H@J%S@|!uuSU@jky{_glkmHI!H2(Bb_u#BOK9OIMoeP?bVX z!+F`_JQJk)6tXqdXPn8TdL%q=z@e$W4xv!p2CDZWX{bJHsQwm;FSt}Mfz%J=&Qhf- zO?8k;A*bO};Lv$ANOdE28=C5)&Qv{4BTD_d%IQpl;`aSrwS{7$=u9b#)0Zs?8JNI@ni*q_091C9~vn3cn%S-NZA z=j3H0b2O%s5j=F)zR#J=%r(g1rvW7sB7F)rLbDV*Q46box#TG0cV8^xg6c;4CR8)`zP19 zl(Qif%JrZeMbc2d%TP|mq}2|GZk>-ply|lx(Us=fN2QQd!C$!dx!G@>Ss>?ZeHfy` zBJ>`J2C^~o;eHqn9paZE6~3#%_YNct-&+jdEl@lfhvs`eq=66*gRxdaoC%?XSYk_8 znr{!4LQ+Lfz^-$x&$k#woUMxoCQut+3~Gkfb%xe8D0&5Hp+l;%C=sBQg{;M)h13t@P7KC^(Yz#T^20a}F>|&K&jPit$hgTF$S{5c zPjBKFQNOXAnWLFGC#KXS9GdS$6p`2-4!-F~8otej@A*(X2L~Ohe}wqva|_wpEH)N~ zShvLWiyn1|yQ>ruF1QAx!>O_B@(DzR{0Io599}=(4HnyQ6h4RwA#>s@@bDor-oT;j z@-2!;UDhQl^%jz*F14mEQ!!&q#G&i*Af$fm+ftX{B1~7h5?xganHGGT1X645O5Bp| zR${F)jFpJP{eC!1CDuBVSc#L6aX1cLi9l!Pw<>-K3#Jm4rV{)(>~$Qv5?dhMrAie1 zor5jz^PL4A&elakLG99r7LBe%Rw_7u>ry)aQi<;bP%B2#P&?32I{?c2;?U!82&4gO z!(gn{zLE){^c7i%=}N~pOQn!h!BuSZ)i&R6Au3!AE)Zpr?-sZ}1cwe~U`oq`&Sy|I zeD^VYd5iiLm+y;^?h@Yu-t>2t+SJa?!LZ{6(Nd=mM_oJ2$^UYhT?L^;G6rTRAZeH_ zGtBmd^4>UfBx@kuC1!d?qbnWBPAY|*h8K|Tp1~PyCK^ZYF80LdK)CEU8lE@d&_P@d zp-}w{eY^lkLv?|n`U(_Za;f%))Tg==6Pl(E!Z$ zSp>(IF4aJLzXGanLDx{7WvK2AX;EiwZIw9 zTbkeE_!|yQbsB_1m7m`ZLefwzG*p+Nb1cH4sU}0Z>s0AVQ|+x%$f;moTwFV&?NRgx zhzgJ7VmI0uQi)-72;A4>(0l_s-_yYNc_#RJ$Q*s17nzpMv6JF4Zr-7gf5_ zR0paQavFXzm;F9Ls!t+Y5AHtBSbjqAB|P)9S55Ub2!-lAP`w99L$$A=%CEceV^kg0 ziy__hsM3|D+E1mB)9}H(r_e1(bwjRD?dFW-ryou5ybgy=H4jwRLDx|2Zm2#6#fMy~ z3n1Mks>6SS&^R4}tU8VsRvnxieu(ooIC;-y73h||!RlL&RY${W4k|eVhYsM|yUJ?Z z3|?R)`{TG6&@dlK~D@h7x{U^0ScD+WtXJSipti8}CNt zEbX(;7;N|Wy&>nD0h~I{fZ1blXdZ!O?E|QEfbJxHU-eskTlGEYy@Nvs z3LhVME=`+%4GR;`MzEX@Mq%WtyJ3184l6$6FZO7BsA;?n9e&!Y+xyKhjqSC!n!K8K zwBGh;n3~s(6_@@6|M)GQ%XhTPBozFPE?M)XDA4Ab55UlNUiDm>nturk6ZQ4dtNr+4 zc{a=s!l7&K?>EQSdo*6tH1>qf92~mluY_rAx8@Vx0&(X>kH$Py!`XW2IG4tYnnpED zufs8gzv||^sK3c`9?~b{u&9k%4Qgkhyy+h=X?nb2_#qB`xw8?%K$O_Pt#(>=9`DBK z@^I*ob%2oor|pOA zF^=4aJsKutufxKW+B)2wet0;?^Z_uv49CQWlc_z9bHrUpUynmm3(VxhKT9ADHrpO@hGwgU%MjKkSlpU>9BFP}O0>RUAv;A#{OO)YQ< z-UZZ3p=+r9MpHWpdRs^h)l{<~^dpy-iL6#zlf0qJDM+aakD-4%cX(mk1fjFFv;e&H z&HFnB;<8v>4?ox7n4<69-!X!DuOj_h9DC>~^p1)AmP+JwHKn8)7ixFRrb;SqpG0s> z0=)-tjK-aMH3dSy z+WENbY_;0c4umk$g!wg&U^+K=H7-WJv-M?I((eC+6SFrO&u{0Mh~KDPe*m}d(luw9 zJHoCxL|Tiu`FM?n^-id>N})F{6Uw>D<6%1RIfbYdeEmOXx;BdAMC=z0UL4Ttc$V)Y;UxCooB*j1~6bO*Qrn~h(PMFF)`S~4cSq`r? zIGn8+2;~%h_t`mr1i!2JJD7eF$CUC$bj9l@^ZtzVADGtw&d&K2%$tsDmdQADy!~p8Iu|NmfxU_M1-fbnL9Ygf{*3CiaMg-o ztF=DT!e>-ZH_h{Fx(J`3vBjPc><>{*pQBaFG2abPd_FG}%v~ z_h*vj6tV@vKs#)2@*SHAedx**GLXDZ@;dSg2%W84C%O%A(olZ=u@7S035RKblg2Qx z%}7@pIkFGyIr3oviD01oRHYp?79$ zAPm$AHEg{B@*tEt$y#SOz~p1Nh#ccpv=}9vt(_+&^o;RKK+KRjR+G96gf1c}cKE-B zNo{xLm^`TyeEiIEd1MPNCwMLo(=H!|yZc?2IB`C)N04o&&? z?@M_}A5gBcC|@uI9baE&Rq4;xFN3?E<1mz~#*^}QNPmt)Qx1G&{u#Q~u_$k%{1Z)i zIX-t?j6+kdg7AAqxwbnfmwJ?!=&GdIjnWVbav1OxNOg=pBP&bZ-d9Kp3dSIApatr{XRZ zbvaFihcs5-8#!t1=T*k^^1gexmDw+gUlhLuUa!QViSJiL;+-?`cnA(nJh1rQ2VW^D zZiuhZ#LJ);$DzajL74bXck;<^v6HXx7|()3XX_cnpW089P8Pz#|K~t+lP;LBpCy7kvJO^9j`)RdYNZCPu%7#7qQp z267_!68=8IVfVdF@b?&W4ZpdX-=2eTNrywn=~@T_{I(aTv9Ryj) z5i^c6Li57pi6;9Rxtc@A86F4DN`}Ko&0#tGFD3^z*_&Yw1CX`-E=|LlL#j%lx2f0h z-ppXlVTtCz^18VO_u*4Vhr-oCI4oM6U(`8JHPo^+wdbMtG!A|7v>C!ccsN8O*7s8L&}`#D=J`xG11Svn`x?3AQdgQt>4be3v~tt$T;0w2ZWsy}CMGdf{3u zOLge52eL4q_Ebr+NgXD4nAl-HCX!^4#1P`4iaG5%Ll<(Zs^nEAao@;P--j5%wT!!v>8o08Z7bCj!gW9B%@w?bYLs^%(I3eT6~r`I~ec? znqVlazy`|+nxbS_4+-h;(ay9!x-sDTf5@kKcArqj7Tv-(*z>D?wEmYGm@6( zchB!bE2BC%D|?Y@E^-;(pyue~k95%QC?0bHzWy2MefkWP$urq!&*(E2lCfS2U(yXz zncv-zp@H#qgzwTBZ5AwOSy`ADf;l^AkWW#tM9}yIPk;fyc!h#6QB3KESTo305(XN|giIX%lrdThRuZ`TZF!#Psg?9R!LV6%=VmC~WOG7k zWhQ|{zkc}fyvzK4p!m6wAqJxJqxb*up4&>~dn5k`T3=lT?4uY~1T%hC5{8&u0xxdO z;N%%^^ME0Nb5`Q0MW*+{1_R1V3C8x`zU`$!+e0R2r z{|Dw`xeg(W#(^CWVT?XqLde5mHbXos#sM7y??r5Xm&7|3*d-B+?Y({5OM|wTUgX=} zyBO-O?eO{zf%h`Dm-)6=`L>q@Z7&PhUR8|puI*(BSG%rpwx6Sx6AbUwzU}2f+sgyC zR~JLwwY@xKd&hTY=qeot_N&{u-b*tYgjqNegU=gKyW_%gH#hqz|N3hVQ?Jlf^ba_P)0KO#l;@jty5)PN8CquUmGa!vZSh`}nb>fLs!JYp z7vkVKafv=}=t86o<^vL5EC*R{qLl9)DBn9!p41awQa&?KJ~L20Gf+M=SU502u&B9i zrLy(&4%XE5Mtoj#@^bQAe%vZ7&Pnv|SdsX}cso32@Tls~2){ zu|+Vp_x5cs4ccCMk#BqNpzYRIDPwz?Z+n$*ds)!-vViSXLEGU~iYq_2FSst60CAkK}mjmUs2tw5w;Q zZNIKwThX@HS~*wGMwh3Jt{q$7PP=+Gx_WND8&5ZFqZJ z>F;cQYxQa^pRwfRkcVS}O9t3l92iT+m%7C`+!yV$UhYKW=C{VbH9l+;#)f=?@gbj< z+P5|Pt?}Pk{nmK4X1_K4osDyAc3O+W50T%}IQmceZH-S$`K`74&gO5gzAgEs{_e=% z+5WIS{nq%jG`^_Y(sv3!4Ts<4-i60wX zJGQ=^cJ*v@_1yej*(X$@b0(=(5$q=MFAX{=2QS4U*Hy1ME$8>?!^k6Tl>k%_W(B~`U+D$B}pOB!l&YwKz&aw|$otJZ{5 z;%80c=Ena4U)5EmWMKK6IC|XZv1{BK?qZzk>&jrAarz(N-C~UJ*ndM^N%`n9G_X3T zI^MLozG5_fc3CIZHrJM!M0H)+dYqw4XpKg5-q=)LUa=PEN%+0yii+AMlPxxqUEAw; zJp$dTI>_-XiAupQH^CHo*&rt+(mkbLyRIpb!72R)q(lZyX*WhilAY0f+Y@g|nS5(E zB?V7gBqyb#9AFgQlG{;&_Z0jK+T@gWute;x6;s-cG09x!Wk%SE@h=U;>u~M0C%q1W z+-Wz3@5Y<)(=OmBiCmJ~nfF$_4H9pW4s?Xy&@$D_(~bseM=1jby6$x4v_VI|CuQ!? zYaZ*-S{;qoA+FaV?RALpI;2&v$!`1#!?xQ?k^xT{lcJNkx_(LR1|koQq2E2yOieKy z@Iz;&=6h%ky;=yd=XL_^`&A0L9n=Q5ku=8ItM$WbC#${3cKq*TwKLpmKV?W{Y_HzM z+wt4>dV78BMdNaZoy?2-_ib(y_epM*Up4+GneH|T-AxbRK=(GC-1E=g(^|VvZ9}`G zxZB<4xFp^-B<7IBn3OpnF%@dYaq!(EvAxD$&_)t_nm%9TlK8-oC^C^K+HoWn?!HJ& za7lb>NK7y!ChVBRoZUyl>l0t@Y@e97`$%{L;~PW53=G{HylLL+2HW$y3uEzUOh{PI zegKy%-1a`vxLjd+{tC4B0?zA>UL9NP`rB*p$~JfXR8GEQToz{-7Gq4W8v_<*VYOE} zFYsJ!Tbl%Sa`Ij8k~q(hSZ_kH9waJv5Q>(YpVUU1ZNyH-Bgdt3v7wTq;}PzAvY}yQ zlFaIlEsSIK8_DekAe(!dmYJEU*PC#zG+x?1;q1n#7yr@4tn}9#5`9~!s@K}vn{C@Z z%+|UtZ#OR2nucCGa7t@yP7AR{!@9AaB(a_aOzexye2j0SBkAnx_zxzg!uJ^OgLQ>d z2DjSR+pw#%wgP&`W$j$`IP+TkA>+I4ExxG5x|z62naZhPN63ulZZ< z%!Wi;2D|C@BV7M482=-T{}J%NgB=GOI-jEn%NDSI>5Vl96?Lo+N z{l8`WXKMebU*ICfi~IH_*|rb6v98Pajmxp7%42t2UT@7vqD zUu1j-F6VYR=4;wmZ?CQj~m}+ zUfa&(+J=~0({8IV_ileaXMF4XpMz5RwOVhl(|zAfL`$9ScZS3cJDo>jWjMs48+SX| z^T)eA;7vnfyy*escN~dzyN^V%OX5$4M6n@J3=%uoShjrSuuB`uX)cM64T))n#Izlg zn6aHm?Bo`IoJ-mEF>c2sws%uuCrRKRaGL$zzYK|?hQ!cT`^0V>ncfBb5lMQt zV=mxRa$5E64T|k`g`FG}qul@;XGn}T0T{hw64vDReMV-kOX3tmBG-_}-7$&nU3Kha zB)t1eXB!f2zrSSd_r6agyxDrIAz@}~47&fhOD?YmT-L@O(1sykU6|~6ak}OQt1kW@ zk{R(g8JF3nuVw$Bea(ycwjVy`-sJxq<6BSuV^TQzSL%+|>V4Ff`#D#HUAu$nt%Z*m zCV{nZm#+iL!wXcaJ#P=U8$4}%?_s*Z9<6qRHuU<^Hv0Cq!7mx#yJH(%-A3PqZoOYK zz6)9JF)4+p_X3y*-o!WO-lDU;`MxbT8_bP0@3W(KjQ_xAN4wnSZM+1~Up|P}SC?## z^FI{S#7#zJLtS%yyt1OHbTfV*JYG^?C4$C^ra1mpNxVrdpS>c!e4j-#n zeEEvSOX9OuE}On${^CWdw6;8spYMlWZAndqXV-IN+%!~FRy8(NG{nm)s;lGpj)VTz zN*rG@sjaMtmz65~+JC&U>ZcVdURN8h*i_XNFKMX6cS@=npy65F*ih93_2$N=x*9LD zu>urIn!L2AtzhE~tf$Mq`#)gWrcu6z9YvD>@u)d+Lyt%AtKD?>2y5?FK_CxxUx~f_e z?T!S5_KI%HU4LD;gSV>+nUC8p_b9rCtco6!oZOu-dd}s>(>CxCD~fCAH0K zOUjy>8}M&bNF`J**fqUkw5FqOS_(|+G=UcSl`pld+ebL<6 z@g)nVub8uV*6Z*^SxI%Z>$FtqdNaGegzv5ow0Bi4`cG4NU9%fq{&|nj4qh^G-nqH_jR+KcYL$~tBETY@kjDJnT?jA4_=%*?k zZ>ou}t7`@mzfL9!Uj2nU{M)mg=exybvgR2FPRPm~sdW@vFZjRcDO-*ans%7(6%#P1oi8*_(`1F}G7q48@ zLbul4iIyLT+Wmr_aZb-A7=2ux{K-)d zMy_qF5ZiP^Np&*}RMb>7R94iMZPqLEip7g&`>Qd7v2gzK6|)y19@CetP)k?NUbash zwTsVPws_@|_+GR3nlXD>U<`Sym~`OjD`(AL%)%?sOg`6y1t(Bp_Q@tLL{de+wfrvZ z=CM-EjabW+JFR(J0NsxpE6Rdyy%3qH&p0rF((0SbOE#n5<6E3~3+-R@I#FgiCzQO% zdKSH)V-~J$TBl@m#1}4}JAYAp_M+)C&{2a!EwLB2K+2DpY)jxc&aoJ*6$56sF7>dO zG&I$1ENhgtzzrJpYwMb-)^3jL6~oO>XcRRA`!mzfEB09e`tB|d27;4iFyFL8>$6v= z7YD*<_Es_w722&14PYkVxap~WSN1!ZS@D8VYQp>?8!25o&jksqczpp@DbDR1byNE# z^$O*#P1b~J&A471yv7d=XKwx&c!Xa9kCyOPWH(r{r24gTm$kUNH^aUF%MZ!cXtLPE z#re%%y~ML&UGtdfvBk{`_6hb^cUBX7h=l9g+d6vl1LlRw`bI91wiSPO6fi*Z{Lh2_ zY{}Unz832p=PpwzSBcjHdhBD?fiRBvtiu4SD{W!Y_BLRF$s)MVV0pjMvKy36z%h<+x+l&hZZo0VgR+iM%l;|Bi&H_szcSLTh26k*MT}0G3KzXf-mzJP% zE|saOvw0W-B z>aGWjB3wE8y+7OqZLenAjjbNLRdc-xEFpo3w!~j`^pwskN=DmfYAu)$y6r8kgpO?Q zQ1!^s*W-GEscPi^#|zkW2MBlj?xmV%mJVB7%Jkj^PYmGN(5`G~-Va$ynD+uS!W9Tt z+v`QGZ}j5phdj9ohz?-iZE}pp{zQWfud)GjfN!Ooj7)3p$+D+8L1vvMj z!EQlI9!aysgE?}<-5g%=?jsv#KAWQFeZ8cb$;2#Efl35z>6KhBC)|PZrjXF1OVbU^ zrowGI+(^J}1&rCob#)C*`qqYtt~+pptG3v3d$pNTIh%Un^kt(gxiZIkA@ir-xr|k zLq5{jDU~$k;t9B^jdg3As9n_ry1BSOt178Qx@lc=O{t5y=&BVB8|xa@Bd4UHY~55i z-%ym>keOSVnY$PcuyL4L2Fkf>xkKdLkz6dALWj zhjS`xTF9$tVrCtzZw_nMtWVUgZ^mt6zas^&KQ`cY3~%SSs}^VI;GNGv-v~~8>>8!j z>&=ZvbU3fP*P`KG?3(w)?ikTMY(3@^#JHikzDe!9cwt;$@Fd=UkWm@zukO8R^6`g~ zX3Be)%&yg&T|5uT`;|TqYt3;duHcOzJ%|EkIqv=iov<$}LQAlJbrP8UITiD1#1IX4=j&b{ zafF9%Z|e&t)5l1_)#HeWH}Q6f`AonK6LtJ$Q97sIA{!fC1zpGC4WjO*;XC1M4_MW= z-Vl`*qt!wyqnNM`Yz)k8@{)4g2G)zIf6W%?4w^o_#v2)lfW&nZTm_*RN}@jgEG)Z* zO5PN*>hCsi&_3g29P1L;l4EPWK3-kIePm5(;PTWBw>Ki($|C$`VK>_YJ<8 z^R@a@9QiOK(Ar*0$$l|#M_oVODtm;`okZ3=uxVkB(;rR5OYz|nmW|+0#<2DFcBr)5 zQN7-2?k%jXWtVNln&*FN<5s?<=HMOxA5q~pJMZMVnyk6+Ey%;%ok0J>W}dx6n8@we z&>fn@UXyw>**3iGv1?C>ufYxjPl@ZRd_6nV)?kvZ!~L9QhF{H{ zIdf9xFm66p;8sIp=GwZ3%;^m^nX~b^9-h}O&s@?_S60#3Sl7^)IWd>plH7yxu^;$J zUBmG2vsY34-H-3^!Uz0^q;>2R`fVWoe$@1|E=MOHlXPt46lZzrGmkv{P@0@d?TN~uj9Uo zaUy;fYQNJvgnq~9hp-dm&EJLy@Lm$+9gGEIJ0q?4(d~{&IX3yYq%DZsveaiDdsHGE zs>Akdw$*oA^>!579m#`rT#;DEm95ord+o&EKyqJea55t;^XS+y(PP^km$D`K_@omM zyM0ohdE#+DdgeEh+%i*eB7LOIaotfpgYn#?IiW3&O*t-kOVaV+Gb^olNorc}86AT0 zDAqjM*8khu=G%)~kmK&Kw=*%>96O&m>ErZu1|$#WPg8|o!JK6E z*YASTB>uEf;FYBGH;=uXB>t9B;FT2kEmdYG;RlS`2jpO<_r3n_Jf?)CNh)gTN437+ zCQ(bjy`|q?>yPrZ!rqfq2TQ+$*7y4q{)u+rm83dZ`kgHM`1k68SCZ;%>36p5cMfPX zK3y&Su9p3-mVS3jzq@6hzfJDHl2i{%zlYY(_f&d#XFN$#y)6A+T7QbC#UHu$UrG2E z%;5<4vF!8r_x)Fr%CPh^EPeiK691K?`dj+_Eq(rL2>+FYe>)rIGf?aM{el0F)_*0b zL6-g?OMj5BjI$*CgUqn~AzHuK)8c=(^j}FT+tSb0`hI`Q_LXs#q;f3%9IZdk)5`JA zc#?!)M-THEuJ!%#GThQ1Y3YyD`hI`lzwh>6Nh;UU&(->VJac_zoF(C3V}<#Q(fZ|{ z7XLq#|4LG0E&Z{U{jt6>&XUx4OMkq@f4rq%VCffVeLw#E^=SWbE&b_Qzu427?w#=@ zNzJtMXIgw_TKcms{n-|u*_QrXOMkAVKiATqZ|Tps^ygdp3oQKwmi_`ue=kdaFH3(f zOMkJYzu3}WZ0Rqx^p|RVzke>Z^p{)u%PsrME&Y|2{z^-KrKP{h(qCoiud?*_vGn(` z^!Ks!_p|i()B1jW_p|i(xAgb7^!K;)udwthE&WQZ@6QjFmVT9`U#0c^cve~Z>n;8Dmi~H6zsAz9vGi*!{W?p(&eE^5 z^bfN157PR6eGjtq8!i1tOTW?5Z?^QCE&XOof1{7S;a4(Xp}>7Q=tpRWEG(m&nOKf}^LL;WkHe}<)hrlo(T z>gE^~6Q46J{j)6nv()gA{#lm(*_Qs~}`sZ5u=UMvasf$DU=UMvaTl(j#+e7;2TlyDR`WL8YL;4q3`dcmit?KoV z{#Hx>LQDTb^+`zoLQDS_mi{l4BeyV2fB1!^f03nsk?IuEcSnyYmZUDW^emi}dGbx8j*OaF39|8i9o(!bo&|D~n>OLb^S z|Cg5j6_)-L>gOT-D=hshE&VIiT_OD|E&Z!3{j1cULi$%(`d3@}SF7(r`d3@}*I4@3 zr~yev#q^(REd6UO{cF|Kkp8un{&klAb*e0+f1RcOD@*@Z>X?xJuPpuRE&c1&FGBj) zTlzOx`ZuUML;5#Z`ZrqoH>y`c`ZrqoH(B~OsqaGiH(B~OTlzPv32I_2x2c;#`r9o1J1zY?)q^4ZJ1zaYEd9IGM(>EEkXhV<{X^nYXN|3=k>^nYXN-)HIHr?!Oj z@3ZvpxAgB<7l!ojxAY&d^dC@nh4de=^dGeJA5<@d^dGeJAF}ixQXhu&AF}ixw)7uX z{|xCrZ0SE@=|7^P?Tm`)506;-k6QYVsv#l$M=kxw)C7@tfW%RcS@Or#o+0_;mi!5| zM&zlw{1cY^NmVQIj#~btC4WjCF7i%V{*)zuTAd;CE?VyHj*VK9dPZF?@~&F`j8*;lE0=-5xI%)YnJ?Vb+O1z`@U|;-%vM;ygMY0dc%^xsU8wJ{|}L)-n8U@P`?#< zZ!Q0WC4WnOAaWD`w=DVF>R%#H)8*f`UoHQWC4Wz?2$g@&lE1Ikirm!ieM|m<+7zM{29c z`$OWWk1YA0)%79ypDp>v>OPTY>hd33^1rATLjM0^$v;u=irmEK6HET7`cmX3zMoq1 z&s40v$r=i9)Mu9bud1)eGqn7#mi%vOl*mnd|7OWQS9^%u^pDRi`QO!&ko~_~@-I}W z$g?4F)EAcgOVuQDGd{kwVePfPwUb$7`B zzbyH`)iWYD@%y(W|608jvj4Ru|3>{yT#*%-llDY8UW%zw-67rs;zEeF#Zu-Y} zmRvc*Lgf+Szzd(>JCj0k{lBR^4Sb&OEDYI?Sml$P14M54Ct31jr(WbkVAWB{mORBd zQsjfR9KZG$cqOTJ&RHVQ(eiedJnCE_auffkC677VL_ScLk6H5eR=R_g?r5dctaKME z?cPl?l}J+Qmb|Bx?qQ{SJI^DBnM-hV!}lSc5dO5tHRO3Ky$E^KpMs+sz8{f<>s6+U zb-KOkEa_P~-9hya$vdex#h;OPR-Z}Ql<%tkjr|+#8F_bnBf+HSX?s2N|K6kA@a?6x zNqHmhqb?1lGt?;YZ{+J*8u;lH0M z5V=Y3uO1G`<0@O~XX06+)(bzAE>qm$(w|9Js3F4F)W1@l5aM5@E()dBt5u(oBN$JjeaIiYl;x1vx(+n^m!tH~sTqwImduLseraeV95sls-Zo zB;`$iI7;0ek{{##Tevcn)ugh@y{97F=TZ|g{NHy-{Am&Q*$w@?m7CxbS;6OCL;3zM zF$A;yhv7W;w4$^1b45XA{X{Mw|7`ZDQQLdmG-M<2Y*^4p@L}Y{`~;u&V=ciVzDz$N z7ZkPjtPAPd&%fwAJeJ~>4?ITZH&eocI%SS0pz1ySmLO^Q zHw`?3>~3PZ9QlhDsDaZ>JtzDSc07&H0f1IKUEm`xyIlV!eJ%-LxQeNKFOsY zk=_2&ubx`yN!p;1mVXBW)`L$t2Mh2q^WcvshGZ=~IYA1oAj=rEYg=iR)t{yhjUmH6v1o@Vejd+>Cs{}V8y3&!P5v~$Kzuye*0+BxI% z?VS8^c1{6)11apQAi;8Bg5{!woCyh~CfYgU^Ad6rYB4^c7UL6YF&;mV7v?;^z~(c) z$gb)533g4#PfX0QE$5H5E$5H3qne+ia&mKG9QzlBxTR!Q75 z*cz>DY;3jQTFP3f3AomX;FbulWg{m!iq{+wTyM-G_KE0gph(|{{>~BehcO?w=tmKe zpGQ2!(buq)YkMfC<+zoh<J=~HD>EVWmj$6R5*6U^2yF5`(#~HV{ zLvgtxF)mu~HB0ZRL_N&|A1Ua1q8_}aj$GrIdV=2)sjv3;kqWolb%}A-<#7vJ#|idy z`Rg6Ef_7kUwb;}B^cAb0-k8`=bzJ&eak;sbxU8}I%dLs^EvNr|9JP)Je$_;LVX0nt zH4(v6#}BuHb-kgddEmyDZb!GDKu_o6hD4}+?@HvS?Hp?L)4LPnr|lhX)%V_3?0s#u z$9;+RbUj|S>hVBgTr|IfEPfBQV(&A{-Xn?jiWx_I6cFlHkG0aT`dWUUXvOcbR{K7c z=vUWwh^6<8=mpwM>y5GWo@+&KoTc|dD|!)_T(|y*FFYn{4U5m8hrdvA0!^cM|KN^-3+hcU#emTYB#$>gjQG zyzs&J)${rXiQ`D?WmXT{}{R^rlR)dM%)HBZbddi=QS{LnT6%wPMX$or`!Z2a*JFuQkFTU2;HPpWPDq8F8dr1Wz>r zyGP7^5&2_8UMM(KP|x3xuafiz!9xX)7Cc9An;^f1K!1N0{D&Yv-D7@7L2NB`8dJ8$ zVS@RB#e$eZv>a1}#w~(p3tlF8gW#_P9~Hz@tjqmH5M5NKqY;Beg0lpd3LYTH&mhQq zli)FeX9!*-c%9%~f{zKlEclM#XM&ya*$VCU7aSp2Bsfd3PVf-H;{`7id`9p!!7l_O z$;N(X!G40n1q%g#BDhiTbU}VLMt;`{ZWH8ZHq3uPus!-H)4c_U3g!#W5L_a7fMB)Y zPX+niINCW!@N&VM1@9AlM(}mPj|9IGY=?nBJ3R!m1jh@`5af5CsQ13$7lKLnP7L$A z3XT$-BsfoSZ^6R^PZqpD@M^(31RoZBQSfcSPX)gb><}~l`v~R;76{H1Tq+nBtPwm| z@F78d$AtCifbSX*dkYo{9wvB_;CX`lZUpsj7kohQCBat(-xmCf;CF&4_^eR-73?b5 zOR&FSmSCRXo`S0c%LVye0opr7@G8OE1RoH5R`3nM4+XyzOu}bqw9{X3gkX{2EWu@h z2ME>+ZV)^~@JPWef~N?cC3wEz#e!D|UMG07;5NbE2tFzJhTtCsKNS2-@N2;sCVti{ zU9eEFRIpa?r-D}sJ|y_I;9ms)DVTvTFVb#~;QoS#30@+2ui%qJO!m)7`gOq%iMT)U ziKIK=OGC8Vo0#UP{*vB9Z~+mE#1ctY3N~qU)MiPaFL)&}=BVo=y-o08BJL+VA?ZI0 zenrIngKs1~q%+dslSh19sRBu_6>KCvrPL-#UoLnPG2*D(CH=bKheTZeeDL55AmV!ZFOu$q zFKf~NP~x*njg)ke;4C7pm*-2mPVf-o;f^{&(w7R}K*aU%t&+Y^@M$8he_xRF=Yk4f zCX3*DH-!iuT?GdaKT~Rmq?ZdGNc>!>3P~R;cqXy0qt2D|F9mNQ;(B$Pq<<^;E)koZ z4<#K3QV?&I^;-47c@@)<$I_2L*w?&D$fAeo^pk zA~tjHN&0g^rzi4peb(iMXCCmh@hN`w?;dcA%t>6Fi&vu2Sbq`bxpuh`2tx zOVW=DzD&gR*sGF$U+@beuD|{z=_tPBrrV2%>#e?$&Jipi;`(Zmq*n{BCE|K&y`+y9 z{5cWVPg^B@wcs7Zx0SkE(vJ)Nj)?1{*CqX-;6I38D)qIbb9*C=_)R9_`lndZ2MAUZ zalLbpq)!#RkcjJ>OC^1S;5|fK&paUM4+Z~0#P!S9lJ1KO4Eh~L#Pv$9qzj0TD7Bc_ zC8CxKt`>PI5!W-7L|mU7BJ#rpk0GM`8ARxvE9qYnvFE#9@^6#;SBT*8F7ZM9jwTU) zlkg=;V!B{&!Tv<(=MZuIHHruxQ$;>qa1IgnmJ^}3kEGWU!J|&{Pa?wJS;YImj|jgv z3*I5}`-!+Ne1r&puZjE*g6|Sh{;x#n{X^2p__8DYbs{1^od~@mBK%Gx-lNn$MEKob zuvFyLL|nHXM1fmzuP4LH`+-i2qc`T^lLCfJDx zc`qWatNRh*cdW<@1Sb(uel8Judr5j~ef}ab1MTEUbe<1D?M2X55q8cdLhk}eUqyufnYvv*DBROgq;n72aEg|A};<< zAj028BEL-VDk93?Mugt4CH)u?{+^foS0w*EBK-c1copKFY0@2txL?+V2tR{};FB#l zf(ZR0BJ`$8dQT$!ESLQKh_GKt{H0PGBz+_i_Kp=iQS#3w;(p%wMEJcyS4e-{!jQtCQMZzID0-GcW^{*y%9AAODp|9=wshk~CFVdvjO z=sAN;I*kbby@<#kAo-(+@IQgL74wp$mlNTCmEao5UrYQ9>pT(u4;T5-g2xkK=NuyR zwo3YHBK+Sh`FBeG>qPi}mw291pG*2XBK#)}F&HC4uNx8fn|l%Af0W4c1Ph3;GlK}d zd6Hg9g#QC1ze4gGiLiSZ@f@X2k@WdQ`2U6A4T84_ZX=@H14P^>f0PJ5uZ#RG!9NjU z_ise#eI@CXETq9FjfngnMCeT;!tMg%nM&;|>9s`g`H5higX-W;0^hhFjjSA4P=T@sd7=n4;80l7EHd-%13p`-mqi^{k{{BZAi-1mBhX zPl)(D<#QtZ$A%icj)Gl@urq)Ny(~$OC8j7fN%E&lemN2T>xm~Qb(o}2B*Ooxf@ewo zFNpZu=Q1MvZxi|5g7*_)=NTgOUXt|NMEL(m^8YIN-x1-zLk{pbrLu|eJ6v!y5%LMd zcQ6kV;dhzH_ZHlbcpR?3iO{Q+^ua{F<7uzNf4Xr-Pb!tYChzZdx*iElaT z10wu>BXVb$(QijY`R+vM^^x>YBK(e#{6fj!hX}tV#3PhCmwHgw@}ji5aG8} z@~b3&BN28FBUUMO9ua;o6ueaA*Abs_)J;VAeMIC>2tG?h`PYfidq>ir65;nN$^TCB zJB>y@{PrQP#rMf1J&yR4ql$>|Gmi*93k8=Fp??4odgYQnhzLJFmHZ=#uzxbK4A+;E zzLE%g*9zV!`F9bYaMW*z@cW|3e<%1l5q3T#Lhn;ae@%qnlrbj1BN2LiiSVCIJP_ZX zk@Peo{Ld7eC;7`Iy-IM6dQ;3gYz9pg_SBm^v!5fL-a}N=E z4@&wuBI@yb$$v}olk$*{dZZEeSE|3HbBK@NzA_PhrVvrDV!_!&=r1EeZ?&W=i11S@ z`5TC^e*|$~rB0Ld1w`1pNbqvWzn=Jzqi!L>?}H+LRPZSx?EIbxy+26$V)Ql5%vp-;4w*X8WH*niO^dn={OPg*GYao5%vxyu2AX(NuN!G zz4HWrA^BGk@5B96BK+PX^7{oJA;Qj!MCkoq((e)B_fyIL2N8ZFfl>e4Y|~Uh-cf-tDNji17cJ$p0?*Pa^EJ8*lVF5|Qphg#W>kKY|Fq1;hooA4r71 z<$|k4UMA^E!D`9hK)lOQ2NS{LRFR)4crNk(HFhuXR?YeU$5(`qoCrlsnQ$UG>2w?6 zNSTBtgqY~AqMJGqG7~a|5E_z(hN3ZP%B>K;Tqh$VzX`d_$PDu<6KWrBN?Tzj7dda?4<2{`Awy4wd)7Mv7#hpa?Osnzsr+x_amssVUYZVBW)=U9Rb0JJHRVQDDp4boj z;~=Z}QIyBwMCzwdo{HB~Ka28g{1x>N+Qs@E)oMCc(*7d8V%4v=tm59MywPep{z?5; z)Hm;}diC!xt7$*MYI=HLFWURsMfH+%t;Rc=_Dk?mtJhy^6?Z-5JFLcgFZB;l|CrTy z|Ho?Ge#dIOf5yMk{wd`x_$BrAG>wkm33s!~w-4oJco6mF_96Z5Vb%W=Xzzi&tom_| zRowZMFS6?Y1nRG#{#RDxTWGa!Tt@jhyHLNYS&io{tA4(VA6Uh2vWojB@o%7g6K=7}_nlQ-{bOp%jjhJNzg2xp>N{HHJ;CZT_D`+)F#yNn z1e|0Qe~rCQca^p3$KABwi}S7WEwzeUM)^gne!NEgTIx4i<=txa-O-NP7P#EVsy}<- z!FVVhVHMZG&eQLUR{iNs`x$tSRoD|-Z?@{k zR{Y8;erN5=9M{mQ+{`Nf!PFmbmA{wWN6U*h&*K#l1>-oz?h0q<#bSUs{d#KenO1 zzc`_$yr0$h55N}GA8u#r{0gh_A5Z&<*wZS{SypjBr98rF{FhLFv(s{rEkuwu*npD((Zyo2>GGLH%AjHgo=Fc4z(GX_coV9z%N%JELCG%W8ZV z&^{Q4TfM&8D((u()2zlfllnWUUr7B@>Yt(hRjdBIj+#a3c>!g(A8Hj#>kr05QM<&n zUWdV{$DkI!w0siw!htvxFUGNWjeQ|Weu1~)9k>`D!DsP#d>8+MALB->Ur+g0YJZJ; z;@-GF9)#uC2HRsNJPx~IKkSb~a5!FLpV9Q;O?WG66H{}Z0P0X6E$h%GbtyiM`UsiU z>!Wh&Tlg-1h#zCJgW{gj`2@H-`kqFv-xqaie_C#Z<#-gf#~9ks3W>vzFMxEGdV8*GoAu$Nt^^Hb3Gx^?+nthNhuek=YQuf-eiX8a}I zh4gF5lhF5k zb^Gaf7LK#`YCnZn;?MCHcmv*wzr=g-etZZQbR1>x((i0|8D5Fk;4g3{&cgJ%2fhAY$`9Z} zxDtI&Q;+9Wd>ucr+IfD4U*K1mG^lB>kLh(1ir5kJMPxDCI@9d+#H*YAdnFukrr z_01{&5D&v+@dWINr{VxRQ`EJF)A&F5GX4R5uS}2s zBm4(`j=Sxq_M3EG2=0T;umz^qlPK;8%12=rJQllSPxQSkoqsTn#L+n2-jF0S@OHct z@4@@2L5UgZXTe@OX#T#x^U|G=Gh*Z8ODeaFVQ4>rdZco-gmzW1JA-vz5M zz1~Ij=TT0tcTss5<&ikmPEC^ZIv05h<=Zj6&PDb2P+o}XbuOxZl=3os7N5s;_&%oB zyXbZQN7I^P3t#9QzVoP+am zA^r{@#i#IDT#M`Q1N<9)XRp-1J!;$)_rNCD6c5Hj@knfkov|yPfoEfSosY&hi1K7R zN#7&kG`taS!#nU-m|h>G*Zr3A@9+tH3e)R_6t|Z0d-wrGf9^Cdnw5oC?AT4V>|4C$K#3E3wz@z9EX?Tm3R&Q0&l`w@ou~qAHauj6|TlV;oJBZ{3~w6 z^tv)l=f5d`gZ_@u^J8ahh2?k@w#Oggao7XX>(G?vOv>lr1vnTdVS1gK;;*GV4d>YN zwSU9~_#0ed&(rZC{vKb&5AkE%gqv~4z4iKY^!X4Q;a+%%?VBX6u>vcx7xu=p@LU{a zPuJ%IybQ0zyYN>y9~a{9Fugubd7h&DEUv=U_$PcDKgBJ$4Zp=bo2Y-ib-pB~*VCzd z5amitudh@6@sv-*3+yR6{=@WoJC#RMuEt6DbG#OB!dr1R&c*b4Jmq_q@=N#%uEDkV z9)5ru@l)K2+pv+oi+BI`!e)3NcD6lrpDR2Oe~i8H4D65T^?rKYaLO0sc)S$T>i`uu zlk%N-H!ik4^m{)(i_hb`_!s;HKf~Sjt$BST+!y!9gYi&oi$`NG?2TvRc{ms^#4$J? zZ@`=J4xEGc;RCoBAHkRL5BLVA*B@%WY;d`oez(Pc;lFV&eZlSX6!ygfu_cyc8*GoA z@C59Er(z#WuTxb1izr`$6Y)m81@FK)_^{P)flF~Yrq?m5KD~aiOOm|jdihuUJAR5= za2uxAH7b5*{g&m|?S_qUA8e1E@Hp&-C*x_@7yIF0ybwoYdYz=kn_ed=Z>N3^-h&J9 zH@E~J!)Nh%d<9>_f8gi%C4PbY;~hkK7>>em zcm@6pufyx{Uc4V4!o~QCJxu3`;96XVAK>5c6Z{O*>s9soZz=D1U`@XCx>ePu*Qv_Z z)K_379)ri@N!SbfVm};!L-2CE3a8?9yx+Fc`;Uw95quJ#!548A{x80Tf5s2-d))D$ zn(^$0jc^}qhApraw#B2d3m%JS;yHK$4#ul&%OtrP)9YeYocO0>|P6ydH1DSvVUX zwd(6Kd={U_SMW7li|g>O_;>six8R;FYVz-m`{O})2)4!wti!_-m}EWzXfEupyS=es};Lf~~OvD>1!( zSNYQGcjZ~spNpfcK6{SC%kWCP!|FSlIrwW_fQxVmF2kqsC42?f;9C3y)9ZRQo-ZhW zg$)nZ`1PG>8K&3ws(b+DcGv;CVilfgch&I#UVww~Dy!e-uEyy&18>JW@z=Nj7vU0I zhEL-g_$H>;18aQiDeF(&H%aG9SrxRXr2W<6kWP2G)qK$|IDMZwTfL7}R>3{3md`#` z>tR2uc{k8%yFJ2c|1r*Le>ll%e?7%2>2#~(j+s`+ce8DmB$;Qs>U>Xoe3C4&-E`jw ztIs(rtwz4e>htOvtIy->tiBgmZ~N-=kUdA&iP`gXy^=j&|Enhla$bzSZ!2^8LQTKb z_jWC;zMo9bhZ(EscX_~A&wcCn`4F4gqg$29$RnWo=9 zrRlfNcqZt-m70G0f~McTta=Sz4(ekA)FNMN`Ox9Q_T@y&cPq*jR>76n8TD4C^*ybY zr&F;H>a9xa2U=|phT;g+TanglmZ!_#WSoLiQL{8%E@$Cv)T~VFHOtcFbrCK>&8oD1 zrPXr$BCf*KxX!jrlJ{{veuSHCt0dWq+wfa#;Q6ohp&^!G6Kr9%p0vVpOwY$seP@@o z{&dAE?2dhGMUwQzewd!0rTP&rYkeDq5$&PB*cCbD+z=oKf7pCoFbCawiD?%2o9)cTM8us@El+TV=AaafI0toB1wF+E>R<@9_t@1I<+ z{nK2Whx2iXovZa9m*WatWwk$Bjcaf%uDADT{l^Ws3Ab78|Gvd!rq)BDWIDwnk%?T$V1RP1N9f9;P0aVUpNA2;JxOtkO!aX@`c&zDm< zJzq{Xb-n&I#}?N6e=N5RwSC3(ygBXfD_xd;mb&-vU9rmUqxp?JZBuO@u#eU8Wnb)P zwSV?A)$KsrQrin0VOweW#`JtV?Qhfb@#G}eYd<;}r&#Szr{Z+0{p1XsX|=zcg|n^p zk8^RJ)&6ikF0|UuEy5*M`@6?*x$UO+4_DeA+TP$QtNqq$Tw}GLT8rzf_D}EQdaM1= zN4UXi|Fa19qO$fQ>3M-NJuguEkA|+7e)hWe7frCKy-@Ezwy@d{ zw8Hd!L2duj^95yv>$Sc2GuUlstL=GLtg_mEcgLPq+wW7ckJa|NFZx;R-ahxofmYk& zp*X@$)%%a*>@>aqILT`JIvJ-}ZAYi#bgS*>44i4Ty_|)!t+s=6ah}!oa6T@y+WsxV zC05(J$8fpT_H6~Ov#Vj<@8f!_?a@cL!D@T62{&79Z?@t# ztL@9Tm^4sX+mrg(z-s&9XSUlitL;S-Y-(TD`;Qm;xIxQOdVHbnKo9TdwEjPBwZ5n4 zPiuW&T3=G`c%kK4Ont@Js^9;VB|JRYsD&s(jh9W)NF zp9`(l%eK2ot&fjdt%t|$F17y6w_5L7t1n*P=31?1`|lxp>ii0;_3D5|QtQ**R_jp< z_1WvsJgfC)?=q?N<#wy}W9P%|PK^`fz+&FjNdtMwqgFRYgP$$P7;%}rFV<$I#$g_r9sR?G9~eWjM;jdrTeo7+!L)BT97me;YGXI@UXS}mWKHCt=TX5qtlrZq%H6HrtD%%fSiKjT zgfxDZ)x2I#d4<)yTu1r+RQ<1BO?-W;k+h)P%4%ABQa;scTGG!o>QDN)rlsD0+UMC; zTHh$ApGUNurJpYpzuEO#-kNy1_VidSca@Yo+X`)uDEG5k4yRC_YPCG3$L)H3dfcw% zGF?AZUhnpG80Z-}E?F@#%4{mgD8LudrI4 z)8kULf8?^3>jw3u$_;H_ZI>xmS}o^&DEGBm-X~F>Y|rPoPp?mp`vz+M(Via94bl9g zyxD4fXz2A@@nu%)MQ6%gt=5n9cuDOeT-JJ$9tWwM9tUZCNsn(-Ug>tNH|cSU%IR^- zByE?pj5&W3tM#ZW!-CnDlZm;LEy;V8g-fBH<)1YR2 z74|+YUzGdV1zP_oPq7QNJX4-$wH~jcyxMAg-avVi)p}j#?WM-o#A^NSO1a8vJs(H8 z+G>5DOL?BvdcTVDYP(X)FXe6a1+9x@Q9#eF-L=WgyvJ=`O4IF6 z(S^^w2%oYYzuN8Dld$W|!?3aNnCxO1#s$yhF4kV_0pM{!_DENrlwPM7g@q${lzN=Q zGr{}10p8M0th)>Fl!VXpF82B?{iVakPtYUhi}WLUCVQNu(9vv)f=9y_$;M;mi#)D2 zH}Q~RTIfo8K}}b~C)noqAdE^^106@S%^qN$?N-yHi#oNM)3t&pjvqg4O!a^(#*P`5 zt{AnOYYr~L7x;avwUw^ZIC1F6vFyI$ws5yvw5?{R7&p~gPU6O3O)A=y)0J8~>G*}= z9y)H@zVBfFk{?jBe#h-~mfAR=usGLg@ZPjm<@m7^#|_Y1GWhb5It-1HLd#c(hlm-Upab#YnAzQB`_q8P>5cDB9(Cw;R50`;kvrTWc#@yMc9e`|kI@ zG#Bk3a#Y9W2cbm2M-Eo3i#};v8ox{F50pW2&+_-(yIC|_* zeR_%8w;#6TwQN6Ti6d$q3)E>0K83_>=|_-Sl{KGIYgH9Hq7MV2W4)RW>;ndzbXM;Z z`=0!h-U9}-?QnEO7wxc%wzTV<*K%~nycXRNGbfwwZJN{4p(3{>w+9__d(bJjrE_k! zE_p5OD{@1p37Z;rO_oHs|?cgb(b>p^9^ydG2@o%e26 z=1ys4?s8DsA#ZvrJLdJevSV(qbC-k4&bhtLT@E@_dwZ+*ZPj_@_NuQcg^Z}bY9;&=FYc{ zxocL(+%>CX$K2`3UFSOHu5%r8w>uqk=Ub=T`PM0Si_|H1J?)gco_5NeZ=G_Nw@$gs zTc_ORtyAuN>y*wneUCbH*x-r7_1XHuvHF%d{d>^h!Q+Qrs^zE9s!yb0anN{wTf~R( zn%C5=88vc@_USdP`hq%XJ7nzW(faHdCc1F^pwS9C;f&MT4yvvmKXUNIYNaiG&`(*3 zeu7H$GekO6Vuss1wA4TUt)F+&AusMQwdyB;|8HCy#W>&5`scy<4oUy2`JdbTuNP+h z>#uSj{mTaZ{F4qR>Hqp^AgM}A`d@>ZXOA~i68)r;IL`eVpnuMrAha+UsNLzZuxD#CpIf_$#e`ZryFhxy7?=$<7b&c&(v z7v`H1wKLY3;WA?x29RfPE#2Kn^Ub)kQc>+dk%qMZKeC!kvS)&%+V z^J^jB>rp=c9$KZkY{>fesw%?%Z42@>R-5BIy`Sh`*uRP$iqF5lD=y5}V%P2O@7`+5 z@;O+5Ax}BjKcK#{+eOF=Gu|y^nk*U<+~!v*C)t#RFLoPDBmpQ zt14ux8Lx|XM)@WM`P!*Hdq0*%`FtK;Pp6j@^1Tz~Yp$JNcXx;(o8C90 ze5-e6xUsaIr7zJn3+cV1N^Dc_@uX~hlM3C>;Am7DNzH!P|m359d z7l%jrW(N6m`cI*Mw?z4tC||Md)s0cU20G8BO7+>`>G1HQDBqMI-zjQ$obwHf^7+1jRjSX1EZ?9g z-@+i@X$sEr-4f;V{ROMCWW>36W0Y@AknbnNxqm)Sv)24mzV1%IpyqUVILfyz$alIT z9Ory*>W?sALmdoPsXiOBd~ZbgS~S|eyqu}vET7N+5A&UxlW%L3uV;|&tRP>x_CI01 z89Dh{DK1=I#s&Fw`dp!Zr$zZz=j1y%$~Qa6cW#hxRFtow&YkS8_H6Kc@!<35!v3uc z^7*rq%$$u}j+w;{-<(*X(H&|7PXnTM*?d+jIN->(78$|9rhdn9uhy z?5Xx_$fnoVH-yvMImkCi!CAg9qI@m%;i*`@Em6LKLB1hDzQ)>rhy5FolWz~jh5efz z`J1WYzMER=Jo(heBHBT#JPA%ly6;-ZzOSEUVQ#! zIK95#VX=HZ-!hzDUr<}F*ZcF;#X&yb?>Nlo`ym#~cT<$FJjgdX$hS1gw<0Is!%@CI zLB6p;zW&vT@mH$ zu6)HlA6**ds|xa68RYZ*rNj9*FQj?8L5At2D_H21ML@RNaZ=muOJDzN*xG>-PAm6n?KHv8` z%=cJM|9qe9Fkgecw!gpE1^LD*PX86YpWLc^*)*!U@b`5k#`(PHQt~}rV%%#b#(h#^ z+|HUQrS$LM661V7?o#rdS7O}6660Y~*alU_dDbwNmd6yEmyN+8+iEC40T#pjt z&MPr)Vu^9SKX@tAv7p4b6(z>4Eivxn663a&80XIirA%*miE+L!c`5mP-||x8CX^U= zTZwT`l^FL)iE+E?c)676II_gJ(@Tt-Tw>h)CB{8hV%&!%#_goz;8Ny`?`vL4obPj9 zO57DC#?3A$tj<={>N-xRXna8&zW54JF1sSYq6&65~EDG0yi_ zFJ=Dypv1TnN{qXp#JDR;jJu`8xcf?sd!fX*KP%41ojdrTP=k*XwMi@tZu9W(DDL~5 zxW+n85A*G&YfiO`Dhye^Bciw_iqj^iFl2E(qPP}{)2dY%vbX_J+>we?Rbj~DE|21l zRh%ZJFl2GQF4=!)^QCuA{~nIw&QqLbRbj~T{XU8tnbW@yqqxfz=ifoIApHe_)}MR8B&#GM?){V^wQNEG+Coc>)E#r<1xx>UO`Wc|A{ zirYg!UKg8=rBU3$IdQK>ah()b?0x$z~($a6X@{IQ>@`vbbiNzA$d2 zf>c!)vN+%OK8*8y+;w?&VaVc6i{frqT(S8wJc{#u-?fP?3|YRbqqrw>;_i;(UQ}GM z_wDg0?p?+Ccld0`#`}5{_bbJ&GHxIRCDn4cT;D9L3#`6L(z{_n_ihWXWWf@7^fx_c{H0GK%y4 z>x)gV@9!T@?^lW|HlKap|1i$?w?DK<|8~*q!#LmX-sewbLpB{Pqqs8_SL}WB`xNFI zp`c>Rv)`vM&iBJFHr}yO+^vc`Bz#Q-!{t+}x(-_X?frRQUdMT9ogi^E6+AFDSF|-WA2&bU~7Q9?Y05 z?w8ScTO6+z&1nBlqMzIg<6Ri#n|yVWwAi8Ubj*+Q4X&5o1JU{PlU*U-(^0;;`ck*t zA4nJ!nhwjNd=*1=-lh(Coljr+7xKLp<$Li){mxTldS8k14IEc5z2~U&X_goAy+ghV z`f=1^Ju4^JAt^Ln?mmj*u6Z>{uHZE$i`x?Q?_0(BxAttv-a;?u;c_rSC&-nl(f!*u z=-+pW+fld4$X?(5tt2@rD@c#mgALxMq*`%Hw1M7V4NcYH@%p&T<5a%F&`KvPz88F; X$@1xNtybKmOY0?#v`lA17We-Emp4aJ literal 0 HcmV?d00001 diff --git a/components/poc/bnd/broad.pp b/components/poc/bnd/broad.pp new file mode 100644 index 0000000..e953d66 --- /dev/null +++ b/components/poc/bnd/broad.pp @@ -0,0 +1,37209 @@ +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\poc.ppp +//PPL Source File Name : poc.c +typedef unsigned int size_t ; +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( *pfn_location_cb ) ( loc_info_t* loc_info , void* user ) ; +typedef uint32_t echat_uid_t ; +typedef uint32_t echat_gid_t ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( *echat_notify_cb_t ) ( void* user , echat_notify_t* notify ) ; +typedef void ( *echat_notify_param_cb_t ) ( void* user , int param , void * arg ) ; +typedef void ( *pfn_sl_notify_adapter ) ( void* user , void* notify ) ; +typedef void ( *tts_netnifo_notify_cb ) ( void* arg ) ; +typedef unsigned char u8 ; +typedef signed char s8 ; +typedef unsigned short u16 ; +typedef short s16 ; +typedef unsigned int u32 ; +typedef int s32 ; +typedef unsigned long long u64 ; +typedef long long s64 ; +typedef unsigned int ticks ; +typedef unsigned int size_t ; +typedef unsigned char uint8_t ; +typedef u8 UINT8 ; +typedef s8 INT8 ; +typedef u16 UINT16 ; +typedef s16 INT16 ; +typedef int INT ; +typedef u64 UINT64 ; +typedef s64 INT64 ; +typedef char CHAR ; +typedef int QlOSStatus ; +typedef void * ql_task_t ; +typedef void * ql_sem_t ; +typedef void * ql_mutex_t ; +typedef void * ql_queue_t ; +typedef void * ql_timer_t ; +typedef void * ql_flag_t ; +typedef void ( *uart_callback ) ( QL_UART_PORT_NUMBER_E port , void *para ) ; +typedef void ( *uart_callback_ex ) ( QL_UART_PORT_NUMBER_E port , int len , void *private ) ; +typedef unsigned char BOOL ; +typedef unsigned char UINT8 ; +typedef unsigned short UINT16 ; +typedef unsigned long UINT32 ; +typedef char CHAR ; +typedef signed char INT8 ; +typedef signed short INT16 ; +typedef signed long INT32 ; +typedef unsigned char Bool ; +typedef UINT8 BYTE ; +typedef UINT8 UBYTE ; +typedef UINT16 UWORD ; +typedef UINT16 WORD ; +typedef INT16 SWORD ; +typedef UINT32 DWORD ; +typedef unsigned long long UINT64 ; +typedef void* VOID_PTR ; +typedef volatile UINT8 *V_UINT8_PTR ; +typedef volatile UINT16 *V_UINT16_PTR ; +typedef volatile UINT32 *V_UINT32_PTR ; +typedef unsigned int U32Bits ; +typedef BOOL BOOLEAN ; +typedef const char * SwVersion ; +//ICAT EXPORTED ENUM + typedef enum + { + PMU_POR = 1 , + PMU_EMR , + PMU_WDTR = ( PMU_EMR+2 ) + } PMU_LastResetStatus; + +//ICAT EXPORTED STRUCT + typedef struct + { + UINT32 dbID ; + UINT32 filterBitLength ; + UINT32 reserved [ 6 ] ; + } DIAG_Nvm_Filter_File_Header_t; + +//ICAT EXPORTED ENUM + typedef enum + { + LOG_DISABLE = 0x0 , + UART_LOG_ENABLE = 0x1 , + ACAT_LOG_ENABLE = 0x2 + } Log_ConfigE; + +//ICAT EXPORTED ENUM + typedef enum + { + MSG_DISABLE = 0x0 , + ACAT_MSG_ENABLE = 0x1 + } Msg_ConfigE; + +//ICAT EXPORTED ENUM + typedef enum + { + RTI_LOG_DISABLE = 0x0 , + RTI_DUMP_ENABLE = 0x1 , + RTI_TASK_ENABLE = 0x2 , + RTI_MIPS_ENABLE = 0x3 + } RTI_ConfigE; + +//ICAT EXPORTED ENUM + typedef enum + { + SD_ACAT_LOG_DISABLE = 0x0 , + SD_ACAT_LOG_ENABLE = 0x1 + } SD_ACAT_LOG_ConfigE; + +//ICAT EXPORTED ENUM + typedef enum + { + SD_DUMP_BIN_DISABLE = 0x0 , + SD_DUMP_BIN_ENABLE = 0x1 + } SD_Dump_bin_ConfigE; + +//ICAT EXPORTED STRUCT + typedef struct { + Log_ConfigE log_cfg ; + Msg_ConfigE msg_cfg ; + RTI_ConfigE rti_cfg ; + } Log_ConfigS; + +//ICAT EXPORTED STRUCT + typedef struct { + SD_ACAT_LOG_ConfigE log_cfg ; + SD_Dump_bin_ConfigE dump_cfg ; + } SD_ConfigS; + +//ICAT EXPORTED ENUM + typedef enum + { + YMODEM_DISABLE = 0x0 , + YMODEM_ENABLE = 0x1 + } Ymodem_Dump_config; + +//ICAT EXPORTED STRUCT + typedef struct { + Ymodem_Dump_config config ; + } Ymodem_Dump_type; + +//ICAT EXPORTED ENUM + typedef enum { + DIAG_DEV_USB , + DIAG_DEV_SD , + DIAG_DEV_FS , + DIAG_DEV_UART , + DIAG_DEV_SPI , + DIAG_DEV_SHM , + DIAG_DEV_NONE + } DIAG_DEV_TYPE; + +typedef UINT8 UART_Activity ; +//ICAT EXPORTED STRUCT + typedef struct /* This is structure of the UART Configuration */ + { + UART_OpMode opMode ; /* fifo mode , non fifo mode or DMA for basic interface*/ + UART_TriggerLevel triggerLevel ; /* the trigger level interrupt on 1 , 8 , 16 , 32 */ + UART_BaudRates baudRate ; /* the rate of the transmit and the receive up to 111520 ( default - 9600 ) .*/ + UART_WordLen numDataBits ; /* 5 , 6 , 7 , or 8 number of data bits in the UART data frame ( default - 8 ) . */ + UART_StopBits stopBits ; /* 1 , 1.500000 or 2 stop bits in the UART data frame ( default - 1 ) . */ + UART_ParityTBits parityBitType ; /* Even , Odd or no-parity bit type in the UART data frame ( default - Non ) . */ + UART_InterfaceType interfaceType ; /* number of interface that the UART driver supplies ( default - UART_IF_TYPE_L2 ) */ + BOOL modemSignal ; /* enable operate modem - TRUE , disable modem - FALSE */ + BOOL flowControl ; /* enable Auto flow Control - TRUE , disable Auto flow Control - FALSE */ + UINT8 sleepMode ; /* enable sleep mode - TRUE , more fine control - see UARTSleepMode enum */ + BOOL auto_baud ; /* enable auto_baud , auto-baud-rate detection within the UART ( default - FALSE ) */ + UART_SIRConfigure sirIrDA ; + } UARTConfiguration; + +//ICAT EXPORTED ENUM + typedef enum // change the order -1 to + + { + UART_RC_OK = 1 , /* 1 - no errors */ + + UART_RC_PORT_NUM_ERROR = -100 , /* -100 - Error in the UART port number */ + UART_RC_NO_DATA_TO_READ , /* -99 - Eror no data to read from the FIFO UART */ + UART_RC_ILLEGAL_BAUD_RATE , /* -98 - Error in the UART Bayd Rate */ + UART_RC_UART_PARITY_BITS_ERROR , /* -97 - Error in parity bit */ + UART_RC_UART_ONE_STOP_BIT_ERROR , /* -96 - Error in one stop bit */ + UART_RC_ONE_HALF_OR_TWO_STOP_BIT_ERROR , /* -95 - Error in two stop bit */ + UART_RC_BAD_INTERFACE_TYPE , /* -94 - Error in the Interface Type */ + UART_RC_UART_NOT_AVAILABLE , /* -93 - Error in try to open UART that is open */ + UART_RC_NO_DATA_TO_WRITE , /* -92 - Error No data to writ the len = 0 */ + UART_RC_NOT_ALL_BYTE_WRITTEN , /* -91 - Error Not all the Byte write to the UART FIFO */ + UART_RC_ISR_ALREADY_BIND , /* -90 - Error try to bind ISR for Basic Interface */ + UART_RC_WRONG_ISR_UNBIND , /* -89 - Error in the UnBind ISR for Basic Interface */ + UART_RC_FIFO_NOT_EMPTY , /* -88 - Error , the UART FIFO not empty */ + UART_RC_UART_OPEN , /* -87 - Error try chance the configurr when the UART open */ + UART_RC_GPIO_ERR , /* -86 - Error in the Configure of the GPIO */ + UART_RC_IRDA_CONFIG_ERR , /* -85 - Illegal IrDA configuration */ + UART_RC_TX_DMA_ERR /* -84 - DMA TX Error */ + + } UART_ReturnCode; + +typedef void ( *UARTNotifyInterrupt ) ( UART_Port ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\addressing.ppp +//PPL Source File Name : src\\addressing.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef uint32_t echat_uid_t ; +typedef uint32_t echat_gid_t ; +typedef void ( *pfn_location_cb ) ( loc_info_t* loc_info , void* user ) ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( *echat_notify_cb_t ) ( void* user , echat_notify_t* notify ) ; +typedef void ( *echat_notify_param_cb_t ) ( void* user , int param , void * arg ) ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef int protobuf_c_boolean ; +typedef void ( *ProtobufCClosure ) ( const ProtobufCMessage * , void *closure_data ) ; +typedef void ( *ProtobufCMessageInit ) ( const ProtobufCMessageDescriptor* , ProtobufCMessage * ) ; +typedef void ( *ProtobufCServiceDestroy ) ( ProtobufCService * ) ; +typedef void ( *pfn_addressing_result_callback ) ( addressing_status status , int err , int login_model , void* user ) ; +typedef void ( *pfn_connection_notify ) ( connection_t* connection , CONNECTION_STATUS status , void* user ) ; +typedef void ( *pfn_connection_on_recv_msg_timeout ) ( connection_t* connection , const char* message_name , void* user ) ; +typedef void ( *pfn_ini_parser ) ( void* user , const char* section , const char* name , const char* value ) ; +typedef void ( *pfn_network_notify ) ( void* user , boolean succ ) ; +typedef void ( *pfn_sock_notify ) ( hal_sock_t* sock , void* user , int error ) ; +typedef void ( * pfn_hal_looper_user_free ) ( void* user ) ; +typedef void ( *pfn_looper_event_destroy ) ( hal_looper_event_t* event ) ; +typedef void ( * pfn_hal_looper_event_processer ) ( hal_looper_t* looper , hal_looper_event_t* event , void* user ) ; +typedef void ( * pfn_hal_looper_timer_callback ) ( hal_looper_t* looper , hal_time_t now , void* user ) ; +typedef int ( * pfn_hal_looper_routine ) ( hal_looper_t* looper , void* user ) ; +typedef void ( *hal_device_alarm_timer_cb_t ) ( void* user ) ; +typedef void* hal_mutex_t ; +typedef void ( *Ptt__AgentInfo_Closure ) + ( const Ptt__AgentInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__CompanyInfo_Closure ) + ( const Ptt__CompanyInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__UserInfo_Closure ) + ( const Ptt__UserInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__User_Closure ) + ( const Ptt__User *message , + void *closure_data ) ; +typedef void ( *Ptt__Member_Closure ) + ( const Ptt__Member *message , + void *closure_data ) ; +typedef void ( *Ptt__ChatUser_Closure ) + ( const Ptt__ChatUser *message , + void *closure_data ) ; +typedef void ( *Ptt__Group_Closure ) + ( const Ptt__Group *message , + void *closure_data ) ; +typedef void ( *Ptt__GroupMembers_Closure ) + ( const Ptt__GroupMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__GroupMembers2_Closure ) + ( const Ptt__GroupMembers2 *message , + void *closure_data ) ; +typedef void ( *Ptt__Department_Closure ) + ( const Ptt__Department *message , + void *closure_data ) ; +typedef void ( *Ptt__DepartmentMembers_Closure ) + ( const Ptt__DepartmentMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__Coordinate_Closure ) + ( const Ptt__Coordinate *message , + void *closure_data ) ; +typedef void ( *Ptt__Location_Closure ) + ( const Ptt__Location *message , + void *closure_data ) ; +typedef void ( *Ptt__Configure_Closure ) + ( const Ptt__Configure *message , + void *closure_data ) ; +typedef void ( *Ptt__MediaFile_Closure ) + ( const Ptt__MediaFile *message , + void *closure_data ) ; +typedef void ( *Ptt__Worksheet_Closure ) + ( const Ptt__Worksheet *message , + void *closure_data ) ; +typedef void ( *Ptt__DateTime_Closure ) + ( const Ptt__DateTime *message , + void *closure_data ) ; +typedef void ( *Ptt__SystemInfo_Closure ) + ( const Ptt__SystemInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__MobileCardInfo_Closure ) + ( const Ptt__MobileCardInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__Server_Closure ) + ( const Ptt__Server *message , + void *closure_data ) ; +typedef void ( *Ptt__Version_Closure ) + ( const Ptt__Version *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Login_Closure ) + ( const Ptt__Rr__Login *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LoginAck_Closure ) + ( const Ptt__Rr__LoginAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Logout_Closure ) + ( const Ptt__Rr__Logout *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LogoutAck_Closure ) + ( const Ptt__Rr__LogoutAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryGroup_Closure ) + ( const Ptt__Rr__QueryGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryGroupAck_Closure ) + ( const Ptt__Rr__QueryGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryEnterpriseGroup_Closure ) + ( const Ptt__Rr__QueryEnterpriseGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryEnterpriseGroupAck_Closure ) + ( const Ptt__Rr__QueryEnterpriseGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryMembers_Closure ) + ( const Ptt__Rr__QueryMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryMembersAck_Closure ) + ( const Ptt__Rr__QueryMembersAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryMembersAck2_Closure ) + ( const Ptt__Rr__QueryMembersAck2 *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryContacts_Closure ) + ( const Ptt__Rr__QueryContacts *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryContactsAck_Closure ) + ( const Ptt__Rr__QueryContactsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryUsers_Closure ) + ( const Ptt__Rr__QueryUsers *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryUsersAck_Closure ) + ( const Ptt__Rr__QueryUsersAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartments_Closure ) + ( const Ptt__Rr__QueryDepartments *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentsAck_Closure ) + ( const Ptt__Rr__QueryDepartmentsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentMembers_Closure ) + ( const Ptt__Rr__QueryDepartmentMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentMembersAck_Closure ) + ( const Ptt__Rr__QueryDepartmentMembersAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentTree_Closure ) + ( const Ptt__Rr__QueryDepartmentTree *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentTreeAck_Closure ) + ( const Ptt__Rr__QueryDepartmentTreeAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__JoinGroup_Closure ) + ( const Ptt__Rr__JoinGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__JoinGroupAck_Closure ) + ( const Ptt__Rr__JoinGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroup_Closure ) + ( const Ptt__Rr__WatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroupAck_Closure ) + ( const Ptt__Rr__WatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ByeGroup_Closure ) + ( const Ptt__Rr__ByeGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__IgnoreTalk_Closure ) + ( const Ptt__Rr__IgnoreTalk *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ContinueTalk_Closure ) + ( const Ptt__Rr__ContinueTalk *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Dnd_Closure ) + ( const Ptt__Rr__Dnd *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LeaveGroup_Closure ) + ( const Ptt__Rr__LeaveGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LeaveGroupAck_Closure ) + ( const Ptt__Rr__LeaveGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestMic_Closure ) + ( const Ptt__Rr__RequestMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestMicAck_Closure ) + ( const Ptt__Rr__RequestMicAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReleaseMic_Closure ) + ( const Ptt__Rr__ReleaseMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReleaseMicAck_Closure ) + ( const Ptt__Rr__ReleaseMicAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Call_Closure ) + ( const Ptt__Rr__Call *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CallAck_Closure ) + ( const Ptt__Rr__CallAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SingleCall_Closure ) + ( const Ptt__Rr__SingleCall *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SingleCallAck_Closure ) + ( const Ptt__Rr__SingleCallAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QuickDial_Closure ) + ( const Ptt__Rr__QuickDial *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QuickDialAck_Closure ) + ( const Ptt__Rr__QuickDialAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeName_Closure ) + ( const Ptt__Rr__ChangeName *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeNameAck_Closure ) + ( const Ptt__Rr__ChangeNameAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangePassword_Closure ) + ( const Ptt__Rr__ChangePassword *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangePasswordAck_Closure ) + ( const Ptt__Rr__ChangePasswordAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContacts_Closure ) + ( const Ptt__Rr__MakeContacts *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContactsAck_Closure ) + ( const Ptt__Rr__MakeContactsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContactsResponse_Closure ) + ( const Ptt__Rr__MakeContactsResponse *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContactsResponseAck_Closure ) + ( const Ptt__Rr__MakeContactsResponseAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveContacts_Closure ) + ( const Ptt__Rr__RemoveContacts *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveContactsAck_Closure ) + ( const Ptt__Rr__RemoveContactsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReportLocation_Closure ) + ( const Ptt__Rr__ReportLocation *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReportLocationAck_Closure ) + ( const Ptt__Rr__ReportLocationAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Kick_Closure ) + ( const Ptt__Rr__Kick *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__KickAck_Closure ) + ( const Ptt__Rr__KickAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CreateGroup_Closure ) + ( const Ptt__Rr__CreateGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CreateGroupAck_Closure ) + ( const Ptt__Rr__CreateGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DeleteGroup_Closure ) + ( const Ptt__Rr__DeleteGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DeleteGroupAck_Closure ) + ( const Ptt__Rr__DeleteGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ModifyGroup_Closure ) + ( const Ptt__Rr__ModifyGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ModifyGroupAck_Closure ) + ( const Ptt__Rr__ModifyGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__EmpowerMembership_Closure ) + ( const Ptt__Rr__EmpowerMembership *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__EmpowerMembershipAck_Closure ) + ( const Ptt__Rr__EmpowerMembershipAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DepriveMembership_Closure ) + ( const Ptt__Rr__DepriveMembership *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DepriveMembershipAck_Closure ) + ( const Ptt__Rr__DepriveMembershipAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Dispatch_Closure ) + ( const Ptt__Rr__Dispatch *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DispatchAck_Closure ) + ( const Ptt__Rr__DispatchAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ConfigureUser_Closure ) + ( const Ptt__Rr__ConfigureUser *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ConfigureUserAck_Closure ) + ( const Ptt__Rr__ConfigureUserAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__TakeMic_Closure ) + ( const Ptt__Rr__TakeMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__TakeMicAck_Closure ) + ( const Ptt__Rr__TakeMicAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SynchDatabase_Closure ) + ( const Ptt__Rr__SynchDatabase *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SynchDatabaseAck_Closure ) + ( const Ptt__Rr__SynchDatabaseAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__PostWorksheet_Closure ) + ( const Ptt__Rr__PostWorksheet *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__PostWorksheetAck_Closure ) + ( const Ptt__Rr__PostWorksheetAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryServer_Closure ) + ( const Ptt__Rr__QueryServer *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryServerAck_Closure ) + ( const Ptt__Rr__QueryServerAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestConfigure_Closure ) + ( const Ptt__Rr__RequestConfigure *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestConfigureAck_Closure ) + ( const Ptt__Rr__RequestConfigureAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestActivate_Closure ) + ( const Ptt__Rr__RequestActivate *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestActivateAck_Closure ) + ( const Ptt__Rr__RequestActivateAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CustomBroadcast_Closure ) + ( const Ptt__Rr__CustomBroadcast *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CustomBroadcastAck_Closure ) + ( const Ptt__Rr__CustomBroadcastAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeUserRoles_Closure ) + ( const Ptt__Rr__ChangeUserRoles *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeUserRolesAck_Closure ) + ( const Ptt__Rr__ChangeUserRolesAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CurrentTime_Closure ) + ( const Ptt__Rr__CurrentTime *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CurrentTimeAck_Closure ) + ( const Ptt__Rr__CurrentTimeAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__GetWatchGroup_Closure ) + ( const Ptt__Rr__GetWatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__GetWatchGroupAck_Closure ) + ( const Ptt__Rr__GetWatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__AddWatchGroup_Closure ) + ( const Ptt__Rr__AddWatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__AddWatchGroupAck_Closure ) + ( const Ptt__Rr__AddWatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveWatchGroup_Closure ) + ( const Ptt__Rr__RemoveWatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveWatchGroupAck_Closure ) + ( const Ptt__Rr__RemoveWatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroupEx_Closure ) + ( const Ptt__Rr__WatchGroupEx *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroupExAck_Closure ) + ( const Ptt__Rr__WatchGroupExAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Invite_Closure ) + ( const Ptt__Rr__Invite *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__InviteAck_Closure ) + ( const Ptt__Rr__InviteAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ResponseInvite_Closure ) + ( const Ptt__Rr__ResponseInvite *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ResponseInviteAck_Closure ) + ( const Ptt__Rr__ResponseInviteAck *message , + void *closure_data ) ; +typedef int SCL_CHECK_UINT32_1 [ 4 -sizeof ( uint32_t ) ] ; +typedef int SCL_CHECK_UINT32_2 [ sizeof ( uint32_t ) -4 ] ; +typedef int ( *SCL_cbfn_t ) ( const char* , long , void* , void* ) ; +typedef uint32_t ( *SCL_mdfn_t ) ( const char* , size_t ) ; +typedef void* ( *SCL_getfn_t ) ( size_t ) ; +typedef int ( *SCL_putfn_t ) ( void* , size_t ) ; +typedef void* SCL_iterator_t ; +typedef int oem_socket_t ; +typedef void * oem_thread_id_t ; +typedef void* ( *oem_thread_function_t ) ( void* arg ) ; +typedef void* oem_semaphore_t ; +typedef void* oem_mutex_t ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\algorithm.ppp +//PPL Source File Name : src\\algorithm.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( *oem_notify_cb_t ) ( void* user ) ; +typedef void ( *oem_stream_dB_cb_t ) ( int dB , void* user ) ; +typedef void ( *oem_stream_has_data_cb_t ) ( const void* data , size_t size , void* user ) ; +typedef void ( *oem_tone_cb_t ) ( void* user ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\audiopacket.ppp +//PPL Source File Name : src\\audiopacket.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\broadcast.ppp +//PPL Source File Name : src\\broadcast.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( *pfn_sound_notify ) ( hal_sound_t* sound , int param , void * user ) ; +typedef void ( *pfn_sound_on_record_stop ) ( hal_sound_t* sound , int param , void * user , const hal_frame_t** frames , size_t count ) ; +typedef void ( * pfn_hal_looper_user_free ) ( void* user ) ; +typedef void ( *pfn_looper_event_destroy ) ( hal_looper_event_t* event ) ; +typedef void ( * pfn_hal_looper_event_processer ) ( hal_looper_t* looper , hal_looper_event_t* event , void* user ) ; +typedef void ( * pfn_hal_looper_timer_callback ) ( hal_looper_t* looper , hal_time_t now , void* user ) ; +typedef int ( * pfn_hal_looper_routine ) ( hal_looper_t* looper , void* user ) ; +typedef void ( *pfn_ini_parser ) ( void* user , const char* section , const char* name , const char* value ) ; +typedef uint32_t echat_uid_t ; +typedef uint32_t echat_gid_t ; +typedef void ( *pfn_location_cb ) ( loc_info_t* loc_info , void* user ) ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( *echat_notify_cb_t ) ( void* user , echat_notify_t* notify ) ; +typedef void ( *echat_notify_param_cb_t ) ( void* user , int param , void * arg ) ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( *pfn_focus_notify ) ( focus_manager_t* fm , void* requestor , boolean focus ) ; +typedef void ( *pfn_network_notify ) ( void* user , boolean succ ) ; +typedef void ( *pfn_sock_notify ) ( hal_sock_t* sock , void* user , int error ) ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef int protobuf_c_boolean ; +typedef void ( *ProtobufCClosure ) ( const ProtobufCMessage * , void *closure_data ) ; +typedef void ( *ProtobufCMessageInit ) ( const ProtobufCMessageDescriptor* , ProtobufCMessage * ) ; +typedef void ( *ProtobufCServiceDestroy ) ( ProtobufCService * ) ; +typedef void ( *pfn_connection_notify ) ( connection_t* connection , CONNECTION_STATUS status , void* user ) ; +typedef void ( *pfn_connection_on_recv_msg_timeout ) ( connection_t* connection , const char* message_name , void* user ) ; +typedef int SCL_CHECK_UINT32_1 [ 4 -sizeof ( uint32_t ) ] ; +typedef int SCL_CHECK_UINT32_2 [ sizeof ( uint32_t ) -4 ] ; +typedef int ( *SCL_cbfn_t ) ( const char* , long , void* , void* ) ; +typedef uint32_t ( *SCL_mdfn_t ) ( const char* , size_t ) ; +typedef void* ( *SCL_getfn_t ) ( size_t ) ; +typedef int ( *SCL_putfn_t ) ( void* , size_t ) ; +typedef void* SCL_iterator_t ; +typedef unsigned int size_t ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\cache.ppp +//PPL Source File Name : src\\cache.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef uint32_t echat_uid_t ; +typedef uint32_t echat_gid_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef int SCL_CHECK_UINT32_1 [ 4 -sizeof ( uint32_t ) ] ; +typedef int SCL_CHECK_UINT32_2 [ sizeof ( uint32_t ) -4 ] ; +typedef int ( *SCL_cbfn_t ) ( const char* , long , void* , void* ) ; +typedef uint32_t ( *SCL_mdfn_t ) ( const char* , size_t ) ; +typedef void* ( *SCL_getfn_t ) ( size_t ) ; +typedef int ( *SCL_putfn_t ) ( void* , size_t ) ; +typedef void* SCL_iterator_t ; +typedef void ( *pfn_location_cb ) ( loc_info_t* loc_info , void* user ) ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( *echat_notify_cb_t ) ( void* user , echat_notify_t* notify ) ; +typedef void ( *echat_notify_param_cb_t ) ( void* user , int param , void * arg ) ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef unsigned int size_t ; +typedef int protobuf_c_boolean ; +typedef void ( *ProtobufCClosure ) ( const ProtobufCMessage * , void *closure_data ) ; +typedef void ( *ProtobufCMessageInit ) ( const ProtobufCMessageDescriptor* , ProtobufCMessage * ) ; +typedef void ( *ProtobufCServiceDestroy ) ( ProtobufCService * ) ; +typedef void ( *pfn_registerprocess_cb ) ( const ProtobufCMessage* message , void* user ) ; +typedef void ( *pfn_network_notify ) ( void* user , boolean succ ) ; +typedef void ( *pfn_sock_notify ) ( hal_sock_t* sock , void* user , int error ) ; +typedef void ( *pfn_sound_notify ) ( hal_sound_t* sound , int param , void * user ) ; +typedef void ( *pfn_sound_on_record_stop ) ( hal_sound_t* sound , int param , void * user , const hal_frame_t** frames , size_t count ) ; +typedef void ( *pfn_connection_notify ) ( connection_t* connection , CONNECTION_STATUS status , void* user ) ; +typedef void ( *pfn_connection_on_recv_msg_timeout ) ( connection_t* connection , const char* message_name , void* user ) ; +typedef void* hal_mutex_t ; +typedef void ( *pfn_ini_parser ) ( void* user , const char* section , const char* name , const char* value ) ; +typedef void ( * pfn_hal_looper_user_free ) ( void* user ) ; +typedef void ( *pfn_looper_event_destroy ) ( hal_looper_event_t* event ) ; +typedef void ( * pfn_hal_looper_event_processer ) ( hal_looper_t* looper , hal_looper_event_t* event , void* user ) ; +typedef void ( * pfn_hal_looper_timer_callback ) ( hal_looper_t* looper , hal_time_t now , void* user ) ; +typedef int ( * pfn_hal_looper_routine ) ( hal_looper_t* looper , void* user ) ; +typedef void ( *Ptt__AgentInfo_Closure ) + ( const Ptt__AgentInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__CompanyInfo_Closure ) + ( const Ptt__CompanyInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__UserInfo_Closure ) + ( const Ptt__UserInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__User_Closure ) + ( const Ptt__User *message , + void *closure_data ) ; +typedef void ( *Ptt__Member_Closure ) + ( const Ptt__Member *message , + void *closure_data ) ; +typedef void ( *Ptt__ChatUser_Closure ) + ( const Ptt__ChatUser *message , + void *closure_data ) ; +typedef void ( *Ptt__Group_Closure ) + ( const Ptt__Group *message , + void *closure_data ) ; +typedef void ( *Ptt__GroupMembers_Closure ) + ( const Ptt__GroupMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__GroupMembers2_Closure ) + ( const Ptt__GroupMembers2 *message , + void *closure_data ) ; +typedef void ( *Ptt__Department_Closure ) + ( const Ptt__Department *message , + void *closure_data ) ; +typedef void ( *Ptt__DepartmentMembers_Closure ) + ( const Ptt__DepartmentMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__Coordinate_Closure ) + ( const Ptt__Coordinate *message , + void *closure_data ) ; +typedef void ( *Ptt__Location_Closure ) + ( const Ptt__Location *message , + void *closure_data ) ; +typedef void ( *Ptt__Configure_Closure ) + ( const Ptt__Configure *message , + void *closure_data ) ; +typedef void ( *Ptt__MediaFile_Closure ) + ( const Ptt__MediaFile *message , + void *closure_data ) ; +typedef void ( *Ptt__Worksheet_Closure ) + ( const Ptt__Worksheet *message , + void *closure_data ) ; +typedef void ( *Ptt__DateTime_Closure ) + ( const Ptt__DateTime *message , + void *closure_data ) ; +typedef void ( *Ptt__SystemInfo_Closure ) + ( const Ptt__SystemInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__MobileCardInfo_Closure ) + ( const Ptt__MobileCardInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__Server_Closure ) + ( const Ptt__Server *message , + void *closure_data ) ; +typedef void ( *Ptt__Version_Closure ) + ( const Ptt__Version *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Login_Closure ) + ( const Ptt__Rr__Login *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LoginAck_Closure ) + ( const Ptt__Rr__LoginAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Logout_Closure ) + ( const Ptt__Rr__Logout *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LogoutAck_Closure ) + ( const Ptt__Rr__LogoutAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryGroup_Closure ) + ( const Ptt__Rr__QueryGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryGroupAck_Closure ) + ( const Ptt__Rr__QueryGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryEnterpriseGroup_Closure ) + ( const Ptt__Rr__QueryEnterpriseGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryEnterpriseGroupAck_Closure ) + ( const Ptt__Rr__QueryEnterpriseGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryMembers_Closure ) + ( const Ptt__Rr__QueryMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryMembersAck_Closure ) + ( const Ptt__Rr__QueryMembersAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryMembersAck2_Closure ) + ( const Ptt__Rr__QueryMembersAck2 *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryContacts_Closure ) + ( const Ptt__Rr__QueryContacts *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryContactsAck_Closure ) + ( const Ptt__Rr__QueryContactsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryUsers_Closure ) + ( const Ptt__Rr__QueryUsers *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryUsersAck_Closure ) + ( const Ptt__Rr__QueryUsersAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartments_Closure ) + ( const Ptt__Rr__QueryDepartments *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentsAck_Closure ) + ( const Ptt__Rr__QueryDepartmentsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentMembers_Closure ) + ( const Ptt__Rr__QueryDepartmentMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentMembersAck_Closure ) + ( const Ptt__Rr__QueryDepartmentMembersAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentTree_Closure ) + ( const Ptt__Rr__QueryDepartmentTree *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentTreeAck_Closure ) + ( const Ptt__Rr__QueryDepartmentTreeAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__JoinGroup_Closure ) + ( const Ptt__Rr__JoinGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__JoinGroupAck_Closure ) + ( const Ptt__Rr__JoinGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroup_Closure ) + ( const Ptt__Rr__WatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroupAck_Closure ) + ( const Ptt__Rr__WatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ByeGroup_Closure ) + ( const Ptt__Rr__ByeGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__IgnoreTalk_Closure ) + ( const Ptt__Rr__IgnoreTalk *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ContinueTalk_Closure ) + ( const Ptt__Rr__ContinueTalk *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Dnd_Closure ) + ( const Ptt__Rr__Dnd *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LeaveGroup_Closure ) + ( const Ptt__Rr__LeaveGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LeaveGroupAck_Closure ) + ( const Ptt__Rr__LeaveGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestMic_Closure ) + ( const Ptt__Rr__RequestMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestMicAck_Closure ) + ( const Ptt__Rr__RequestMicAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReleaseMic_Closure ) + ( const Ptt__Rr__ReleaseMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReleaseMicAck_Closure ) + ( const Ptt__Rr__ReleaseMicAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Call_Closure ) + ( const Ptt__Rr__Call *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CallAck_Closure ) + ( const Ptt__Rr__CallAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SingleCall_Closure ) + ( const Ptt__Rr__SingleCall *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SingleCallAck_Closure ) + ( const Ptt__Rr__SingleCallAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QuickDial_Closure ) + ( const Ptt__Rr__QuickDial *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QuickDialAck_Closure ) + ( const Ptt__Rr__QuickDialAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeName_Closure ) + ( const Ptt__Rr__ChangeName *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeNameAck_Closure ) + ( const Ptt__Rr__ChangeNameAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangePassword_Closure ) + ( const Ptt__Rr__ChangePassword *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangePasswordAck_Closure ) + ( const Ptt__Rr__ChangePasswordAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContacts_Closure ) + ( const Ptt__Rr__MakeContacts *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContactsAck_Closure ) + ( const Ptt__Rr__MakeContactsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContactsResponse_Closure ) + ( const Ptt__Rr__MakeContactsResponse *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContactsResponseAck_Closure ) + ( const Ptt__Rr__MakeContactsResponseAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveContacts_Closure ) + ( const Ptt__Rr__RemoveContacts *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveContactsAck_Closure ) + ( const Ptt__Rr__RemoveContactsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReportLocation_Closure ) + ( const Ptt__Rr__ReportLocation *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReportLocationAck_Closure ) + ( const Ptt__Rr__ReportLocationAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Kick_Closure ) + ( const Ptt__Rr__Kick *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__KickAck_Closure ) + ( const Ptt__Rr__KickAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CreateGroup_Closure ) + ( const Ptt__Rr__CreateGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CreateGroupAck_Closure ) + ( const Ptt__Rr__CreateGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DeleteGroup_Closure ) + ( const Ptt__Rr__DeleteGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DeleteGroupAck_Closure ) + ( const Ptt__Rr__DeleteGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ModifyGroup_Closure ) + ( const Ptt__Rr__ModifyGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ModifyGroupAck_Closure ) + ( const Ptt__Rr__ModifyGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__EmpowerMembership_Closure ) + ( const Ptt__Rr__EmpowerMembership *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__EmpowerMembershipAck_Closure ) + ( const Ptt__Rr__EmpowerMembershipAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DepriveMembership_Closure ) + ( const Ptt__Rr__DepriveMembership *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DepriveMembershipAck_Closure ) + ( const Ptt__Rr__DepriveMembershipAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Dispatch_Closure ) + ( const Ptt__Rr__Dispatch *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DispatchAck_Closure ) + ( const Ptt__Rr__DispatchAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ConfigureUser_Closure ) + ( const Ptt__Rr__ConfigureUser *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ConfigureUserAck_Closure ) + ( const Ptt__Rr__ConfigureUserAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__TakeMic_Closure ) + ( const Ptt__Rr__TakeMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__TakeMicAck_Closure ) + ( const Ptt__Rr__TakeMicAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SynchDatabase_Closure ) + ( const Ptt__Rr__SynchDatabase *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SynchDatabaseAck_Closure ) + ( const Ptt__Rr__SynchDatabaseAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__PostWorksheet_Closure ) + ( const Ptt__Rr__PostWorksheet *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__PostWorksheetAck_Closure ) + ( const Ptt__Rr__PostWorksheetAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryServer_Closure ) + ( const Ptt__Rr__QueryServer *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryServerAck_Closure ) + ( const Ptt__Rr__QueryServerAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestConfigure_Closure ) + ( const Ptt__Rr__RequestConfigure *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestConfigureAck_Closure ) + ( const Ptt__Rr__RequestConfigureAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestActivate_Closure ) + ( const Ptt__Rr__RequestActivate *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestActivateAck_Closure ) + ( const Ptt__Rr__RequestActivateAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CustomBroadcast_Closure ) + ( const Ptt__Rr__CustomBroadcast *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CustomBroadcastAck_Closure ) + ( const Ptt__Rr__CustomBroadcastAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeUserRoles_Closure ) + ( const Ptt__Rr__ChangeUserRoles *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeUserRolesAck_Closure ) + ( const Ptt__Rr__ChangeUserRolesAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CurrentTime_Closure ) + ( const Ptt__Rr__CurrentTime *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CurrentTimeAck_Closure ) + ( const Ptt__Rr__CurrentTimeAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__GetWatchGroup_Closure ) + ( const Ptt__Rr__GetWatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__GetWatchGroupAck_Closure ) + ( const Ptt__Rr__GetWatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__AddWatchGroup_Closure ) + ( const Ptt__Rr__AddWatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__AddWatchGroupAck_Closure ) + ( const Ptt__Rr__AddWatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveWatchGroup_Closure ) + ( const Ptt__Rr__RemoveWatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveWatchGroupAck_Closure ) + ( const Ptt__Rr__RemoveWatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroupEx_Closure ) + ( const Ptt__Rr__WatchGroupEx *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroupExAck_Closure ) + ( const Ptt__Rr__WatchGroupExAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Invite_Closure ) + ( const Ptt__Rr__Invite *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__InviteAck_Closure ) + ( const Ptt__Rr__InviteAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ResponseInvite_Closure ) + ( const Ptt__Rr__ResponseInvite *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ResponseInviteAck_Closure ) + ( const Ptt__Rr__ResponseInviteAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__Reconfigured_Closure ) + ( const Ptt__Push__Reconfigured *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__UsersChanged_Closure ) + ( const Ptt__Push__UsersChanged *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__GroupListChanged_Closure ) + ( const Ptt__Push__GroupListChanged *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__MembersChanged__MemberChanged_Closure ) + ( const Ptt__Push__MembersChanged__MemberChanged *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__MembersChanged_Closure ) + ( const Ptt__Push__MembersChanged *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__ContactshipAsked__Request_Closure ) + ( const Ptt__Push__ContactshipAsked__Request *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__ContactshipAsked_Closure ) + ( const Ptt__Push__ContactshipAsked *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__ContactsChanged_Closure ) + ( const Ptt__Push__ContactsChanged *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__MemberGetMic_Closure ) + ( const Ptt__Push__MemberGetMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__MemberLostMic_Closure ) + ( const Ptt__Push__MemberLostMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__LostMic_Closure ) + ( const Ptt__Push__LostMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__CurrentGroup_Closure ) + ( const Ptt__Push__CurrentGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__Kickout_Closure ) + ( const Ptt__Push__Kickout *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__NewWorksheet_Closure ) + ( const Ptt__Push__NewWorksheet *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__CustomBroadcast_Closure ) + ( const Ptt__Push__CustomBroadcast *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__ChangeRoles_Closure ) + ( const Ptt__Push__ChangeRoles *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__Invite_Closure ) + ( const Ptt__Push__Invite *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__ResponseInvite_Closure ) + ( const Ptt__Push__ResponseInvite *message , + void *closure_data ) ; +typedef void ( *Ptt__Serv__TxtBroadcast_Closure ) + ( const Ptt__Serv__TxtBroadcast *message , + void *closure_data ) ; +typedef void ( *Ptt__Serv__MobileStandard_Closure ) + ( const Ptt__Serv__MobileStandard *message , + void *closure_data ) ; +typedef void ( *Ptt__Serv__DispatchReconnection_Closure ) + ( const Ptt__Serv__DispatchReconnection *message , + void *closure_data ) ; +typedef void ( *Ptt__Serv__Configuration_Closure ) + ( const Ptt__Serv__Configuration *message , + void *closure_data ) ; +typedef void ( *Ptt__Serv__MultimediaMessage_Closure ) + ( const Ptt__Serv__MultimediaMessage *message , + void *closure_data ) ; +typedef void ( *Ptt__Serv__ExternalServMsg_Closure ) + ( const Ptt__Serv__ExternalServMsg *message , + void *closure_data ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\cJSON.ppp +//PPL Source File Name : src\\cJSON.c +typedef unsigned int size_t ; +typedef unsigned int size_t ; +typedef float float_t ; +typedef double double_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\collect.pb-c.ppp +//PPL Source File Name : src\\collect.pb-c.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef va_list __gnuc_va_list ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef int protobuf_c_boolean ; +typedef void ( *ProtobufCClosure ) ( const ProtobufCMessage * , void *closure_data ) ; +typedef void ( *ProtobufCMessageInit ) ( const ProtobufCMessageDescriptor* , ProtobufCMessage * ) ; +typedef void ( *ProtobufCServiceDestroy ) ( ProtobufCService * ) ; +typedef void ( *Ptt__AgentInfo_Closure ) + ( const Ptt__AgentInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__CompanyInfo_Closure ) + ( const Ptt__CompanyInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__UserInfo_Closure ) + ( const Ptt__UserInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__User_Closure ) + ( const Ptt__User *message , + void *closure_data ) ; +typedef void ( *Ptt__Member_Closure ) + ( const Ptt__Member *message , + void *closure_data ) ; +typedef void ( *Ptt__ChatUser_Closure ) + ( const Ptt__ChatUser *message , + void *closure_data ) ; +typedef void ( *Ptt__Group_Closure ) + ( const Ptt__Group *message , + void *closure_data ) ; +typedef void ( *Ptt__GroupMembers_Closure ) + ( const Ptt__GroupMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__GroupMembers2_Closure ) + ( const Ptt__GroupMembers2 *message , + void *closure_data ) ; +typedef void ( *Ptt__Department_Closure ) + ( const Ptt__Department *message , + void *closure_data ) ; +typedef void ( *Ptt__DepartmentMembers_Closure ) + ( const Ptt__DepartmentMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__Coordinate_Closure ) + ( const Ptt__Coordinate *message , + void *closure_data ) ; +typedef void ( *Ptt__Location_Closure ) + ( const Ptt__Location *message , + void *closure_data ) ; +typedef void ( *Ptt__Configure_Closure ) + ( const Ptt__Configure *message , + void *closure_data ) ; +typedef void ( *Ptt__MediaFile_Closure ) + ( const Ptt__MediaFile *message , + void *closure_data ) ; +typedef void ( *Ptt__Worksheet_Closure ) + ( const Ptt__Worksheet *message , + void *closure_data ) ; +typedef void ( *Ptt__DateTime_Closure ) + ( const Ptt__DateTime *message , + void *closure_data ) ; +typedef void ( *Ptt__SystemInfo_Closure ) + ( const Ptt__SystemInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__MobileCardInfo_Closure ) + ( const Ptt__MobileCardInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__Server_Closure ) + ( const Ptt__Server *message , + void *closure_data ) ; +typedef void ( *Ptt__Version_Closure ) + ( const Ptt__Version *message , + void *closure_data ) ; +typedef void ( *Ptt__Collect__User_Closure ) + ( const Ptt__Collect__User *message , + void *closure_data ) ; +typedef void ( *Ptt__Collect__Server_Closure ) + ( const Ptt__Collect__Server *message , + void *closure_data ) ; +typedef void ( *Ptt__Collect__Terminal_Closure ) + ( const Ptt__Collect__Terminal *message , + void *closure_data ) ; +typedef void ( *Ptt__Collect__NetWork_Closure ) + ( const Ptt__Collect__NetWork *message , + void *closure_data ) ; +typedef void ( *Ptt__Collect__NetDelay_Closure ) + ( const Ptt__Collect__NetDelay *message , + void *closure_data ) ; +typedef void ( *Ptt__Collect__GpsCnoInfo_Closure ) + ( const Ptt__Collect__GpsCnoInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__Collect__BaseInfo_Closure ) + ( const Ptt__Collect__BaseInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__Collect__Disconnect_Closure ) + ( const Ptt__Collect__Disconnect *message , + void *closure_data ) ; +typedef void ( *Ptt__Collect__Reconnect_Closure ) + ( const Ptt__Collect__Reconnect *message , + void *closure_data ) ; +typedef void ( *Ptt__Collect__NetStat_Closure ) + ( const Ptt__Collect__NetStat *message , + void *closure_data ) ; +typedef void ( *Ptt__Collect__Speaker_Closure ) + ( const Ptt__Collect__Speaker *message , + void *closure_data ) ; +typedef void ( *Ptt__Collect__Listener_Closure ) + ( const Ptt__Collect__Listener *message , + void *closure_data ) ; +typedef void ( *Ptt__Collect__SessionStat_Closure ) + ( const Ptt__Collect__SessionStat *message , + void *closure_data ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\compress.ppp +//PPL Source File Name : src\\compress.c +typedef unsigned int size_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef float float_t ; +typedef double double_t ; +typedef unsigned int size_t ; +typedef unsigned long int WeightType ; +typedef unsigned char MyType ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\connection.ppp +//PPL Source File Name : src\\connection.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef uint32_t echat_uid_t ; +typedef uint32_t echat_gid_t ; +typedef void ( *pfn_location_cb ) ( loc_info_t* loc_info , void* user ) ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( *echat_notify_cb_t ) ( void* user , echat_notify_t* notify ) ; +typedef void ( *echat_notify_param_cb_t ) ( void* user , int param , void * arg ) ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef int protobuf_c_boolean ; +typedef void ( *ProtobufCClosure ) ( const ProtobufCMessage * , void *closure_data ) ; +typedef void ( *ProtobufCMessageInit ) ( const ProtobufCMessageDescriptor* , ProtobufCMessage * ) ; +typedef void ( *ProtobufCServiceDestroy ) ( ProtobufCService * ) ; +typedef void ( *pfn_addressing_result_callback ) ( addressing_status status , int err , int login_model , void* user ) ; +typedef void ( *pfn_connection_notify ) ( connection_t* connection , CONNECTION_STATUS status , void* user ) ; +typedef void ( *pfn_connection_on_recv_msg_timeout ) ( connection_t* connection , const char* message_name , void* user ) ; +typedef void ( *pfn_registerprocess_cb ) ( const ProtobufCMessage* message , void* user ) ; +typedef void ( *pfn_network_notify ) ( void* user , boolean succ ) ; +typedef void ( *pfn_sock_notify ) ( hal_sock_t* sock , void* user , int error ) ; +typedef void ( *pfn_sound_notify ) ( hal_sound_t* sound , int param , void * user ) ; +typedef void ( *pfn_sound_on_record_stop ) ( hal_sound_t* sound , int param , void * user , const hal_frame_t** frames , size_t count ) ; +typedef void ( *pfn_ini_parser ) ( void* user , const char* section , const char* name , const char* value ) ; +typedef void ( *hal_device_alarm_timer_cb_t ) ( void* user ) ; +typedef void ( * pfn_hal_looper_user_free ) ( void* user ) ; +typedef void ( *pfn_looper_event_destroy ) ( hal_looper_event_t* event ) ; +typedef void ( * pfn_hal_looper_event_processer ) ( hal_looper_t* looper , hal_looper_event_t* event , void* user ) ; +typedef void ( * pfn_hal_looper_timer_callback ) ( hal_looper_t* looper , hal_time_t now , void* user ) ; +typedef int ( * pfn_hal_looper_routine ) ( hal_looper_t* looper , void* user ) ; +typedef void ( *Ptt__AgentInfo_Closure ) + ( const Ptt__AgentInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__CompanyInfo_Closure ) + ( const Ptt__CompanyInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__UserInfo_Closure ) + ( const Ptt__UserInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__User_Closure ) + ( const Ptt__User *message , + void *closure_data ) ; +typedef void ( *Ptt__Member_Closure ) + ( const Ptt__Member *message , + void *closure_data ) ; +typedef void ( *Ptt__ChatUser_Closure ) + ( const Ptt__ChatUser *message , + void *closure_data ) ; +typedef void ( *Ptt__Group_Closure ) + ( const Ptt__Group *message , + void *closure_data ) ; +typedef void ( *Ptt__GroupMembers_Closure ) + ( const Ptt__GroupMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__GroupMembers2_Closure ) + ( const Ptt__GroupMembers2 *message , + void *closure_data ) ; +typedef void ( *Ptt__Department_Closure ) + ( const Ptt__Department *message , + void *closure_data ) ; +typedef void ( *Ptt__DepartmentMembers_Closure ) + ( const Ptt__DepartmentMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__Coordinate_Closure ) + ( const Ptt__Coordinate *message , + void *closure_data ) ; +typedef void ( *Ptt__Location_Closure ) + ( const Ptt__Location *message , + void *closure_data ) ; +typedef void ( *Ptt__Configure_Closure ) + ( const Ptt__Configure *message , + void *closure_data ) ; +typedef void ( *Ptt__MediaFile_Closure ) + ( const Ptt__MediaFile *message , + void *closure_data ) ; +typedef void ( *Ptt__Worksheet_Closure ) + ( const Ptt__Worksheet *message , + void *closure_data ) ; +typedef void ( *Ptt__DateTime_Closure ) + ( const Ptt__DateTime *message , + void *closure_data ) ; +typedef void ( *Ptt__SystemInfo_Closure ) + ( const Ptt__SystemInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__MobileCardInfo_Closure ) + ( const Ptt__MobileCardInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__Server_Closure ) + ( const Ptt__Server *message , + void *closure_data ) ; +typedef void ( *Ptt__Version_Closure ) + ( const Ptt__Version *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Login_Closure ) + ( const Ptt__Rr__Login *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LoginAck_Closure ) + ( const Ptt__Rr__LoginAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Logout_Closure ) + ( const Ptt__Rr__Logout *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LogoutAck_Closure ) + ( const Ptt__Rr__LogoutAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryGroup_Closure ) + ( const Ptt__Rr__QueryGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryGroupAck_Closure ) + ( const Ptt__Rr__QueryGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryEnterpriseGroup_Closure ) + ( const Ptt__Rr__QueryEnterpriseGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryEnterpriseGroupAck_Closure ) + ( const Ptt__Rr__QueryEnterpriseGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryMembers_Closure ) + ( const Ptt__Rr__QueryMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryMembersAck_Closure ) + ( const Ptt__Rr__QueryMembersAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryMembersAck2_Closure ) + ( const Ptt__Rr__QueryMembersAck2 *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryContacts_Closure ) + ( const Ptt__Rr__QueryContacts *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryContactsAck_Closure ) + ( const Ptt__Rr__QueryContactsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryUsers_Closure ) + ( const Ptt__Rr__QueryUsers *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryUsersAck_Closure ) + ( const Ptt__Rr__QueryUsersAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartments_Closure ) + ( const Ptt__Rr__QueryDepartments *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentsAck_Closure ) + ( const Ptt__Rr__QueryDepartmentsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentMembers_Closure ) + ( const Ptt__Rr__QueryDepartmentMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentMembersAck_Closure ) + ( const Ptt__Rr__QueryDepartmentMembersAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentTree_Closure ) + ( const Ptt__Rr__QueryDepartmentTree *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentTreeAck_Closure ) + ( const Ptt__Rr__QueryDepartmentTreeAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__JoinGroup_Closure ) + ( const Ptt__Rr__JoinGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__JoinGroupAck_Closure ) + ( const Ptt__Rr__JoinGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroup_Closure ) + ( const Ptt__Rr__WatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroupAck_Closure ) + ( const Ptt__Rr__WatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ByeGroup_Closure ) + ( const Ptt__Rr__ByeGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__IgnoreTalk_Closure ) + ( const Ptt__Rr__IgnoreTalk *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ContinueTalk_Closure ) + ( const Ptt__Rr__ContinueTalk *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Dnd_Closure ) + ( const Ptt__Rr__Dnd *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LeaveGroup_Closure ) + ( const Ptt__Rr__LeaveGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LeaveGroupAck_Closure ) + ( const Ptt__Rr__LeaveGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestMic_Closure ) + ( const Ptt__Rr__RequestMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestMicAck_Closure ) + ( const Ptt__Rr__RequestMicAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReleaseMic_Closure ) + ( const Ptt__Rr__ReleaseMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReleaseMicAck_Closure ) + ( const Ptt__Rr__ReleaseMicAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Call_Closure ) + ( const Ptt__Rr__Call *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CallAck_Closure ) + ( const Ptt__Rr__CallAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SingleCall_Closure ) + ( const Ptt__Rr__SingleCall *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SingleCallAck_Closure ) + ( const Ptt__Rr__SingleCallAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QuickDial_Closure ) + ( const Ptt__Rr__QuickDial *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QuickDialAck_Closure ) + ( const Ptt__Rr__QuickDialAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeName_Closure ) + ( const Ptt__Rr__ChangeName *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeNameAck_Closure ) + ( const Ptt__Rr__ChangeNameAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangePassword_Closure ) + ( const Ptt__Rr__ChangePassword *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangePasswordAck_Closure ) + ( const Ptt__Rr__ChangePasswordAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContacts_Closure ) + ( const Ptt__Rr__MakeContacts *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContactsAck_Closure ) + ( const Ptt__Rr__MakeContactsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContactsResponse_Closure ) + ( const Ptt__Rr__MakeContactsResponse *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContactsResponseAck_Closure ) + ( const Ptt__Rr__MakeContactsResponseAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveContacts_Closure ) + ( const Ptt__Rr__RemoveContacts *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveContactsAck_Closure ) + ( const Ptt__Rr__RemoveContactsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReportLocation_Closure ) + ( const Ptt__Rr__ReportLocation *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReportLocationAck_Closure ) + ( const Ptt__Rr__ReportLocationAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Kick_Closure ) + ( const Ptt__Rr__Kick *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__KickAck_Closure ) + ( const Ptt__Rr__KickAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CreateGroup_Closure ) + ( const Ptt__Rr__CreateGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CreateGroupAck_Closure ) + ( const Ptt__Rr__CreateGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DeleteGroup_Closure ) + ( const Ptt__Rr__DeleteGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DeleteGroupAck_Closure ) + ( const Ptt__Rr__DeleteGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ModifyGroup_Closure ) + ( const Ptt__Rr__ModifyGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ModifyGroupAck_Closure ) + ( const Ptt__Rr__ModifyGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__EmpowerMembership_Closure ) + ( const Ptt__Rr__EmpowerMembership *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__EmpowerMembershipAck_Closure ) + ( const Ptt__Rr__EmpowerMembershipAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DepriveMembership_Closure ) + ( const Ptt__Rr__DepriveMembership *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DepriveMembershipAck_Closure ) + ( const Ptt__Rr__DepriveMembershipAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Dispatch_Closure ) + ( const Ptt__Rr__Dispatch *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DispatchAck_Closure ) + ( const Ptt__Rr__DispatchAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ConfigureUser_Closure ) + ( const Ptt__Rr__ConfigureUser *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ConfigureUserAck_Closure ) + ( const Ptt__Rr__ConfigureUserAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__TakeMic_Closure ) + ( const Ptt__Rr__TakeMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__TakeMicAck_Closure ) + ( const Ptt__Rr__TakeMicAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SynchDatabase_Closure ) + ( const Ptt__Rr__SynchDatabase *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SynchDatabaseAck_Closure ) + ( const Ptt__Rr__SynchDatabaseAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__PostWorksheet_Closure ) + ( const Ptt__Rr__PostWorksheet *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__PostWorksheetAck_Closure ) + ( const Ptt__Rr__PostWorksheetAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryServer_Closure ) + ( const Ptt__Rr__QueryServer *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryServerAck_Closure ) + ( const Ptt__Rr__QueryServerAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestConfigure_Closure ) + ( const Ptt__Rr__RequestConfigure *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestConfigureAck_Closure ) + ( const Ptt__Rr__RequestConfigureAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestActivate_Closure ) + ( const Ptt__Rr__RequestActivate *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestActivateAck_Closure ) + ( const Ptt__Rr__RequestActivateAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CustomBroadcast_Closure ) + ( const Ptt__Rr__CustomBroadcast *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CustomBroadcastAck_Closure ) + ( const Ptt__Rr__CustomBroadcastAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeUserRoles_Closure ) + ( const Ptt__Rr__ChangeUserRoles *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeUserRolesAck_Closure ) + ( const Ptt__Rr__ChangeUserRolesAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CurrentTime_Closure ) + ( const Ptt__Rr__CurrentTime *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CurrentTimeAck_Closure ) + ( const Ptt__Rr__CurrentTimeAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__GetWatchGroup_Closure ) + ( const Ptt__Rr__GetWatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__GetWatchGroupAck_Closure ) + ( const Ptt__Rr__GetWatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__AddWatchGroup_Closure ) + ( const Ptt__Rr__AddWatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__AddWatchGroupAck_Closure ) + ( const Ptt__Rr__AddWatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveWatchGroup_Closure ) + ( const Ptt__Rr__RemoveWatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveWatchGroupAck_Closure ) + ( const Ptt__Rr__RemoveWatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroupEx_Closure ) + ( const Ptt__Rr__WatchGroupEx *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroupExAck_Closure ) + ( const Ptt__Rr__WatchGroupExAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Invite_Closure ) + ( const Ptt__Rr__Invite *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__InviteAck_Closure ) + ( const Ptt__Rr__InviteAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ResponseInvite_Closure ) + ( const Ptt__Rr__ResponseInvite *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ResponseInviteAck_Closure ) + ( const Ptt__Rr__ResponseInviteAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Net__HeartBeat_Closure ) + ( const Ptt__Net__HeartBeat *message , + void *closure_data ) ; +typedef void ( *Ptt__Net__Ping_Closure ) + ( const Ptt__Net__Ping *message , + void *closure_data ) ; +typedef void ( *Ptt__Net__Pong_Closure ) + ( const Ptt__Net__Pong *message , + void *closure_data ) ; +typedef void ( *Terminal__Status__TerminalStatusDetail_Closure ) + ( const Terminal__Status__TerminalStatusDetail *message , + void *closure_data ) ; +typedef int SCL_CHECK_UINT32_1 [ 4 -sizeof ( uint32_t ) ] ; +typedef int SCL_CHECK_UINT32_2 [ sizeof ( uint32_t ) -4 ] ; +typedef int ( *SCL_cbfn_t ) ( const char* , long , void* , void* ) ; +typedef uint32_t ( *SCL_mdfn_t ) ( const char* , size_t ) ; +typedef void* ( *SCL_getfn_t ) ( size_t ) ; +typedef int ( *SCL_putfn_t ) ( void* , size_t ) ; +typedef void* SCL_iterator_t ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\context.ppp +//PPL Source File Name : src\\context.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( * pfn_hal_looper_user_free ) ( void* user ) ; +typedef void ( *pfn_looper_event_destroy ) ( hal_looper_event_t* event ) ; +typedef void ( * pfn_hal_looper_event_processer ) ( hal_looper_t* looper , hal_looper_event_t* event , void* user ) ; +typedef void ( * pfn_hal_looper_timer_callback ) ( hal_looper_t* looper , hal_time_t now , void* user ) ; +typedef int ( * pfn_hal_looper_routine ) ( hal_looper_t* looper , void* user ) ; +typedef void ( *pfn_network_notify ) ( void* user , boolean succ ) ; +typedef void ( *pfn_sock_notify ) ( hal_sock_t* sock , void* user , int error ) ; +typedef void ( *pfn_ini_parser ) ( void* user , const char* section , const char* name , const char* value ) ; +typedef void ( *pfn_location_cb ) ( loc_info_t* loc_info , void* user ) ; +typedef void ( *pfn_sound_notify ) ( hal_sound_t* sound , int param , void * user ) ; +typedef void ( *pfn_sound_on_record_stop ) ( hal_sound_t* sound , int param , void * user , const hal_frame_t** frames , size_t count ) ; +typedef void ( *hal_device_alarm_timer_cb_t ) ( void* user ) ; +typedef void ( *oem_notify_cb_t ) ( void* user ) ; +typedef void ( *oem_stream_dB_cb_t ) ( int dB , void* user ) ; +typedef void ( *oem_stream_has_data_cb_t ) ( const void* data , size_t size , void* user ) ; +typedef void ( *oem_tone_cb_t ) ( void* user ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\datatype.ppp +//PPL Source File Name : src\\datatype.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef uint32_t echat_uid_t ; +typedef uint32_t echat_gid_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef int SCL_CHECK_UINT32_1 [ 4 -sizeof ( uint32_t ) ] ; +typedef int SCL_CHECK_UINT32_2 [ sizeof ( uint32_t ) -4 ] ; +typedef int ( *SCL_cbfn_t ) ( const char* , long , void* , void* ) ; +typedef uint32_t ( *SCL_mdfn_t ) ( const char* , size_t ) ; +typedef void* ( *SCL_getfn_t ) ( size_t ) ; +typedef int ( *SCL_putfn_t ) ( void* , size_t ) ; +typedef void* SCL_iterator_t ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\device.ppp +//PPL Source File Name : src\\device.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef void ( *hal_device_alarm_timer_cb_t ) ( void* user ) ; +typedef uint32_t hal_time_t ; +typedef void ( * pfn_hal_looper_user_free ) ( void* user ) ; +typedef void ( *pfn_looper_event_destroy ) ( hal_looper_event_t* event ) ; +typedef void ( * pfn_hal_looper_event_processer ) ( hal_looper_t* looper , hal_looper_event_t* event , void* user ) ; +typedef void ( * pfn_hal_looper_timer_callback ) ( hal_looper_t* looper , hal_time_t now , void* user ) ; +typedef int ( * pfn_hal_looper_routine ) ( hal_looper_t* looper , void* user ) ; +typedef void ( *pfn_ini_parser ) ( void* user , const char* section , const char* name , const char* value ) ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef int SCL_CHECK_UINT32_1 [ 4 -sizeof ( uint32_t ) ] ; +typedef int SCL_CHECK_UINT32_2 [ sizeof ( uint32_t ) -4 ] ; +typedef int ( *SCL_cbfn_t ) ( const char* , long , void* , void* ) ; +typedef uint32_t ( *SCL_mdfn_t ) ( const char* , size_t ) ; +typedef void* ( *SCL_getfn_t ) ( size_t ) ; +typedef int ( *SCL_putfn_t ) ( void* , size_t ) ; +typedef void* SCL_iterator_t ; +typedef void ( *oem_notify_cb_t ) ( void* user ) ; +typedef void ( *oem_stream_dB_cb_t ) ( int dB , void* user ) ; +typedef void ( *oem_stream_has_data_cb_t ) ( const void* data , size_t size , void* user ) ; +typedef void ( *oem_tone_cb_t ) ( void* user ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\dispatcher.ppp +//PPL Source File Name : src\\dispatcher.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( *pfn_location_cb ) ( loc_info_t* loc_info , void* user ) ; +typedef uint32_t echat_uid_t ; +typedef uint32_t echat_gid_t ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( *echat_notify_cb_t ) ( void* user , echat_notify_t* notify ) ; +typedef void ( *echat_notify_param_cb_t ) ( void* user , int param , void * arg ) ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef int protobuf_c_boolean ; +typedef void ( *ProtobufCClosure ) ( const ProtobufCMessage * , void *closure_data ) ; +typedef void ( *ProtobufCMessageInit ) ( const ProtobufCMessageDescriptor* , ProtobufCMessage * ) ; +typedef void ( *ProtobufCServiceDestroy ) ( ProtobufCService * ) ; +typedef void ( *pfn_registerprocess_cb ) ( const ProtobufCMessage* message , void* user ) ; +typedef int SCL_CHECK_UINT32_1 [ 4 -sizeof ( uint32_t ) ] ; +typedef int SCL_CHECK_UINT32_2 [ sizeof ( uint32_t ) -4 ] ; +typedef int ( *SCL_cbfn_t ) ( const char* , long , void* , void* ) ; +typedef uint32_t ( *SCL_mdfn_t ) ( const char* , size_t ) ; +typedef void* ( *SCL_getfn_t ) ( size_t ) ; +typedef int ( *SCL_putfn_t ) ( void* , size_t ) ; +typedef void* SCL_iterator_t ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\dsp.ppp +//PPL Source File Name : src\\dsp.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( * pfn_hal_looper_user_free ) ( void* user ) ; +typedef void ( *pfn_looper_event_destroy ) ( hal_looper_event_t* event ) ; +typedef void ( * pfn_hal_looper_event_processer ) ( hal_looper_t* looper , hal_looper_event_t* event , void* user ) ; +typedef void ( * pfn_hal_looper_timer_callback ) ( hal_looper_t* looper , hal_time_t now , void* user ) ; +typedef int ( * pfn_hal_looper_routine ) ( hal_looper_t* looper , void* user ) ; +typedef void ( *hal_device_alarm_timer_cb_t ) ( void* user ) ; +typedef void ( *pfn_ini_parser ) ( void* user , const char* section , const char* name , const char* value ) ; +typedef void ( *pfn_dsp_on_play_stop ) ( hal_dsp_t* dsp , void* user ) ; +typedef void ( *pfn_dsp_on_record_stop ) ( hal_dsp_t* dsp , void* user , const hal_frame_t** frames , size_t count ) ; +typedef void ( *oem_notify_cb_t ) ( void* user ) ; +typedef void ( *oem_stream_dB_cb_t ) ( int dB , void* user ) ; +typedef void ( *oem_stream_has_data_cb_t ) ( const void* data , size_t size , void* user ) ; +typedef void ( *oem_tone_cb_t ) ( void* user ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\echat.ppp +//PPL Source File Name : src\\echat.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( *pfn_location_cb ) ( loc_info_t* loc_info , void* user ) ; +typedef uint32_t echat_uid_t ; +typedef uint32_t echat_gid_t ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( *echat_notify_cb_t ) ( void* user , echat_notify_t* notify ) ; +typedef void ( *echat_notify_param_cb_t ) ( void* user , int param , void * arg ) ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( * pfn_hal_looper_user_free ) ( void* user ) ; +typedef void ( *pfn_looper_event_destroy ) ( hal_looper_event_t* event ) ; +typedef void ( * pfn_hal_looper_event_processer ) ( hal_looper_t* looper , hal_looper_event_t* event , void* user ) ; +typedef void ( * pfn_hal_looper_timer_callback ) ( hal_looper_t* looper , hal_time_t now , void* user ) ; +typedef int ( * pfn_hal_looper_routine ) ( hal_looper_t* looper , void* user ) ; +typedef int ( *data_recv_cb_t ) ( echat_http_t* http , const char* data , int size , int total , void* user ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\echat_http.ppp +//PPL Source File Name : src\\echat_http.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( *pfn_location_cb ) ( loc_info_t* loc_info , void* user ) ; +typedef uint32_t echat_uid_t ; +typedef uint32_t echat_gid_t ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( *echat_notify_cb_t ) ( void* user , echat_notify_t* notify ) ; +typedef void ( *echat_notify_param_cb_t ) ( void* user , int param , void * arg ) ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef int ( *data_recv_cb_t ) ( echat_http_t* http , const char* data , int size , int total , void* user ) ; +typedef int ( *http_data_cb ) ( http_parser* , const char *at , size_t length ) ; +typedef int ( *http_cb ) ( http_parser* ) ; +typedef void ( *oem_notify_cb_t ) ( void* user ) ; +typedef void ( *oem_stream_dB_cb_t ) ( int dB , void* user ) ; +typedef void ( *oem_stream_has_data_cb_t ) ( const void* data , size_t size , void* user ) ; +typedef void ( *oem_tone_cb_t ) ( void* user ) ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef unsigned int size_t ; +typedef int socket_t ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\echat_imp.ppp +//PPL Source File Name : src\\echat_imp.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef void* hal_mutex_t ; +typedef void ( *pfn_ini_parser ) ( void* user , const char* section , const char* name , const char* value ) ; +typedef uint32_t hal_time_t ; +typedef void ( * pfn_hal_looper_user_free ) ( void* user ) ; +typedef void ( *pfn_looper_event_destroy ) ( hal_looper_event_t* event ) ; +typedef void ( * pfn_hal_looper_event_processer ) ( hal_looper_t* looper , hal_looper_event_t* event , void* user ) ; +typedef void ( * pfn_hal_looper_timer_callback ) ( hal_looper_t* looper , hal_time_t now , void* user ) ; +typedef int ( * pfn_hal_looper_routine ) ( hal_looper_t* looper , void* user ) ; +typedef void ( *pfn_sound_notify ) ( hal_sound_t* sound , int param , void * user ) ; +typedef void ( *pfn_sound_on_record_stop ) ( hal_sound_t* sound , int param , void * user , const hal_frame_t** frames , size_t count ) ; +typedef void ( *hal_device_alarm_timer_cb_t ) ( void* user ) ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef int protobuf_c_boolean ; +typedef void ( *ProtobufCClosure ) ( const ProtobufCMessage * , void *closure_data ) ; +typedef void ( *ProtobufCMessageInit ) ( const ProtobufCMessageDescriptor* , ProtobufCMessage * ) ; +typedef void ( *ProtobufCServiceDestroy ) ( ProtobufCService * ) ; +typedef void ( *Ptt__AgentInfo_Closure ) + ( const Ptt__AgentInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__CompanyInfo_Closure ) + ( const Ptt__CompanyInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__UserInfo_Closure ) + ( const Ptt__UserInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__User_Closure ) + ( const Ptt__User *message , + void *closure_data ) ; +typedef void ( *Ptt__Member_Closure ) + ( const Ptt__Member *message , + void *closure_data ) ; +typedef void ( *Ptt__ChatUser_Closure ) + ( const Ptt__ChatUser *message , + void *closure_data ) ; +typedef void ( *Ptt__Group_Closure ) + ( const Ptt__Group *message , + void *closure_data ) ; +typedef void ( *Ptt__GroupMembers_Closure ) + ( const Ptt__GroupMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__GroupMembers2_Closure ) + ( const Ptt__GroupMembers2 *message , + void *closure_data ) ; +typedef void ( *Ptt__Department_Closure ) + ( const Ptt__Department *message , + void *closure_data ) ; +typedef void ( *Ptt__DepartmentMembers_Closure ) + ( const Ptt__DepartmentMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__Coordinate_Closure ) + ( const Ptt__Coordinate *message , + void *closure_data ) ; +typedef void ( *Ptt__Location_Closure ) + ( const Ptt__Location *message , + void *closure_data ) ; +typedef void ( *Ptt__Configure_Closure ) + ( const Ptt__Configure *message , + void *closure_data ) ; +typedef void ( *Ptt__MediaFile_Closure ) + ( const Ptt__MediaFile *message , + void *closure_data ) ; +typedef void ( *Ptt__Worksheet_Closure ) + ( const Ptt__Worksheet *message , + void *closure_data ) ; +typedef void ( *Ptt__DateTime_Closure ) + ( const Ptt__DateTime *message , + void *closure_data ) ; +typedef void ( *Ptt__SystemInfo_Closure ) + ( const Ptt__SystemInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__MobileCardInfo_Closure ) + ( const Ptt__MobileCardInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__Server_Closure ) + ( const Ptt__Server *message , + void *closure_data ) ; +typedef void ( *Ptt__Version_Closure ) + ( const Ptt__Version *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Login_Closure ) + ( const Ptt__Rr__Login *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LoginAck_Closure ) + ( const Ptt__Rr__LoginAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Logout_Closure ) + ( const Ptt__Rr__Logout *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LogoutAck_Closure ) + ( const Ptt__Rr__LogoutAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryGroup_Closure ) + ( const Ptt__Rr__QueryGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryGroupAck_Closure ) + ( const Ptt__Rr__QueryGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryEnterpriseGroup_Closure ) + ( const Ptt__Rr__QueryEnterpriseGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryEnterpriseGroupAck_Closure ) + ( const Ptt__Rr__QueryEnterpriseGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryMembers_Closure ) + ( const Ptt__Rr__QueryMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryMembersAck_Closure ) + ( const Ptt__Rr__QueryMembersAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryMembersAck2_Closure ) + ( const Ptt__Rr__QueryMembersAck2 *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryContacts_Closure ) + ( const Ptt__Rr__QueryContacts *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryContactsAck_Closure ) + ( const Ptt__Rr__QueryContactsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryUsers_Closure ) + ( const Ptt__Rr__QueryUsers *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryUsersAck_Closure ) + ( const Ptt__Rr__QueryUsersAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartments_Closure ) + ( const Ptt__Rr__QueryDepartments *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentsAck_Closure ) + ( const Ptt__Rr__QueryDepartmentsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentMembers_Closure ) + ( const Ptt__Rr__QueryDepartmentMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentMembersAck_Closure ) + ( const Ptt__Rr__QueryDepartmentMembersAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentTree_Closure ) + ( const Ptt__Rr__QueryDepartmentTree *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentTreeAck_Closure ) + ( const Ptt__Rr__QueryDepartmentTreeAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__JoinGroup_Closure ) + ( const Ptt__Rr__JoinGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__JoinGroupAck_Closure ) + ( const Ptt__Rr__JoinGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroup_Closure ) + ( const Ptt__Rr__WatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroupAck_Closure ) + ( const Ptt__Rr__WatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ByeGroup_Closure ) + ( const Ptt__Rr__ByeGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__IgnoreTalk_Closure ) + ( const Ptt__Rr__IgnoreTalk *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ContinueTalk_Closure ) + ( const Ptt__Rr__ContinueTalk *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Dnd_Closure ) + ( const Ptt__Rr__Dnd *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LeaveGroup_Closure ) + ( const Ptt__Rr__LeaveGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LeaveGroupAck_Closure ) + ( const Ptt__Rr__LeaveGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestMic_Closure ) + ( const Ptt__Rr__RequestMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestMicAck_Closure ) + ( const Ptt__Rr__RequestMicAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReleaseMic_Closure ) + ( const Ptt__Rr__ReleaseMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReleaseMicAck_Closure ) + ( const Ptt__Rr__ReleaseMicAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Call_Closure ) + ( const Ptt__Rr__Call *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CallAck_Closure ) + ( const Ptt__Rr__CallAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SingleCall_Closure ) + ( const Ptt__Rr__SingleCall *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SingleCallAck_Closure ) + ( const Ptt__Rr__SingleCallAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QuickDial_Closure ) + ( const Ptt__Rr__QuickDial *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QuickDialAck_Closure ) + ( const Ptt__Rr__QuickDialAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeName_Closure ) + ( const Ptt__Rr__ChangeName *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeNameAck_Closure ) + ( const Ptt__Rr__ChangeNameAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangePassword_Closure ) + ( const Ptt__Rr__ChangePassword *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangePasswordAck_Closure ) + ( const Ptt__Rr__ChangePasswordAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContacts_Closure ) + ( const Ptt__Rr__MakeContacts *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContactsAck_Closure ) + ( const Ptt__Rr__MakeContactsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContactsResponse_Closure ) + ( const Ptt__Rr__MakeContactsResponse *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContactsResponseAck_Closure ) + ( const Ptt__Rr__MakeContactsResponseAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveContacts_Closure ) + ( const Ptt__Rr__RemoveContacts *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveContactsAck_Closure ) + ( const Ptt__Rr__RemoveContactsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReportLocation_Closure ) + ( const Ptt__Rr__ReportLocation *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReportLocationAck_Closure ) + ( const Ptt__Rr__ReportLocationAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Kick_Closure ) + ( const Ptt__Rr__Kick *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__KickAck_Closure ) + ( const Ptt__Rr__KickAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CreateGroup_Closure ) + ( const Ptt__Rr__CreateGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CreateGroupAck_Closure ) + ( const Ptt__Rr__CreateGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DeleteGroup_Closure ) + ( const Ptt__Rr__DeleteGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DeleteGroupAck_Closure ) + ( const Ptt__Rr__DeleteGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ModifyGroup_Closure ) + ( const Ptt__Rr__ModifyGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ModifyGroupAck_Closure ) + ( const Ptt__Rr__ModifyGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__EmpowerMembership_Closure ) + ( const Ptt__Rr__EmpowerMembership *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__EmpowerMembershipAck_Closure ) + ( const Ptt__Rr__EmpowerMembershipAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DepriveMembership_Closure ) + ( const Ptt__Rr__DepriveMembership *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DepriveMembershipAck_Closure ) + ( const Ptt__Rr__DepriveMembershipAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Dispatch_Closure ) + ( const Ptt__Rr__Dispatch *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DispatchAck_Closure ) + ( const Ptt__Rr__DispatchAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ConfigureUser_Closure ) + ( const Ptt__Rr__ConfigureUser *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ConfigureUserAck_Closure ) + ( const Ptt__Rr__ConfigureUserAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__TakeMic_Closure ) + ( const Ptt__Rr__TakeMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__TakeMicAck_Closure ) + ( const Ptt__Rr__TakeMicAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SynchDatabase_Closure ) + ( const Ptt__Rr__SynchDatabase *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SynchDatabaseAck_Closure ) + ( const Ptt__Rr__SynchDatabaseAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__PostWorksheet_Closure ) + ( const Ptt__Rr__PostWorksheet *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__PostWorksheetAck_Closure ) + ( const Ptt__Rr__PostWorksheetAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryServer_Closure ) + ( const Ptt__Rr__QueryServer *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryServerAck_Closure ) + ( const Ptt__Rr__QueryServerAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestConfigure_Closure ) + ( const Ptt__Rr__RequestConfigure *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestConfigureAck_Closure ) + ( const Ptt__Rr__RequestConfigureAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestActivate_Closure ) + ( const Ptt__Rr__RequestActivate *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestActivateAck_Closure ) + ( const Ptt__Rr__RequestActivateAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CustomBroadcast_Closure ) + ( const Ptt__Rr__CustomBroadcast *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CustomBroadcastAck_Closure ) + ( const Ptt__Rr__CustomBroadcastAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeUserRoles_Closure ) + ( const Ptt__Rr__ChangeUserRoles *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeUserRolesAck_Closure ) + ( const Ptt__Rr__ChangeUserRolesAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CurrentTime_Closure ) + ( const Ptt__Rr__CurrentTime *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CurrentTimeAck_Closure ) + ( const Ptt__Rr__CurrentTimeAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__GetWatchGroup_Closure ) + ( const Ptt__Rr__GetWatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__GetWatchGroupAck_Closure ) + ( const Ptt__Rr__GetWatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__AddWatchGroup_Closure ) + ( const Ptt__Rr__AddWatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__AddWatchGroupAck_Closure ) + ( const Ptt__Rr__AddWatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveWatchGroup_Closure ) + ( const Ptt__Rr__RemoveWatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveWatchGroupAck_Closure ) + ( const Ptt__Rr__RemoveWatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroupEx_Closure ) + ( const Ptt__Rr__WatchGroupEx *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroupExAck_Closure ) + ( const Ptt__Rr__WatchGroupExAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Invite_Closure ) + ( const Ptt__Rr__Invite *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__InviteAck_Closure ) + ( const Ptt__Rr__InviteAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ResponseInvite_Closure ) + ( const Ptt__Rr__ResponseInvite *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ResponseInviteAck_Closure ) + ( const Ptt__Rr__ResponseInviteAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Serv__TxtBroadcast_Closure ) + ( const Ptt__Serv__TxtBroadcast *message , + void *closure_data ) ; +typedef void ( *Ptt__Serv__MobileStandard_Closure ) + ( const Ptt__Serv__MobileStandard *message , + void *closure_data ) ; +typedef void ( *Ptt__Serv__DispatchReconnection_Closure ) + ( const Ptt__Serv__DispatchReconnection *message , + void *closure_data ) ; +typedef void ( *Ptt__Serv__Configuration_Closure ) + ( const Ptt__Serv__Configuration *message , + void *closure_data ) ; +typedef void ( *Ptt__Serv__MultimediaMessage_Closure ) + ( const Ptt__Serv__MultimediaMessage *message , + void *closure_data ) ; +typedef void ( *Ptt__Serv__ExternalServMsg_Closure ) + ( const Ptt__Serv__ExternalServMsg *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__Reconfigured_Closure ) + ( const Ptt__Push__Reconfigured *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__UsersChanged_Closure ) + ( const Ptt__Push__UsersChanged *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__GroupListChanged_Closure ) + ( const Ptt__Push__GroupListChanged *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__MembersChanged__MemberChanged_Closure ) + ( const Ptt__Push__MembersChanged__MemberChanged *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__MembersChanged_Closure ) + ( const Ptt__Push__MembersChanged *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__ContactshipAsked__Request_Closure ) + ( const Ptt__Push__ContactshipAsked__Request *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__ContactshipAsked_Closure ) + ( const Ptt__Push__ContactshipAsked *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__ContactsChanged_Closure ) + ( const Ptt__Push__ContactsChanged *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__MemberGetMic_Closure ) + ( const Ptt__Push__MemberGetMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__MemberLostMic_Closure ) + ( const Ptt__Push__MemberLostMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__LostMic_Closure ) + ( const Ptt__Push__LostMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__CurrentGroup_Closure ) + ( const Ptt__Push__CurrentGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__Kickout_Closure ) + ( const Ptt__Push__Kickout *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__NewWorksheet_Closure ) + ( const Ptt__Push__NewWorksheet *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__CustomBroadcast_Closure ) + ( const Ptt__Push__CustomBroadcast *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__ChangeRoles_Closure ) + ( const Ptt__Push__ChangeRoles *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__Invite_Closure ) + ( const Ptt__Push__Invite *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__ResponseInvite_Closure ) + ( const Ptt__Push__ResponseInvite *message , + void *closure_data ) ; +typedef void ( *pfn_location_cb ) ( loc_info_t* loc_info , void* user ) ; +typedef uint32_t echat_uid_t ; +typedef uint32_t echat_gid_t ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( *echat_notify_cb_t ) ( void* user , echat_notify_t* notify ) ; +typedef void ( *echat_notify_param_cb_t ) ( void* user , int param , void * arg ) ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef int SCL_CHECK_UINT32_1 [ 4 -sizeof ( uint32_t ) ] ; +typedef int SCL_CHECK_UINT32_2 [ sizeof ( uint32_t ) -4 ] ; +typedef int ( *SCL_cbfn_t ) ( const char* , long , void* , void* ) ; +typedef uint32_t ( *SCL_mdfn_t ) ( const char* , size_t ) ; +typedef void* ( *SCL_getfn_t ) ( size_t ) ; +typedef int ( *SCL_putfn_t ) ( void* , size_t ) ; +typedef void* SCL_iterator_t ; +typedef void ( *pfn_connection_notify ) ( connection_t* connection , CONNECTION_STATUS status , void* user ) ; +typedef void ( *pfn_connection_on_recv_msg_timeout ) ( connection_t* connection , const char* message_name , void* user ) ; +typedef void ( *pfn_registerprocess_cb ) ( const ProtobufCMessage* message , void* user ) ; +typedef void ( *pfn_network_notify ) ( void* user , boolean succ ) ; +typedef void ( *pfn_sock_notify ) ( hal_sock_t* sock , void* user , int error ) ; +typedef void ( *pfn_focus_notify ) ( focus_manager_t* fm , void* requestor , boolean focus ) ; +typedef int ( *data_recv_cb_t ) ( echat_http_t* http , const char* data , int size , int total , void* user ) ; +typedef void VO_VOID ; +typedef unsigned char VO_U8 ; +typedef unsigned char VO_BYTE ; +typedef signed char VO_S8 ; +typedef char VO_CHAR ; +typedef unsigned short VO_U16 ; +typedef signed short VO_S16 ; +typedef unsigned long VO_U32 ; +typedef signed long VO_S32 ; +typedef unsigned long long VO_U64 ; +typedef signed long long VO_S64 ; +typedef void* VO_PTR ; +typedef const void* VO_CPTR ; +typedef void* VO_HANDLE ; +typedef char* VO_PCHAR ; +typedef unsigned char* VO_PBYTE ; +typedef char* VO_PTTCHAR ; +typedef char VO_TTCHAR ; +typedef int ( * VOThreadCreate ) ( void ** pHandle , int * pID , void * fProc , void * pParam ) ; +typedef int ( * VOLOG_PRINT ) ( void * pUserData , int nLevel , char * pLogText ) ; +typedef VO_S32 ( * VOAUDIOCALLBACKPROC ) ( VO_PTR pUserData , VO_CODECBUFFER * pAudioBuffer , VO_AUDIO_FORMAT * pAudioFormat , VO_S32 nStart ) ; +typedef unsigned int size_t ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\file.ppp +//PPL Source File Name : src\\file.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( *oem_notify_cb_t ) ( void* user ) ; +typedef void ( *oem_stream_dB_cb_t ) ( int dB , void* user ) ; +typedef void ( *oem_stream_has_data_cb_t ) ( const void* data , size_t size , void* user ) ; +typedef void ( *oem_tone_cb_t ) ( void* user ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\focus_manager.ppp +//PPL Source File Name : src\\focus_manager.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef void ( *pfn_focus_notify ) ( focus_manager_t* fm , void* requestor , boolean focus ) ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef int SCL_CHECK_UINT32_1 [ 4 -sizeof ( uint32_t ) ] ; +typedef int SCL_CHECK_UINT32_2 [ sizeof ( uint32_t ) -4 ] ; +typedef int ( *SCL_cbfn_t ) ( const char* , long , void* , void* ) ; +typedef uint32_t ( *SCL_mdfn_t ) ( const char* , size_t ) ; +typedef void* ( *SCL_getfn_t ) ( size_t ) ; +typedef int ( *SCL_putfn_t ) ( void* , size_t ) ; +typedef void* SCL_iterator_t ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\hash.ppp +//PPL Source File Name : src\\hash.c +typedef unsigned int size_t ; +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef int SCL_CHECK_UINT32_1 [ 4 -sizeof ( uint32_t ) ] ; +typedef int SCL_CHECK_UINT32_2 [ sizeof ( uint32_t ) -4 ] ; +typedef int ( *SCL_cbfn_t ) ( const char* , long , void* , void* ) ; +typedef uint32_t ( *SCL_mdfn_t ) ( const char* , size_t ) ; +typedef void* ( *SCL_getfn_t ) ( size_t ) ; +typedef int ( *SCL_putfn_t ) ( void* , size_t ) ; +typedef void* SCL_iterator_t ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\http_parser.ppp +//PPL Source File Name : src\\http_parser.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int ( *http_data_cb ) ( http_parser* , const char *at , size_t length ) ; +typedef int ( *http_cb ) ( http_parser* ) ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\http_reminder.ppp +//PPL Source File Name : src\\http_reminder.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef uint32_t echat_uid_t ; +typedef uint32_t echat_gid_t ; +typedef void ( *pfn_location_cb ) ( loc_info_t* loc_info , void* user ) ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( *echat_notify_cb_t ) ( void* user , echat_notify_t* notify ) ; +typedef void ( *echat_notify_param_cb_t ) ( void* user , int param , void * arg ) ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\http_scheme.ppp +//PPL Source File Name : src\\http_scheme.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef uint32_t echat_uid_t ; +typedef uint32_t echat_gid_t ; +typedef void ( *pfn_location_cb ) ( loc_info_t* loc_info , void* user ) ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( *echat_notify_cb_t ) ( void* user , echat_notify_t* notify ) ; +typedef void ( *echat_notify_param_cb_t ) ( void* user , int param , void * arg ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\http_sos.ppp +//PPL Source File Name : src\\http_sos.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef uint32_t echat_uid_t ; +typedef uint32_t echat_gid_t ; +typedef void ( *pfn_location_cb ) ( loc_info_t* loc_info , void* user ) ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( *echat_notify_cb_t ) ( void* user , echat_notify_t* notify ) ; +typedef void ( *echat_notify_param_cb_t ) ( void* user , int param , void * arg ) ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef int ( *data_recv_cb_t ) ( echat_http_t* http , const char* data , int size , int total , void* user ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\http_update.ppp +//PPL Source File Name : src\\http_update.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef uint32_t echat_uid_t ; +typedef uint32_t echat_gid_t ; +typedef void ( *pfn_location_cb ) ( loc_info_t* loc_info , void* user ) ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( *echat_notify_cb_t ) ( void* user , echat_notify_t* notify ) ; +typedef void ( *echat_notify_param_cb_t ) ( void* user , int param , void * arg ) ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef void ( * pfn_hal_looper_user_free ) ( void* user ) ; +typedef void ( *pfn_looper_event_destroy ) ( hal_looper_event_t* event ) ; +typedef void ( * pfn_hal_looper_event_processer ) ( hal_looper_t* looper , hal_looper_event_t* event , void* user ) ; +typedef void ( * pfn_hal_looper_timer_callback ) ( hal_looper_t* looper , hal_time_t now , void* user ) ; +typedef int ( * pfn_hal_looper_routine ) ( hal_looper_t* looper , void* user ) ; +typedef void ( *pfn_network_notify ) ( void* user , boolean succ ) ; +typedef void ( *pfn_sock_notify ) ( hal_sock_t* sock , void* user , int error ) ; +typedef void* hal_mutex_t ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef int ( *data_recv_cb_t ) ( echat_http_t* http , const char* data , int size , int total , void* user ) ; +typedef void ( *hal_device_alarm_timer_cb_t ) ( void* user ) ; +typedef void ( *pfn_ini_parser ) ( void* user , const char* section , const char* name , const char* value ) ; +typedef int oem_socket_t ; +typedef void * oem_thread_id_t ; +typedef void* ( *oem_thread_function_t ) ( void* arg ) ; +typedef void* oem_semaphore_t ; +typedef void* oem_mutex_t ; +typedef void ( *oem_notify_cb_t ) ( void* user ) ; +typedef void ( *oem_stream_dB_cb_t ) ( int dB , void* user ) ; +typedef void ( *oem_stream_has_data_cb_t ) ( const void* data , size_t size , void* user ) ; +typedef void ( *oem_tone_cb_t ) ( void* user ) ; +typedef char* SSLCertPathPtr ; +typedef char* SSLCipherListPtr ; +typedef void ( *qlFotaProgressCB_t ) ( qlFotaSta sta , int progress ) ; +typedef void* qlFotaImgProcCtxPtr ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\http_upload.ppp +//PPL Source File Name : src\\http_upload.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef uint32_t echat_uid_t ; +typedef uint32_t echat_gid_t ; +typedef void ( *pfn_location_cb ) ( loc_info_t* loc_info , void* user ) ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( *echat_notify_cb_t ) ( void* user , echat_notify_t* notify ) ; +typedef void ( *echat_notify_param_cb_t ) ( void* user , int param , void * arg ) ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef int ( *data_recv_cb_t ) ( echat_http_t* http , const char* data , int size , int total , void* user ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\info_collect.ppp +//PPL Source File Name : src\\info_collect.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( *pfn_location_cb ) ( loc_info_t* loc_info , void* user ) ; +typedef uint32_t echat_uid_t ; +typedef uint32_t echat_gid_t ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( *echat_notify_cb_t ) ( void* user , echat_notify_t* notify ) ; +typedef void ( *echat_notify_param_cb_t ) ( void* user , int param , void * arg ) ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( *pfn_ini_parser ) ( void* user , const char* section , const char* name , const char* value ) ; +typedef void ( *pfn_network_notify ) ( void* user , boolean succ ) ; +typedef void ( *pfn_sock_notify ) ( hal_sock_t* sock , void* user , int error ) ; +typedef void ( * pfn_hal_looper_user_free ) ( void* user ) ; +typedef void ( *pfn_looper_event_destroy ) ( hal_looper_event_t* event ) ; +typedef void ( * pfn_hal_looper_event_processer ) ( hal_looper_t* looper , hal_looper_event_t* event , void* user ) ; +typedef void ( * pfn_hal_looper_timer_callback ) ( hal_looper_t* looper , hal_time_t now , void* user ) ; +typedef int ( * pfn_hal_looper_routine ) ( hal_looper_t* looper , void* user ) ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef int protobuf_c_boolean ; +typedef void ( *ProtobufCClosure ) ( const ProtobufCMessage * , void *closure_data ) ; +typedef void ( *ProtobufCMessageInit ) ( const ProtobufCMessageDescriptor* , ProtobufCMessage * ) ; +typedef void ( *ProtobufCServiceDestroy ) ( ProtobufCService * ) ; +typedef int SCL_CHECK_UINT32_1 [ 4 -sizeof ( uint32_t ) ] ; +typedef int SCL_CHECK_UINT32_2 [ sizeof ( uint32_t ) -4 ] ; +typedef int ( *SCL_cbfn_t ) ( const char* , long , void* , void* ) ; +typedef uint32_t ( *SCL_mdfn_t ) ( const char* , size_t ) ; +typedef void* ( *SCL_getfn_t ) ( size_t ) ; +typedef int ( *SCL_putfn_t ) ( void* , size_t ) ; +typedef void* SCL_iterator_t ; +typedef void ( *hal_device_alarm_timer_cb_t ) ( void* user ) ; +typedef void ( *Ptt__AgentInfo_Closure ) + ( const Ptt__AgentInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__CompanyInfo_Closure ) + ( const Ptt__CompanyInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__UserInfo_Closure ) + ( const Ptt__UserInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__User_Closure ) + ( const Ptt__User *message , + void *closure_data ) ; +typedef void ( *Ptt__Member_Closure ) + ( const Ptt__Member *message , + void *closure_data ) ; +typedef void ( *Ptt__ChatUser_Closure ) + ( const Ptt__ChatUser *message , + void *closure_data ) ; +typedef void ( *Ptt__Group_Closure ) + ( const Ptt__Group *message , + void *closure_data ) ; +typedef void ( *Ptt__GroupMembers_Closure ) + ( const Ptt__GroupMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__GroupMembers2_Closure ) + ( const Ptt__GroupMembers2 *message , + void *closure_data ) ; +typedef void ( *Ptt__Department_Closure ) + ( const Ptt__Department *message , + void *closure_data ) ; +typedef void ( *Ptt__DepartmentMembers_Closure ) + ( const Ptt__DepartmentMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__Coordinate_Closure ) + ( const Ptt__Coordinate *message , + void *closure_data ) ; +typedef void ( *Ptt__Location_Closure ) + ( const Ptt__Location *message , + void *closure_data ) ; +typedef void ( *Ptt__Configure_Closure ) + ( const Ptt__Configure *message , + void *closure_data ) ; +typedef void ( *Ptt__MediaFile_Closure ) + ( const Ptt__MediaFile *message , + void *closure_data ) ; +typedef void ( *Ptt__Worksheet_Closure ) + ( const Ptt__Worksheet *message , + void *closure_data ) ; +typedef void ( *Ptt__DateTime_Closure ) + ( const Ptt__DateTime *message , + void *closure_data ) ; +typedef void ( *Ptt__SystemInfo_Closure ) + ( const Ptt__SystemInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__MobileCardInfo_Closure ) + ( const Ptt__MobileCardInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__Server_Closure ) + ( const Ptt__Server *message , + void *closure_data ) ; +typedef void ( *Ptt__Version_Closure ) + ( const Ptt__Version *message , + void *closure_data ) ; +typedef void ( *Ptt__Collect__User_Closure ) + ( const Ptt__Collect__User *message , + void *closure_data ) ; +typedef void ( *Ptt__Collect__Server_Closure ) + ( const Ptt__Collect__Server *message , + void *closure_data ) ; +typedef void ( *Ptt__Collect__Terminal_Closure ) + ( const Ptt__Collect__Terminal *message , + void *closure_data ) ; +typedef void ( *Ptt__Collect__NetWork_Closure ) + ( const Ptt__Collect__NetWork *message , + void *closure_data ) ; +typedef void ( *Ptt__Collect__NetDelay_Closure ) + ( const Ptt__Collect__NetDelay *message , + void *closure_data ) ; +typedef void ( *Ptt__Collect__GpsCnoInfo_Closure ) + ( const Ptt__Collect__GpsCnoInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__Collect__BaseInfo_Closure ) + ( const Ptt__Collect__BaseInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__Collect__Disconnect_Closure ) + ( const Ptt__Collect__Disconnect *message , + void *closure_data ) ; +typedef void ( *Ptt__Collect__Reconnect_Closure ) + ( const Ptt__Collect__Reconnect *message , + void *closure_data ) ; +typedef void ( *Ptt__Collect__NetStat_Closure ) + ( const Ptt__Collect__NetStat *message , + void *closure_data ) ; +typedef void ( *Ptt__Collect__Speaker_Closure ) + ( const Ptt__Collect__Speaker *message , + void *closure_data ) ; +typedef void ( *Ptt__Collect__Listener_Closure ) + ( const Ptt__Collect__Listener *message , + void *closure_data ) ; +typedef void ( *Ptt__Collect__SessionStat_Closure ) + ( const Ptt__Collect__SessionStat *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Login_Closure ) + ( const Ptt__Rr__Login *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LoginAck_Closure ) + ( const Ptt__Rr__LoginAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Logout_Closure ) + ( const Ptt__Rr__Logout *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LogoutAck_Closure ) + ( const Ptt__Rr__LogoutAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryGroup_Closure ) + ( const Ptt__Rr__QueryGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryGroupAck_Closure ) + ( const Ptt__Rr__QueryGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryEnterpriseGroup_Closure ) + ( const Ptt__Rr__QueryEnterpriseGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryEnterpriseGroupAck_Closure ) + ( const Ptt__Rr__QueryEnterpriseGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryMembers_Closure ) + ( const Ptt__Rr__QueryMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryMembersAck_Closure ) + ( const Ptt__Rr__QueryMembersAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryMembersAck2_Closure ) + ( const Ptt__Rr__QueryMembersAck2 *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryContacts_Closure ) + ( const Ptt__Rr__QueryContacts *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryContactsAck_Closure ) + ( const Ptt__Rr__QueryContactsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryUsers_Closure ) + ( const Ptt__Rr__QueryUsers *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryUsersAck_Closure ) + ( const Ptt__Rr__QueryUsersAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartments_Closure ) + ( const Ptt__Rr__QueryDepartments *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentsAck_Closure ) + ( const Ptt__Rr__QueryDepartmentsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentMembers_Closure ) + ( const Ptt__Rr__QueryDepartmentMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentMembersAck_Closure ) + ( const Ptt__Rr__QueryDepartmentMembersAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentTree_Closure ) + ( const Ptt__Rr__QueryDepartmentTree *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentTreeAck_Closure ) + ( const Ptt__Rr__QueryDepartmentTreeAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__JoinGroup_Closure ) + ( const Ptt__Rr__JoinGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__JoinGroupAck_Closure ) + ( const Ptt__Rr__JoinGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroup_Closure ) + ( const Ptt__Rr__WatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroupAck_Closure ) + ( const Ptt__Rr__WatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ByeGroup_Closure ) + ( const Ptt__Rr__ByeGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__IgnoreTalk_Closure ) + ( const Ptt__Rr__IgnoreTalk *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ContinueTalk_Closure ) + ( const Ptt__Rr__ContinueTalk *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Dnd_Closure ) + ( const Ptt__Rr__Dnd *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LeaveGroup_Closure ) + ( const Ptt__Rr__LeaveGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LeaveGroupAck_Closure ) + ( const Ptt__Rr__LeaveGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestMic_Closure ) + ( const Ptt__Rr__RequestMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestMicAck_Closure ) + ( const Ptt__Rr__RequestMicAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReleaseMic_Closure ) + ( const Ptt__Rr__ReleaseMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReleaseMicAck_Closure ) + ( const Ptt__Rr__ReleaseMicAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Call_Closure ) + ( const Ptt__Rr__Call *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CallAck_Closure ) + ( const Ptt__Rr__CallAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SingleCall_Closure ) + ( const Ptt__Rr__SingleCall *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SingleCallAck_Closure ) + ( const Ptt__Rr__SingleCallAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QuickDial_Closure ) + ( const Ptt__Rr__QuickDial *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QuickDialAck_Closure ) + ( const Ptt__Rr__QuickDialAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeName_Closure ) + ( const Ptt__Rr__ChangeName *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeNameAck_Closure ) + ( const Ptt__Rr__ChangeNameAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangePassword_Closure ) + ( const Ptt__Rr__ChangePassword *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangePasswordAck_Closure ) + ( const Ptt__Rr__ChangePasswordAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContacts_Closure ) + ( const Ptt__Rr__MakeContacts *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContactsAck_Closure ) + ( const Ptt__Rr__MakeContactsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContactsResponse_Closure ) + ( const Ptt__Rr__MakeContactsResponse *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContactsResponseAck_Closure ) + ( const Ptt__Rr__MakeContactsResponseAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveContacts_Closure ) + ( const Ptt__Rr__RemoveContacts *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveContactsAck_Closure ) + ( const Ptt__Rr__RemoveContactsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReportLocation_Closure ) + ( const Ptt__Rr__ReportLocation *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReportLocationAck_Closure ) + ( const Ptt__Rr__ReportLocationAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Kick_Closure ) + ( const Ptt__Rr__Kick *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__KickAck_Closure ) + ( const Ptt__Rr__KickAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CreateGroup_Closure ) + ( const Ptt__Rr__CreateGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CreateGroupAck_Closure ) + ( const Ptt__Rr__CreateGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DeleteGroup_Closure ) + ( const Ptt__Rr__DeleteGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DeleteGroupAck_Closure ) + ( const Ptt__Rr__DeleteGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ModifyGroup_Closure ) + ( const Ptt__Rr__ModifyGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ModifyGroupAck_Closure ) + ( const Ptt__Rr__ModifyGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__EmpowerMembership_Closure ) + ( const Ptt__Rr__EmpowerMembership *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__EmpowerMembershipAck_Closure ) + ( const Ptt__Rr__EmpowerMembershipAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DepriveMembership_Closure ) + ( const Ptt__Rr__DepriveMembership *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DepriveMembershipAck_Closure ) + ( const Ptt__Rr__DepriveMembershipAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Dispatch_Closure ) + ( const Ptt__Rr__Dispatch *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DispatchAck_Closure ) + ( const Ptt__Rr__DispatchAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ConfigureUser_Closure ) + ( const Ptt__Rr__ConfigureUser *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ConfigureUserAck_Closure ) + ( const Ptt__Rr__ConfigureUserAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__TakeMic_Closure ) + ( const Ptt__Rr__TakeMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__TakeMicAck_Closure ) + ( const Ptt__Rr__TakeMicAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SynchDatabase_Closure ) + ( const Ptt__Rr__SynchDatabase *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SynchDatabaseAck_Closure ) + ( const Ptt__Rr__SynchDatabaseAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__PostWorksheet_Closure ) + ( const Ptt__Rr__PostWorksheet *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__PostWorksheetAck_Closure ) + ( const Ptt__Rr__PostWorksheetAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryServer_Closure ) + ( const Ptt__Rr__QueryServer *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryServerAck_Closure ) + ( const Ptt__Rr__QueryServerAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestConfigure_Closure ) + ( const Ptt__Rr__RequestConfigure *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestConfigureAck_Closure ) + ( const Ptt__Rr__RequestConfigureAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestActivate_Closure ) + ( const Ptt__Rr__RequestActivate *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestActivateAck_Closure ) + ( const Ptt__Rr__RequestActivateAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CustomBroadcast_Closure ) + ( const Ptt__Rr__CustomBroadcast *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CustomBroadcastAck_Closure ) + ( const Ptt__Rr__CustomBroadcastAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeUserRoles_Closure ) + ( const Ptt__Rr__ChangeUserRoles *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeUserRolesAck_Closure ) + ( const Ptt__Rr__ChangeUserRolesAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CurrentTime_Closure ) + ( const Ptt__Rr__CurrentTime *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CurrentTimeAck_Closure ) + ( const Ptt__Rr__CurrentTimeAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__GetWatchGroup_Closure ) + ( const Ptt__Rr__GetWatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__GetWatchGroupAck_Closure ) + ( const Ptt__Rr__GetWatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__AddWatchGroup_Closure ) + ( const Ptt__Rr__AddWatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__AddWatchGroupAck_Closure ) + ( const Ptt__Rr__AddWatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveWatchGroup_Closure ) + ( const Ptt__Rr__RemoveWatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveWatchGroupAck_Closure ) + ( const Ptt__Rr__RemoveWatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroupEx_Closure ) + ( const Ptt__Rr__WatchGroupEx *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroupExAck_Closure ) + ( const Ptt__Rr__WatchGroupExAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Invite_Closure ) + ( const Ptt__Rr__Invite *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__InviteAck_Closure ) + ( const Ptt__Rr__InviteAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ResponseInvite_Closure ) + ( const Ptt__Rr__ResponseInvite *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ResponseInviteAck_Closure ) + ( const Ptt__Rr__ResponseInviteAck *message , + void *closure_data ) ; +typedef void* hal_mutex_t ; +typedef int oem_socket_t ; +typedef void * oem_thread_id_t ; +typedef void* ( *oem_thread_function_t ) ( void* arg ) ; +typedef void* oem_semaphore_t ; +typedef void* oem_mutex_t ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\ini.ppp +//PPL Source File Name : src\\ini.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef void* hal_mutex_t ; +typedef void ( *pfn_ini_parser ) ( void* user , const char* section , const char* name , const char* value ) ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef int SCL_CHECK_UINT32_1 [ 4 -sizeof ( uint32_t ) ] ; +typedef int SCL_CHECK_UINT32_2 [ sizeof ( uint32_t ) -4 ] ; +typedef int ( *SCL_cbfn_t ) ( const char* , long , void* , void* ) ; +typedef uint32_t ( *SCL_mdfn_t ) ( const char* , size_t ) ; +typedef void* ( *SCL_getfn_t ) ( size_t ) ; +typedef int ( *SCL_putfn_t ) ( void* , size_t ) ; +typedef void* SCL_iterator_t ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\ini_d.ppp +//PPL Source File Name : src\\ini_d.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\libscl-adapter.ppp +//PPL Source File Name : src\\libscl-adapter.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef va_list __gnuc_va_list ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef int protobuf_c_boolean ; +typedef void ( *ProtobufCClosure ) ( const ProtobufCMessage * , void *closure_data ) ; +typedef void ( *ProtobufCMessageInit ) ( const ProtobufCMessageDescriptor* , ProtobufCMessage * ) ; +typedef void ( *ProtobufCServiceDestroy ) ( ProtobufCService * ) ; +typedef int SCL_CHECK_UINT32_1 [ 4 -sizeof ( uint32_t ) ] ; +typedef int SCL_CHECK_UINT32_2 [ sizeof ( uint32_t ) -4 ] ; +typedef int ( *SCL_cbfn_t ) ( const char* , long , void* , void* ) ; +typedef uint32_t ( *SCL_mdfn_t ) ( const char* , size_t ) ; +typedef void* ( *SCL_getfn_t ) ( size_t ) ; +typedef int ( *SCL_putfn_t ) ( void* , size_t ) ; +typedef void* SCL_iterator_t ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\list.ppp +//PPL Source File Name : src\\list.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef int SCL_CHECK_UINT32_1 [ 4 -sizeof ( uint32_t ) ] ; +typedef int SCL_CHECK_UINT32_2 [ sizeof ( uint32_t ) -4 ] ; +typedef int ( *SCL_cbfn_t ) ( const char* , long , void* , void* ) ; +typedef uint32_t ( *SCL_mdfn_t ) ( const char* , size_t ) ; +typedef void* ( *SCL_getfn_t ) ( size_t ) ; +typedef int ( *SCL_putfn_t ) ( void* , size_t ) ; +typedef void* SCL_iterator_t ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\location.ppp +//PPL Source File Name : src\\location.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( *pfn_location_cb ) ( loc_info_t* loc_info , void* user ) ; +typedef void ( * pfn_hal_looper_user_free ) ( void* user ) ; +typedef void ( *pfn_looper_event_destroy ) ( hal_looper_event_t* event ) ; +typedef void ( * pfn_hal_looper_event_processer ) ( hal_looper_t* looper , hal_looper_event_t* event , void* user ) ; +typedef void ( * pfn_hal_looper_timer_callback ) ( hal_looper_t* looper , hal_time_t now , void* user ) ; +typedef int ( * pfn_hal_looper_routine ) ( hal_looper_t* looper , void* user ) ; +typedef void ( *oem_notify_cb_t ) ( void* user ) ; +typedef void ( *oem_stream_dB_cb_t ) ( int dB , void* user ) ; +typedef void ( *oem_stream_has_data_cb_t ) ( const void* data , size_t size , void* user ) ; +typedef void ( *oem_tone_cb_t ) ( void* user ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\locator.ppp +//PPL Source File Name : src\\locator.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef uint32_t echat_uid_t ; +typedef uint32_t echat_gid_t ; +typedef void ( *pfn_location_cb ) ( loc_info_t* loc_info , void* user ) ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( *echat_notify_cb_t ) ( void* user , echat_notify_t* notify ) ; +typedef void ( *echat_notify_param_cb_t ) ( void* user , int param , void * arg ) ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( *pfn_network_notify ) ( void* user , boolean succ ) ; +typedef void ( *pfn_sock_notify ) ( hal_sock_t* sock , void* user , int error ) ; +typedef void ( *pfn_sound_notify ) ( hal_sound_t* sound , int param , void * user ) ; +typedef void ( *pfn_sound_on_record_stop ) ( hal_sound_t* sound , int param , void * user , const hal_frame_t** frames , size_t count ) ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef int protobuf_c_boolean ; +typedef void ( *ProtobufCClosure ) ( const ProtobufCMessage * , void *closure_data ) ; +typedef void ( *ProtobufCMessageInit ) ( const ProtobufCMessageDescriptor* , ProtobufCMessage * ) ; +typedef void ( *ProtobufCServiceDestroy ) ( ProtobufCService * ) ; +typedef void ( *pfn_connection_notify ) ( connection_t* connection , CONNECTION_STATUS status , void* user ) ; +typedef void ( *pfn_connection_on_recv_msg_timeout ) ( connection_t* connection , const char* message_name , void* user ) ; +typedef void ( *pfn_registerprocess_cb ) ( const ProtobufCMessage* message , void* user ) ; +typedef int SCL_CHECK_UINT32_1 [ 4 -sizeof ( uint32_t ) ] ; +typedef int SCL_CHECK_UINT32_2 [ sizeof ( uint32_t ) -4 ] ; +typedef int ( *SCL_cbfn_t ) ( const char* , long , void* , void* ) ; +typedef uint32_t ( *SCL_mdfn_t ) ( const char* , size_t ) ; +typedef void* ( *SCL_getfn_t ) ( size_t ) ; +typedef int ( *SCL_putfn_t ) ( void* , size_t ) ; +typedef void* SCL_iterator_t ; +typedef void ( *Ptt__AgentInfo_Closure ) + ( const Ptt__AgentInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__CompanyInfo_Closure ) + ( const Ptt__CompanyInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__UserInfo_Closure ) + ( const Ptt__UserInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__User_Closure ) + ( const Ptt__User *message , + void *closure_data ) ; +typedef void ( *Ptt__Member_Closure ) + ( const Ptt__Member *message , + void *closure_data ) ; +typedef void ( *Ptt__ChatUser_Closure ) + ( const Ptt__ChatUser *message , + void *closure_data ) ; +typedef void ( *Ptt__Group_Closure ) + ( const Ptt__Group *message , + void *closure_data ) ; +typedef void ( *Ptt__GroupMembers_Closure ) + ( const Ptt__GroupMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__GroupMembers2_Closure ) + ( const Ptt__GroupMembers2 *message , + void *closure_data ) ; +typedef void ( *Ptt__Department_Closure ) + ( const Ptt__Department *message , + void *closure_data ) ; +typedef void ( *Ptt__DepartmentMembers_Closure ) + ( const Ptt__DepartmentMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__Coordinate_Closure ) + ( const Ptt__Coordinate *message , + void *closure_data ) ; +typedef void ( *Ptt__Location_Closure ) + ( const Ptt__Location *message , + void *closure_data ) ; +typedef void ( *Ptt__Configure_Closure ) + ( const Ptt__Configure *message , + void *closure_data ) ; +typedef void ( *Ptt__MediaFile_Closure ) + ( const Ptt__MediaFile *message , + void *closure_data ) ; +typedef void ( *Ptt__Worksheet_Closure ) + ( const Ptt__Worksheet *message , + void *closure_data ) ; +typedef void ( *Ptt__DateTime_Closure ) + ( const Ptt__DateTime *message , + void *closure_data ) ; +typedef void ( *Ptt__SystemInfo_Closure ) + ( const Ptt__SystemInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__MobileCardInfo_Closure ) + ( const Ptt__MobileCardInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__Server_Closure ) + ( const Ptt__Server *message , + void *closure_data ) ; +typedef void ( *Ptt__Version_Closure ) + ( const Ptt__Version *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__Reconfigured_Closure ) + ( const Ptt__Push__Reconfigured *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__UsersChanged_Closure ) + ( const Ptt__Push__UsersChanged *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__GroupListChanged_Closure ) + ( const Ptt__Push__GroupListChanged *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__MembersChanged__MemberChanged_Closure ) + ( const Ptt__Push__MembersChanged__MemberChanged *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__MembersChanged_Closure ) + ( const Ptt__Push__MembersChanged *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__ContactshipAsked__Request_Closure ) + ( const Ptt__Push__ContactshipAsked__Request *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__ContactshipAsked_Closure ) + ( const Ptt__Push__ContactshipAsked *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__ContactsChanged_Closure ) + ( const Ptt__Push__ContactsChanged *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__MemberGetMic_Closure ) + ( const Ptt__Push__MemberGetMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__MemberLostMic_Closure ) + ( const Ptt__Push__MemberLostMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__LostMic_Closure ) + ( const Ptt__Push__LostMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__CurrentGroup_Closure ) + ( const Ptt__Push__CurrentGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__Kickout_Closure ) + ( const Ptt__Push__Kickout *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__NewWorksheet_Closure ) + ( const Ptt__Push__NewWorksheet *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__CustomBroadcast_Closure ) + ( const Ptt__Push__CustomBroadcast *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__ChangeRoles_Closure ) + ( const Ptt__Push__ChangeRoles *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__Invite_Closure ) + ( const Ptt__Push__Invite *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__ResponseInvite_Closure ) + ( const Ptt__Push__ResponseInvite *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Login_Closure ) + ( const Ptt__Rr__Login *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LoginAck_Closure ) + ( const Ptt__Rr__LoginAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Logout_Closure ) + ( const Ptt__Rr__Logout *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LogoutAck_Closure ) + ( const Ptt__Rr__LogoutAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryGroup_Closure ) + ( const Ptt__Rr__QueryGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryGroupAck_Closure ) + ( const Ptt__Rr__QueryGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryEnterpriseGroup_Closure ) + ( const Ptt__Rr__QueryEnterpriseGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryEnterpriseGroupAck_Closure ) + ( const Ptt__Rr__QueryEnterpriseGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryMembers_Closure ) + ( const Ptt__Rr__QueryMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryMembersAck_Closure ) + ( const Ptt__Rr__QueryMembersAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryMembersAck2_Closure ) + ( const Ptt__Rr__QueryMembersAck2 *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryContacts_Closure ) + ( const Ptt__Rr__QueryContacts *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryContactsAck_Closure ) + ( const Ptt__Rr__QueryContactsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryUsers_Closure ) + ( const Ptt__Rr__QueryUsers *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryUsersAck_Closure ) + ( const Ptt__Rr__QueryUsersAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartments_Closure ) + ( const Ptt__Rr__QueryDepartments *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentsAck_Closure ) + ( const Ptt__Rr__QueryDepartmentsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentMembers_Closure ) + ( const Ptt__Rr__QueryDepartmentMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentMembersAck_Closure ) + ( const Ptt__Rr__QueryDepartmentMembersAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentTree_Closure ) + ( const Ptt__Rr__QueryDepartmentTree *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentTreeAck_Closure ) + ( const Ptt__Rr__QueryDepartmentTreeAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__JoinGroup_Closure ) + ( const Ptt__Rr__JoinGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__JoinGroupAck_Closure ) + ( const Ptt__Rr__JoinGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroup_Closure ) + ( const Ptt__Rr__WatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroupAck_Closure ) + ( const Ptt__Rr__WatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ByeGroup_Closure ) + ( const Ptt__Rr__ByeGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__IgnoreTalk_Closure ) + ( const Ptt__Rr__IgnoreTalk *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ContinueTalk_Closure ) + ( const Ptt__Rr__ContinueTalk *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Dnd_Closure ) + ( const Ptt__Rr__Dnd *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LeaveGroup_Closure ) + ( const Ptt__Rr__LeaveGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LeaveGroupAck_Closure ) + ( const Ptt__Rr__LeaveGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestMic_Closure ) + ( const Ptt__Rr__RequestMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestMicAck_Closure ) + ( const Ptt__Rr__RequestMicAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReleaseMic_Closure ) + ( const Ptt__Rr__ReleaseMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReleaseMicAck_Closure ) + ( const Ptt__Rr__ReleaseMicAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Call_Closure ) + ( const Ptt__Rr__Call *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CallAck_Closure ) + ( const Ptt__Rr__CallAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SingleCall_Closure ) + ( const Ptt__Rr__SingleCall *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SingleCallAck_Closure ) + ( const Ptt__Rr__SingleCallAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QuickDial_Closure ) + ( const Ptt__Rr__QuickDial *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QuickDialAck_Closure ) + ( const Ptt__Rr__QuickDialAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeName_Closure ) + ( const Ptt__Rr__ChangeName *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeNameAck_Closure ) + ( const Ptt__Rr__ChangeNameAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangePassword_Closure ) + ( const Ptt__Rr__ChangePassword *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangePasswordAck_Closure ) + ( const Ptt__Rr__ChangePasswordAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContacts_Closure ) + ( const Ptt__Rr__MakeContacts *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContactsAck_Closure ) + ( const Ptt__Rr__MakeContactsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContactsResponse_Closure ) + ( const Ptt__Rr__MakeContactsResponse *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContactsResponseAck_Closure ) + ( const Ptt__Rr__MakeContactsResponseAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveContacts_Closure ) + ( const Ptt__Rr__RemoveContacts *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveContactsAck_Closure ) + ( const Ptt__Rr__RemoveContactsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReportLocation_Closure ) + ( const Ptt__Rr__ReportLocation *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReportLocationAck_Closure ) + ( const Ptt__Rr__ReportLocationAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Kick_Closure ) + ( const Ptt__Rr__Kick *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__KickAck_Closure ) + ( const Ptt__Rr__KickAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CreateGroup_Closure ) + ( const Ptt__Rr__CreateGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CreateGroupAck_Closure ) + ( const Ptt__Rr__CreateGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DeleteGroup_Closure ) + ( const Ptt__Rr__DeleteGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DeleteGroupAck_Closure ) + ( const Ptt__Rr__DeleteGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ModifyGroup_Closure ) + ( const Ptt__Rr__ModifyGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ModifyGroupAck_Closure ) + ( const Ptt__Rr__ModifyGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__EmpowerMembership_Closure ) + ( const Ptt__Rr__EmpowerMembership *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__EmpowerMembershipAck_Closure ) + ( const Ptt__Rr__EmpowerMembershipAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DepriveMembership_Closure ) + ( const Ptt__Rr__DepriveMembership *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DepriveMembershipAck_Closure ) + ( const Ptt__Rr__DepriveMembershipAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Dispatch_Closure ) + ( const Ptt__Rr__Dispatch *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DispatchAck_Closure ) + ( const Ptt__Rr__DispatchAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ConfigureUser_Closure ) + ( const Ptt__Rr__ConfigureUser *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ConfigureUserAck_Closure ) + ( const Ptt__Rr__ConfigureUserAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__TakeMic_Closure ) + ( const Ptt__Rr__TakeMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__TakeMicAck_Closure ) + ( const Ptt__Rr__TakeMicAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SynchDatabase_Closure ) + ( const Ptt__Rr__SynchDatabase *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SynchDatabaseAck_Closure ) + ( const Ptt__Rr__SynchDatabaseAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__PostWorksheet_Closure ) + ( const Ptt__Rr__PostWorksheet *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__PostWorksheetAck_Closure ) + ( const Ptt__Rr__PostWorksheetAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryServer_Closure ) + ( const Ptt__Rr__QueryServer *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryServerAck_Closure ) + ( const Ptt__Rr__QueryServerAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestConfigure_Closure ) + ( const Ptt__Rr__RequestConfigure *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestConfigureAck_Closure ) + ( const Ptt__Rr__RequestConfigureAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestActivate_Closure ) + ( const Ptt__Rr__RequestActivate *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestActivateAck_Closure ) + ( const Ptt__Rr__RequestActivateAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CustomBroadcast_Closure ) + ( const Ptt__Rr__CustomBroadcast *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CustomBroadcastAck_Closure ) + ( const Ptt__Rr__CustomBroadcastAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeUserRoles_Closure ) + ( const Ptt__Rr__ChangeUserRoles *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeUserRolesAck_Closure ) + ( const Ptt__Rr__ChangeUserRolesAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CurrentTime_Closure ) + ( const Ptt__Rr__CurrentTime *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CurrentTimeAck_Closure ) + ( const Ptt__Rr__CurrentTimeAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__GetWatchGroup_Closure ) + ( const Ptt__Rr__GetWatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__GetWatchGroupAck_Closure ) + ( const Ptt__Rr__GetWatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__AddWatchGroup_Closure ) + ( const Ptt__Rr__AddWatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__AddWatchGroupAck_Closure ) + ( const Ptt__Rr__AddWatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveWatchGroup_Closure ) + ( const Ptt__Rr__RemoveWatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveWatchGroupAck_Closure ) + ( const Ptt__Rr__RemoveWatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroupEx_Closure ) + ( const Ptt__Rr__WatchGroupEx *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroupExAck_Closure ) + ( const Ptt__Rr__WatchGroupExAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Invite_Closure ) + ( const Ptt__Rr__Invite *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__InviteAck_Closure ) + ( const Ptt__Rr__InviteAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ResponseInvite_Closure ) + ( const Ptt__Rr__ResponseInvite *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ResponseInviteAck_Closure ) + ( const Ptt__Rr__ResponseInviteAck *message , + void *closure_data ) ; +typedef void ( * pfn_hal_looper_user_free ) ( void* user ) ; +typedef void ( *pfn_looper_event_destroy ) ( hal_looper_event_t* event ) ; +typedef void ( * pfn_hal_looper_event_processer ) ( hal_looper_t* looper , hal_looper_event_t* event , void* user ) ; +typedef void ( * pfn_hal_looper_timer_callback ) ( hal_looper_t* looper , hal_time_t now , void* user ) ; +typedef int ( * pfn_hal_looper_routine ) ( hal_looper_t* looper , void* user ) ; +typedef void ( *pfn_ini_parser ) ( void* user , const char* section , const char* name , const char* value ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\log.ppp +//PPL Source File Name : src\\log.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void* hal_mutex_t ; +typedef void ( *oem_notify_cb_t ) ( void* user ) ; +typedef void ( *oem_stream_dB_cb_t ) ( int dB , void* user ) ; +typedef void ( *oem_stream_has_data_cb_t ) ( const void* data , size_t size , void* user ) ; +typedef void ( *oem_tone_cb_t ) ( void* user ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\looper_st.ppp +//PPL Source File Name : src\\looper_st.c +typedef unsigned int size_t ; +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( * pfn_hal_looper_user_free ) ( void* user ) ; +typedef void ( *pfn_looper_event_destroy ) ( hal_looper_event_t* event ) ; +typedef void ( * pfn_hal_looper_event_processer ) ( hal_looper_t* looper , hal_looper_event_t* event , void* user ) ; +typedef void ( * pfn_hal_looper_timer_callback ) ( hal_looper_t* looper , hal_time_t now , void* user ) ; +typedef int ( * pfn_hal_looper_routine ) ( hal_looper_t* looper , void* user ) ; +typedef void ( *pfn_network_notify ) ( void* user , boolean succ ) ; +typedef void ( *pfn_sock_notify ) ( hal_sock_t* sock , void* user , int error ) ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef int SCL_CHECK_UINT32_1 [ 4 -sizeof ( uint32_t ) ] ; +typedef int SCL_CHECK_UINT32_2 [ sizeof ( uint32_t ) -4 ] ; +typedef int ( *SCL_cbfn_t ) ( const char* , long , void* , void* ) ; +typedef uint32_t ( *SCL_mdfn_t ) ( const char* , size_t ) ; +typedef void* ( *SCL_getfn_t ) ( size_t ) ; +typedef int ( *SCL_putfn_t ) ( void* , size_t ) ; +typedef void* SCL_iterator_t ; +typedef void ( * pfn_hal_looper_handle_callback ) ( hal_looper_t* looper , int handle , void* user ) ; +typedef void ( *oem_notify_cb_t ) ( void* user ) ; +typedef void ( *oem_stream_dB_cb_t ) ( int dB , void* user ) ; +typedef void ( *oem_stream_has_data_cb_t ) ( const void* data , size_t size , void* user ) ; +typedef void ( *oem_tone_cb_t ) ( void* user ) ; +typedef int oem_socket_t ; +typedef void * oem_thread_id_t ; +typedef void* ( *oem_thread_function_t ) ( void* arg ) ; +typedef void* oem_semaphore_t ; +typedef void* oem_mutex_t ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\lrq.ppp +//PPL Source File Name : src\\lrq.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef int SCL_CHECK_UINT32_1 [ 4 -sizeof ( uint32_t ) ] ; +typedef int SCL_CHECK_UINT32_2 [ sizeof ( uint32_t ) -4 ] ; +typedef int ( *SCL_cbfn_t ) ( const char* , long , void* , void* ) ; +typedef uint32_t ( *SCL_mdfn_t ) ( const char* , size_t ) ; +typedef void* ( *SCL_getfn_t ) ( size_t ) ; +typedef int ( *SCL_putfn_t ) ( void* , size_t ) ; +typedef void* SCL_iterator_t ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\map.ppp +//PPL Source File Name : src\\map.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef int SCL_CHECK_UINT32_1 [ 4 -sizeof ( uint32_t ) ] ; +typedef int SCL_CHECK_UINT32_2 [ sizeof ( uint32_t ) -4 ] ; +typedef int ( *SCL_cbfn_t ) ( const char* , long , void* , void* ) ; +typedef uint32_t ( *SCL_mdfn_t ) ( const char* , size_t ) ; +typedef void* ( *SCL_getfn_t ) ( size_t ) ; +typedef int ( *SCL_putfn_t ) ( void* , size_t ) ; +typedef void* SCL_iterator_t ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\memory.ppp +//PPL Source File Name : src\\memory.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( *oem_notify_cb_t ) ( void* user ) ; +typedef void ( *oem_stream_dB_cb_t ) ( int dB , void* user ) ; +typedef void ( *oem_stream_has_data_cb_t ) ( const void* data , size_t size , void* user ) ; +typedef void ( *oem_tone_cb_t ) ( void* user ) ; +typedef int oem_socket_t ; +typedef void * oem_thread_id_t ; +typedef void* ( *oem_thread_function_t ) ( void* arg ) ; +typedef void* oem_semaphore_t ; +typedef void* oem_mutex_t ; +typedef unsigned long UTF32 ; +typedef unsigned short UTF16 ; +typedef unsigned char UTF8 ; +typedef unsigned int INT ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\net.pb-c.ppp +//PPL Source File Name : src\\net.pb-c.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef va_list __gnuc_va_list ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef int protobuf_c_boolean ; +typedef void ( *ProtobufCClosure ) ( const ProtobufCMessage * , void *closure_data ) ; +typedef void ( *ProtobufCMessageInit ) ( const ProtobufCMessageDescriptor* , ProtobufCMessage * ) ; +typedef void ( *ProtobufCServiceDestroy ) ( ProtobufCService * ) ; +typedef void ( *Ptt__Net__HeartBeat_Closure ) + ( const Ptt__Net__HeartBeat *message , + void *closure_data ) ; +typedef void ( *Ptt__Net__Ping_Closure ) + ( const Ptt__Net__Ping *message , + void *closure_data ) ; +typedef void ( *Ptt__Net__Pong_Closure ) + ( const Ptt__Net__Pong *message , + void *closure_data ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\network.ppp +//PPL Source File Name : src\\network.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( *pfn_network_notify ) ( void* user , boolean succ ) ; +typedef void ( *pfn_sock_notify ) ( hal_sock_t* sock , void* user , int error ) ; +typedef void ( *hal_device_alarm_timer_cb_t ) ( void* user ) ; +typedef void ( * pfn_hal_looper_user_free ) ( void* user ) ; +typedef void ( *pfn_looper_event_destroy ) ( hal_looper_event_t* event ) ; +typedef void ( * pfn_hal_looper_event_processer ) ( hal_looper_t* looper , hal_looper_event_t* event , void* user ) ; +typedef void ( * pfn_hal_looper_timer_callback ) ( hal_looper_t* looper , hal_time_t now , void* user ) ; +typedef int ( * pfn_hal_looper_routine ) ( hal_looper_t* looper , void* user ) ; +typedef void ( * pfn_hal_looper_handle_callback ) ( hal_looper_t* looper , int handle , void* user ) ; +typedef void ( *oem_notify_cb_t ) ( void* user ) ; +typedef void ( *oem_stream_dB_cb_t ) ( int dB , void* user ) ; +typedef void ( *oem_stream_has_data_cb_t ) ( const void* data , size_t size , void* user ) ; +typedef void ( *oem_tone_cb_t ) ( void* user ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\notify.ppp +//PPL Source File Name : src\\notify.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef uint32_t echat_uid_t ; +typedef uint32_t echat_gid_t ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( *echat_notify_cb_t ) ( void* user , echat_notify_t* notify ) ; +typedef void ( *echat_notify_param_cb_t ) ( void* user , int param , void * arg ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\null_location.ppp +//PPL Source File Name : src\\null_location.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( *pfn_location_cb ) ( loc_info_t* loc_info , void* user ) ; +typedef void ( *oem_notify_cb_t ) ( void* user ) ; +typedef void ( *oem_stream_dB_cb_t ) ( int dB , void* user ) ; +typedef void ( *oem_stream_has_data_cb_t ) ( const void* data , size_t size , void* user ) ; +typedef void ( *oem_tone_cb_t ) ( void* user ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\oem_algorithm.ppp +//PPL Source File Name : src\\oem_algorithm.c +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef float float_t ; +typedef double double_t ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\oem_aud.ppp +//PPL Source File Name : src\\oem_aud.c +typedef unsigned int size_t ; +typedef char CHAR ; +typedef unsigned char UCHAR ; +typedef int INT ; +typedef unsigned int UINT ; +typedef long LONG ; +typedef unsigned long ULONG ; +typedef short SHORT ; +typedef unsigned short USHORT ; +typedef unsigned char BOOL ; +typedef unsigned char UINT8 ; +typedef unsigned short UINT16 ; +typedef unsigned long UINT32 ; +typedef char CHAR ; +typedef signed char INT8 ; +typedef signed short INT16 ; +typedef signed long INT32 ; +typedef unsigned char Bool ; +typedef UINT8 BYTE ; +typedef UINT8 UBYTE ; +typedef UINT16 UWORD ; +typedef UINT16 WORD ; +typedef INT16 SWORD ; +typedef UINT32 DWORD ; +typedef unsigned long long UINT64 ; +typedef void* VOID_PTR ; +//ICAT EXPORTED ENUM + typedef enum + { + OSA_TASK_READY , + OSA_TASK_COMPLETED , + OSA_TASK_TERMINATED , + OSA_TASK_SUSPENDED , + OSA_TASK_SLEEP , + OSA_TASK_QUEUE_SUSP , + OSA_TASK_SEMAPHORE_SUSP , + OSA_TASK_EVENT_FLAG , + OSA_TASK_BLOCK_MEMORY , + OSA_TASK_MUTEX_SUSP , + OSA_TASK_STATE_UNKNOWN , + } OSA_TASK_STATE; + +//ICAT EXPORTED STRUCT + typedef struct OSA_TASK_STRUCT + { + char *task_name ; /* Pointer to thread ' s name */ + unsigned int task_priority ; /* Priority of thread ( 0 -255 ) */ + unsigned long task_stack_def_val ; /* default vaule of thread */ + OSA_TASK_STATE task_state ; /* Thread ' s execution state */ + unsigned long task_stack_ptr ; /* Thread ' s stack pointer */ + unsigned long task_stack_start ; /* Stack starting address */ + unsigned long task_stack_end ; /* Stack ending address */ + unsigned long task_stack_size ; /* Stack size */ + unsigned long task_run_count ; /* Thread ' s run counter */ + + } OSA_TASK; + +typedef void *OsaRefT ; +typedef UINT8 OSA_STATUS ; +typedef void* OSATaskRef ; +typedef void* OSAHISRRef ; +typedef void* OSAMsgQRef ; +typedef void* OSAMailboxQRef ; +typedef void* OSAPartitionPoolRef ; +typedef UINT8 OS_STATUS ; +typedef UINT8 OS_STATUS ; +typedef void* OS_HISR ; +typedef unsigned long UNSIGNED ; +typedef long SIGNED ; +typedef unsigned char DATA_ELEMENT ; +typedef DATA_ELEMENT OPTION ; +typedef DATA_ELEMENT BOOLEAN ; +typedef int STATUS ; +typedef unsigned char UNSIGNED_CHAR ; +typedef unsigned int UNSIGNED_INT ; +typedef int INT ; +typedef unsigned long * UNSIGNED_PTR ; +typedef unsigned char * BYTE_PTR ; +typedef void* OSATaskRef ; +typedef void* OSAHISRRef ; +typedef void* OSASemaRef ; +typedef void* OSAMutexRef ; +typedef void* OSAMsgQRef ; +typedef void* OSAMailboxQRef ; +typedef void* OSAPoolRef ; +typedef void* OSATimerRef ; +typedef void* OSAFlagRef ; +typedef void* OSAPartitionPoolRef ; +typedef void* OSTaskRef ; +typedef void* OSSemaRef ; +typedef void* OSMutexRef ; +typedef void* OSMsgQRef ; +typedef void* OSMailboxQRef ; +typedef void* OSPoolRef ; +typedef void* OSTimerRef ; +typedef void* OSFlagRef ; +typedef UINT8 OS_STATUS ; +typedef OsaTimerStatusParamsT OSATimerStatus ; +typedef unsigned int size_t ; +typedef va_list __gnuc_va_list ; +typedef volatile UINT8 *V_UINT8_PTR ; +typedef volatile UINT16 *V_UINT16_PTR ; +typedef volatile UINT32 *V_UINT32_PTR ; +typedef unsigned int U32Bits ; +typedef BOOL BOOLEAN ; +typedef const char * SwVersion ; +typedef void ( *CommandAddress ) ( void ) ; +typedef char* CommandProto ; +typedef const char * DiagDBVersion ; +//ICAT EXPORTED ENUM + typedef enum + { + PROTOCOL_TYPE_0 = 0 , + MAX_PROTOCOL_TYPES + } ProtocolType; + +//ICAT EXPORTED STRUCT + typedef struct + { + BOOL bEnabled ; // enable / disable the trace logging feature + ProtocolType eProtocolType ; // protocol type for communication with ICAT , currently only protocol type 0 is supported + UINT16 nMaxDataPerTrace ; // for each trace , what is the maximum data length to accompany the trace , in protocol type 0 , this is relevant only to DSP messages + } DiagLoggerDefs; + +typedef void ( *TIMER_CALLBACK_FUNCTION ) ( UINT8 ) ; +typedef void ( *ACC_TIMER_CALLBACK ) ( UINT32 ) ; +typedef int TIMER_STATUS ; +typedef int TIMER_ID ; +//ICAT EXPORTED ENUM + typedef enum + { + PM_RC_OK = 0 , + PM_RC_FAIL , // General Failure + PM_RC_ALREADY_EXISTS // Exit function since required target alrteady exists + } PM_ReturnCodeE; + +typedef void ( *PM_CallbackFuncDDRstateT ) ( BOOL b_DDR_ready ) ; +typedef unsigned long long UINT64 ; +typedef unsigned long TimeIn32KhzUnit ; +typedef void ( *TickCallbackPtr ) ( UINT32 ) ; +typedef TimeIn32KhzUnit ( *SuspendCallbackPtr ) ( void ) ; +typedef void ( *PrepareTimeCallbackPtr ) ( void ) ; +typedef void ( *GPIOCallback ) ( void ) ; +//ICAT EXPORTED ENUM + typedef enum + { + GPIO_PIN_NOT_ASSIGNED = -1 , + + GPIO_PIN_0=0 , GPIO_PIN_1 , GPIO_PIN_2 , GPIO_PIN_3 , GPIO_PIN_4 , GPIO_PIN_5 , GPIO_PIN_6 , GPIO_PIN_7 , + GPIO_PIN_8 , GPIO_PIN_9 , GPIO_PIN_10 , GPIO_PIN_11 , GPIO_PIN_12 , GPIO_PIN_13 , GPIO_PIN_14 , GPIO_PIN_15 , + GPIO_PIN_16 , GPIO_PIN_17 , GPIO_PIN_18 , GPIO_PIN_19 , GPIO_PIN_20 , GPIO_PIN_21 , GPIO_PIN_22 , GPIO_PIN_23 , + GPIO_PIN_24 , GPIO_PIN_25 , GPIO_PIN_26 , GPIO_PIN_27 , GPIO_PIN_28 , GPIO_PIN_29 , GPIO_PIN_30 , GPIO_PIN_31 , + GPIO_PIN_32 , + // #ifndef SILICON_PV2 + GPIO_PIN_33 , GPIO_PIN_34 , GPIO_PIN_35 , GPIO_PIN_36 , GPIO_PIN_37 , GPIO_PIN_38 , GPIO_PIN_39 , + GPIO_PIN_40 , GPIO_PIN_41 , GPIO_PIN_42 , GPIO_PIN_43 , GPIO_PIN_44 , GPIO_PIN_45 , GPIO_PIN_46 , GPIO_PIN_47 , + GPIO_PIN_48 , GPIO_PIN_49 , GPIO_PIN_50 , GPIO_PIN_51 , GPIO_PIN_52 , GPIO_PIN_53 , GPIO_PIN_54 , GPIO_PIN_55 , + GPIO_PIN_56 , GPIO_PIN_57 , GPIO_PIN_58 , GPIO_PIN_59 , GPIO_PIN_60 , GPIO_PIN_61 , GPIO_PIN_62 , GPIO_PIN_63 , + // #endif // _TAVOR_HARBELL_ + + // #if 1 // quectel define for build defined ( GPIO_128_ENTRIES ) + GPIO_PIN_64 , GPIO_PIN_65 , GPIO_PIN_66 , GPIO_PIN_67 , GPIO_PIN_68 , GPIO_PIN_69 , GPIO_PIN_70 , GPIO_PIN_71 , + GPIO_PIN_72 , GPIO_PIN_73 , GPIO_PIN_74 , GPIO_PIN_75 , GPIO_PIN_76 , GPIO_PIN_77 , GPIO_PIN_78 , GPIO_PIN_79 , + GPIO_PIN_80 , GPIO_PIN_81 , GPIO_PIN_82 , GPIO_PIN_83 , GPIO_PIN_84 , GPIO_PIN_85 , GPIO_PIN_86 , GPIO_PIN_87 , + GPIO_PIN_88 , GPIO_PIN_89 , GPIO_PIN_90 , GPIO_PIN_91 , GPIO_PIN_92 , GPIO_PIN_93 , GPIO_PIN_94 , GPIO_PIN_95 , + GPIO_PIN_96 , GPIO_PIN_97 , GPIO_PIN_98 , GPIO_PIN_99 , GPIO_PIN_100 , GPIO_PIN_101 , GPIO_PIN_102 , GPIO_PIN_103 , + GPIO_PIN_104 , GPIO_PIN_105 , GPIO_PIN_106 , GPIO_PIN_107 , GPIO_PIN_108 , GPIO_PIN_109 , GPIO_PIN_110 , GPIO_PIN_111 , + GPIO_PIN_112 , GPIO_PIN_113 , GPIO_PIN_114 , GPIO_PIN_115 , GPIO_PIN_116 , GPIO_PIN_117 , GPIO_PIN_118 , GPIO_PIN_119 , + GPIO_PIN_120 , GPIO_PIN_121 , GPIO_PIN_122 , GPIO_PIN_123 , GPIO_PIN_124 , GPIO_PIN_125 , GPIO_PIN_126 , GPIO_PIN_127 , + // #endif // INTEL_2CHIP_PLAT_BVD + GPIO_MAX_AMOUNT_OF_PINS + + + + } GPIO_PinNumbers; + +//ICAT EXPORTED ENUM + typedef enum + { + GPIO_RC_OK = 1 , + + GPIO_RC_INVALID_PORT_HANDLE = -100 , + GPIO_RC_NOT_OUTPUT_PORT , + GPIO_RC_NO_TIMER , + GPIO_RC_NO_FREE_HANDLE , + GPIO_RC_AMOUNT_OUT_OF_RANGE , + GPIO_RC_INCORRECT_PORT_SIZE , + GPIO_RC_PORT_NOT_ON_ONE_REG , + GPIO_RC_INVALID_PIN_NUM , + GPIO_RC_PIN_USED_IN_PORT , + GPIO_RC_PIN_NOT_FREE , + GPIO_RC_PIN_NOT_LOCKED , + GPIO_RC_NULL_POINTER , + GPIO_RC_PULLED_AND_OUTPUT , + GPIO_RC_INCORRECT_PORT_TYPE , + GPIO_RC_INCORRECT_TRANSITION_TYPE , + GPIO_RC_INCORRECT_DEBOUNCE , + GPIO_RC_INCORRECT_DIRECTION , + GPIO_RC_INCORRECT_INIT_VALUE , + GPIO_RC_INTC_ERROR , + GPIO_RC_PRM_ERROR , + GPIO_RC_PIN_LOCKED , + } GPIO_ReturnCode; + +//ICAT EXPORTED ENUM + typedef enum + { + GPIO_PIN_FREE_FOR_USE = 0 , + GPIO_PIN_USE_IN_PORT , + GPIO_PIN_USE_IN_INTERRUPT , + GPIO_PIN_USE_IN_PORT_WITH_INTERRUPT , + GPIO_PIN_LOCKED + } GPIO_PinUsage; + +//ICAT EXPORTED STRUCT + typedef struct + { + GPIO_PinUsage pinUsage ; + GPIOPinDirection direction ; + } GPIO_PinStatus; + +//ICAT EXPORTED ENUM + typedef enum + { + GPIO_INITIAL_VALUE_NO_CHANGE = 0 , + GPIO_INITIAL_VALUE_LOW=0 , + GPIO_INITIAL_VALUE_HIGH + } GPIO_BitInitialValue; + +//ICAT EXPORTED ENUM + typedef enum + { + GPIO_PULL_UP_DOWN_DISABLE = 0 , + GPIO_PULL_UP_ENABLE , + GPIO_PULL_DOWN_ENABLE + } GPIO_PullUpDown; + +//ICAT EXPORTED STRUCT + typedef struct + { + GPIO_PinNumbers pinNumber ; + GPIOPinDirection direction ; + GPIOTransitionType transitionType ; + GPIO_Debounce debounce ; + GPIOPullUpDown pullUpDown ; + GPIO_BitInitialValue initialValue ; + } GPIO_PinConfiguration; + +typedef void ( *GPIO_ISR ) ( void ) ; +typedef UINT32 INTC_InterruptPriorityTable [ MAX_INTERRUPT_CONTROLLER_SOURCES ] ; +typedef UINT32 INTC_InterruptInfo ; +typedef void ( *INTC_ISR ) ( INTC_InterruptInfo interruptInfo ) ; +typedef void ( *PMCNotifyEventFunc ) ( UINT64 eventRegs ) ; +typedef void ( *PMCGetStatusNotifyFunc ) ( UINT16 status ) ; +typedef void ( *PMCReadCallback ) ( UINT8 *dataBuffPtr , UINT16 dataSize , UINT16 userId ) ; +typedef void ( *PMCWriteCallback ) ( UINT16 dataBuffPtr ) ; +typedef void ( *PMCGetGPADCValueNotifyFunc ) ( PMC_adc_reg_t reg , UINT16 value ) ; +typedef void ( * ReadingCallback ) ( int ) ; +typedef void ( * LTETempReadingCallback ) ( unsigned short , unsigned short ) ; +typedef void ( * ReadingCallbackBoth ) ( BOOL , int , int ) ; +typedef union + { + UINT8 autoControl ; + UINT8 autoControl2 ; + UINT8 manControl ; + } adcModeCntrl_t ; +typedef union + { + UINT64 all ; + Registers_ts regs ; + } PMCEvents ; +//ICAT EXPORTED ENUM + typedef enum + { + SHD_POWER_DOWN , + SHD_RESET , + SHD_GHOST , + SHD_SW_ERROR /* EEHandler triggered the reset */ + } ShutDownType_te; + +//ICAT EXPORTED ENUM + typedef enum + { + RR_NORMAL_POWER_ON = 0x00 , // default , not combined with others + RR_WATCH_DOG_TIMEOUT = 0x01 , + RR_SOFTWARE_GENERATED = 0x02 , + RR_CHARGING_BATTERY = 0x04 , + RR_LOW_BATTERY = 0x08 , + RR_ALARM_POWER_ON = 0x10 , + RR_EXT_POWER_ON = 0x20 + } + StartupReason_te; + +//ICAT EXPORTED ENUM + typedef enum + { + RE_RTC_ALARM = 0x01 + } StartupExtInd_te; + +typedef BOOL ( *DiagPSisRunningFn ) ( void ) ; +//ICAT EXPORTED ENUM + typedef enum { + HEAD_PHONE_INIT = 0 , + HEAD_PHONE_OUT , // 1 + HEAD_TYPE_UNKNOWN , // 2 + HEAD_PHONE_TYPE3 , // 3 + HEAD_PHONE_TYPE4 , // 4 + + HEAD_PHONE_ERROR = 0xFFFF + } HEADPHONE_STATE; + +//ICAT EXPORTED ENUM + typedef enum { + HOOK_KEY_EVENT_NULL = 0 , + VOL_UP_PRESS , // 1 + VOL_DOWN_PRESS , // 2 + HOOK_KEY_PRESS , // 3 + VOL_UP_RELEASE , // 4 + VOL_DOWN_RELEASE , // 5 + HOOK_KEY_RELEASE , // 6 + + HEADPHONE_EVENT_ERROR = 0xFFFF + } HEADPHONE_EVENT; + +//ICAT EXPORTED ENUM + typedef enum + { + AUDIOHAL_ERR_NO = 0 , // No error + AUDIOHAL_ERR_RESOURCE_RESET , + AUDIOHAL_ERR_RESOURCE_BUSY , + AUDIOHAL_ERR_RESOURCE_TIMEOUT , + AUDIOHAL_ERR_RESOURCE_NOT_ENABLED , + AUDIOHAL_ERR_BAD_PARAMETER , + + AUDIOHAL_ERR_UART_RX_OVERFLOW , + AUDIOHAL_ERR_UART_TX_OVERFLOW , + AUDIOHAL_ERR_UART_PARITY , + AUDIOHAL_ERR_UART_FRAMING , + AUDIOHAL_ERR_UART_BREAK_INT , + + AUDIOHAL_ERR_TIM_RTC_NOT_VALID , + AUDIOHAL_ERR_TIM_RTC_ALARM_NOT_ENABLED , + AUDIOHAL_ERR_TIM_RTC_ALARM_NOT_DISABLED , + + AUDIOHAL_ERR_COMMUNICATION_FAILED , + + /* Must be at the end */ + AUDIOHAL_ERR_QTY , + + + AUDIOHAL_ERR_ENUM_32_BIT = 0x7FFFFFFF // 32 bit enum compiling enforcement + } AUDIOHAL_ERR_T; + +//ICAT EXPORTED ENUM + typedef enum + { + AUDIOHAL_ITF_RECEIVER = 0 , + AUDIOHAL_ITF_EARPIECE , + AUDIOHAL_ITF_HEADPHONE = AUDIOHAL_ITF_EARPIECE , + AUDIOHAL_ITF_LOUDSPEAKER , + AUDIOHAL_ITF_LOUDSPEAKER_AND_HEADPHONE , + // AUDIOHAL_ITF_LOUDSPEAKER_AND_HEADPHONE = AUDIOHAL_ITF_LOUDSPEAKER_AND_EARPIECE , + AUDIOHAL_ITF_BLUETOOTH , + AUDIOHAL_ITF_FM , + AUDIOHAL_ITF_FM2SPK , + AUDIOHAL_ITF_TV , + AUDIOHAL_ITF_BLUETOOTH_WB , + + AUDIOHAL_ITF_QTY , + AUDIOHAL_ITF_NONE = 255 , + } AUDIOHAL_ITF_T; + +//ICAT EXPORTED ENUM + typedef enum + { + AUDIOHAL_SPK_RECEIVER = 0 , + AUDIOHAL_SPK_EARPIECE , + AUDIOHAL_SPK_LOUDSPEAKER , + AUDIOHAL_SPK_LOUDSPEAKER_EARPIECE , // Output on both hands-free loud speaker and earpiece + + AUDIOHAL_SPK_QTY , + AUDIOHAL_SPK_DISABLE = 255 , + } AUDIOHAL_SPK_T; + +//ICAT EXPORTED ENUM + typedef enum + { + AUDIOHAL_SPEAKER_STEREO = 0 , + AUDIOHAL_SPEAKER_MONO_RIGHT , + AUDIOHAL_SPEAKER_MONO_LEFT , + AUDIOHAL_SPEAKER_STEREO_NA , // Output is mono only + + AUDIOHAL_SPEAKER_QTY , + AUDIOHAL_SPEAKER_DISABLE = 255 , + } AUDIOHAL_SPEAKER_TYPE_T; + +//ICAT EXPORTED ENUM + typedef enum + { + AUDIOHAL_MIC_RECEIVER = 0 , + AUDIOHAL_MIC_EARPIECE , + AUDIOHAL_MIC_LOUDSPEAKER , + + AUDIOHAL_MIC_QTY , + AUDIOHAL_MIC_DISABLE = 255 , + } AUDIOHAL_MIC_T; + +//ICAT EXPORTED ENUM + typedef enum + { + AUDIOHAL_SPK_MUTE = 0 , + AUDIOHAL_SPK_VOL_1 , + AUDIOHAL_SPK_VOL_2 , + AUDIOHAL_SPK_VOL_3 , + AUDIOHAL_SPK_VOL_4 , + AUDIOHAL_SPK_VOL_5 , + AUDIOHAL_SPK_VOL_6 , + AUDIOHAL_SPK_VOL_7 , + AUDIOHAL_SPK_VOL_8 , + AUDIOHAL_SPK_VOL_9 , + AUDIOHAL_SPK_VOL_10 , + AUDIOHAL_SPK_VOL_11 , // 11 + + AUDIOHAL_SPK_VOL_QTY // 12 + } AUDIOHAL_SPK_LEVEL_T; + +//ICAT EXPORTED ENUM + typedef enum + { + AUDIOHAL_MIC_MUTE = 0 , + AUDIOHAL_MIC_ENABLE , + + AUDIOHAL_MIC_VOL_QTY , + } AUDIOHAL_MIC_LEVEL_T; + +//ICAT EXPORTED ENUM + typedef enum + { + AUDIOHAL_SIDE_MUTE = 0 , + AUDIOHAL_SIDE_VOL_1 , + AUDIOHAL_SIDE_VOL_2 , + AUDIOHAL_SIDE_VOL_3 , + AUDIOHAL_SIDE_VOL_4 , + AUDIOHAL_SIDE_VOL_5 , + AUDIOHAL_SIDE_VOL_6 , + AUDIOHAL_SIDE_VOL_7 , + AUDIOHAL_SIDE_VOL_TEST , + AUDIOHAL_SIDE_VOL_QTY , + } AUDIOHAL_SIDE_LEVEL_T; + +//ICAT EXPORTED ENUM + typedef enum + { + AUDIOHAL_FREQ_8000HZ = 8000 , + AUDIOHAL_FREQ_11025HZ = 11025 , + AUDIOHAL_FREQ_12000HZ = 12000 , + AUDIOHAL_FREQ_16000HZ = 16000 , + AUDIOHAL_FREQ_22050HZ = 22050 , + AUDIOHAL_FREQ_24000HZ = 24000 , + AUDIOHAL_FREQ_32000HZ = 32000 , + AUDIOHAL_FREQ_44100HZ = 44100 , + AUDIOHAL_FREQ_48000HZ = 48000 , + AUDIOHAL_FREQ_64000HZ = 64000 , + AUDIOHAL_FREQ_88200HZ = 88200 , + AUDIOHAL_FREQ_96000HZ = 96000 , + } AUDIOHAL_FREQ_T; + +//ICAT EXPORTED ENUM + typedef enum + { + AUDIOHAL_MONO = 1 , + AUDIOHAL_STEREO = 2 , + } AUDIOHAL_CH_NB_T; + +//ICAT EXPORTED ENUM + typedef enum + { + AUDIOHAL_DTMF_0 = 0 , + AUDIOHAL_DTMF_1 , + AUDIOHAL_DTMF_2 , + AUDIOHAL_DTMF_3 , + AUDIOHAL_DTMF_4 , + AUDIOHAL_DTMF_5 , + AUDIOHAL_DTMF_6 , + AUDIOHAL_DTMF_7 , + AUDIOHAL_DTMF_8 , + AUDIOHAL_DTMF_9 , + AUDIOHAL_DTMF_A , + AUDIOHAL_DTMF_B , + AUDIOHAL_DTMF_C , + AUDIOHAL_DTMF_D , + AUDIOHAL_DTMF_S , // * key + AUDIOHAL_DTMF_P , // # key + AUDIOHAL_COMFORT_425 , + AUDIOHAL_COMFORT_950 , + AUDIOHAL_COMFORT_1400 , + AUDIOHAL_COMFORT_1800 , + } AUDIOHAL_TONE_TYPE_T; + +//ICAT EXPORTED ENUM + typedef enum + { + AUDIOHAL_TONE_0DB = 0 , + AUDIOHAL_TONE_M3DB , // -3 dB + AUDIOHAL_TONE_M9DB , // -9 dB + AUDIOHAL_TONE_M15DB , // -15 dB + AUDIOHAL_TONE_QTY + } AUDIOHAL_TONE_ATTENUATION_T; + +//ICAT EXPORTED ENUM + typedef enum { + AUDIOHAL_HEADPHONE_PLUG_OUT = 0 , + AUDIOHAL_HEADPHONE_PLUG_IN = 1 + } AUDIOHAL_HEADPHONE_PLUG_T; + +//ICAT EXPORTED ENUM + typedef enum { + AUDIOHAL_HEADPHONE_TYPE_NULL = 0 , + AUDIOHAL_HEADPHONE_TYPE_UNKNOWN = 1 , + + AUDIOHAL_HEADPHONE_TYPE_3 = 3 , // HEAD_PHONE_TYPE3 + AUDIOHAL_HEADPHONE_TYPE_4 = 4 // HEAD_PHONE_TYPE4 + } AUDIOHAL_HEADPHONE_TYPE_T; + +//ICAT EXPORTED ENUM + typedef enum { + AUDIOHAL_HEADPHONE_EVENT_NULL = 0 , + AUDIOHAL_HEADPHONE_EVENT_VOLUME_UP = 1 , + AUDIOHAL_HEADPHONE_EVENT_VOLUME_DOWN= 2 , + AUDIOHAL_HEADPHONE_EVENT_HOOK_KEY = 3 + } AUDIOHAL_HEADPHONE_EVENT_T; + +typedef void ( *AUDIOHAL_HANDLER_T ) ( void ) ; +typedef void ( *AUDIOHAL_HeadsetReport_T ) ( UINT32 plug , UINT32 type , UINT32 event ) ; +typedef void ( *AUDIOHAL_SpeakerPA_T ) ( UINT32 on ) ; +typedef void ( *AUDIOHAL_Codec_T ) ( UINT32 on ) ; +//ICAT EXPORTED STRUCT + typedef struct { + UINT32 * startAddress ; + UINT16 length ; + + AUDIOHAL_FREQ_T sampleRate ; + AUDIOHAL_CH_NB_T channelNb ; + // BOOL voiceQuality ; + // BOOL playSyncWithRecord ; + INT voiceQuality ; + INT playSyncWithRecord ; + + AUDIOHAL_HANDLER_T halfHandler ; + AUDIOHAL_HANDLER_T endHandler ; + } AUDIOHAL_STREAM_T; + +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned char uint8 ; +typedef signed char int8 ; +typedef unsigned short int uint16 ; +typedef signed short int int16 ; +typedef unsigned int uint32 ; +typedef signed int int32 ; +typedef unsigned long long uint64 ; +typedef signed long long int64 ; +typedef int QuecOSStatus ; +typedef uint8 data_t ; +typedef uint32 datasize_t ; +typedef uint32 node_cnt_t ; +typedef int32 linklist_id_t ; +typedef linklist_t * linklist_handler_t ; +typedef uint32 quec_tcb_id_t ; +typedef linklist_handler_t QuecTCBLinklist_t ; +typedef OSTaskRef quec_task_t ; +typedef OSSemaRef quec_sem_t ; +typedef OSMutexRef quec_mutex_t ; +typedef OSMsgQRef quec_queue_t ; +typedef OSMailboxQRef quec_mailbox_t ; +typedef OSFlagRef quec_flag_t ; +typedef OSTimerRef quec_timer_t ; +typedef OSATimerStatus quec_timer_status_t ; +typedef void ( * task_delete_work_cb_t ) ( task_delete_result_t * task_delete_result ) ; +//ICAT EXPORTED ENUM + typedef enum + { + PMU_POR = 1 , + PMU_EMR , + PMU_WDTR = ( PMU_EMR+2 ) + } PMU_LastResetStatus; + +//ICAT EXPORTED STRUCT + typedef struct + { + UINT32 dbID ; + UINT32 filterBitLength ; + UINT32 reserved [ 6 ] ; + } DIAG_Nvm_Filter_File_Header_t; + +//ICAT EXPORTED ENUM + typedef enum + { + LOG_DISABLE = 0x0 , + UART_LOG_ENABLE = 0x1 , + ACAT_LOG_ENABLE = 0x2 + } Log_ConfigE; + +//ICAT EXPORTED ENUM + typedef enum + { + MSG_DISABLE = 0x0 , + ACAT_MSG_ENABLE = 0x1 + } Msg_ConfigE; + +//ICAT EXPORTED ENUM + typedef enum + { + RTI_LOG_DISABLE = 0x0 , + RTI_DUMP_ENABLE = 0x1 , + RTI_TASK_ENABLE = 0x2 , + RTI_MIPS_ENABLE = 0x3 + } RTI_ConfigE; + +//ICAT EXPORTED ENUM + typedef enum + { + SD_ACAT_LOG_DISABLE = 0x0 , + SD_ACAT_LOG_ENABLE = 0x1 + } SD_ACAT_LOG_ConfigE; + +//ICAT EXPORTED ENUM + typedef enum + { + SD_DUMP_BIN_DISABLE = 0x0 , + SD_DUMP_BIN_ENABLE = 0x1 + } SD_Dump_bin_ConfigE; + +//ICAT EXPORTED STRUCT + typedef struct { + Log_ConfigE log_cfg ; + Msg_ConfigE msg_cfg ; + RTI_ConfigE rti_cfg ; + } Log_ConfigS; + +//ICAT EXPORTED STRUCT + typedef struct { + SD_ACAT_LOG_ConfigE log_cfg ; + SD_Dump_bin_ConfigE dump_cfg ; + } SD_ConfigS; + +//ICAT EXPORTED ENUM + typedef enum + { + YMODEM_DISABLE = 0x0 , + YMODEM_ENABLE = 0x1 + } Ymodem_Dump_config; + +//ICAT EXPORTED STRUCT + typedef struct { + Ymodem_Dump_config config ; + } Ymodem_Dump_type; + +//ICAT EXPORTED ENUM + typedef enum { + DIAG_DEV_USB , + DIAG_DEV_SD , + DIAG_DEV_FS , + DIAG_DEV_UART , + DIAG_DEV_SPI , + DIAG_DEV_SHM , + DIAG_DEV_NONE + } DIAG_DEV_TYPE; + +typedef UINT8 UART_Activity ; +//ICAT EXPORTED STRUCT + typedef struct /* This is structure of the UART Configuration */ + { + UART_OpMode opMode ; /* fifo mode , non fifo mode or DMA for basic interface*/ + UART_TriggerLevel triggerLevel ; /* the trigger level interrupt on 1 , 8 , 16 , 32 */ + UART_BaudRates baudRate ; /* the rate of the transmit and the receive up to 111520 ( default - 9600 ) .*/ + UART_WordLen numDataBits ; /* 5 , 6 , 7 , or 8 number of data bits in the UART data frame ( default - 8 ) . */ + UART_StopBits stopBits ; /* 1 , 1.500000 or 2 stop bits in the UART data frame ( default - 1 ) . */ + UART_ParityTBits parityBitType ; /* Even , Odd or no-parity bit type in the UART data frame ( default - Non ) . */ + UART_InterfaceType interfaceType ; /* number of interface that the UART driver supplies ( default - UART_IF_TYPE_L2 ) */ + BOOL modemSignal ; /* enable operate modem - TRUE , disable modem - FALSE */ + BOOL flowControl ; /* enable Auto flow Control - TRUE , disable Auto flow Control - FALSE */ + UINT8 sleepMode ; /* enable sleep mode - TRUE , more fine control - see UARTSleepMode enum */ + BOOL auto_baud ; /* enable auto_baud , auto-baud-rate detection within the UART ( default - FALSE ) */ + UART_SIRConfigure sirIrDA ; + } UARTConfiguration; + +//ICAT EXPORTED ENUM + typedef enum // change the order -1 to + + { + UART_RC_OK = 1 , /* 1 - no errors */ + + UART_RC_PORT_NUM_ERROR = -100 , /* -100 - Error in the UART port number */ + UART_RC_NO_DATA_TO_READ , /* -99 - Eror no data to read from the FIFO UART */ + UART_RC_ILLEGAL_BAUD_RATE , /* -98 - Error in the UART Bayd Rate */ + UART_RC_UART_PARITY_BITS_ERROR , /* -97 - Error in parity bit */ + UART_RC_UART_ONE_STOP_BIT_ERROR , /* -96 - Error in one stop bit */ + UART_RC_ONE_HALF_OR_TWO_STOP_BIT_ERROR , /* -95 - Error in two stop bit */ + UART_RC_BAD_INTERFACE_TYPE , /* -94 - Error in the Interface Type */ + UART_RC_UART_NOT_AVAILABLE , /* -93 - Error in try to open UART that is open */ + UART_RC_NO_DATA_TO_WRITE , /* -92 - Error No data to writ the len = 0 */ + UART_RC_NOT_ALL_BYTE_WRITTEN , /* -91 - Error Not all the Byte write to the UART FIFO */ + UART_RC_ISR_ALREADY_BIND , /* -90 - Error try to bind ISR for Basic Interface */ + UART_RC_WRONG_ISR_UNBIND , /* -89 - Error in the UnBind ISR for Basic Interface */ + UART_RC_FIFO_NOT_EMPTY , /* -88 - Error , the UART FIFO not empty */ + UART_RC_UART_OPEN , /* -87 - Error try chance the configurr when the UART open */ + UART_RC_GPIO_ERR , /* -86 - Error in the Configure of the GPIO */ + UART_RC_IRDA_CONFIG_ERR , /* -85 - Illegal IrDA configuration */ + UART_RC_TX_DMA_ERR /* -84 - DMA TX Error */ + + } UART_ReturnCode; + +typedef void ( *UARTNotifyInterrupt ) ( UART_Port ) ; +//ICAT EXPORTED STRUCT + typedef struct { + UINT32 product_id ; + UINT8 data [ 20 ] ; + } InfoForBoardTracking_t; + +typedef UINT32 lfs_size_t ; +typedef UINT32 lfs_off_t ; +typedef int lfs_ssize_t ; +typedef int lfs_soff_t ; +typedef UINT32 lfs_block_t ; +typedef int ( *cb_on_player ) ( char *p_data , int len , enum_aud_player_state state ) ; +typedef int ( *cb_on_record ) ( char *p_data , int len , enum_aud_record_state state ) ; +typedef void ( *cb_headset_state ) ( UINT32 plug , UINT32 type , UINT32 event ) ; +typedef void *PCM_HANDLE_T ; +typedef void ( *cb_on_speakerpa ) ( UINT32 on ) ; +typedef unsigned char u8 ; +typedef signed char s8 ; +typedef unsigned short u16 ; +typedef short s16 ; +typedef unsigned int u32 ; +typedef int s32 ; +typedef unsigned long long u64 ; +typedef long long s64 ; +typedef unsigned int ticks ; +typedef unsigned int size_t ; +typedef unsigned char uint8_t ; +typedef u8 UINT8 ; +typedef s8 INT8 ; +typedef u16 UINT16 ; +typedef s16 INT16 ; +typedef int INT ; +typedef u64 UINT64 ; +typedef s64 INT64 ; +typedef char CHAR ; +typedef int QlOSStatus ; +typedef void * ql_task_t ; +typedef void * ql_sem_t ; +typedef void * ql_mutex_t ; +typedef void * ql_queue_t ; +typedef void * ql_timer_t ; +typedef void * ql_flag_t ; +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef int ( *pfn_play_type_cb ) ( int status ) ; +typedef int ( *pfn_record_cb ) ( int result , unsigned char *pBuf , unsigned int len ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\oem_device.ppp +//PPL Source File Name : src\\oem_device.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( * pfn_hal_looper_user_free ) ( void* user ) ; +typedef void ( *pfn_looper_event_destroy ) ( hal_looper_event_t* event ) ; +typedef void ( * pfn_hal_looper_event_processer ) ( hal_looper_t* looper , hal_looper_event_t* event , void* user ) ; +typedef void ( * pfn_hal_looper_timer_callback ) ( hal_looper_t* looper , hal_time_t now , void* user ) ; +typedef int ( * pfn_hal_looper_routine ) ( hal_looper_t* looper , void* user ) ; +typedef void ( *pfn_ini_parser ) ( void* user , const char* section , const char* name , const char* value ) ; +typedef void ( *hal_device_alarm_timer_cb_t ) ( void* user ) ; +typedef void ( *oem_notify_cb_t ) ( void* user ) ; +typedef void ( *oem_stream_dB_cb_t ) ( int dB , void* user ) ; +typedef void ( *oem_stream_has_data_cb_t ) ( const void* data , size_t size , void* user ) ; +typedef void ( *oem_tone_cb_t ) ( void* user ) ; +typedef int oem_socket_t ; +typedef void * oem_thread_id_t ; +typedef void* ( *oem_thread_function_t ) ( void* arg ) ; +typedef void* oem_semaphore_t ; +typedef void* oem_mutex_t ; +typedef unsigned char u8 ; +typedef signed char s8 ; +typedef unsigned short u16 ; +typedef short s16 ; +typedef unsigned int u32 ; +typedef int s32 ; +typedef unsigned long long u64 ; +typedef long long s64 ; +typedef unsigned int ticks ; +typedef unsigned int size_t ; +typedef unsigned char uint8_t ; +typedef u8 UINT8 ; +typedef s8 INT8 ; +typedef u16 UINT16 ; +typedef s16 INT16 ; +typedef int INT ; +typedef u64 UINT64 ; +typedef s64 INT64 ; +typedef char CHAR ; +typedef void ( *QL_NW_EventHandlerFunc_t ) ( unsigned int ind_flag , void *ind_msg_buf , unsigned int ind_msg_len , void *contextPtr ) ; +typedef int QlOSStatus ; +typedef void * ql_task_t ; +typedef void * ql_sem_t ; +typedef void * ql_mutex_t ; +typedef void * ql_queue_t ; +typedef void * ql_timer_t ; +typedef void * ql_flag_t ; +typedef unsigned int size_t ; +typedef unsigned char BOOL ; +typedef unsigned char UINT8 ; +typedef unsigned short UINT16 ; +typedef unsigned long UINT32 ; +typedef char CHAR ; +typedef signed char INT8 ; +typedef signed short INT16 ; +typedef signed long INT32 ; +typedef unsigned char Bool ; +typedef UINT8 BYTE ; +typedef UINT8 UBYTE ; +typedef UINT16 UWORD ; +typedef UINT16 WORD ; +typedef INT16 SWORD ; +typedef UINT32 DWORD ; +typedef unsigned long long UINT64 ; +typedef void* VOID_PTR ; +typedef volatile UINT8 *V_UINT8_PTR ; +typedef volatile UINT16 *V_UINT16_PTR ; +typedef volatile UINT32 *V_UINT32_PTR ; +typedef unsigned int U32Bits ; +typedef BOOL BOOLEAN ; +typedef const char * SwVersion ; +//ICAT EXPORTED ENUM + typedef enum + { + PMU_POR = 1 , + PMU_EMR , + PMU_WDTR = ( PMU_EMR+2 ) + } PMU_LastResetStatus; + +//ICAT EXPORTED STRUCT + typedef struct + { + UINT32 dbID ; + UINT32 filterBitLength ; + UINT32 reserved [ 6 ] ; + } DIAG_Nvm_Filter_File_Header_t; + +//ICAT EXPORTED ENUM + typedef enum + { + LOG_DISABLE = 0x0 , + UART_LOG_ENABLE = 0x1 , + ACAT_LOG_ENABLE = 0x2 + } Log_ConfigE; + +//ICAT EXPORTED ENUM + typedef enum + { + MSG_DISABLE = 0x0 , + ACAT_MSG_ENABLE = 0x1 + } Msg_ConfigE; + +//ICAT EXPORTED ENUM + typedef enum + { + RTI_LOG_DISABLE = 0x0 , + RTI_DUMP_ENABLE = 0x1 , + RTI_TASK_ENABLE = 0x2 , + RTI_MIPS_ENABLE = 0x3 + } RTI_ConfigE; + +//ICAT EXPORTED ENUM + typedef enum + { + SD_ACAT_LOG_DISABLE = 0x0 , + SD_ACAT_LOG_ENABLE = 0x1 + } SD_ACAT_LOG_ConfigE; + +//ICAT EXPORTED ENUM + typedef enum + { + SD_DUMP_BIN_DISABLE = 0x0 , + SD_DUMP_BIN_ENABLE = 0x1 + } SD_Dump_bin_ConfigE; + +//ICAT EXPORTED STRUCT + typedef struct { + Log_ConfigE log_cfg ; + Msg_ConfigE msg_cfg ; + RTI_ConfigE rti_cfg ; + } Log_ConfigS; + +//ICAT EXPORTED STRUCT + typedef struct { + SD_ACAT_LOG_ConfigE log_cfg ; + SD_Dump_bin_ConfigE dump_cfg ; + } SD_ConfigS; + +//ICAT EXPORTED ENUM + typedef enum + { + YMODEM_DISABLE = 0x0 , + YMODEM_ENABLE = 0x1 + } Ymodem_Dump_config; + +//ICAT EXPORTED STRUCT + typedef struct { + Ymodem_Dump_config config ; + } Ymodem_Dump_type; + +//ICAT EXPORTED ENUM + typedef enum { + DIAG_DEV_USB , + DIAG_DEV_SD , + DIAG_DEV_FS , + DIAG_DEV_UART , + DIAG_DEV_SPI , + DIAG_DEV_SHM , + DIAG_DEV_NONE + } DIAG_DEV_TYPE; + +typedef UINT8 UART_Activity ; +//ICAT EXPORTED STRUCT + typedef struct /* This is structure of the UART Configuration */ + { + UART_OpMode opMode ; /* fifo mode , non fifo mode or DMA for basic interface*/ + UART_TriggerLevel triggerLevel ; /* the trigger level interrupt on 1 , 8 , 16 , 32 */ + UART_BaudRates baudRate ; /* the rate of the transmit and the receive up to 111520 ( default - 9600 ) .*/ + UART_WordLen numDataBits ; /* 5 , 6 , 7 , or 8 number of data bits in the UART data frame ( default - 8 ) . */ + UART_StopBits stopBits ; /* 1 , 1.500000 or 2 stop bits in the UART data frame ( default - 1 ) . */ + UART_ParityTBits parityBitType ; /* Even , Odd or no-parity bit type in the UART data frame ( default - Non ) . */ + UART_InterfaceType interfaceType ; /* number of interface that the UART driver supplies ( default - UART_IF_TYPE_L2 ) */ + BOOL modemSignal ; /* enable operate modem - TRUE , disable modem - FALSE */ + BOOL flowControl ; /* enable Auto flow Control - TRUE , disable Auto flow Control - FALSE */ + UINT8 sleepMode ; /* enable sleep mode - TRUE , more fine control - see UARTSleepMode enum */ + BOOL auto_baud ; /* enable auto_baud , auto-baud-rate detection within the UART ( default - FALSE ) */ + UART_SIRConfigure sirIrDA ; + } UARTConfiguration; + +//ICAT EXPORTED ENUM + typedef enum // change the order -1 to + + { + UART_RC_OK = 1 , /* 1 - no errors */ + + UART_RC_PORT_NUM_ERROR = -100 , /* -100 - Error in the UART port number */ + UART_RC_NO_DATA_TO_READ , /* -99 - Eror no data to read from the FIFO UART */ + UART_RC_ILLEGAL_BAUD_RATE , /* -98 - Error in the UART Bayd Rate */ + UART_RC_UART_PARITY_BITS_ERROR , /* -97 - Error in parity bit */ + UART_RC_UART_ONE_STOP_BIT_ERROR , /* -96 - Error in one stop bit */ + UART_RC_ONE_HALF_OR_TWO_STOP_BIT_ERROR , /* -95 - Error in two stop bit */ + UART_RC_BAD_INTERFACE_TYPE , /* -94 - Error in the Interface Type */ + UART_RC_UART_NOT_AVAILABLE , /* -93 - Error in try to open UART that is open */ + UART_RC_NO_DATA_TO_WRITE , /* -92 - Error No data to writ the len = 0 */ + UART_RC_NOT_ALL_BYTE_WRITTEN , /* -91 - Error Not all the Byte write to the UART FIFO */ + UART_RC_ISR_ALREADY_BIND , /* -90 - Error try to bind ISR for Basic Interface */ + UART_RC_WRONG_ISR_UNBIND , /* -89 - Error in the UnBind ISR for Basic Interface */ + UART_RC_FIFO_NOT_EMPTY , /* -88 - Error , the UART FIFO not empty */ + UART_RC_UART_OPEN , /* -87 - Error try chance the configurr when the UART open */ + UART_RC_GPIO_ERR , /* -86 - Error in the Configure of the GPIO */ + UART_RC_IRDA_CONFIG_ERR , /* -85 - Illegal IrDA configuration */ + UART_RC_TX_DMA_ERR /* -84 - DMA TX Error */ + + } UART_ReturnCode; + +typedef void ( *UARTNotifyInterrupt ) ( UART_Port ) ; +typedef unsigned int size_t ; +typedef char CHAR ; +typedef unsigned char UCHAR ; +typedef int INT ; +typedef unsigned int UINT ; +typedef long LONG ; +typedef unsigned long ULONG ; +typedef short SHORT ; +typedef unsigned short USHORT ; +//ICAT EXPORTED ENUM + typedef enum + { + OSA_TASK_READY , + OSA_TASK_COMPLETED , + OSA_TASK_TERMINATED , + OSA_TASK_SUSPENDED , + OSA_TASK_SLEEP , + OSA_TASK_QUEUE_SUSP , + OSA_TASK_SEMAPHORE_SUSP , + OSA_TASK_EVENT_FLAG , + OSA_TASK_BLOCK_MEMORY , + OSA_TASK_MUTEX_SUSP , + OSA_TASK_STATE_UNKNOWN , + } OSA_TASK_STATE; + +//ICAT EXPORTED STRUCT + typedef struct OSA_TASK_STRUCT + { + char *task_name ; /* Pointer to thread ' s name */ + unsigned int task_priority ; /* Priority of thread ( 0 -255 ) */ + unsigned long task_stack_def_val ; /* default vaule of thread */ + OSA_TASK_STATE task_state ; /* Thread ' s execution state */ + unsigned long task_stack_ptr ; /* Thread ' s stack pointer */ + unsigned long task_stack_start ; /* Stack starting address */ + unsigned long task_stack_end ; /* Stack ending address */ + unsigned long task_stack_size ; /* Stack size */ + unsigned long task_run_count ; /* Thread ' s run counter */ + + } OSA_TASK; + +typedef void *OsaRefT ; +typedef UINT8 OSA_STATUS ; +typedef UINT8 OS_STATUS ; +typedef void* OS_HISR ; +typedef void* OSATaskRef ; +typedef void* OSAHISRRef ; +typedef void* OSASemaRef ; +typedef void* OSAMutexRef ; +typedef void* OSAMsgQRef ; +typedef void* OSAMailboxQRef ; +typedef void* OSAPoolRef ; +typedef void* OSATimerRef ; +typedef void* OSAFlagRef ; +typedef void* OSAPartitionPoolRef ; +typedef void* OSTaskRef ; +typedef void* OSSemaRef ; +typedef void* OSMutexRef ; +typedef void* OSMsgQRef ; +typedef void* OSMailboxQRef ; +typedef void* OSPoolRef ; +typedef void* OSTimerRef ; +typedef void* OSFlagRef ; +typedef UINT8 OS_STATUS ; +typedef OsaTimerStatusParamsT OSATimerStatus ; +typedef void* OSATaskRef ; +typedef void* OSAHISRRef ; +typedef void* OSAMsgQRef ; +typedef void* OSAMailboxQRef ; +typedef void* OSAPartitionPoolRef ; +typedef UINT8 OS_STATUS ; +typedef unsigned long UNSIGNED ; +typedef long SIGNED ; +typedef unsigned char DATA_ELEMENT ; +typedef DATA_ELEMENT OPTION ; +typedef DATA_ELEMENT BOOLEAN ; +typedef int STATUS ; +typedef unsigned char UNSIGNED_CHAR ; +typedef unsigned int UNSIGNED_INT ; +typedef int INT ; +typedef unsigned long * UNSIGNED_PTR ; +typedef unsigned char * BYTE_PTR ; +typedef void ( *CommandAddress ) ( void ) ; +typedef char* CommandProto ; +typedef const char * DiagDBVersion ; +//ICAT EXPORTED ENUM + typedef enum + { + PROTOCOL_TYPE_0 = 0 , + MAX_PROTOCOL_TYPES + } ProtocolType; + +//ICAT EXPORTED STRUCT + typedef struct + { + BOOL bEnabled ; // enable / disable the trace logging feature + ProtocolType eProtocolType ; // protocol type for communication with ICAT , currently only protocol type 0 is supported + UINT16 nMaxDataPerTrace ; // for each trace , what is the maximum data length to accompany the trace , in protocol type 0 , this is relevant only to DSP messages + } DiagLoggerDefs; + +typedef void ( *TIMER_CALLBACK_FUNCTION ) ( UINT8 ) ; +typedef void ( *ACC_TIMER_CALLBACK ) ( UINT32 ) ; +typedef int TIMER_STATUS ; +typedef int TIMER_ID ; +//ICAT EXPORTED ENUM + typedef enum + { + PM_RC_OK = 0 , + PM_RC_FAIL , // General Failure + PM_RC_ALREADY_EXISTS // Exit function since required target alrteady exists + } PM_ReturnCodeE; + +typedef void ( *PM_CallbackFuncDDRstateT ) ( BOOL b_DDR_ready ) ; +typedef unsigned long long UINT64 ; +typedef unsigned long TimeIn32KhzUnit ; +typedef void ( *TickCallbackPtr ) ( UINT32 ) ; +typedef TimeIn32KhzUnit ( *SuspendCallbackPtr ) ( void ) ; +typedef void ( *PrepareTimeCallbackPtr ) ( void ) ; +typedef void ( *GPIOCallback ) ( void ) ; +//ICAT EXPORTED ENUM + typedef enum + { + GPIO_PIN_NOT_ASSIGNED = -1 , + + GPIO_PIN_0=0 , GPIO_PIN_1 , GPIO_PIN_2 , GPIO_PIN_3 , GPIO_PIN_4 , GPIO_PIN_5 , GPIO_PIN_6 , GPIO_PIN_7 , + GPIO_PIN_8 , GPIO_PIN_9 , GPIO_PIN_10 , GPIO_PIN_11 , GPIO_PIN_12 , GPIO_PIN_13 , GPIO_PIN_14 , GPIO_PIN_15 , + GPIO_PIN_16 , GPIO_PIN_17 , GPIO_PIN_18 , GPIO_PIN_19 , GPIO_PIN_20 , GPIO_PIN_21 , GPIO_PIN_22 , GPIO_PIN_23 , + GPIO_PIN_24 , GPIO_PIN_25 , GPIO_PIN_26 , GPIO_PIN_27 , GPIO_PIN_28 , GPIO_PIN_29 , GPIO_PIN_30 , GPIO_PIN_31 , + GPIO_PIN_32 , + // #ifndef SILICON_PV2 + GPIO_PIN_33 , GPIO_PIN_34 , GPIO_PIN_35 , GPIO_PIN_36 , GPIO_PIN_37 , GPIO_PIN_38 , GPIO_PIN_39 , + GPIO_PIN_40 , GPIO_PIN_41 , GPIO_PIN_42 , GPIO_PIN_43 , GPIO_PIN_44 , GPIO_PIN_45 , GPIO_PIN_46 , GPIO_PIN_47 , + GPIO_PIN_48 , GPIO_PIN_49 , GPIO_PIN_50 , GPIO_PIN_51 , GPIO_PIN_52 , GPIO_PIN_53 , GPIO_PIN_54 , GPIO_PIN_55 , + GPIO_PIN_56 , GPIO_PIN_57 , GPIO_PIN_58 , GPIO_PIN_59 , GPIO_PIN_60 , GPIO_PIN_61 , GPIO_PIN_62 , GPIO_PIN_63 , + // #endif // _TAVOR_HARBELL_ + + // #if 1 // quectel define for build defined ( GPIO_128_ENTRIES ) + GPIO_PIN_64 , GPIO_PIN_65 , GPIO_PIN_66 , GPIO_PIN_67 , GPIO_PIN_68 , GPIO_PIN_69 , GPIO_PIN_70 , GPIO_PIN_71 , + GPIO_PIN_72 , GPIO_PIN_73 , GPIO_PIN_74 , GPIO_PIN_75 , GPIO_PIN_76 , GPIO_PIN_77 , GPIO_PIN_78 , GPIO_PIN_79 , + GPIO_PIN_80 , GPIO_PIN_81 , GPIO_PIN_82 , GPIO_PIN_83 , GPIO_PIN_84 , GPIO_PIN_85 , GPIO_PIN_86 , GPIO_PIN_87 , + GPIO_PIN_88 , GPIO_PIN_89 , GPIO_PIN_90 , GPIO_PIN_91 , GPIO_PIN_92 , GPIO_PIN_93 , GPIO_PIN_94 , GPIO_PIN_95 , + GPIO_PIN_96 , GPIO_PIN_97 , GPIO_PIN_98 , GPIO_PIN_99 , GPIO_PIN_100 , GPIO_PIN_101 , GPIO_PIN_102 , GPIO_PIN_103 , + GPIO_PIN_104 , GPIO_PIN_105 , GPIO_PIN_106 , GPIO_PIN_107 , GPIO_PIN_108 , GPIO_PIN_109 , GPIO_PIN_110 , GPIO_PIN_111 , + GPIO_PIN_112 , GPIO_PIN_113 , GPIO_PIN_114 , GPIO_PIN_115 , GPIO_PIN_116 , GPIO_PIN_117 , GPIO_PIN_118 , GPIO_PIN_119 , + GPIO_PIN_120 , GPIO_PIN_121 , GPIO_PIN_122 , GPIO_PIN_123 , GPIO_PIN_124 , GPIO_PIN_125 , GPIO_PIN_126 , GPIO_PIN_127 , + // #endif // INTEL_2CHIP_PLAT_BVD + GPIO_MAX_AMOUNT_OF_PINS + + + + } GPIO_PinNumbers; + +//ICAT EXPORTED ENUM + typedef enum + { + GPIO_RC_OK = 1 , + + GPIO_RC_INVALID_PORT_HANDLE = -100 , + GPIO_RC_NOT_OUTPUT_PORT , + GPIO_RC_NO_TIMER , + GPIO_RC_NO_FREE_HANDLE , + GPIO_RC_AMOUNT_OUT_OF_RANGE , + GPIO_RC_INCORRECT_PORT_SIZE , + GPIO_RC_PORT_NOT_ON_ONE_REG , + GPIO_RC_INVALID_PIN_NUM , + GPIO_RC_PIN_USED_IN_PORT , + GPIO_RC_PIN_NOT_FREE , + GPIO_RC_PIN_NOT_LOCKED , + GPIO_RC_NULL_POINTER , + GPIO_RC_PULLED_AND_OUTPUT , + GPIO_RC_INCORRECT_PORT_TYPE , + GPIO_RC_INCORRECT_TRANSITION_TYPE , + GPIO_RC_INCORRECT_DEBOUNCE , + GPIO_RC_INCORRECT_DIRECTION , + GPIO_RC_INCORRECT_INIT_VALUE , + GPIO_RC_INTC_ERROR , + GPIO_RC_PRM_ERROR , + GPIO_RC_PIN_LOCKED , + } GPIO_ReturnCode; + +//ICAT EXPORTED ENUM + typedef enum + { + GPIO_PIN_FREE_FOR_USE = 0 , + GPIO_PIN_USE_IN_PORT , + GPIO_PIN_USE_IN_INTERRUPT , + GPIO_PIN_USE_IN_PORT_WITH_INTERRUPT , + GPIO_PIN_LOCKED + } GPIO_PinUsage; + +//ICAT EXPORTED STRUCT + typedef struct + { + GPIO_PinUsage pinUsage ; + GPIOPinDirection direction ; + } GPIO_PinStatus; + +//ICAT EXPORTED ENUM + typedef enum + { + GPIO_INITIAL_VALUE_NO_CHANGE = 0 , + GPIO_INITIAL_VALUE_LOW=0 , + GPIO_INITIAL_VALUE_HIGH + } GPIO_BitInitialValue; + +//ICAT EXPORTED ENUM + typedef enum + { + GPIO_PULL_UP_DOWN_DISABLE = 0 , + GPIO_PULL_UP_ENABLE , + GPIO_PULL_DOWN_ENABLE + } GPIO_PullUpDown; + +//ICAT EXPORTED STRUCT + typedef struct + { + GPIO_PinNumbers pinNumber ; + GPIOPinDirection direction ; + GPIOTransitionType transitionType ; + GPIO_Debounce debounce ; + GPIOPullUpDown pullUpDown ; + GPIO_BitInitialValue initialValue ; + } GPIO_PinConfiguration; + +typedef void ( *GPIO_ISR ) ( void ) ; +typedef UINT32 INTC_InterruptPriorityTable [ MAX_INTERRUPT_CONTROLLER_SOURCES ] ; +typedef UINT32 INTC_InterruptInfo ; +typedef void ( *INTC_ISR ) ( INTC_InterruptInfo interruptInfo ) ; +typedef void ( *PMCNotifyEventFunc ) ( UINT64 eventRegs ) ; +typedef void ( *PMCGetStatusNotifyFunc ) ( UINT16 status ) ; +typedef void ( *PMCReadCallback ) ( UINT8 *dataBuffPtr , UINT16 dataSize , UINT16 userId ) ; +typedef void ( *PMCWriteCallback ) ( UINT16 dataBuffPtr ) ; +typedef void ( *PMCGetGPADCValueNotifyFunc ) ( PMC_adc_reg_t reg , UINT16 value ) ; +typedef void ( * ReadingCallback ) ( int ) ; +typedef void ( * LTETempReadingCallback ) ( unsigned short , unsigned short ) ; +typedef void ( * ReadingCallbackBoth ) ( BOOL , int , int ) ; +typedef union + { + UINT8 autoControl ; + UINT8 autoControl2 ; + UINT8 manControl ; + } adcModeCntrl_t ; +typedef union + { + UINT64 all ; + Registers_ts regs ; + } PMCEvents ; +//ICAT EXPORTED ENUM + typedef enum + { + SHD_POWER_DOWN , + SHD_RESET , + SHD_GHOST , + SHD_SW_ERROR /* EEHandler triggered the reset */ + } ShutDownType_te; + +//ICAT EXPORTED ENUM + typedef enum + { + RR_NORMAL_POWER_ON = 0x00 , // default , not combined with others + RR_WATCH_DOG_TIMEOUT = 0x01 , + RR_SOFTWARE_GENERATED = 0x02 , + RR_CHARGING_BATTERY = 0x04 , + RR_LOW_BATTERY = 0x08 , + RR_ALARM_POWER_ON = 0x10 , + RR_EXT_POWER_ON = 0x20 + } + StartupReason_te; + +//ICAT EXPORTED ENUM + typedef enum + { + RE_RTC_ALARM = 0x01 + } StartupExtInd_te; + +typedef BOOL ( *DiagPSisRunningFn ) ( void ) ; +typedef UINT8 u8_t ; +typedef UINT16 u16_t ; +typedef UINT32 u32_t ; +typedef UINT64 u64_t ; +typedef INT8 s8_t ; +typedef INT16 s16_t ; +typedef INT32 s32_t ; +typedef void* msg_t ; +typedef u32_t mem_ptr_t ; +typedef union { + ip_addr_t ip4 ; + ip6_addr_t ip6 ; + } ipX_addr_t ; +typedef s8_t err_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef size_t mem_size_t ; +typedef UINT32 sys_prot_t ; +typedef void * sys_mutex_t ; +typedef void * sys_sem_t ; +typedef void * sys_mbox_t ; +typedef void * sys_thread_t ; +typedef void ( *printCallback ) ( char *printstr ) ; +typedef void ( *lwip_thread_fn ) ( void *pArgs ) ; +typedef err_t ( *lwip_run_entry ) ( void *pArgs ) ; +typedef void ( * socket_callback ) ( int s , int evt , u16_t len ) ; +typedef u32_t socklen_t ; +typedef unsigned char uint8 ; +typedef signed char int8 ; +typedef unsigned short int uint16 ; +typedef signed short int int16 ; +typedef unsigned int uint32 ; +typedef signed int int32 ; +typedef unsigned long long uint64 ; +typedef signed long long int64 ; +typedef int QuecOSStatus ; +typedef uint8 data_t ; +typedef uint32 datasize_t ; +typedef uint32 node_cnt_t ; +typedef int32 linklist_id_t ; +typedef linklist_t * linklist_handler_t ; +typedef uint32 quec_tcb_id_t ; +typedef linklist_handler_t QuecTCBLinklist_t ; +typedef OSTaskRef quec_task_t ; +typedef OSSemaRef quec_sem_t ; +typedef OSMutexRef quec_mutex_t ; +typedef OSMsgQRef quec_queue_t ; +typedef OSMailboxQRef quec_mailbox_t ; +typedef OSFlagRef quec_flag_t ; +typedef OSTimerRef quec_timer_t ; +typedef OSATimerStatus quec_timer_status_t ; +typedef void ( * task_delete_work_cb_t ) ( task_delete_result_t * task_delete_result ) ; +typedef union + { + / / quec_ioctl_default_type pin_state ; / / dcd , ri state + quec_pin_level_value_e pin_level ; + } quec_ioctl_param ; +typedef unsigned char BOOL ; +typedef unsigned char UINT8 ; +typedef unsigned short UINT16 ; +typedef signed char INT8 ; +typedef signed short INT16 ; +typedef unsigned short WORD ; +typedef int HANDLE ; +typedef HANDLE* LPHANDLE ; +typedef unsigned char* PUINT8 ; +typedef long LONG ; +typedef char* LPCTSTR ; +typedef char* LPTSTR ; +typedef void* LPVOID ; +typedef unsigned int* LPDWORD ; +typedef unsigned int* PDWORD ; +typedef unsigned int* PUINT32 ; +typedef unsigned short TCHAR ; +typedef unsigned int UINT ; +typedef INT16 *PINT16 ; +typedef UINT16 *PUINT16 ; +typedef INT8 *PINT8 ; +typedef UINT8 *PUINT8 ; +typedef int utlReturnCode_T , *utlReturnCode_P ; +typedef const utlReturnCode_T *utlReturnCode_P2c ; +typedef unsigned int utlDataId_T , *utlDataId_P ; +typedef unsigned int size_t , ssize_t ; +typedef const utlDataId_T *utlDataId_P2c ; +typedef const utlLinkedListNode_T *utlLinkedListNode_P2c ; +typedef unsigned int utlNodeCount_T ; +typedef const utlLinkedList_T *utlLinkedList_P2c ; +typedef int utlSecond_T ; +typedef int utlNanosecond_T ; +typedef const utlRelativeTime_T *utlRelativeTime_P2c ; +typedef const utlAbsoluteTime_T *utlAbsoluteTime_P2c ; +typedef const utlVString_T *utlVString_P2c ; +typedef signed long utlTimerId_T ; +typedef unsigned long utlTimeOutCount_T , *utlTimeOutCount_P ; +typedef utlReturnCode_T ( *utlTimerFunction_P ) ( const utlTimerId_T id , + const utlTimeOutCount_T time_out_count , + void *arg_p , + const utlAbsoluteTime_P2c curr_time_p ) ; +typedef unsigned int utlMutexAttributes_T , *utlMutexAttributes_P ; +typedef unsigned int utlSemaphoreAttributes_T , *utlSemaphoreAttributes_P ; +typedef int utlStateMachineStateId_T , *utlStateMachineStateId_P ; +typedef int utlStateMachineEventId_T , *utlStateMachineEventId_P ; +typedef utlReturnCode_T ( *utlStateMachineStateFunction_P ) ( const utlStateMachine_P state_machine_p , + const utlStateMachineStateId_T state , + const utlAbsoluteTime_P2c curr_time_p , + void *arg_p ) ; +typedef utlReturnCode_T ( *utlStateMachineEventFunction_P ) ( const utlStateMachine_P state_machine_p , + const utlStateMachineStateId_T state , + const utlStateMachineEventId_T event , + const utlAbsoluteTime_P2c curr_time_p , + void *arg_p , + va_list va_arg_p ) ; +typedef const utlStateMachineEvent_T *utlStateMachineEvent_P2c ; +typedef const utlStateMachineState_T *utlStateMachineState_P2c ; +typedef unsigned int utlStateMachineFlags_T ; +typedef const utlStateMachine_T *utlStateMachine_P2c ; +//ICAT EXPORTED ENUM + typedef enum + { + MAT_E , + MAT_I , + MAT_L , + MAT_M , + MAT_O , + MAT_P , + MAT_Q , + MAT_T , + MAT_V , + MAT_X , + MAT_Z , + MAT_ampC , + MAT_ampD , + MAT_ampF , + MAT_ampS , + MAT_ampZ , + MAT_ampM , + MAT_CGMI , + MAT_CGMM , + MAT_CGMR , + MAT_CGSN , + MAT_CSCS , + MAT_CIMI , + MAT_ASTO , + MAT_GMI , + MAT_GMM , + MAT_GMR , + MAT_GSN , + MAT_GOI , + MAT_GCAP , + MAT_GCI , + MAT_IPR , + MAT_ICF , + MAT_IFC , + MAT_IDSR , + MAT_EXAMPLE , + MAT_RawAT , + MAT_A , + MAT_D , + MAT_H , + MAT_CMOD , + MAT_CBST , + MAT_CVHU , + MAT_CRLP , + MAT_CMUT , + MAT_ECHUPVT , + MAT_CREG , + MAT_CIND , + MAT_COPS , + MAT_CPOL , + MAT_CLCK , + MAT_CPWD , + MAT_CLIP , + MAT_CLIR , + MAT_COLP , + MAT_COLR , + MAT_CNAP , + MAT_CCFC , + MAT_CCWA , + MAT_CHLD , + MAT_CUSD , + MAT_CAOC , + MAT_VTS , + MAT_VTD , + MAT_CSSN , + MAT_CLCC , + MAT_CEER , + MAT_PEER , + MAT_CSQ , + MAT_starREJCUSE , + MAT_CMUX , + MAT_CPAS , + MAT_CFUN , + MAT_starCFUN , + MAT_CPIN , + MAT_CPIN2 , + MAT_EPIN , + MAT_starSIMDETEC , + MAT_CPOFF , + MAT_CTZR , + MAT_CTZU , + MAT_starCTZR , + MAT_CPBS , + MAT_CPBR , + MAT_CPBW , + MAT_CPBF , + MAT_CSIM , + MAT_CRSM , + MAT_CGLA , + MAT_CRLA , + MAT_CCHO , + MAT_CCHC , + MAT_MSTK , + MAT_starEUICC , + MAT_CACM , + MAT_CAMM , + MAT_CCWE , + MAT_CGREG , + MAT_CGATT , + MAT_CGACT , + MAT_CGDATA , + MAT_CGDCONT , + MAT_CGDSCONT , + MAT_CGQMIN , + MAT_CGQREQ , + MAT_CGEQREQ , + MAT_CGEQMIN , + MAT_GETIP , + MAT_starTGSINK , + MAT_CGSEND , + MAT_starICSSINK , + MAT_starAUTHReq , + + MAT_starCHAPAUTH , + + MAT_FCLASS , + MAT_CMGF , + MAT_starCMGF , + MAT_CMSS , + MAT_CMGS , + MAT_CMGR , + MAT_CMGW , + MAT_CSCA , + MAT_CSCB , + MAT_CNMI , + MAT_CGSMS , + MAT_CMMS , + MAT_CMGD , + MAT_CMGL , + MAT_CSMS , + MAT_CPMS , + MAT_CNMA , + MAT_CSMP , + MAT_CSDH , + MAT_CGCI , + MAT_CGOI , + MAT_VDUMP , + MAT_VPDUS , + MAT_VHDL , + MAT_VECHO , + MAT_ATDB , + MAT_starCCIREG , + MAT_CPUC , + MAT_CHUP , + MAT_CSTA , + MAT_CRC , + MAT_CMEE , + MAT_CDIP , + MAT_CPLS , + MAT_CGCMOD , + MAT_CNUM , + MAT_DS , + MAT_CGTFT , + MAT_starBAND , + MAT_starBANDIND , + MAT_starCLCK , + MAT_starMEPCG , + MAT_starENVSIM , + MAT_starCNMA , + MAT_starRSTMEMFULL , + MAT_starPOWERIND , + MAT_starFASTDORM , + MAT_starCellLock , + MAT_EEMOPT , + MAT_EEMGINFO , + MAT_ERGA , + MAT_ERTCA , + MAT_LPNWUL , + MAT_LPLOCVR , + MAT_starSYSSLEEP , + MAT_starCam_I2C , + MAT_starISP_REG , + MAT_starMRD_CDF , + MAT_starMRD_IMEI , + MAT_starMRD_MEP , + MAT_starMRD_CalInfo , + MAT_starMRD_SN , + MAT_starMRD_ITEM , + // #ifdef AT_PRODUCTION_CMNDS + MAT_starGSMTR , + // #endif + MAT_OFF , + MAT_starCGSN , + MAT_starMODEMTYPE , + MAT_dollarVTS , + MAT_starHTCCTO , + MAT_CMEMFULL , + MAT_starEHSDPA , + + + + + MAT_starFDY , + MAT_xorSYSINFO , + MAT_starDIALE , + MAT_starCPBC , + MAT_starFDNBYPASS , + MAT_starCSCB , + MAT_starCBMCS , + MAT_starNASCHK , + MAT_CGEQOS , + MAT_CEREG , + MAT_CGCONTRDP , + MAT_CGSCONTRDP , + MAT_CGTFTRDP , + MAT_CGEQOSRDP , + MAT_CGEREP , + MAT_CVMOD , + MAT_CEMODE , + MAT_CGPADDR , + MAT_xorCACAP , + MAT_CGCLASS , + MAT_CESQ , + MAT_BGLTEPLMN , + MAT_STARCGDFAUTH , + MAT_VZWRSRP , + MAT_VZWRSRQ , + MAT_starCGDFLT , + + MAT_STARNETACT , + MAT_STARNETREF , + MAT_STARNETDNS , + MAT_STARNETIF , + MAT_STARNETIFCM , + MAT_STARMPSAPN , + + + MAT_starMODEMRESET , + + MAT_starVZWTESTAPP , + MAT_VZWAPNE , + MAT_COPN , + MAT_starGATR , + MAT_starGRIP , + MAT_playMP3 , + MAT_starCGMR , + MAT_starCOMCFG , + MAT_starRFTEMP , + MAT_TEMPTEST , + MAT_BANSELCT , + MAT_SYSSLEEP , + MAT_PSSDC , + MAT_starCGATT , + MAT_CGPIAF , + MAT_CIREG , + MAT_starUSBT , + MAT_starLTECOEX , + MAT_LTEPOWER , + MAT_LTETR , + MAT_starCSQ , + MAT_MAXPOWER , + MAT_SIMDETEC , + MAT_APPPIN , + MAT_CPLMNS , + MAT_starMOBILEDATA , + MAT_MCCMNCCC , + MAT_WS46 , + MAT_starCELL , + MAT_CISRVCC , + MAT_CEVDP , + MAT_CEUS , + /* add for BT SAP */ + MAT_BTSCNCT , + MAT_BTSDISSCNCT , + MAT_BTSTAPDU , + MAT_BTSTATR , + MAT_BTSCTRL , + MAT_BTSCRSTAT , + MAT_BTSTP , + MAT_starWBAMR , + MAT_CNMPSD , + MAT_starREGMODE , + MAT_starIMLCONFIG , + MAT_CCLK , + MAT_starURSLCT , + MAT_starCBRAT , + MAT_starSECCAP , + MAT_starLTEBAND , + MAT_starPSTHRESHOLD , + MAT_CACL , + MAT_LPECID , + MAT_LPOTDOAABORT , + MAT_LPOTDOAREQ , + MAT_starCISCC , + MAT_CIREP , + MAT_CSC , + MAT_OPERCFG , + MAT_starPSDC , + MAT_starCIIND , + MAT_CEN , + MAT_CNEM , + MAT_CAVIMS , + MAT_CASIMS , + MAT_CMMIVT , + MAT_starIMSSRV , + MAT_CPSMS , + MAT_CEDRXS , + MAT_CEDRXRDP , + MAT_CCIOTOPT , + MAT_CRCES , + MAT_CSCON , + MAT_CIPCA , + MAT_CABTSR , + MAT_CABTRDP , + MAT_CGAPNRC , + MAT_MPBK , + MAT_CSODCP , + MAT_CRTDCP , + + MAT_LOG , + MAT_starDIALMODE , + MAT_starAPNMODE , + MAT_starAGDCONT , + MAT_starAGACT , + MAT_starLWIPCTRL , + MAT_starNTP , + MAT_starCGDCONT , + MAT_starMTU , + MAT_plusSWITCHSIM , + MAT_plusQDSIM , + + + + + MAT_startECCLIST , + MAT_starISIMAID , + MAT_CSSAC , + MAT_MEDCR , + + MAT_STARREADVER , + MAT_RESET , + MAT_RSTSET , + + MAT_DNS , + MAT_dollarMYPOWEROFF , + MAT_dollarMYSOCKETLED , + MAT_dollarMYGMR , + MAT_dollarMYCCID , + MAT_dollarMYNETURC , + MAT_dollarMYTYPE , + MAT_dollarMYNETCON , + MAT_dollarMYNETACT , + MAT_dollarMYIPFILTER , + MAT_dollarMYNETSRV , + MAT_dollarMYNETOPEN , + MAT_dollarMYNETREAD , + MAT_dollarMYNETWRITE , + MAT_dollarMYNETCLOSE , + MAT_dollarMYNETACK , + MAT_dollarMYNETACCEPT , + MAT_dollarMYNETCREATE , + MAT_dollarMYFTPOPEN , + MAT_dollarMYFTPCLOSE , + MAT_dollarMYFTPSIZE , + MAT_dollarMYFTPGET , + MAT_dollarMYFTPPUT , + MAT_dollarMYBCCH , + MAT_dollarMYBAND , + MAT_dollarMYTIMEUPDATE , + MAT_dollarMYLACID , + MAT_dollarMYGPSPOS , + + MAT_QFOTA , + + + + MAT_dollarMYGETKEY , + MAT_dollarMYSETINFO , + MAT_dollarMYSYSINFO , + MAT_dollarMYSYSINFOURC , + MAT_dollarMYDOWNLOAD , + MAT_QICSGP , + MAT_QIACT , + MAT_QIDEACT , + MAT_QIOPEN , + MAT_QICLOSE , + MAT_QISTATE , + MAT_QISEND , + MAT_QIRD , + MAT_QISENDEX , + MAT_QISWTMD , + MAT_QIGETERROR , + MAT_QISDE , + MAT_QICFG , + MAT_QFTPCFG , + MAT_QFTPOPEN , + MAT_QFTPCLOSE , + MAT_QFTPCWD , + MAT_QFTPPWD , + MAT_QFTPPUT , + MAT_QFTPGET , + MAT_QFTPSIZE , + MAT_QFTPDEL , + MAT_QFTPMKDIR , + MAT_QFTPRMDIR , + MAT_QFTPMDTM , + MAT_QFTPRENAME , + MAT_QFTPLIST , + MAT_QFTPNLST , + MAT_QFTPMLSD , + MAT_QFTPLEN , + MAT_QFTPSTAT , + MAT_TCPKEEPALIVE , + + + + + MAT_xorHVER , + MAT_CDU , + MAT_starPROD , + MAT_NVMFLUSH , + MAT_starSLT , + MAT_starPMICREG , + MAT_starREGRW , + MAT_ZDON , + MAT_starASRCOPS , + MAT_starICCID , + MAT_CEN1 , + MAT_CEN2 , + MAT_starSULOGCFG , + + MAT_starWIFICTRL , + + MAT_starSIMPOLL , + MAT_cellinfo , + MAT_starEPIN , + MAT_starVER , + + + + MAT_starMRDBACKUP , + MAT_starSPN , + MAT_CMRSS , + MAT_CMGSS , + MAT_CMSMS , + MAT_CMGMS , + MAT_UNKNOWN , + MAT_CMD_UNKNOWN = MAT_UNKNOWN , + + /* response type for MAT */ + MAT_RSP_UNKNOWN = 1000 , + MAT_RSP_OK , + MAT_RSP_ERROR , + MAT_RSP_CME_ERROR , + MAT_RSP_CMS_ERROR , + MAT_RSP_BUSY , + + /* indication type for MAT */ + MAT_IND_CONNECT , + MAT_IND_NO_CARRIER , + MAT_IND_RING , + MAT_IND_NO_ANSWER , + MAT_IND_NO_DIALTONE , + + /* CC Indication */ + MAT_IND_CRING , + MAT_IND_CCCM , + MAT_IND_CSSU , + MAT_IND_CSSI , + MAT_IND_CR , + MAT_IND_CEI , + + /* DEV Indication */ + MAT_IND_SYSCONFIG , + MAT_IND_EEMGINFOBASIC , + MAT_IND_EEMGINFOSVC , + MAT_IND_EEMGINFOPS , + MAT_IND_EEMGINFONC , + MAT_IND_EEMGINBFTM , + MAT_IND_EEMUMTSSVC , + MAT_IND_EEMUMTSINTRA , + MAT_IND_EEMUMTSINTER , + MAT_IND_EEMUMTSINTERRAT , + MAT_IND_EEMLTESVC , + MAT_IND_EEMLTEINTRA , + MAT_IND_EEMLTEINTER , + MAT_IND_EEMLTEINTERRAT , + MAT_IND_SNETIND , + MAT_IND_LPNWDL , + MAT_IND_LPSTATE , + MAT_IND_LPMEAST , + MAT_IND_LPRESET , + MAT_IND_DIP , + MAT_IND_LPOTDOAMEAS , + /* MM Indication */ + MAT_IND_CACAP , + MAT_IND_MODE , + MAT_IND_COPN , + MAT_IND_NITZ , + MAT_IND_MSRI , + MAT_IND_HOME_ZONE , + + /* MSG Indication */ + MAT_IND_MMSG , + MAT_IND_CMTI , + MAT_IND_CBM , + MAT_IND_CDS , + MAT_IND_CMT , + + /* PB Indication */ + MAT_IND_SCPBR , + MAT_IND_MPBK , + + /* PS Indication */ + MAT_IND_CGEQNEG , + MAT_IND_CGEV , + + /* SIM Indication */ + MAT_IND_COTA , + MAT_IND_REFRESH , + MAT_IND_SIM_RESET , + MAT_IND_CARDMODE , + MAT_IND_SPN , + + /* SS Indication */ + MAT_IND_LPLOC , + MAT_IND_SSRC , + + /* DAT Indication */ + MAT_IND_PSSDC , + + /* the change of sim / usim availability status report */ + MAT_IND_BTSSTAT , + + MAT_IND_DSAC , + MAT_IND_ADMINDATA , + MAT_IND_CIMI , + MAT_IND_PSLOAD , + MAT_IND_RBLOOP , + MAT_IND_CELL , + MAT_IND_CIREPI , + MAT_IND_CIREPH , + MAT_IND_DATASTATUS , + MAT_IND_CEDRXP , + MAT_IND_CCIOTOPTI , + MAT_IND_CABTSRI , + MAT_IND_CIREGU , + MAT_IND_AMRCODEC , + MAT_IND_CNEC_ESM , + MAT_IND_ATREADY , + MAT_IND_PLMNLIST , + MAT_IND_WIFICELLINFO , + + MAT_CWRITESIM , + MAT_Q_QPOWD , + MAT_Q_I , + MAT_Q_E , + MAT_Q_Z , + MAT_Q_AMP_F , + MAT_Q_AMP_C , + MAT_Q_AMP_D , + MAT_Q_QPPPDROP , + MAT_Q_QDIAGPORT , + MAT_Q_DATAMODE , + MAT_Q_QPDPTIMER , + MAT_Q_QDEBOUNCE , + MAT_Q_QSPN , + MAT_Q_QSCLKCFG , + MAT_Q_IPR , + MAT_Q_IFC , + MAT_Q_QSCLK , + MAT_Q_CMUX , + MAT_Q_QNETDEVCTL , + MAT_Q_QDBGCFG , + MAT_Q_EGMR , + MAT_Q_QGMR , + + + + + + MAT_Q_CVERSION , + MAT_Q_CSUB , + MAT_Q_QINF , + MAT_Q_QURCCFG , + MAT_Q_AMP_V , + MAT_Q_AMP_W , + MAT_Q_CMEE , + MAT_Q_CFUN , + MAT_Q_CSCS , + MAT_Q_CGMI , + MAT_Q_CGMM , + MAT_Q_CGMR , + MAT_Q_CGSN , + MAT_Q_GSN , + MAT_Q_QGSN , + MAT_Q_QCCID , + MAT_Q_CCID , + MAT_Q_ICCID , + MAT_Q_GMI , + MAT_Q_GMM , + MAT_Q_GMR , + MAT_Q_QCFG , + MAT_Q_QINDCFG , + MAT_Q_QNWINFO , + MAT_Q_CSQ , + MAT_Q_QCSQ , + MAT_Q_CGREG , + MAT_Q_CEREG , + MAT_Q_CREG , + MAT_Q_CGEREP , + MAT_Q_CTZR , + MAT_Q_QENG , + MAT_Q_QLTS , + MAT_Q_QGDCNT , + MAT_Q_QAUGDCNT , + MAT_Q_QOEM , + MAT_Q_SMONC , + MAT_Q_QGPAPN , + MAT_Q_QRFTESTMODE , + MAT_Q_QRFTEST , + MAT_Q_QRXFTM , + MAT_Q_QICSGP , + MAT_Q_QIACT , + + + + MAT_Q_QIDEACT , + + MAT_Q_QPING , + + MAT_Q_MRDBACKUP , + + + + + MAT_Q_QINISTAT , + MAT_Q_QPINC , + MAT_Q_QSIMDET , + MAT_Q_QSIMSTAT , + MAT_Q_QAUDLOOP , + MAT_Q_QTTS , + MAT_Q_QAUDPLAY , + MAT_Q_QAUDSTOP , + MAT_Q_QAUDRD , + MAT_Q_QSIDET , + MAT_Q_QMIC , + MAT_Q_CLVL , + MAT_Q_QAUDMOD , + MAT_Q_QAUDPATH , + MAT_Q_QRXGAIN , + MAT_Q_QSPKPAURC , + MAT_Q_QHSDET , + MAT_Q_QSMIC , + MAT_Q_QEQTABLE , + MAT_Q_QTTSVOLUME , + MAT_Q_QCODECTABLE , + MAT_Q_QTXCODECTABLE , + MAT_Q_QDSPTABLE , + MAT_Q_QTTSDIGITMODE , + MAT_Q_QDTMF , + MAT_Q_QIIC , + MAT_Q_QTTSETUP , + MAT_Q_QDAI , + + MAT_Q_QDUMPCFG , + MAT_Q_QFLASH , + + MAT_Q_QWSETMAC , + + MAT_Q_CINDCFG , + + NUM_OF_MAT_CMD + } MATCmdType , MATRspType; + +//ICAT EXPORTED ENUM + typedef enum + { + MAT_SVC_0 , + MAT_SVC_1 , + MAT_SVC_2 , + MAT_SVC_3 , + MAT_SVC_4 , + MAT_SVC_5 , + MAT_SVC_6 , + MAT_SVC_7 , + MAT_SVC_8 , + MAT_SVC_9 , + MAT_SVC_10 , + MAT_SVC_11 , + MAT_SVC_12 , + MAT_SVC_13 , + MAT_SVC_14 , + MAT_SVC_15 , + MAT_SVC_16 , + MAT_SVC_17 , + MAT_SVC_18 , + MAT_SVC_19 , + MAT_SVC_20 , + MAT_SVC_21 , + MAT_SVC_22 , + MAT_SVC_23 , + MAT_SVC_24 , + MAT_SVC_25 , + MAT_SVC_26 , + MAT_SVC_27 , + MAT_SVC_28 , + MAT_SVC_29 , + MAT_SVC_30 , + MAT_SVC_31 , + MAT_SVC_32 , + MAT_SVC_33 , + MAT_SVC_34 , + MAT_SVC_35 , + MAT_SVC_36 , + MAT_SVC_37 , + MAT_SVC_38 , + MAT_SVC_39 , + MAT_SVC_40 , + MAT_SVC_41 , + MAT_SVC_42 , + MAT_SVC_43 , + MAT_SVC_44 , + MAT_SVC_45 , + MAT_SVC_46 , + MAT_SVC_47 , + MAT_SVC_48 , + MAT_SVC_49 , + MAT_SVC_50 , + MAT_SVC_51 , + MAT_SVC_52 , + MAT_SVC_53 , + MAT_SVC_54 , + MAT_SVC_55 , + MAT_SVC_56 , + MAT_SVC_57 , + MAT_SVC_58 , + MAT_SVC_59 , + MAT_SVC_60 , + MAT_SVC_61 , + MAT_SVC_62 , + MAT_SVC_63 , + NUM_OF_MAT_SVC + } MATSvcId; + +//ICAT EXPORTED ENUM + typedef enum + { + MAT_SIM_0 , + MAT_SIM_1 , + NUM_OF_MAT_SIM + } MATSimId; + +//ICAT EXPORTED ENUM + typedef enum { + MAT_DATA_TYPE_DECIMAL , + MAT_DATA_TYPE_STRING , + MAT_DATA_TYPE_SET , + MAT_DATA_TYPE_RANGE , + } MATDataType; + +//ICAT EXPORTED STRUCT + struct MATParameterRange + { + int min ; + int max ; + }; + +//ICAT EXPORTED STRUCT + struct MATParameterItem_T ; + // ICAT EXPORTED STRUCT + typedef union MATDataValue_U { + unsigned int decimal ; + char *string_p ; + struct MATParameterItem_T *set_p ; + struct MATParameterRange range ; + } MATDataValue; + +//ICAT EXPORTED STRUCT + typedef struct MATParameter_T + { + MATDataType type ; + BOOL is_default ; + MATDataValue value ; + } MATParameter; + +//ICAT EXPORTED ENUM + typedef enum + { + MAT_RC_NULL , + MAT_RC_OK , // OK will be sent + MAT_RC_ERROR , // ERROR will be sent + MAT_RC_CME_ERROR , // CME ERROR will be sent + MAT_RC_CMS_ERROR , // CMS ERROR will be sent + MAT_RC_RESERVED + } MATResultCode; + +//ICAT EXPORTED STRUCT + typedef struct MATParameterItem_T + { + UINT16 max_para_number ; + UINT16 num_Retparameters ; + MATParameter* RetPara ; + } MATParameterItem , MATParameterSet; + +//ICAT EXPORTED ENUM + typedef enum + { + MAT_RET_CONFIRM , + MAT_RET_INDICATION + } MATRetType; + +//ICAT EXPORTED ENUM + typedef enum + { + MAT_PAR_RESULT_CODE_OK , + MAT_PAR_RESULT_CODE_ERROR + } MATParseResultCode; + +//ICAT EXPORTED ENUM + typedef enum + { + MAT_RET_SUCCESS , + MAT_RET_TOO_MANY_PARAMETERS , + MAT_RET_CURRENT_CH_HAS_CMD_PROCESSING , + MAT_RET_PARA_TYPE_UNSUPPORT , + MAT_RET_NULL_CLINET_TAG_POINTER , + MAT_RET_NUM_PARA_ERROR , + MAT_RET_PARA_TYPE_ERROR , + MAT_RET_HANDLER_FAILURE , + MAT_RET_FIND_FREE_CHANNEL_ERROR + } MATRecvRetType; + +//ICAT EXPORTED STRUCT + typedef struct MATReturnPara_T + { + MATResultCode resultCode ; + UINT16 numItems ; + MATParameterItem* RetParaItems ; + MATRspType cmd_type ; + } MATReturnPara; + +typedef union utlAtDataValue_U { + unsigned int decimal ; + unsigned int hexadecimal ; + unsigned int binary ; + char *string_p ; + char *qstring_p ; + char *dial_string_p ; + } utlAtDataValue_T , *utlAtDataValue_P ; +typedef const utlAtParameterValue_T *utlAtParameterValue_P2c ; +typedef const utlAtParameter_T *utlAtParameter_P2c ; +typedef const utlAtDceIoConfig_T *utlAtDceIoConfig_P2c ; +typedef const utlAtSoundConfig_T *utlAtSoundConfig_P2c ; +typedef utlReturnCode_T ( *utlAtGetParameterFunction_P ) ( const utlAtParameterOp_T op , const char *command_name_p , const utlAtParameterValue_P2c parameter_values_p , const size_t num_parameters , const char *info_text_p , unsigned int *xid_p , void *arg_p ) ; +typedef utlReturnCode_T ( *utlAtSetParameterFunction_P ) ( const utlAtParameterOp_T op , const char *command_name_p , const utlAtParameterValue_P2c parameter_values_p , const size_t num_parameters , const char *info_text_p , unsigned int *xid_p , void *arg_p ) ; +typedef utlReturnCode_T ( *utlAtDceIoConfigFunction_P ) ( const utlAtDceIoConfig_P2c dce_io_config_p , void *arg_p ) ; +typedef utlReturnCode_T ( *utlAtSoundConfigFunction_P ) ( const utlAtSoundConfig_P2c sound_config_p , void *arg_p ) ; +typedef utlReturnCode_T ( *utlAtSParameterFunction_P ) ( const unsigned int parameter_num , const unsigned int parameter_value , void *arg_p ) ; +typedef utlReturnCode_T ( *utlAtSaveDialStringFunction_P ) ( const char *location_name_p , const char *dial_string_p , void *arg_p ) ; +typedef utlReturnCode_T ( *utlAtRetrieveDialStringFunction_P ) ( const char **location_name_pp , const char **dial_string_pp , void *arg_p ) ; +typedef utlReturnCode_T ( *utlAtReplyFunction_P ) ( const char *string_p , void *arg_p ) ; +typedef utlReturnCode_T ( *utlAtTxLineDataFunction_P ) ( const unsigned char *octets_p , const size_t n , void *arg_p ) ; +typedef utlReturnCode_T ( *utlAtDriverRequestFunction_P ) ( const utlAtParser_P parser_p , const utlAtDriverRequest_T request , void *arg_p , ... ) ; +typedef utlReturnCode_T ( *utlAtCommandSyntaxFunction_P ) ( const utlAtParameterOp_T op , const char *command_name_p , const utlAtParameterValue_P2c parameter_values_p , const size_t num_parameters , const char *info_text_p , unsigned int *xid_p , void *arg_p ) ; +typedef unsigned int ( *utlAtGetAtcmdTimeoutValueFunction_P ) ( const utlAtCommand_P2c cmd_p , const utlAtAsyncOp_T op ) ; +typedef int ( *utlAtcmdTimeoutErrorFunction_P ) ( unsigned int atHandle ) ; +typedef void ( *utlAtcmdContinuousTimeoutFunction_P ) ( void ) ; +typedef int ( *utlAtParserTriggerFunction_P ) ( const utlAtParser_P parser_p ) ; +typedef void ( *utlSetAutoAnswerDelay_P ) ( void *arg_p , unsigned int delay_seconds ) ; +typedef void ( *utlGetAutoAnswerDelay_P ) ( void *arg_p , unsigned short *delay_seconds ) ; +typedef utlReturnCode_T ( *utlSendToProxy_P ) ( const char *command_name_p , const utlAtParameterOp_T op , const char *parameters_string_p , unsigned int *xid_p , void *arg_p ) ; +typedef unsigned int ( *utlIsProxyReq_P ) ( const char *cmdName , utlAtParameterOp_T cmdOp , unsigned int parserId ) ; +typedef void ( *utlIncProxyTOCounter_P ) ( unsigned int incValue ) ; +typedef const utlAtCommand_T *utlAtCommand_P2c ; +typedef const utlAtDialStringOptions_T *utlAtDialStringOptions_P2c ; +typedef const utlAtAsyncResponse_T *utlAtAsyncResponse_P2c ; +typedef const utlAtAsyncResponses_T *utlAtAsyncResponses_P2c ; +typedef const utlAtParser_T *utlAtParser_P2c ; +typedef void ( *StateChangedCb ) ( UINT8 , INT32 , void * ) ; +//ICAT EXPORTED ENUM + enum + { + SIM_0 , + SIM_1 , + NUM_OF_SIM + }; + +//ICAT EXPORTED ENUM + typedef enum + { + CHANNEL_MMI , + CHANNEL_IMS , + NUM_OF_CHANNEL_TYPE + } AT_CHANNEL_TYPE; + +//ICAT EXPORTED STRUCT + typedef struct _TelAtpCtrl + { + void *taskRef ; + UINT32 iFd ; + char *path ; + UINT32 index ; + TelMsgDataMode smsDataEntryMode ; + BOOL bEnable ; + BOOL bIsSinkMode ; + + TelAtpPdpCtx pdpCtx ; + TelAtpTftCtx tftCtx ; + + UINT32 reqHandle ; + UINT32 cnmaReply ; /* used in +CNMA */ + // +CMGS and +CMGW refer to gAtSmsMessage + + Quec_TelAtpDataEntry pTelAtpDataEntry ; + + } TelAtpCtrl; + +typedef union + { + char *filename ; + __QUEC_CONFIG_ENUM config_num ; + } quec_baudrate_info_u ; +typedef void ( *WATCHDOG_Handler ) ( void ) ; +//ICAT EXPORTED ENUM + typedef enum CISGID { + CI_SG_ID_FIRST=1 , + CI_SG_ID_CC = CI_SG_ID_FIRST , + CI_SG_ID_SS , + CI_SG_ID_MM , + CI_SG_ID_PB , + CI_SG_ID_SIM , + CI_SG_ID_MSG , + CI_SG_ID_PS , + CI_SG_ID_DAT , + CI_SG_ID_DEV , + CI_SG_ID_HSCSD , + CI_SG_ID_DEB , + CI_SG_ID_ATPI , + CI_SG_ID_PL , + CI_SG_ID_OAM , + CI_SG_ID_NEXTAVAIL /* This must always be the last entry in the list */ + } _CiServiceGroupId; + +//ICAT EXPORTED ENUM + typedef enum CIRC { + CIRC_SUCCESS=0 , + CIRC_FAIL , + CIRC_INTERLINK_FAIL , /* the link between application subsystem and communication subsystem is broken */ + CIRC_SH_NULL_CONFIRM_CB , + CIRC_SH_NULL_FREEREQMEM_CB , + CIRC_SH_INVALID_HANDLE , + CIRC_SH_INVALID_OPER , + CIRC_SH_NULL_REQPARAS , + CIRC_SG_INVALID_HANDLE , + CIRC_SG_RESERVED_PRIMID , + CIRC_SG_NULL_REQPARAS , + CIRC_SG_NULL_RSPPARAS , + CIRC_NUM_RESCODES + } _CiReturnCode; + +typedef UINT16 CiReturnCode ; +//ICAT EXPORTED ENUM + typedef enum CISHOPER { + CI_SH_OPER_REGISTERSH = 0 , + CI_SH_OPER_DEREGISTERSH , + CI_SH_OPER_GETVERSION , + CI_SH_OPER_REGISTERSG , + CI_SH_OPER_DEREGISTERSG , + CI_SH_OPER_REGISTERDEFSG , + CI_SH_OPER_DEREGISTERDEFSG , + CI_SH_QUERYEXTENDED , + CI_SH_QUERYEXTENDEDSERVICEPRIM , + CI_SH_QUERYEXTENDEDSERVICEGROUP , + CI_SH_OPER_CIVERSION_NEGO_REQ , + CI_SH_OPER_CIVERSION_NEGO_CNF , + CI_SH_NUMOPERS + } CiShOper; + +typedef UINT8 CiBoolean ; +typedef unsigned char Boolean ; +typedef UINT8 CiServiceGroupID ; +typedef UINT16 CiPrimitiveID ; +typedef UINT32 CiServiceHandle ; +typedef UINT32 CiRequestHandle ; +typedef UINT32 CiIndicationHandle ; +typedef UINT32 CiShHandle ; +typedef UINT32 CiShOpaqueHandle ; +typedef UINT32 CiShRequestHandle ; +typedef UINT32 CiSgOpaqueHandle ; +typedef void ( *CiShConfirm ) ( CiShOpaqueHandle opShHandle , CiShOper oper , void* cnfParas , CiShRequestHandle opHandle ) ; +typedef void ( *CiConfirm ) ( CiSgOpaqueHandle opSgOpaqueHandle , CiServiceGroupID id , CiPrimitiveID primId , CiRequestHandle reqHandle , void* paras ) ; +typedef void ( *CiIndicate ) ( CiSgOpaqueHandle opSgOpaqueHandle , CiServiceGroupID id , CiPrimitiveID primId , CiIndicationHandle indHandle , void* paras ) ; +typedef void ( *CiShFreeReqMem ) ( CiShOpaqueHandle opShFreeHandle , CiShOper oper , void* reqParas ) ; +typedef void ( *CiShFreeCnfMem ) ( CiShOpaqueHandle opShFreeHandle , CiShOper oper , void* cnfParas ) ; +typedef void ( *CiSgFreeReqMem ) ( CiSgOpaqueHandle opSgFreeHandle , CiServiceGroupID id , CiPrimitiveID primId , void* reqParas ) ; +typedef void ( *CiSgFreeRspMem ) ( CiSgOpaqueHandle opSgFreeHandle , CiServiceGroupID id , CiPrimitiveID primId , void* rspParas ) ; +typedef void ( *CiSgFreeCnfMem ) ( CiSgOpaqueHandle opSgFreeHandle , CiServiceGroupID id , CiPrimitiveID primId , void* cnfParas ) ; +typedef void ( *CiSgFreeIndMem ) ( CiSgOpaqueHandle opSgFreeHandle , CiServiceGroupID id , CiPrimitiveID primId , void* indParas ) ; +//ICAT EXPORTED STRUCT + typedef struct CiPrimList_struct { + UINT16 size ; /* actual number of primitive IDs that are held in the pList */ + CiPrimitiveID primId [ 156 ] ; + } CiPrimitiveList; + +//ICAT EXPORTED STRUCT + typedef struct CiShOperRegisterShCnf_struct { + CiReturnCode rc ; + CiShHandle handle ; + CiShOpaqueHandle opShFreeHandle ; + CiShFreeCnfMem ciShFreeCnfMem ; + } CiShOperRegisterShCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiShOperDeregisterShCnf_struct { + CiReturnCode rc ; + } CiShOperDeregisterShCnf; + +//ICAT EXPORTED STRUCTURE + typedef struct CiShOperGetVersionReq_struct { + CiServiceGroupID id ; + } CiShOperGetVersionReq; + +//ICAT EXPORTED STRUCT + typedef struct CiShOperGetVersionCnf_struct { + CiReturnCode rc ; + CiServiceGroupID id ; + UINT8 major ; + UINT8 minor ; + } CiShOperGetVersionCnf; + +//ICAT EXPORTED STRUCTURE + typedef struct CiShOperRegisterDefaultSgReq_struct { + CiSgOpaqueHandle opSgDefCnfHandle ; + CiConfirm ciCnfDef ; + CiIndicate ciIndDef ; + CiSgOpaqueHandle opSgDefIndHandle ; + } CiShOperRegisterDefaultSgReq; + +//ICAT EXPORTED STRUCT + typedef struct CiShOperRegisterDefaultSgCnf_struct { + CiReturnCode rc ; + CiServiceHandle defHandle ; + CiSgOpaqueHandle opSgFreeDefCnfHandle ; + CiSgFreeCnfMem ciSgFreeDefCnfMem ; + CiSgOpaqueHandle opSgFreeDefIndHandle ; + CiSgFreeIndMem ciSgFreeDefIndMem ; + } CiShOperRegisterDefaultSgCnf; + +//ICAT EXPORTED STRUCTURE + typedef struct CiShOperDeregisterDefaultSgReq_struct { + CiServiceHandle defHandle ; + } CiShOperDeregisterDefaultSgReq; + +//ICAT EXPORTED STRUCT + typedef struct CiShOperDeregisterDefaultSgCnf_struct { + CiReturnCode rc ; + } CiShOperDeregisterDefaultSgCnf; + +//ICAT EXPORTED STRUCTURE + typedef struct CiShOperRegisterSgReq_struct { + CiServiceGroupID id ; + CiSgOpaqueHandle opSgCnfHandle ; + CiConfirm ciConfirm ; + CiSgOpaqueHandle opSgIndHandle ; + CiIndicate ciIndicate ; + CiSgOpaqueHandle opSgFreeReqHandle ; + CiSgFreeReqMem ciSgFreeReqMem ; + CiSgOpaqueHandle opSgFreeRspHandle ; + CiSgFreeRspMem ciSgFreeRspMem ; + } CiShOperRegisterSgReq; + +//ICAT EXPORTED STRUCT + typedef struct CiShOperRegisterSgCnf_struct { + CiReturnCode rc ; + CiServiceGroupID id ; + CiServiceHandle handle ; + CiSgOpaqueHandle opSgFreeCnfHandle ; + CiSgFreeCnfMem ciSgFreeCnfMem ; + CiSgOpaqueHandle opSgFreeIndHandle ; + CiSgFreeIndMem ciSgFreeIndMem ; + } CiShOperRegisterSgCnf; + +//ICAT EXPORTED STRUCTURE + typedef struct CiShOperDeregisterSgReq_struct { + CiServiceHandle handle ; + } CiShOperDeregisterSgReq; + +//ICAT EXPORTED STRUCT + typedef struct CiShOperDeregisterSgCnf_struct { + CiReturnCode rc ; + CiServiceGroupID id ; + } CiShOperDeregisterSgCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiShQueryExtendedReq_struct { + CiServiceGroupID id ; + } CiShQueryExtendedReq; + +//ICAT EXPORTED STRUCT + typedef struct CiShQueryExtendedCnf_struct { + CiReturnCode rc ; + CiServiceGroupID id ; + UINT16 mSize ; + CiPrimitiveList ciPrimList ; + } CiShQueryExtendedCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiShQueryExtendedServicePrimReq_struct { + CiServiceGroupID id ; + CiPrimitiveID primId ; + } CiShQueryExtendedServicePrimReq; + +//ICAT EXPORTED STRUCT + typedef struct CiShQueryExtendedServicePrimCnf_struct { + CiReturnCode rc ; + CiServiceGroupID id ; + CiPrimitiveID primId ; + CiBoolean supported ; + } CiShQueryExtendedServicePrimCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiShQueryExtendedServiceGroupReq_struct { + CiServiceGroupID id ; + } CiShQueryExtendedServiceGroupReq; + +//ICAT EXPORTED STRUCT + typedef struct CiShQueryExtendedServiceGroupCnf_struct { + CiReturnCode rc ; + CiServiceGroupID id ; + CiBoolean supported ; + } CiShQueryExtendedServiceGroupCnf; + +typedef UINT16 CiVersion ; +//ICAT EXPORTED STRUCT + typedef struct CiShOperCIVersionNegoReq_struct + { + UINT8 ccSuppVerNum ; + UINT8 ssSuppVerNum ; + UINT8 mmSuppVerNum ; + UINT8 pbSuppVerNum ; + UINT8 simSuppVerNum ; + UINT8 msgSuppVerNum ; + UINT8 psSuppVerNum ; + UINT8 datSuppVerNum ; + UINT8 devSuppVerNum ; + UINT8 hscsdSuppVerNum ; + UINT8 debSuppVerNum ; + UINT8 atpiSuppVerNum ; + UINT8 plSuppVerNum ; + UINT8 oamSuppVerNum ; + CiVersion ccSuppVer [ 10 ] ; + CiVersion ssSuppVer [ 10 ] ; + CiVersion mmSuppVer [ 10 ] ; + CiVersion pbSuppVer [ 10 ] ; + CiVersion simSuppVer [ 10 ] ; + CiVersion msgSuppVer [ 10 ] ; + CiVersion psSuppVer [ 10 ] ; + CiVersion datSuppVer [ 10 ] ; + CiVersion devSuppVer [ 10 ] ; + CiVersion hscsdSuppVer [ 10 ] ; + CiVersion debSuppVer [ 10 ] ; + CiVersion atpiSuppVer [ 10 ] ; + CiVersion plSuppVer [ 10 ] ; + CiVersion oamSuppVer [ 10 ] ; + } CiShOperCIVersionNegoReq; + +//ICAT EXPORTED STRUCT + typedef struct CiShOperCIVersionNegoCnf_struct + { + CiReturnCode rc ; + CiVersion ccVer ; + CiVersion ssVer ; + CiVersion mmVer ; + CiVersion pbVer ; + CiVersion simVer ; + CiVersion msgVer ; + CiVersion psVer ; + CiVersion datVer ; + CiVersion devVer ; + CiVersion hscsdVer ; + CiVersion debVer ; + CiVersion atpiVer ; + CiVersion plVer ; + CiVersion oamVer ; + } CiShOperCIVersionNegoCnf; + +//ICAT EXPORTED ENUM + typedef enum CI_ADDR_NUMTYPE { + CI_NUMTYPE_UNKNOWN = 0x00 , /* Unknown */ + CI_NUMTYPE_INTERNATIONAL= 0x01 , /* International Number */ + CI_NUMTYPE_NATIONAL = 0x02 , /* National Number */ + CI_NUMTYPE_NETWORK = 0x03 , /* Network Specific ( e.g. Operator Access ) */ + CI_NUMTYPE_DEDICATED = 0x04 , /* Dedicated Access Number , Short Code */ + CI_NUMTYPE_EXTENSION = 0x07 /* Reserved for Extension */ + /* << All other codes are reserved >> */ + } _CiAddrNumType; + +typedef UINT8 CiAddrNumType ; +//ICAT EXPORTED ENUM + typedef enum CI_ADDR_NUMPLAN { + CI_NUMPLAN_UNKNOWN = 0x00 , /* Unknown */ + CI_NUMPLAN_E164_E163 = 0x01 , /* ISDN / Telephony ( E.164 / E.163 ) */ + CI_NUMPLAN_DATA_X121 = 0x03 , /* Data Numbering Plan ( X.121 ) */ + CI_NUMPLAN_TELEX_F69 = 0x04 , /* Telex Numbering Plan ( F.69 ) */ + CI_NUMPLAN_NATIONAL = 0x08 , /* National Numbering Plan */ + CI_NUMPLAN_PRIVATE = 0x09 , /* Private Numbering Plan */ + CI_NUMPLAN_RSVD_CTS = 0x0b , /* Reserved for CTS */ + CI_NUMPLAN_EXTENSION = 0x0f /* Reserved for Extension */ + /* << All other codes are reserved >> */ + } _CiAddrNumPlan; + +typedef UINT8 CiAddrNumPlan ; +//ICAT EXPORTED STRUCT + typedef struct CiAddressType_struct { + CiAddrNumType NumType ; /* TON: Type of Number */ + CiAddrNumPlan NumPlan ; /* NPI: Numbering Plan Identification */ + } CiAddressType; + +//ICAT EXPORTED STRUCT + typedef struct CiAddressInfo_struct { + CiAddressType AddrType ; /* Address Type Information */ + UINT8 Length ; /* Address Length in digits */ + UINT8 Digits [ 40 ] ; /* Address Digits */ + + } CiAddressInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiOptAddressInfo_struct { + CiBoolean Present ; /* Address Info present? */ + CiAddressInfo AddressInfo ; /* Address Info */ + } CiOptAddressInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiSubaddrInfo_struct { + CiBoolean Present ; /* Subaddress Info present? */ + UINT8 Type ; /* Subaddress Type */ + UINT8 Length ; /* Subaddress Length in characters */ + UINT8 Digits [ 40 ] ; /* Subaddress Digits */ + } CiSubaddrInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiNameInfo_struct { + /*Added by cherryli@02.02.2015 for CQ84004 begin.*/ + + + + /*Added by cherryli@02.02.2015 for CQ84004 end.*/ + UINT8 Length ; /* Name Length in characters */ + UINT8 Name [ 40 ] ; /* Alphanumeric Name */ + } CiNameInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiOptNameInfo_struct { + CiBoolean Present ; /* Name Info present? */ + CiNameInfo NameInfo ; /* Name Info */ + } CiOptNameInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiCallerInfo_struct { + CiOptAddressInfo OptCallerNumber ; /* Optional Caller Phone Number */ + CiSubaddrInfo OptCallerSubaddr ; /* Optional Caller Subaddress */ + CiOptNameInfo OptCallerName ; /* Optional Caller Name ( Alpha Tag ) */ + } CiCallerInfo; + +//ICAT EXPORTED ENUM + typedef enum SSI_CALL_STATUS { + SSI_CS_CFU_ACTIVE = 0 , /* Unconditional Call Forwarding active */ + SSI_CS_CCF_ACTIVE , /* Conditional CF trigger ( s ) active */ + SSI_CS_FORWARDED , /* Call has been forwarded */ + SSI_CS_WAITING , /* Call is waiting */ + SSI_CS_CUG_CALL , /* Outgoing CUG call ( Index also present ) */ + SSI_CS_MO_BARRED , /* Outgoing ( MO ) calls are barred */ + SSI_CS_MT_BARRED , /* Incoming ( MT ) calls are barred */ + SSI_CS_CLIR_REJECTED , /* CLIR suppression rejected */ + SSI_CS_DEFLECTED , /* Call has been deflected */ + /* This one must always be last in the list! */ + SSI_NUM_CS /* Number of SSI Call Status values */ + } _CiSsiCallStatus; + +typedef UINT8 CiSsiCallStatus ; +//ICAT EXPORTED STRUCT + typedef struct CiSsiNotifyInfo_struct { + CiSsiCallStatus Status ; /* Call Status indicator */ + UINT8 CugIndex ; /* CUG Index ( if applicable ) */ + } CiSsiNotifyInfo; + +//ICAT EXPORTED ENUM + typedef enum SSU_CALL_STATUS { + SSU_CS_FORWARDED = 0 , /* Call has been forwarded */ + SSU_CS_CUG_CALL , /* Incoming CUG call ( Index also present ) */ + SSU_CS_HELD , /* Call held ( Voice Call ) */ + SSU_CS_UNHELD , /* Call retrieved ( Voice Call ) */ + SSU_CS_ENTERED_MPTY , /* Multiparty call entered ( Voice call ) */ + SSU_CS_RELEASED_HELD , /* Held call released ( Voice call ) */ + SSU_CS_FORWARD_CHECK , /* Forward Check SS message received */ + SSU_CS_ECT_ALERTING , /* Connecting with remote party in ECT */ + SSU_CS_ECT_CONNECTED , /* Connected with remote party in ECT */ + /* ( Caller Information may also be present ) */ + SSU_CS_DEFLECTED , /* Call has been deflected */ + SSU_CS_INCOMING_FORWARDED , /* Additional incoming call forwarded */ + /* This one must always be last in the list! */ + SSU_NUM_CS /* Number of SSU Call Status values */ + } _CiSsuCallStatus; + +typedef UINT8 CiSsuCallStatus ; +//ICAT EXPORTED STRUCT + typedef struct CiSsuNotifyInfo_struct { + CiSsuCallStatus Status ; /* Call Status indicator */ + UINT8 CugIndex ; /* CUG Index ( if applicable ) */ + CiCallerInfo CallerInfo ; /* Optional Caller Information */ + /* ( Caller Name info is never present ) */ + } CiSsuNotifyInfo; + +//ICAT EXPORTED ENUM + typedef enum CI_BSTYPE_SPEED { + CI_BSTYPE_SPEED_AUTOBAUD = 0 , /* Autobauding for 3.100000 kHz Non-Transparent */ + + /* 3.100000 kHz Audio definitions */ + CI_BSTYPE_SPEED_300_V21 , /* 300 bps ( V.21 ) */ + CI_BSTYPE_SPEED_1200_V22 , /* 1200 bps ( V.22 ) */ + CI_BSTYPE_SPEED_1200_75_V23 , /* 1200 / 75 bps ( V.23 ) */ + CI_BSTYPE_SPEED_2400_V22BIS , /* 2400 bps ( V.22bis ) */ + CI_BSTYPE_SPEED_2400_V26TER , /* 2400 bps ( V.26ter ) */ + CI_BSTYPE_SPEED_4800_V32 , /* 4800 bps ( V.32 ) */ + CI_BSTYPE_SPEED_9600_V32 , /* 9600 bps ( V.32 ) */ + + /* V.34 definitions */ + CI_BSTYPE_SPEED_9600_V34 , /* 9600 bps */ + CI_BSTYPE_SPEED_14400_V34 , /* 14400 bps */ + CI_BSTYPE_SPEED_19200_V34 , /* 19200 bps */ + CI_BSTYPE_SPEED_28800_V34 , /* 28800 bps */ + CI_BSTYPE_SPEED_33600_V34 , /* 33600 bps */ + + /* V.34 definitions */ + CI_BSTYPE_SPEED_1200_V120 , /* 1200 bps */ + CI_BSTYPE_SPEED_2400_V120 , /* 2400 bps */ + CI_BSTYPE_SPEED_4800_V120 , /* 4800 bps */ + CI_BSTYPE_SPEED_9600_V120 , /* 9600 bps */ + CI_BSTYPE_SPEED_14400_V120 , /* 14.400000 kbps */ + CI_BSTYPE_SPEED_19200_V120 , /* 19.200000 kbps */ + CI_BSTYPE_SPEED_28800_V120 , /* 28.800000 kbps */ + CI_BSTYPE_SPEED_38400_V120 , /* 38.400000 kbps */ + CI_BSTYPE_SPEED_48000_V120 , /* 48.000000 kbps */ + CI_BSTYPE_SPEED_56000_V120 , /* 56.000000 kbps */ + + /* V.110 or X.31 Flag Stuffing UDI definitions */ + CI_BSTYPE_SPEED_300_V110 , /* 300 bps */ + CI_BSTYPE_SPEED_1200_V110 , /* 1200 bps */ + CI_BSTYPE_SPEED_2400_V110_X31 , /* 2400 bps */ + CI_BSTYPE_SPEED_4800_V110_X31 , /* 4800 bps */ + CI_BSTYPE_SPEED_9600_V110_X31 , /* 9600 bps */ + CI_BSTYPE_SPEED_14400_V110_X31 , /* 14.400000 kbps */ + CI_BSTYPE_SPEED_19200_V110_X31 , /* 19.200000 kbps */ + CI_BSTYPE_SPEED_28800_V110_X31 , /* 28.800000 kbps */ + CI_BSTYPE_SPEED_38400_V110_X31 , /* 38.400000 kbps */ + CI_BSTYPE_SPEED_48000_V110_X31 , /* 48.000000 kbps */ + CI_BSTYPE_SPEED_56000_V110_X31 , /* 56.000000 kbps ( can also get FTM ) */ + CI_BSTYPE_SPEED_64000_X31 , /* 64.000000 kbps ( can also get FTM ) */ + + /* Bit Transparent Mode definitions */ + CI_BSTYPE_SPEED_56000_BTM , /* 56 kbps */ + CI_BSTYPE_SPEED_64000_BTM , /* 64 kbps */ + + /* PIAFS ( Personal Internet Access Forum Standard ) definitions */ + CI_BSTYPE_SPEED_32000_PIAFS , /* 56.000000 kbps ( PIAFS32k ) */ + CI_BSTYPE_SPEED_64000_PIAFS , /* 64.000000 kbps ( PIAFS64k ) */ + + /* Multimedia Call definitions */ + CI_BSTYPE_SPEED_28800_MM , /* 28.800000 kbps */ + CI_BSTYPE_SPEED_32000_MM , /* 32.000000 kbps */ + CI_BSTYPE_SPEED_33600_MM , /* 33.600000 kbps */ + CI_BSTYPE_SPEED_56000_MM , /* 56 kbps */ + CI_BSTYPE_SPEED_64000_MM , /* 64 kbps */ + + /* This one must always be last in the list! */ + CI_NUM_BSTYPE_SPEEDS /* Number of Bearer Service Speeds defined */ + } _CiBsTypeSpeed; + +typedef UINT8 CiBsTypeSpeed ; +//ICAT EXPORTED STRUCT + typedef struct CiPassword_struct { + UINT8 len ; /* length of the password , [ CI_MIN_PASSWORD_LENGTH - CI_MAX_PASSWORD_LENGTH ] */ + UINT8 data [ 16 ] ; + } CiPassword; + +//ICAT EXPORTED STRUCT + typedef struct CiString_struct { + UINT16 len ; + CHAR valStr [ 100 ] ; + } CiString; + +//ICAT EXPORTED STRUCT + typedef struct CiStringExt_struct { + UINT16 len ; + CHAR valStr [ 200 ] ; + } CiStringExt; + +//ICAT EXPORTED STRUCT + typedef struct CiNumericRange_struct { + UINT32 min ; /* lower limit */ + UINT32 max ; /* upper limit */ + } CiNumericRange; + +typedef UINT32 CiBitRange ; +//ICAT EXPORTED STRUCT + typedef struct CiNumericList_struct { + CiBoolean hasRange ; /* range of numbers are included */ + CiBoolean hasIndvNums ; /* individual numbers are included */ + UINT16 rangeLstSize ; /* actual number of CiNumericRange structures held in the range list , + ignored if hasRange is FALSE */ + CiNumericRange rangeLst [ 20 ] ; + UINT16 indvLstSize ; /* actual number of numbers held in the individual number list , + ignored if hasIndNums is FALSE */ + UINT32 indvList [ 50 ] ; + } CiNumericList; + +//ICAT EXPORTED ENUM + typedef enum CIERRACCTYPE { + CIERR_ACC_TYPE_CHV1 , /* CHV1 password */ + CIERR_ACC_TYPE_CHV2 , /* CHV2 password */ + CIERR_ACC_TYPE_UNBLOCK_CHV1 , /* Unblock CHV1 password */ + CIERR_ACC_TYPE_UNBLOCK_CHV2 , /* Unblock CHV2 password */ + CIERR_ACC_TYPE_ADMIN , /* Administrate access right */ + CIERR_ACC_TYPE_CB , /* call barring password */ + CIERR_ACC_TYPE_INTERNAL /* internal access type */ + } _CiErrAccType; + +typedef UINT8 CiErrAccType ; +//ICAT EXPORTED ENUM + typedef enum CIERRACCCAUSE { + CIERR_ACC_PRIV_REQUIRED , /* access privilege ( e.g. password ) is required to gain access right */ + CIERR_ACC_PW_NOT_INIT , /* password is not initialized or registered */ + CIERR_ACC_PW_BLOCKED , /* password was blocked because of a series of unsuccessful verification attempts */ + CIERR_ACC_RES_UNAVAIL , /* required resource is unavailable */ + CIERR_ACC_UNKNOWN /* unknown error access cause */ + } _CiErrAccCause; + +typedef UINT8 CiErrAccCause ; +//ICAT EXPORTED ENUM + typedef enum CIERRINPUTCODE { + /* wrong inputs */ + CIRC_ERR_WRONG_PASSWORD=0xF000 , /* wrong password */ + CIRC_ERR_BAD_PARAMETER , /* parameter invalid or out of range */ + CIRC_ERR_WRONG_INDEX , /* invalid index */ + CIRC_ERR_LONG_STR , /* string too long */ + CIRC_ERR_WRONG_CHAR , /* invalid characters in text string */ + CIRC_ERR_LONG_DIALSTR /* dial string too long */ + } _CiErrInputCode; + +typedef UINT16 CiErrInputCode ; +//ICAT EXPORTED ENUM + typedef enum CIERRINTERLINKCAUSE { + CIERR_INTERLINK_DOWN , /* interlink broken , receiver ' s action TBD */ + CIERR_INTERLINK_MEM_OVERFLOW /* memory overflow in the link , receiver ' s action TBD */ + } _CiErrInterLinkCause; + +typedef UINT8 CiErrInterLinkCause ; +typedef UINT8 CiEmptyPrim ; +//ICAT EXPORTED STRUCT + typedef struct CiLongAdrInfo_tag { + UINT8 Length ; /* Name Length in characters */ + UINT8 Name [ 50 ] ; /* Alphanumeric Name */ + } CiLongAdrInfo; + +//ICAT EXPORTED ENUM + typedef enum CI_EDIT_CMD_ACTION { + CIED_ADD=0 , + CIED_DELETE=1 , + CIED_REPLACE=2 , + } _CiEditCmdType; + +typedef UINT8 CiEditCmdType ; +//ICAT EXPORTED ENUM + typedef enum CICC_EMLPP_CALL_PRIORITY { + CICC_EMLPP_CALL_PRIORITY_NONE = 0x00 , + CICC_EMLPP_CALL_PRIORITY_4 = 0x01 , + CICC_EMLPP_CALL_PRIORITY_3 = 0x02 , + CICC_EMLPP_CALL_PRIORITY_2 = 0x03 , + CICC_EMLPP_CALL_PRIORITY_1 = 0x04 , + CICC_EMLPP_CALL_PRIORITY_0 = 0x05 , + CICC_EMLPP_CALL_PRIORITY_B = 0x06 , + CICC_EMLPP_CALL_PRIORITY_A = 0x07 , + CICC_EMLPP_NUM_OF_PRIORITIES = 0x07 + } _CiCcEmlppCallPriority; + +typedef UINT8 CiCcEmlppCallPriority ; +//ICAT EXPORTED ENUM + typedef enum CI_ERR_PRIM { + CI_ERR_PRIM_HASNOSUPPORT_CNF = 0xF000 , + CI_ERR_PRIM_HASINVALIDPARAS_CNF , + CI_ERR_PRIM_ISINVALIDREQUEST_CNF , + CI_ERR_PRIM_SIMNOTREADY_CNF , + CI_ERR_PRIM_ACCESSDENIED_CNF , + CI_ERR_PRIM_INTERLINKDOWN_IND , + CI_ERR_PRIM_INTERLINKDOWN_RSP , + CI_ERR_PRIM_INTERLINKUP_IND , + + /* This should always be the last enum entry */ + CI_ERR_PRIM_NEXTAVAIL + } _CiErrPrim; + +typedef UINT16 CiErrPrim ; +typedef CiEmptyPrim CiErrPrimHasNoSupportCnf ; +//ICAT EXPORTED STRUCT + typedef struct CiErrPrimHasInvalidParasCnf_struct { + CiErrInputCode err ; + } CiErrPrimHasInvalidParasCnf; + +typedef CiEmptyPrim CiErrPrimIsInvalidRequestCnf ; +typedef CiEmptyPrim CiErrPrimSimNotReadyCnf ; +//ICAT EXPORTED STRUCT + typedef struct CiErrPrimAccessDeniedCnf_struct { + CiErrAccType type ; + CiErrAccCause cause ; + } CiErrPrimAccessDeniedCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiErrPrimInterlinkDownInd_struct { + CiErrInterLinkCause cause ; + } CiErrPrimInterlinkDownInd; + +//ICAT EXPORTED STRUCT + typedef struct CiErrPrimInterlinkDownRsp_struct { + CiErrInterLinkCause cause ; + } CiErrPrimInterlinkDownRsp; + +typedef CiEmptyPrim CiErrPrimInterlinkUpInd ; +typedef void ( *free_fn ) ( pmsg* ) ; +//ICAT EXPORTED ENUM + typedef enum CI_PS_PRIM + { + CI_PS_PRIM_SET_ATTACH_STATE_REQ = 1 , /**< \brief Requests to attach ME to , or detach ME from , the packet domain service \details */ + CI_PS_PRIM_SET_ATTACH_STATE_CNF , /**< \brief Confirms a request and attaches ME to , or detaches ME from , the packet domain service \details */ + CI_PS_PRIM_GET_ATTACH_STATE_REQ , /**< \brief Requests to get the current packet domain service state \details */ + CI_PS_PRIM_GET_ATTACH_STATE_CNF , /**< \brief Confirms a request and returns the current packet domain service state \details */ + CI_PS_PRIM_DEFINE_PDP_CTX_REQ , /**< \brief Requests to define a PDP context for a specified CID \details */ + CI_PS_PRIM_DEFINE_PDP_CTX_CNF , /**< \brief Confirms a request to define a PDP context for a specified CID + * \details If the PDP context address field is NULL , a dynamic address is requested. */ + CI_PS_PRIM_DELETE_PDP_CTX_REQ , /**< \brief Requests to delete a PDP context \details */ + CI_PS_PRIM_DELETE_PDP_CTX_CNF , /**< \brief Confirms a request to delete a PDP context \details */ + CI_PS_PRIM_GET_PDP_CTX_REQ , /**< \brief Requests to get a PDP context definition \details */ + CI_PS_PRIM_GET_PDP_CTX_CNF = 10 , /**< \brief Confirms a request and returns the PDP context setting \details */ + CI_PS_PRIM_GET_PDP_CTX_CAPS_REQ , /**< \brief Requests the PDP context capabilities supported by the cellular subsystem \details */ + CI_PS_PRIM_GET_PDP_CTX_CAPS_CNF , /**< \brief Confirms a request and returns the PDP context capabilities supported by the cellular subsystem \details */ + CI_PS_PRIM_SET_PDP_CTX_ACT_STATE_REQ , /**< \brief Requests to activate ( or deactivate ) one or all PDP contexts \details */ + CI_PS_PRIM_SET_PDP_CTX_ACT_STATE_CNF , /**< \brief Confirms a request and activates ( or deactivates ) one or all PDP contexts \details */ + CI_PS_PRIM_GET_PDP_CTXS_ACT_STATE_REQ , /**< \brief Requests to get the current activation state of all defined PDP contexts \details */ + CI_PS_PRIM_GET_PDP_CTXS_ACT_STATE_CNF , /**< \brief Confirms a request and returns the current activation state of all defined PDP contexts \details */ + CI_PS_PRIM_ENTER_DATA_STATE_REQ , /**< \brief Requests to notify the cellular subsystem that the application subsystem is entering a data state , which means it is now going to send or receive packet data + * \details This request triggers a PDP attach procedure and / or a PDP context activation procedure if they have not already been generated. + * The parameter optimizedData enables the optimized ACI data plane. + * This parameter must be set to TRUE to use the optimized DATA service group primitives. + * Note that the option not to use the ACI optimized data plane is supported for backward compatibility. */ + CI_PS_PRIM_ENTER_DATA_STATE_CNF , /**< \brief Confirms a request and notifies the cellular subsystem that the application subsystem has entered a data state + * \details Now , the cellular subsystem can start using the DATA service group + * primitives to send and receive data over the packet service domain. */ + CI_PS_PRIM_MT_PDP_CTX_ACT_MODIFY_IND , /**< \brief Indicates that a network initiated the activation or modification of a PDP context \details */ + CI_PS_PRIM_MT_PDP_CTX_ACT_MODIFY_RSP = 20 , /**< \brief Responds to a mobile terminated PDP context indication \details */ + CI_PS_PRIM_MT_PDP_CTX_ACTED_IND , /**< \brief Indicates the mobile terminated PDP context is activated after manual or auto answer + * \details The cellular subsystem assigns the CID ( context ID ) for the MT PDP context. */ + CI_PS_PRIM_SET_GSMGPRS_CLASS_REQ , /**< \brief Requests to set the mobile class for GSM / GPRS \details This primitive only applies to GSM / GPRS networks. */ + CI_PS_PRIM_SET_GSMGPRS_CLASS_CNF , /**< \brief Confirms the request and sets the mobile class for GSM / GPRS \details This primitive only applies to GSM / GPRS networks. */ + CI_PS_PRIM_GET_GSMGPRS_CLASS_REQ , /**< \brief Requests the current setting of the GSM / GPRS mobile class \details This primitive only applies to GSM / GPRS networks. */ + CI_PS_PRIM_GET_GSMGPRS_CLASS_CNF , /**< \brief Confirms a request and gets the current GSM / GPRS mobile class \details This only applies to GSM / GPRS networks. */ + CI_PS_PRIM_GET_GSMGPRS_CLASSES_REQ , /**< \brief Requests the supported GSM / GPRS mobile classes \details */ + CI_PS_PRIM_GET_GSMGPRS_CLASSES_CNF , /**< \brief Confirms a request and returns the supported GSM / GPRS mobile classes \details This only applies to GSM / GPRS networks. */ + CI_PS_PRIM_ENABLE_NW_REG_IND_REQ , /**< \brief Requests to enable or disable GPRS network registration status reports \details */ + CI_PS_PRIM_ENABLE_NW_REG_IND_CNF , /**< \brief Confirms a request and enables or disables GPRS network registration status reports \details */ + CI_PS_PRIM_NW_REG_IND = 30 , /**< \brief Indicates the GPRS network registration status \details GPRS network indications may be enabled or disabled by CI_PS_PRIM_ENABLE_NW_REG_IND_REQ. + * This indication is disabled by default. No explicit response is required. */ + CI_PS_PRIM_SET_QOS_REQ , /**< \brief Requests to set the QoS profile for a PDP context + * \details The ME checks the minimum acceptable profile against the negotiated profile returned in the Activate PDP Context Accept message. + * The required quality of service profile is used when the ME sends an Activate PDP Context Request message to the network. + * This is only used for 2.500000 G ( R97 ) QoS profile parameters. + * Use CI_PS_PRIM_GET_3G_QOS_REQ for 3 G ( R99 ) QoS profile parameters.*/ + CI_PS_PRIM_SET_QOS_CNF , /**< \brief Confirms a request and sets the QoS profile + * \details This is only used for 2.500000 G ( R97 ) QoS profile parameters. + * Use CI_PS_PRIM_GET_3G_QOS_CNF for 3 G ( R99 ) QoS profile parameters. */ + CI_PS_PRIM_DEL_QOS_REQ , /**< \brief Requests to delete the QoS profile for a PDP context + * \details If a PDP context does not have a minimum or required + * QoS profile , the QoS is determined by the network on PDP context activation. + * This is only used for 2.500000 G ( R97 ) QoS profile parameters. + * Use CI_PS_PRIM_DEL_3G_QOS_REQ for 3 G ( R99 ) QoS profile parameters.*/ + CI_PS_PRIM_DEL_QOS_CNF , /**< \brief Confirms a request and deletes the QoS profile setting + * \details This is only used for 2.500000 G ( R97 ) QoS profile parameters. + * Use CI_PS_PRIM_DEL_3G_QOS_CNF for 3 G ( R99 ) QoS profile parameters.*/ + CI_PS_PRIM_GET_QOS_REQ , /**< \brief Requests the QoS profile for a PDP context + * \details This is only used for 2.500000 G ( R97 ) QoS profile parameters. + * Use CI_PS_PRIM_GET_3G_QOS_REQ for 3 G ( R99 ) QoS profile parameters.*/ + CI_PS_PRIM_GET_QOS_CNF , /**< \brief Confirms a request and gets the QoS profile for a PDP context + * \details This is only used for 2.500000 G ( R97 ) QoS profile parameters. + * Use CI_PS_PRIM_GET_3G_QOS_CNF for 3 G ( R99 ) QoS profile parameters.*/ + /*Michal Bukai - AutoAttach Configuration - Samsung - START*/ + CI_PS_PRIM_ENABLE_POWERON_AUTO_ATTACH_REQ , /**< \brief Configure auto attach to PS domain on power up + * \details The configuration will be saved in NVM and will be effective in the next power up. */ + CI_PS_PRIM_ENABLE_POWERON_AUTO_ATTACH_CNF , /**< \brief Confirms the request and updates NVM auto attach configuration \details */ + /*Michal Bukai - AutoAttach Configuration - Samsung - End*/ + CI_PS_PRIM_MT_PDP_CTX_REJECTED_IND , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_PS_PRIM_PDP_CTX_DEACTED_IND = 40 , /**< \brief Indicates that the PDP context has been deactivated + * \details This indication is sent if PS event reports are enabled ; see CI_PS_PRIM_ENABLE_EVENTS_REPORTING_REQ.*/ + CI_PS_PRIM_PDP_CTX_REACTED_IND , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_PS_PRIM_DETACHED_IND , /**< \brief Indicates that the ME has detached from the packet service domain + * \details The indication is sent if PS event reports are enabled ; see CI_PS_PRIM_ENABLE_EVENTS_REPORTING_REQ. */ + CI_PS_PRIM_GPRS_CLASS_CHANGED_IND , /**< \brief Indicates that the GSM / GPRS mobile class has changed \details */ + CI_PS_PRIM_GET_DEFINED_CID_LIST_REQ , /**< \brief Requests the defined PDP context identifiers list \details */ + CI_PS_PRIM_GET_DEFINED_CID_LIST_CNF , /**< \brief Confirms a request and returns the defined PDP context identifiers list \details */ + CI_PS_PRIM_GET_NW_REG_STATUS_REQ , /**< \brief Requests the GPRS network registration status \details */ + CI_PS_PRIM_GET_NW_REG_STATUS_CNF , /**< \brief Confirms a request and returns the GPRS network registration status \details */ + CI_PS_PRIM_GET_QOS_CAPS_REQ , /**< \brief Requests the QoS capabilities + * \details This is only used for 2.500000 G ( R97 ) QoS profile parameters. + * Use CI_PS_PRIM_GET_3G_QOS_CAPS_REQ for 3 G ( R99 ) QoS profile parameters.*/ + CI_PS_PRIM_GET_QOS_CAPS_CNF , /**< \brief Confirms a request and returns the QoS capabilities + * \details This is only used for 2.500000 G ( R97 ) QoS profile parameters. + * Use CI_PS_PRIM_GET_3G_QOS_CAPS_CNF for 3 G ( R99 ) QoS profile parameters.*/ + CI_PS_PRIM_ENABLE_EVENTS_REPORTING_REQ = 50 , /**< \brief Requests to enable or disable PS event reports + * \details By default , event reporting indications are enabled. + * Event indications include the following: \n + * CI_PS_PRIM_PDP_CTX_DEACTED_IND \n + * CI_PS_PRIM_DETACHED_IND */ + CI_PS_PRIM_ENABLE_EVENTS_REPORTING_CNF , /**< \brief Confirms a request and enables or disables PS event reports \details */ + + /* SCR #1401348: 3 G Quality of Service ( QoS ) primitives */ + CI_PS_PRIM_GET_3G_QOS_REQ , /**< \brief Requests the 3 G QoS profile for a PDP context + * \details This is only used for 3 G ( R99 ) QoS profile parameters. + * Use CI_PS_PRIM_GET_QOS_REQ for 2.500000 G ( R97 ) QoS profile parameters.*/ + CI_PS_PRIM_GET_3G_QOS_CNF , /**< \brief Confirms a request and returns the 3 G QoS profile for a PDP context + * \details This is only used for 3 G ( R99 ) QoS profile parameters. + * Use CI_PS_PRIM_GET_QOS_CNF for 2.500000 G ( R97 ) QoS profile parameters.*/ + CI_PS_PRIM_SET_3G_QOS_REQ , /**< \brief Requests to set a 3 G QoS profile for PDP context activation + * \details The negotiated QoS profile cannot be written by this request. + * If the qosType parameter is set to CI_PS_3G_QOSTYPE_NEG , CCI returns an error indication. + * The required and minimum quality of service profiles are used when the MT sends an Activate PDP Context Request for a primary or + * secondary PDP context or a Modify PDP Context Request to the network. + * This primitive is used to set 3 G ( R99 ) QoS profile parameters + * Use CI_PS_PRIM_SET_QOS_REQ to set the 2.500000 G ( R97 ) QoS profile parameters.*/ + CI_PS_PRIM_SET_3G_QOS_CNF , /**< \brief Confirms a request and sets a 3 G QoS profile for a PDP context + * \details This is only used for 3 G ( R99 ) QoS profile parameters. + * Use CI_PS_PRIM_SET_QOS_CNF for 2.500000 G ( R97 ) QoS profile parameters.*/ + CI_PS_PRIM_DEL_3G_QOS_REQ , /**< \brief Requests to delete the 3 G QoS profile for a PDP context + * \details The negotiated QoS profile cannot be deleted by this request. + * If the qosType parameter is set to CI_PS_3G_QOSTYPE_NEG , CCI returns an error indication. + * If a PDP context does not have a minimum or required QoS profile , + * the QoS is determined by the network on PDP context activation. + * This is only used for 3 G ( R99 ) QoS profile parameters. + * Use CI_PS_PRIM_DEL_QOS_REQ for 2.500000 G ( R97 ) QoS profile parameters.*/ + CI_PS_PRIM_DEL_3G_QOS_CNF , /**< \brief Confirms a request and deletes the 3 G QoS profile + * \details This is only used for 3 G ( R99 ) QoS profile parameters. + * Use CI_PS_PRIM_DEL_QOS_CNF for 2.500000 G ( R97 ) QoS profile parameters. */ + + CI_PS_PRIM_GET_3G_QOS_CAPS_REQ , /**< \brief Requests the 3 G QoS capabilities + * \details This is only used for the 3 G ( R99 ) QoS profile parameters. + * Use CI_PS_PRIM_GET_QOS_CAPS_REQ for 2.500000 G ( R97 ) QoS profile parameters.*/ + CI_PS_PRIM_GET_3G_QOS_CAPS_CNF , /**< \brief Confirms a request and gets the 3 G QoS capabilities + * \details This is only used for 3 G ( R99 ) QoS profile parameters. + * Use CI_PS_PRIM_GET_QOS_CAPS_CNF for 2.500000 G ( R97 ) QoS profile parameters. */ + + /* SCR #1438547: Secondary PDP Context primitives */ + CI_PS_PRIM_DEFINE_SEC_PDP_CTX_REQ = 60 , /**< \brief Requests to define a secondary PDP context \details */ + CI_PS_PRIM_DEFINE_SEC_PDP_CTX_CNF , /**< \brief Confirms a request to define a secondary PDP context \details */ + CI_PS_PRIM_DELETE_SEC_PDP_CTX_REQ , /**< \brief Requests to delete a secondary PDP context + * \details An error is returned if the secondary PDP context does not exist. */ + CI_PS_PRIM_DELETE_SEC_PDP_CTX_CNF , /**< \brief Confirms a request to delete a secondary PDP context \details */ + CI_PS_PRIM_GET_SEC_PDP_CTX_REQ , /**< \brief Requests a secondary PDP context definition + * \details An error is returned if the secondary PDP context does not exist. */ + CI_PS_PRIM_GET_SEC_PDP_CTX_CNF , /**< \brief Confirms a request and returns the secondary PDP context definition \details An error is returned if the secondary PDP context does not exist. */ + + /* SCR #1438547: traffic flow template ( TFT ) primitives */ + CI_PS_PRIM_DEFINE_TFT_FILTER_REQ , /**< \brief Requests to define a traffic flow template ( TFT ) packet filter + * \details Traffic flow templates are described in 3 GPP TS 23.060000 section 15.300000 . + * Each PDP context connected to a particular PDP address and APN may be associated with a traffic flow template ( TFT ) . ( TFTs enable + * filtering of downlink IP packets. ) + * A TFT contains one to eight packet filters. + * The use of traffic flow templates allows multiple PDP contexts + * ( each with a different quality of service ) to share the same PDP address. + * The TFT packet filters are used to route incoming IP packets to their appropriate PDP contexts. + * Only one PDP context may exist without an associated TFT , and this PDP context + * is considered the default + * PDP context. The network routes downlink packets + * to this PDP context if none of the TFT packet filters apply. + * A TFT , if one exists , is always associated with a PDP context during secondary PDP context activation. + * A TFT may be added to an activated PDP context ( either a primary or a secondary context ) + * using the MS-initiated PDP context modify procedure , which is initiated by a CI_PS_PRIM_MODIFY_PDP_CTX_REQ request. + * The packet filter contents field encoding is specified in 3 GPP TS 24.008000 Table 10.500000 .162 ( Section 10.500000 .6.12 ) . + * An error is returned if no more TFT packet filters are allowed. */ + CI_PS_PRIM_DEFINE_TFT_FILTER_CNF , /**< \brief Confirms a request and defines a TFT packet filter \details */ + CI_PS_PRIM_DELETE_TFT_REQ , /**< \brief Requests to delete the traffic flow template ( TFT ) associated with a PDP context \details All packet filters that comprise the indicated TFT are deleted. + * An error is returned when: \n + * No TFT exists for the indicated PDP context. \n + * The PDP context itself ( either primary or secondary ) is not defined. \n + * More than one PDP context is using a single PDP address , and deleting this TFT would violate the rule that only one PDP + * context using a particular PDP address may exist without a TFT associated with it. \n + * See 3 GPP TS 23.060000 section 15.300000 .1 ( Rules for Operations on TFTs ) . */ + CI_PS_PRIM_DELETE_TFT_CNF , /**< \brief Confirms a request and deletes the traffic flow template \details */ + CI_PS_PRIM_GET_TFT_REQ = 70 , /**< \brief Requests to get the traffic flow template ( TFT ) associated with a PDP context \details Requests a list of all packet filters that comprise the TFT for the specified PDP context. + * An error is returned if a TFT does not exist for the indicated PDP context , or if the PDP context ( either primary or secondary ) is not + * defined. */ + CI_PS_PRIM_GET_TFT_CNF , /**< \brief Confirms a request and gets the traffic flow template ( TFT ) associated with a PDP context \details */ + + /* SCR TBD: PDP context modify primitives */ + CI_PS_PRIM_MODIFY_PDP_CTX_REQ , /**< \brief Requests to modify one PDP context or all active PDP contexts \details Allows the quality of service ( QoS ) and / or the traffic flow template ( TFT ) to be modified for a PDP context that has already been + * activated. This request can be used for either primary or secondary PDP contexts. + * Before issuing this request , set up or modify the QoS and / or TFT , using the appropriate CI requests. */ + CI_PS_PRIM_MODIFY_PDP_CTX_CNF , /**< \brief Confirms a request and modifies one PDP context or all active PDP contexts \details */ + CI_PS_PRIM_GET_ACTIVE_CID_LIST_REQ , /**< \brief Requests to get a list of context identifiers for all active PDP contexts \details This request is similar to CI_PS_PRIM_GET_DEFINED_CID_LIST_REQ except that it only returns information for active PDP contexts. + * It is provided to support the same functionality as the " AT+CGCMOD=? " command. See 3 GPP TS 27.007000 section 10.100000 .11. */ + CI_PS_PRIM_GET_ACTIVE_CID_LIST_CNF , /**< \brief Confirms a request and returns a list of context identifiers for all active PDP contexts \details */ + CI_PS_PRIM_REPORT_COUNTER_REQ , /**< \brief Requests to configure the PDP Context Data Counter report + * \details Data counters are maintained by the protocol stack for all active PDP contexts. + * Data counter values are reported to the application subsystem using CI_PS_PRIM_COUNTER_IND. + * This request is rejected if the control plane has not been attached to packet domain services or there are no active PDP contexts. */ + CI_PS_PRIM_REPORT_COUNTER_CNF , /**< \brief Confirms a request and configures the PDP Context Data Counter report \details */ + CI_PS_PRIM_RESET_COUNTER_REQ , /**< \brief Requests to reset PDP context data counters + * \details Data counters are maintained by the protocol stack for all active PDP contexts. + * Depending on the parameter settings , this request resets the data counters to zero for one or all active PDP contexts. + * This request is rejected if: \n + * The Control Plane is not attached to Packet Domain services. \n + * There are no active PDP contexts. \n + * The doAll parameter is FALSE and the CID parameter is invalid or does not specify an active PDP context. */ + CI_PS_PRIM_RESET_COUNTER_CNF , /**< \brief Confirms a request and resets PDP context data counters \details */ + CI_PS_PRIM_COUNTER_IND = 80 , /**< \brief Indicates a PDP context data counter report \details CCI sends this indication on request or periodically , as configured by CI_PS_PRIM_REPORT_COUNTER_REQ. If a periodic report cycle + * is stopped , this indication is disabled. + * The totals indicate the number of bytes ( octets ) sent and received since the data counters were last reset. \n + * The totalULBytes counter is the total number of uplink data octets before compression ( if any ) . \n + * The totalDLBytes counter is the total number of downlink data octets after decompression ( if any ) . \n + * See also CI_PS_PRIM_RESET_COUNTER_REQ. */ + + CI_PS_PRIM_SEND_DATA_REQ , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + + CI_PS_PRIM_SEND_DATA_CNF , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + + /* Michal Bukai & Boris Tsatkin AT&T Smart Card support - Start*/ + /*** AT&T- Smart Card CI_PS_PRIM_ ACL SERVICE: LIST , SET , EDIT -BT6 */ + CI_PS_PRIM_SET_ACL_SERVICE_REQ , /**< \brief Requests to enable or disable APN control list ( ACL ) service + * \details PIN2 must be verified ( using CI_SIM_PRIM_OPERCHV_REQ ) before using this request */ + CI_PS_PRIM_SET_ACL_SERVICE_CNF , /**< \brief Confirms the request to enable or disable APN control list ( ACL ) service + * \details */ + CI_PS_PRIM_GET_ACL_SIZE_REQ , /**< \brief Requests the size of the ACL list + * \details */ + CI_PS_PRIM_GET_ACL_SIZE_CNF , /**< \brief Confirms the request and returns the size of the ACL list + * \details */ + CI_PS_PRIM_READ_ACL_ENTRY_REQ , /**< \brief Requests to read an entry from the ACL list + * \details */ + CI_PS_PRIM_READ_ACL_ENTRY_CNF , /**< \brief Confirms the request and returns the requested ACL entry + * \details */ + CI_PS_PRIM_EDIT_ACL_ENTRY_REQ , /**< \brief Requests to edit an entry in the ACL list + * \details PIN2 must be verified ( using CI_SIM_PRIM_OPERCHV_REQ ) before using this request. */ + CI_PS_PRIM_EDIT_ACL_ENTRY_CNF = 90 , /**< \brief Confirms the request to edit an entry in the ACL list */ + /* ADD NEW COMMON PRIMITIVES HERE , BEFORE ' CI_PS_PRIM_LAST_COMMON_PRIM ' */ + /* Michal Bukai & Boris Tsatkin AT&T Smart Card support - End*/ + + /* Michal Bukai C PDP authentication - Start*/ + CI_PS_PRIM_AUTHENTICATE_REQ , /**< \brief Requests to add authentication parameters to a defined PDP context. + * \details The command must be sent after the PDP context was defined and before the PDP context is activated. + * The authentication parameters will be sent to the GGSN in a protocol configuration information entry , when PDP context is activated. + * In case authentication parameters are already defined for this PDP context the new authentication parameters will replace the existing parameters. + * AuthenticationType = NONE , will delete authentication parameters defined for this PDP context. */ + CI_PS_PRIM_AUTHENTICATE_CNF , /**< \brief Confirms the authentication request. \details */ + /* Michal Bukai C PDP authentication - End*/ + /* Michal Bukai C Fast Dormancy - Start*/ + CI_PS_PRIM_FAST_DORMANT_REQ , /**< \brief Requests to release data radio bearers , in order to speed entry to DRX mode. + * \details The application should use this request for offline applications such as push mail , + * in cases that it knows that data transition is complete and there is no anticipated data transmission in the next minute. + * The PS will send " Signalling connection release indication " to the NW requesting to release data radio bearers. */ + CI_PS_PRIM_FAST_DORMANT_CNF , /**< \brief Confirms the fast dormancy request. + * \details The following result codes can be received: + * CIRC_PS_SUCCESS - Indicates " Signalling connection release indication " was sent to the NW + * CIRC_PS_FAILURE Indicates " Signalling connection release indication " was not sent to the NW due to one of the following reasons: + * Active RAT is not UMTS + * There no active PDP contexts + * There is an active CS connection + * RRC state is not CELL DCH or CELL FACH + * CIRC_PS SRVOPT_NOT_SUPPORTED -Indicates fast dormancy is not supported. */ + /* Michal Bukai C Fast Dormancy - End*/ + + CI_PS_PRIM_GET_CURRENT_JOB_REQ , /**< \brief Requests current ongoing request for PS service group. */ + CI_PS_PRIM_GET_CURRENT_JOB_CNF , /**< \brief Confirms the current job request. */ + + CI_PS_PRIM_SET_FAST_DORMANCY_CONFIG_REQ , /**< \brief Requests to set configuration of fast dormancy. */ + CI_PS_PRIM_SET_FAST_DORMANCY_CONFIG_CNF , /**< \brief Confirms the configuration of fast dormancy. */ + + CI_PS_PRIM_PDP_ACTIVATION_REJECT_CAUSE_IND , /**< \brief Indicates SM cause code for PDP activation reject. */ + + CI_PS_PRIM_SET_PS_PAGING_CONFIG_REQ = 100 , /**< \brief Requests to set activation / deactvation of DSDS PS+Paging. */ + CI_PS_PRIM_SET_PS_PAGING_CONFIG_CNF , /**< \brief Confirms the configuration of DSDS PS+Paging */ + + /*Michal Bukai - AutoAttach Configuration - Samsung - START*/ + CI_PS_PRIM_GET_POWERON_AUTO_ATTACH_STATUS_REQ , /**< \brief Requests to read the configuration status of auto attach to PS domain on power up \details */ + CI_PS_PRIM_GET_POWERON_AUTO_ATTACH_STATUS_CNF , /**< \brief Confirms the request and returns auto attach configuration status \details */ + /*Michal Bukai - AutoAttach Configuration - Samsung - END*/ + CI_PS_PRIM_READ_4G_PDP_CTX_DYN_PARA_REQ , /**< \brief Gets a PDP context definition. \details */ + CI_PS_PRIM_READ_4G_PDP_CTX_DYN_PARA_CNF , /**< \brief Gets a PDP context definition. \details */ + CI_PS_PRIM_READ_4G_PDP_CTXS_ACT_DYN_PARA_REQ , /**< \brief Gets all defined PDP contexts current activation state. \details */ + CI_PS_PRIM_READ_4G_PDP_CTXS_ACT_DYN_PARA_CNF , /**< \brief Reports the current activation state of all defined PDP contexts. \details */ + CI_PS_PRIM_ENABLE_4G_NW_REG_IND_REQ , /**< \brief Enables / disables EPS network registration status reports. \details */ + CI_PS_PRIM_ENABLE_4G_NW_REG_IND_CNF , /**< \brief Confirms request to enable / disable EPS network registration status reports. \details */ + CI_PS_PRIM_4G_NW_REG_IND = 110 , + CI_PS_PRIM_GET_4G_NW_REG_STATUS_REQ , /**< \brief Requests the EPS network registration status. \details */ + CI_PS_PRIM_GET_4G_NW_REG_STATUS_CNF , /**< \brief Reports the EPS network registration status. \details */ + CI_PS_PRIM_GET_4G_QOS_REQ , + CI_PS_PRIM_GET_4G_QOS_CNF , + CI_PS_PRIM_SET_4G_QOS_REQ , + CI_PS_PRIM_SET_4G_QOS_CNF , + CI_PS_PRIM_DEL_4G_QOS_REQ , + CI_PS_PRIM_DEL_4G_QOS_CNF , + CI_PS_PRIM_GET_4G_QOS_CAPS_REQ , + CI_PS_PRIM_GET_4G_QOS_CAPS_CNF = 120 , + + CI_PS_PRIM_GET_4G_MODE_REQ , + CI_PS_PRIM_GET_4G_MODE_CNF , + CI_PS_PRIM_SET_4G_MODE_REQ , + CI_PS_PRIM_SET_4G_MODE_CNF , + CI_PS_PRIM_GET_4G_MODE_CAPS_REQ , + CI_PS_PRIM_GET_4G_MODE_CAPS_CNF , + CI_PS_PRIM_GET_PDP_ADDR_REQ , + CI_PS_PRIM_GET_PDP_ADDR_CNF , + CI_PS_PRIM_GET_PDP_ADDR_LIST_REQ , + CI_PS_PRIM_GET_PDP_ADDR_LIST_CNF = 130 , + CI_PS_PRIM_READ_4G_SEC_PDP_CTX_DYN_PARA_REQ , /**< \brief Requests a Secondary PDP Context Read Dynamic Parameters . + * \details Returns an error if the Secondary PDP Context does not exist. */ + CI_PS_PRIM_READ_4G_SEC_PDP_CTX_DYN_PARA_CNF , /**< \brief Reports a Secondary PDP Context Dynamic Parameters . Indicates an error if the Secondary PDP Context does not exist. \details */ + CI_PS_PRIM_READ_4G_SEC_PDP_CTXS_ACT_DYN_PARA_REQ , + CI_PS_PRIM_READ_4G_SEC_PDP_CTXS_ACT_DYN_PARA_CNF , + CI_PS_PRIM_READ_4G_QOS_DYN_PARA_REQ , + CI_PS_PRIM_READ_4G_QOS_DYN_PARA_CNF , + CI_PS_PRIM_READ_4G_QOS_DYN_PARA_CAPS_REQ , + CI_PS_PRIM_READ_4G_QOS_DYN_PARA_CAPS_CNF , + CI_PS_PRIM_GET_4G_EVET_REP_REQ , + CI_PS_PRIM_GET_4G_EVET_REP_CNF = 140 , + CI_PS_PRIM_SET_4G_EVET_REP_REQ , + CI_PS_PRIM_SET_4G_EVET_REP_CNF , + CI_PS_PRIM_GET_4G_EVET_REP_CAPS_REQ , + CI_PS_PRIM_GET_4G_EVET_REP_CAPS_CNF , + + + CI_PS_PRIM_GET_4G_VOICE_CALL_MODE_REQ , + CI_PS_PRIM_GET_4G_VOICE_CALL_MODE_CNF , + CI_PS_PRIM_SET_4G_VOICE_CALL_MODE_REQ , + CI_PS_PRIM_SET_4G_VOICE_CALL_MODE_CNF , + CI_PS_PRIM_GET_4G_VOICE_CALL_MODE_CAPS_REQ , + CI_PS_PRIM_GET_4G_VOICE_CALL_MODE_CAPS_CNF = 150 , + + CI_PS_PRIM_READ_4G_TRAFFIC_FLOW_TEMP_DYN_PARA_REQ , // Traffic Flow Template Read Dynamic Parameters +CGTFTRDP + CI_PS_PRIM_READ_4G_TRAFFIC_FLOW_TEMP_DYN_PARA_CNF , // Traffic Flow Template Read Dynamic Parameters +CGTFTRDP + CI_PS_PRIM_READ_4G_TRAFFIC_FLOW_TEMP_DYN_PARA_CAPS_REQ , // Traffic Flow Template Read Dynamic Parameters +CGTFTRDP + CI_PS_PRIM_READ_4G_TRAFFIC_FLOW_TEMP_DYN_PARA_CAPS_CNF , // Traffic Flow Template Read Dynamic Parameters +CGTFTRDP + + CI_PS_PRIM_DATACOMP_REPORTING_REQ , /**< \brief Sets data compression reporting to on or off. Also used to read current setting of data + compression reporting. Data compression + reporting is used when AT+DR AT command is + executed. If enabled , than sending of + CI_PS_PRIM_DATACOMP_IND is enabled */ + CI_PS_PRIM_DATACOMP_REPORTING_CNF , /**< \brief Confirmation to the sets data compression + reporting request. Returns the current setting + of the data compression reporting. */ + CI_PS_PRIM_DATACOMP_IND , /**< \brief Indicates the status of the data compression. */ + + CI_PS_PRIM_SET_IMS_VOICE_CALL_AVAILABILITY_REQ , /**< \brief Set command informs the MT whether the UE is currently available for voice calls with the IMS ( see 3 GPP TS 24.229000 ) + * \details The information can be used by the MT to determine " IMS voice not available " as defined in 3 GPP TS 24.301000 , + * and for mobility management for IMS voice termination , see 3 GPP TS 24.008000 */ + CI_PS_PRIM_SET_IMS_VOICE_CALL_AVAILABILITY_CNF , /**< \brief Confirmation to the setting of whether the UE is currently available for voice calls with the IMS */ + CI_PS_PRIM_GET_IMS_VOICE_CALL_AVAILABILITY_REQ = 160 , /**< \brief Gets the stored setting of the IMS voice call availability */ + CI_PS_PRIM_GET_IMS_VOICE_CALL_AVAILABILITY_CNF , /**< \brief Confirmation to the request to get the stored setting of the IMS voice call availability */ + CI_PS_PRIM_SET_IMS_SMS_AVAILABILITY_REQ , /**< \brief Set command informs the MT whether the UE is currently available for SMS using IMS ( see 3 GPP TS 24.229000 ) + * \details The information can be used by the MT to determine the need to remain attached for non-EPS services , + * as defined in 3 GPP TS 24.301000 */ + CI_PS_PRIM_SET_IMS_SMS_AVAILABILITY_CNF , /**< \brief Confirmation to the setting of whether the UE is currently available for SMS with the IMS */ + CI_PS_PRIM_GET_IMS_SMS_AVAILABILITY_REQ , /**< \brief Gets the stored setting of the IMS SMS availability */ + CI_PS_PRIM_GET_IMS_SMS_AVAILABILITY_CNF , /**< \brief Confirmation to the request to get the stored setting of the IMS SMS availability */ + CI_PS_PRIM_SET_MM_IMS_VOICE_TERMINATION_REQ , /**< \brief Sets the Mobility Management for IMS Voice Termination to support terminating access domain selection by the network */ + CI_PS_PRIM_SET_MM_IMS_VOICE_TERMINATION_CNF , /**< \brief Confirmation to the request to set the MM for IMS Voice Termination */ + CI_PS_PRIM_GET_MM_IMS_VOICE_TERMINATION_REQ , /**< \brief Gets the setting of the Mobility Management for IMS Voice Termination */ + CI_PS_PRIM_GET_MM_IMS_VOICE_TERMINATION_CNF , /**< \brief Confirmation to the request to get the stored setting of the MM for IMS Voice Termination */ + + CI_PS_PRIM_DEFINE_DEFAULT_PDP_CTX_REQ = 170 , /** AT*CGDFLT , set the default PDP info */ + CI_PS_PRIM_DEFINE_DEFAULT_PDP_CTX_CNF , + CI_PS_PRIM_GET_DEFAULT_PDP_CTX_REQ , /** AT*CGDFLT? , get the default PDP info */ + CI_PS_PRIM_GET_DEFAULT_PDP_CTX_CNF , + + CI_PS_PRIM_SET_APN_REQ , /** AT+VZWAPNE= , used to set APN info */ + CI_PS_PRIM_SET_APN_CNF , + CI_PS_PRIM_GET_APN_REQ , /** AT+VZWAPNE? , used to get APN info */ + CI_PS_PRIM_GET_APN_CNF , + + CI_PS_PRIM_SET_IMS_REG_STATE_REQ , /** used to notify CP the IMS register state , as IMS on AP side now , when IMS register state changes , should notify CP */ + CI_PS_PRIM_SET_IMS_REG_STATE_CNF , + CI_PS_PRIM_UE_EVENT_TO_IMS_IND = 180 , /** used by CP to notify the IMS module some UE event , such as: UICC removed , APN changed , etc */ + + CI_PS_PRIM_SET_IMS_REG_INFO_IND_REQ , /** AT+CIREG= [ ] , set whether need to report IMS register state. As IMS on AP side now , this CI do not need to be processed in CP side by now*/ + CI_PS_PRIM_SET_IMS_REG_INFO_IND_CNF , + CI_PS_PRIM_IMS_REG_INFO_IND , /** +CIREGU: [ , ] . IMS module report the IMS state*/ + CI_PS_PRIM_GET_IMS_REG_INFO_REQ , /** AT+CIREG? , read command*/ + CI_PS_PRIM_GET_IMS_REG_INFO_CNF , + + CI_PS_PRIM_SET_DEFAULT_PDP_AUTHENTICATE_REQ , /** AT*CGDFAUTH= , [ , [ , ] ] */ + CI_PS_PRIM_SET_DEFAULT_PDP_AUTHENTICATE_CNF , + CI_PS_PRIM_GET_DEFAULT_PDP_AUTHENTICATE_REQ , + CI_PS_PRIM_GET_DEFAULT_PDP_AUTHENTICATE_CNF , /** AT*CGDFAUTH= */ + + CI_PS_PRIM_SET_VOICE_DOMAIN_PREFERENCE_REQ = 190 , /** AT+CVDP= [ ] / AT+CEVDP= [ ] , UE ' s Voice Domain Preference */ + CI_PS_PRIM_SET_VOICE_DOMAIN_PREFERENCE_CNF , + CI_PS_PRIM_GET_VOICE_DOMAIN_PREFERENCE_REQ , /** AT+CVDP? AT+CEVDP? UE ' s Voice Domain Preference UTRAN */ + CI_PS_PRIM_GET_VOICE_DOMAIN_PREFERENCE_CNF , + + CI_PS_PRIM_SET_EPS_USAGE_SETTING_REQ , /** AT+CEUS= [ ] , UE ' s usage setting for EPS*/ + CI_PS_PRIM_SET_EPS_USAGE_SETTING_CNF , + CI_PS_PRIM_GET_EPS_USAGE_SETTING_REQ , /** AT+CEUS? , UE ' s usage setting for EPS*/ + CI_PS_PRIM_GET_EPS_USAGE_SETTING_CNF , + + CI_PS_PRIM_SET_AP_UNIVERSAL_SETTING_REQ , + CI_PS_PRIM_SET_AP_UNIVERSAL_SETTING_CNF , + + CI_PS_PRIM_SET_PS_SERVICE_DOMAIN_REQ = 200 , + CI_PS_PRIM_SET_PS_SERVICE_DOMAIN_CNF , + CI_PS_PRIM_GET_PS_SERVICE_DOMAIN_REQ , + CI_PS_PRIM_GET_PS_SERVICE_DOMAIN_CNF , + + CI_PS_PRIM_SET_IMS_SERVICE_STATUS_REQ , + CI_PS_PRIM_SET_IMS_SERVICE_STATUS_CNF , + + CI_PS_PRIM_SUSPEND_RESUME_IND , + + CI_PS_PRIM_CHAP_AUTHENTICATE_REQ , /** AT*CHAPAUTH=cid [ , [ , ] ] , for PPP CHAP authentication */ + CI_PS_PRIM_CHAP_AUTHENTICATE_CNF , + + CI_PS_PRIM_ACTIVATE_RECONF_PDP_CTX_REQ , /** used to activate reconfigured PDP ( an already activated PDP is re-defined ) */ + CI_PS_PRIM_ACTIVATE_RECONF_PDP_CTX_CNF , + + + /* END OF COMMON PRIMITIVES LIST */ + CI_PS_PRIM_LAST_COMMON_PRIM + + /* the customer specific extension primitives are added starting from + * CI_PS_PRIM_firstCustPrim = CI_PS_PRIM_LAST_COMMON_PRIM as the first identifier. + * The actual primitive names and IDs are defined in the associated + * ' ci_ps_cust_xxx.h ' file. + */ + + /* DO NOT ADD ANY MORE PRIMITIVES HERE */ + + } _CiPsPrim; + +//ICAT EXPORTED ENUM + typedef enum CIRC_PS + { + CIRC_PS_SUCCESS = 0 , /**< Request completed successfully */ + CIRC_PS_FAILURE , /**< Request failed */ + + /* failure to perform an Attach */ + CIRC_PS_ILLEGAL_MS = 0x03 , /**< Illegal MS */ + CIRC_PS_ILLEGAL_ME = 0x06 , /**< Illegal ME */ + CIRC_PS_GPRS_SERVICES_NOT_ALLOWED = 0x07 , /**< GPRS service not allowed */ + CIRC_PS_OPER_DETERMINED_BARRING = 0x08 , /**< Operator Determined Barring */ + CIRC_PS_DETACH = 10 , // 0x0A / **< implicitly detached * / + CIRC_PS_PLMN_NOT_ALLOWED = 0x0B , /**< PLMN not allowed */ + CIRC_PS_LA_NOT_ALLOWED = 0x0C , /**< Location area not allowed */ + CIRC_PS_ROAMING_NOT_ALLOWED = 0x0D , /**< Roaming not allowed in this location area */ + CIRC_PS_MSC_NOT_REACH = 16 , // 0x10 / **< MSC temporarily not reachable * / + CIRC_PS_NW_CONGESTION = 22 , // 0x16 / **< Congestion * / + CIRC_PS_RESOURCE_INSUFF = 26 , // 0x1A / **< Insufficient resources * / + CIRC_PS_APN = 27 , // 0x1B / **< Missing or unknown APN * / + CIRC_PS_UNKNOWN_PDP_ADD_TYPE = 28 , // 0x1C / **< unknown PDP address or PDP type * / + CIRC_PS_USER_AUTH_FAIL = 29 , // 0x1D / **< user authentication failed * / + CIRC_PS_ACT_REJECT_GGSN = 30 , // 0x1E / **< Activation rejected by GGSN * / + CIRC_PS_ACT_REJECT = 31 , // 0x1F / **< Activation rejected , unspecified * / + /* failure to Activate a context */ + CIRC_PS_SRVOPT_NOT_SUPPORTED = 32 , // 0x20 / **< Service option not supported * / + CIRC_PS_SRVOPT_NOT_SUBSCRIBED = 33 , // 0x21 / **< Requested service option not subscribed * / + CIRC_PS_SRVOPT_TEMP_OUT_OF_ORDER = 34 , // 0x22 / **< Service option temporarily out of order * / + CIRC_PS_NSAPI_ALREADY_USED = 35 , // 0x23 / **< NSAPI already used * / + CIRC_PS_QOS = 37 , // 0x25 / **< QoS not accepted * / + CIRC_PS_NETWORK_FAILURE = 38 , // 0x26 / **< Network failure * / + CIRC_PS_REACTIVATION_REQ = 39 , // 0x27 / **< Reactivation required * / + // Z.S. MT PDP support + /* TFT errors for MT PDP start*/ + /* From spec ( 24.301000 / 9.900000 .4.4 ) */ + CIRC_PS_ESM_SEMANTIC_ERROR_IN_THE_TFT_OPERATION = 41 , // 0x29 / * SM_CAUSE_SEMANTIC_ERROR_IN_TFT_OPERATION * / + CIRC_PS_ESM_SYNTACTICAL_ERROR_IN_THE_TFT_OPERATION = 42 , // 0x2A / * SM_CAUSE_SYNTACTICAL_ERROR_IN_TFT_OPERATION * / + CIRC_PS_ESM_INVALID_EPS_BEARER_IDENTITY = 43 , // 0x2B / * SM_CAUSE_UNKNOWN_PDP_CONTEXT * / + CIRC_PS_ESM_SEMANTIC_ERRORS_IN_PACKET_FILTER = 44 , // 0x2C / * SM_CAUSE_SEMANTIC_ERRORS_IN_PACKET_FILTER * / + CIRC_PS_ESM_SYNTACTICAL_ERRORS_IN_PACKET_FILTER = 45 , // 0x2D / * SM_CAUSE_SYNTACTICAL_ERRORS_IN_PACKET_FILTER * / + CIRC_PS_ESM_EPS_BEARER_CONTEXT_WITHOUT_TFT_ALREADY_ACTIVATED = 46 , // 0x2E / * SM_CAUSE_PDP_CONTEXT_WITHOUT_TFT_ALREADY_ACTIVATED * / + CIRC_PS_ESM_LAST_PDN_DISCONNECTION_NOT_ALLOWED = 49 , // 0x31 + CIRC_PS_ESM_PDN_TYPE_IPV4_ONLY_ALLOWED = 50 , // 0x32 + CIRC_PS_ESM_PDN_TYPE_IPV6_ONLY_ALLOWED = 51 , // 0x33 + CIRC_PS_ESM_PDN_TYPE_SINGLE_IP_ALLOWED = 52 , // 0x34 + CIRC_PS_PROTOCOL_ERROR_MIN = 95 , // 0x5F / **< protocol errors - low range , old value , useless now * / + CIRC_PS_PROTOCOL_ERROR_MAX = 111 , // 0x6F / **< protocol errors - high range , old value , useless now * / + /* TFT errors for MT PDP end*/ + CIRC_PS_UNSPECIFIED_ERROR = 148 , // 0x94 / **< Unspecified GPRS error * / + CIRC_PS_PDP_AUTHEN_FAILURE =149 , // 0x95 / **< PDP authentication failure * / + + /* other GPRS errors */ + CIRC_PS_INVALID_MS_CLASS = 150 , // 0x96 / **< Invalid mobile class * / + + /* Additional return codes , not specified in TS 27.007000 - start from 200 */ + CIRC_PS_INFO_UNAVAILABLE = 200 , // 0xC8 / **< Requested information is unavailable * / + + CIRC_PS_ALREADY_PROCESSING = 201 , // 0xC9 / **< The requested command is already being processed , I.e. , this REQ is redundant * / + CIRC_PS_BUSY_WITH_OTHER_JOB = 202 , // 0xCA / **< The CP is busy processing another command so this one can ' t be serviced , and CP will not add the REQ into its queue * / + + CIRC_PS_INVALID_PARAMETER = 203 , // 0xCB / **< Generic error - the requested service primitive has invalid parameters * / + CIRC_PS_INVALID_REQ = 204 , // 0xCC / **< Generic error - the requested service primitive can not be handled at current state * / + CIRC_PS_SIM_NOT_READY = 205 , // 0xCD / **< Generic error - the requested service primitive fails because SIM is not ready * / + CIRC_PS_ACCESS_DENIED = 206 , // 0xCE / **< Generic error - the requested service primitive fails because access is denied * / + CIRC_PS_INVALID_CID = 207 , // 0xCF / **< Generic error - the requested Cid is invalid * / + CIRC_PS_TFT_PACKET_ERROR_DEFAULT_PDP = 208 , // 0xD0 / **< Generic error - the TFT is invalid for default MT PDP * / + CIRC_PS_TFT_PACKET_ERROR_NON_DEFAULT_PDP = 209 , // 0xD1 / **< Generic error - the TFT is invalid for NON default MT PDP * / + CIRC_PS_PENDING_SUCCESS = 210 , // 0xD2 / ** to is going to be presented */ + } CiPsPdpCtxCap; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPdpCtxCaps_struct + { + UINT8 size ; /**< Number of capability profiles ; currently only one profile is supported */ + CiPsPdpCtxCap caps [ 1 ] ; /**< PDP context capabilities \sa CiPsPdpCtxCap_struct*/ + } CiPsPdpCtxCaps; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPdpCtxActState_struct + { + UINT8 cid ; /**< PDP context identification , [ 0 - CI_PS_MAX_MO_AND_MT_PDP_CTX_NUM-1 ] */ + CiBoolean activated ; /**< TRUE: activated ; FALSE: deactivated \sa CCI API Ref Manual */ + } CiPsPdpCtxActState; + +typedef CiPsPdpCtxActState *CiPsPdpCtxActStateListPtr ; +//ICAT EXPORTED ENUM + typedef enum CIPSL2P_TAG + { + CI_PS_L2P_NONE=0 , /**< Not PPP */ + CI_PS_L2P_PPP , /**< PPP */ + + CI_PS_NUM_L2PS + } _CiPsL2P; + +typedef UINT8 CiPsL2P ; +//ICAT EXPORTED ENUM + typedef enum CIPSGSMGPRSCLASS_TAG + { + CI_PS_GSMGPRS_CLASS_A = 0 , /**< Class A */ + CI_PS_GSMGPRS_CLASS_B , /**< Class B */ + CI_PS_GSMGPRS_CLASS_CS , /**< Class C , GPRS only */ + CI_PS_GSMGPRS_CLASS_CC , /**< Class C , circuit switch only */ + + CI_PS_GSMGPRS_NUM_CLASSES + } _CiPsGsmGprsClass; + +typedef UINT8 CiPsGsmGprsClass ; +//ICAT EXPORTED ENUM + /** \brief Network registration configuration flag values */ + /** \remarks Common Data Section */ + typedef enum CIPSNWREGINDFLAG_TAG + { + CI_PS_NW_REG_IND_DISABLE = 0 , /**< Disable network registration status reports , n = 0 */ + CI_PS_NW_REG_IND_ENABLE_STA_ONLY , /**< Enable network registration status reports , n = 1 */ + CI_PS_NW_REG_IND_ENABLE_DETAIL , /**< Enable detailed network registration status reports , n= 2 */ + CI_PS_NW_REG_IND_ENABLE_MORE_DETAIL /**< Enable more detailed network registration status reports , n = 3 */ + } _CiPsNwRegIndFlag; + +typedef UINT8 CiPsNwRegIndFlag ; +typedef UINT8 CiPs4GNwRegIndFlag ; +//ICAT EXPORTED ENUM + typedef enum CIPSNWREGSTATUS_TAG + { + CI_PS_NW_REG_STA_NOT_REGED = 0 , /**< Not registered and not searching */ + CI_PS_NW_REG_STA_REG_HPLMN , /**< Registered on home PLMN */ + CI_PS_NW_REG_STA_TRYING , /**< Not registered , but cellular subsystem is searching for a PLMN to register to */ + CI_PS_NW_REG_STA_REG_DENIED , /**< Registration denied */ + CI_PS_NW_REG_STA_UNKNOWN , /**< Unknown */ + CI_PS_NW_REG_STA_REG_ROAMING , /**< Registered on visited PLMN */ + CI_PS_NW_REG_STA_SMS_ONLY_HOME , /**< registered for " SMS only " , home network ( applicable only when indicates E-UTRAN ) */ + CI_PS_NW_REG_STA_SMS_ONLY_ROAMING , /**< registered for " SMS only " , roaming ( applicable only when indicates E-UTRAN ) */ + CI_PS_NW_REG_STA_EMERGENCY_ONLY_NOT_USED , /**< attached for emergency bearer services only ( see NOTE 2 ) ( not applicable ) */ + CI_PS_NW_REG_STA_CSFB_NOT_PREFERRED_HOME , /** indicates E-UTRAN ) */ + CI_PS_NW_REG_STA_CSFB_NOT_PREFERRED_ROAMING , /** indicates E-UTRAN ) */ + CI_PS_NW_REG_STA_REG_EMERGENCY , /**< attached for emergency bearer services only*/ + // #if defined ( SS_IPC_SUPPORT ) + CI_PS_NW_REG_STA_REG_DENIED_IN_ROAMING , /**< registeration denied in roaming , only used for SSG project by now*/ + CI_PS_NW_REG_STA_SYNC_DONE_IN_LTE_ROAMING , /**< sync done in LTE roaming network , only used for SSG project by now*/ + // #endif + CI_PS_NUM_REGSTATUS /**< Number of status values defined */ + } _CiPsNwRegStatus; + +typedef UINT8 CiPsNwRegStatus ; +//ICAT EXPORTED ENUM + typedef enum CIPS_ACT_TECH_MODE + { + CI_PS_ACT_GSM = 0 , /**< GSM */ + CI_PS_ACT_GSM_COMPACT , /**< Not supported */ + CI_PS_ACT_UTRAN , /**< UTRAN */ + + CI_PS_ACT_GSM_EGPRS , /**< GSM w / EGPRS */ + CI_PS_ACT_UTRAN_HSDPA , /**< UTRAN w / HSDPA */ + CI_PS_ACT_UTRAN_HSUPA , /**< UTRAN w / HSUPA */ + CI_PS_ACT_UTRAN_HSPA , /**< UTRAN w / HSDPA and HSUPA */ + CI_PS_ACT_EUTRAN , /**< E-UTRAN */ + + CI_PS_ACT_UTRAN_HSPA_PLUS , /**< UTRAN w / HSPA+ */ + CI_PS_ACT_EUTRAN_PLUS , /**< E-UTRAN CA*/ + + CI_PS_NUM_ACT + } _CiPsAccTechMode; + +typedef UINT8 CiPsAccTechMode ; +//ICAT EXPORTED ENUM + typedef enum CIPS_CAUSE_TYPE { + CI_PS_CAUSE_TYPE_PS = 0 , /**< Indicates that contains a GMM / EMM cause value , see 3 GPP TS 24.008000 [ 8 ] Annex G.*/ + CI_PS_CAUSE_TYPE_MANUFACTURER , /**< Indicates that contains a manufacturer specific cause */ + CI_PS_CAUSE_NONE , + CI_PS_NUM_CAUSE_TYPE + } _CiPsCauseType; + +typedef UINT8 CiPsCauseType ; +//ICAT EXPORTED ENUM + typedef enum CIPS_NETOP_DIGIT_MNC { + CIPS_NETOP_TWO_DIGIT_MNC = 2 , /*2 digit */ + CIPS_NETOP_THREE_DIGIT_MNC , /*3 digit */ + /* This one must always be last in the list! */ + CIPS_NUM_NETOP_DIGIT_MNC + } _CiPsNetOpDigitMnc; + +typedef UINT8 CiPsNetOpDigitMnc ; +//ICAT EXPORTED STRUCT + typedef struct CiPsNetworkId_struct { + UINT16 CountryCode ; /**< 3 -digit country code */ + UINT16 NetworkCode ; /**< 3 -digit network code */ + + CiPsNetOpDigitMnc MncDigit ; /**< MncDigit \sa CiPsNetOpDigitMnc */ + } CiPsNetworkId; + +//ICAT EXPORTED STRUCT + typedef struct CiPsNwRegInfo_struct + { + CiPsNwRegStatus status ; /**< Network registration status \sa CiPsNwRegStatus */ + + CiBoolean lacPresent ; /**< Indicates if LAC and cell ID are present \sa CCI API Ref Manual */ + UINT16 lac ; /**< Location area code */ + UINT32 cellId ; /**< Cell ID */ + CiPsAccTechMode act ; /**< Network access technology ( GSM , UTRAN , LTE etc. ) \sa CiPsAccTechMode */ + UINT8 rac ; /** */ + + CiBoolean causePresent ; /**< Indicates if causeType and rejectCause are present> **/ + CiPsCauseType causeType ; /**: integer type ; indicates the type of **/ + UINT32 rejectCause ; /**: integer type ; contains the cause of the failed registration **/ + /* add by perse 1032018 add +CREG / +CGREG / +CEREG indication content with rplmn CQ00117472 , begin */ + // #if defined ( CRANE_Z1 ) + CiPsNetworkId rplmnInfo ; /**reprot rplmn information*/ + // #endif + /* add by perse 1032018 add +CREG / +CGREG / +CEREG indication content with rplmn CQ00117472 , end */ + } CiPsNwRegInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiPs4GNwRegInfo_struct + { + CiPsNwRegStatus status ; /**< Network registration status. \sa CiPsNwRegStatus */ + + CiBoolean tacPresent ; /**< Indicates if LAC and Cell ID are present. \sa CCI API Ref Manual */ + UINT16 tac ; /**< String type ; two byte tracking area code in hexadecimal format ( e.g. " 0 C3 " equals 195 in decimal ) */ + UINT32 cellId ; /**< Cell ID */ + CiPsAccTechMode act ; /**< Network access technology ( GSM , UTRAN , LTE etc. ) \sa CiPsAccTechMode */ + + CiBoolean causePresent ; /**< Indicates if causeType and rejectCause are present. >**/ + CiPsCauseType causeType ; /**: integer type ; indicates the type of **/ + UINT32 rejectCause ; /**: integer type ; contains the cause of the failed registration.**/ + /* add by xwzhou for CQ67291 on 8052014 , begin */ + CiBoolean volteAvailable ; + CiBoolean imsEmergencyAvailable ; + /* add by xwzhou for CQ67291 on 8052014 , end */ + /* add by perse 1032018 add +CREG / +CGREG / +CEREG indication content with rplmn CQ00117472 , begin */ + // #if defined ( CRANE_Z1 ) + CiPsNetworkId rplmnInfo ; /**reprot rplmn information*/ + // #endif + /* add by perse 1032018 add +CREG / +CGREG / +CEREG indication content with rplmn CQ00117472 , end */ + } CiPs4GNwRegInfo; + +//ICAT EXPORTED ENUM + typedef enum CIPSQOSRELIABILITYCLASS + { + CI_PS_QOS_RELIABILITY_CLASS_SUBSCRIBED = 0 , /**< Subscribed reliability class */ + CI_PS_QOS_RELIABILITY_CLASS_1 , /**< Acknowledged GTP , LLC , and RLC ; protected data */ + CI_PS_QOS_RELIABILITY_CLASS_2 , /**< Unacknowledged GTP ; acknowledged LLC and RLC , Protected data */ + CI_PS_QOS_RELIABILITY_CLASS_3 , /**< Unacknowledged GTP and LLC ; acknowledged RLC , Protected data */ + CI_PS_QOS_RELIABILITY_CLASS_4 , /**< Unacknowledged GTP , LLC , and RLC , protected data */ + CI_PS_QOS_RELIABILITY_CLASS_5 , /**< Unacknowledged GTP , LLC , and RLC , unprotected data */ + + CI_PS_QOS_NUM_RELIABILITY_CLASSES + } _CiPsQosReliabilityClass; + +typedef UINT8 CiPsQosReliabilityClass ; +//ICAT EXPORTED STRUCT + typedef struct CiPsQosProfile_struct + { + UINT8 precedence ; /**< Precedence class */ + UINT8 delay ; /**< Delay class */ + UINT8 reliability ; /**< Reliability class */ + UINT8 peak ; /**< Peak throughput */ + UINT8 mean ; /**< Mean throughput */ + } CiPsQosProfile; + +//ICAT EXPORTED STRUCT + typedef struct CiPsSecPdpCtx_struct + { + UINT8 cid ; /**< PDP context identifier */ + UINT8 p_cid ; /**< Primary PDP context identifier */ + UINT8 bearer_id ; /**< PDP Context Identifier , [ 0 - CI_PS_MAX_MO_AND_MT_PDP_CTX_NUM-1 ] */ + CiBoolean dcompPresent ; /**< TRUE if present \sa CCI API Ref Manual */ + CiBoolean hcompPresent ; /**< TRUE if present \sa CCI API Ref Manual */ + CiPsDcomp dcomp ; /**< PDP data compression , only applicable to SNDCP , ignore it for UMTS \sa CiPsDcomp */ + CiPsHcomp hcomp ; /**< PDP header compression \sa CiPsHcomp */ + CiBoolean imCnSigFlagPresent ; + CiPsImCnSignallingFlagIndType imCnSigFlag ; + } CiPsSecPdpCtx; + +//ICAT EXPORTED STRUCT + typedef struct CiPsSecPdpCtxInfo_struct + { + CiBoolean actState ; /**< Activation state \sa CCI API Ref Manual */ + CiPsSecPdpCtx secPdpCtx ; /**< Secondary PDP context information \sa CiPsSecPdpCtx_struct */ + } CiPsSecPdpCtxInfo; + +//ICAT EXPORTED ENUM + typedef enum CIPS3GQOSTYPE_TAG + { + CI_PS_3G_QOSTYPE_MIN = 0 , /**< Minimum QoS */ + CI_PS_3G_QOSTYPE_REQ , /**< Requested QoS */ + CI_PS_3G_QOSTYPE_NEG , /**< Negotiated QoS */ + + CI_PS_3G_QOSTYPE_NUMTYPES + } _CiPs3GQosType; + +typedef UINT8 CiPs3GQosType ; +//ICAT EXPORTED ENUM + typedef enum CIPS3GTRAFFICCLASS_TAG + { + CI_PS_3G_TRAFFIC_CLASS_CONVERSATIONAL = 0 , /**< Conversational */ + CI_PS_3G_TRAFFIC_CLASS_STREAMING , /**< Streaming */ + CI_PS_3G_TRAFFIC_CLASS_INTERACTIVE , /**< Interactive */ + CI_PS_3G_TRAFFIC_CLASS_BACKGROUND , /**< Background */ + CI_PS_3G_TRAFFIC_CLASS_SUBSCRIBED , /**< Subscribed value */ + + CI_PS_3G_TRAFFIC_CLASS_NUMCLASSES + } _CiPs3GTrafficClass; + +typedef UINT8 CiPs3GTrafficClass ; +//ICAT EXPORTED ENUM + typedef enum CIPS3GDLVORDER_TAG + { + CI_PS_3G_DLV_ORDER_NO = 0 , /**< Without delivery order ( no ) */ + CI_PS_3G_DLV_ORDER_YES , /**< With delivery order ( yes ) */ + CI_PS_3G_DLV_ORDER_SUBSCRIBED , /**< Subscribed value */ + + CI_PS_3G_NUM_DLV_ORDER + } _CiPs3GDlvOrder; + +typedef UINT8 CiPs3GDlvOrder ; +//ICAT EXPORTED ENUM + typedef enum CIPS3GDLVERRORSDU_TAG + { + CI_PS_3G_DLV_ERROR_SDU_NO = 0 , /**< Erroneous SDUs are not delivered ( no ) */ + CI_PS_3G_DLV_ERROR_SDU_YES , /**< Erroneous SDUs are delivered ( yes ) */ + CI_PS_3G_DLV_ERROR_SDU_NODETECT , /**< No detect ( ' - ' ) */ + CI_PS_3G_DLV_ERROR_SDU_SUBSCRIBED , /**< Subscribed value */ + + CI_PS_3G_NUM_DLV_ERROR_SDU + } _CiPs3GDlvErrorSdu; + +typedef UINT8 CiPs3GDlvErrorSdu ; +//ICAT EXPORTED ENUM + typedef enum CIPS3GRESIDUALBER_TAG + { + CI_PS_3G_RESIDUAL_BER_SUBSCRIBED = 0 , /**< Subscribed value */ + CI_PS_3G_RESIDUAL_BER_5EM2 , /**< 5 * 10 ^-2 */ + CI_PS_3G_RESIDUAL_BER_1EM2 , /**< 1 * 10 ^-2 */ + CI_PS_3G_RESIDUAL_BER_5EM3 , /**< 5 * 10 ^-3 */ + CI_PS_3G_RESIDUAL_BER_4EM3 , /**< 4 * 10 ^-3 */ + CI_PS_3G_RESIDUAL_BER_1EM3 , /**< 1 * 10 ^-3 */ + CI_PS_3G_RESIDUAL_BER_1EM4 , /**< 1 * 10 ^-4 */ + CI_PS_3G_RESIDUAL_BER_1EM5 , /**< 1 * 10 ^-5 */ + CI_PS_3G_RESIDUAL_BER_1EM6 , /**< 1 * 10 ^-6 */ + CI_PS_3G_RESIDUAL_BER_6EM8 , /**< 6 * 10 ^-8 */ + + CI_PS_3G_NUM_RESIDUAL_BER + } _CiPs3GResidualBer; + +typedef UINT8 CiPs3GResidualBer ; +//ICAT EXPORTED ENUM + typedef enum CIPS3GSDUERRORRATIO_TAG + { + CI_PS_3G_SDU_ERROR_RATIO_SUBSCRIBED = 0 , /**< Subscribed value */ + CI_PS_3G_SDU_ERROR_RATIO_1EM2 , /**< 1 * 10 ^-2 */ + CI_PS_3G_SDU_ERROR_RATIO_7EM3 , /**< 7 * 10 ^-3 */ + CI_PS_3G_SDU_ERROR_RATIO_1EM3 , /**< 1 * 10 ^-3 */ + CI_PS_3G_SDU_ERROR_RATIO_1EM4 , /**< 1 * 10 ^-4 */ + CI_PS_3G_SDU_ERROR_RATIO_1EM5 , /**< 1 * 10 ^-5 */ + CI_PS_3G_SDU_ERROR_RATIO_1EM6 , /**< 1 * 10 ^-6 */ + CI_PS_3G_SDU_ERROR_RATIO_1EM1 , /**< 1 * 10 ^-1 */ + + CI_PS_3G_NUM_SDU_ERROR_RATIOS + } _CiPs3GSduErrorRatio; + +typedef UINT8 CiPs3GSduErrorRatio ; +//ICAT EXPORTED ENUM + typedef enum CIPS3GTRAFFICPRIORITY_TAG + { + CI_PS_3G_SDU_TRAFFIC_PRIORITY_SUBSCRIBED = 0 , /**< Subscribed value */ + CI_PS_3G_SDU_TRAFFIC_PRIORITY_LEVEL_1 , /**< Priority Level 1 */ + CI_PS_3G_SDU_TRAFFIC_PRIORITY_LEVEL_2 , /**< Priority Level 2 */ + CI_PS_3G_SDU_TRAFFIC_PRIORITY_LEVEL_3 , /**< Priority Level 3 */ + + CI_PS_3G_NUM_TRAFFIC_PRIORITIES + } _CiPs3GTrafficPriority; + +typedef UINT8 CiPs3GTrafficPriority ; +typedef CiPsQosProfile CiPs25GQosProfile ; +//ICAT EXPORTED ENUM + typedef enum CIPSISEXTENSION_TAG + { + CI_PS_3G_MAX_BIT_RATE_FOR_DL = 0 , /**< Maximum bit rate for DL */ + CI_PS_3G_GUARNTEED_BIT_RATE_FOR_DL , /**< Maximum guaranteed bit rate for DL */ + CI_PS_3G_MAX_BIT_RATE_FOR_UL , /**< Maximum bit rate for UL */ + CI_PS_3G_GUARNTEED_BIT_RATE_FOR_UL , /**< Maximum guaranteed bit rate for UL */ + CI_PS_3G_NUM_EXTENTION_IND = 0x7FFFFFFF + } _CiPsIsExtensionType; + +typedef CiBitRange CiPsIsExtensionType ; +//ICAT EXPORTED ENUM + typedef enum CIPS_SOURCE_STATI_DESC_TAG + { + CI_PS_SOURCE_STAT_DESC_UNKNOWN = 0 , /**< Unknown */ + CI_PS_SOURCE_STAT_DESC_SPEECH , /**< Speech */ + CI_PS_SOURCE_STAT_DESC_NUM = 0x7F + } _CiPsSourceStatisticDescriptorType; + +typedef UINT8 CiPsSourceStatisticDescriptorType ; +//ICAT EXPORTED ENUM + typedef enum CIPS_SIGNALLING_IND_TAG + { + CI_PS_NOT_OPTIMIZED_FOR_SIGNALLING = 0 , /**< Not optimized for signaling traffic */ + CI_PS_OPTIMIZED_FOR_SIGNALLING , /**< Optimized for signaling traffic */ + CI_PS_SIGNALLING_IND_NUM = 0x7F + } _CiPsSignallingIndicationType; + +typedef UINT8 CiPsSignallingIndicationType ; +//ICAT EXPORTED STRUCT + typedef struct CiPs3GQosProfile_struct + { + CiPs3GTrafficClass trafficClass ; /**< Traffic class \sa CiPs3GTrafficClass */ + CiPs3GDlvOrder deliveryOrder ; /**< Delivery order \sa CiPs3GDlvOrder */ + CiPs3GDlvErrorSdu deliveryOfErrSdu ; /**< Delivery of erroneous SDUs \sa CiPs3GDlvErrorSdu */ + CiPs3GResidualBer resBER ; /**< Residual bit error rate \sa CiPs3GResidualBer */ + CiPs3GSduErrorRatio sduErrRatio ; /**< SDU error ratio \sa CiPs3GSduErrorRatio */ + CiPs3GTrafficPriority thPriority ; /**< Traffic handling priority ( interactive class only ) \sa CiPs3GTrafficPriority */ + + UINT8 transDelay ; /**< Transfer delay ( conversational / streaming classes only ) */ + UINT8 maxSduSize ; /**< Max SDU size */ + UINT16 maxULRate ; /**< Max bit rate , uplink */ + UINT16 maxDLRate ; /**< Max bit rate , downlink */ + UINT16 guaranteedULRate ; /**< Guaranteed bit rate , uplink */ + UINT16 guaranteedDLRate ; /**< Guaranteed bit rate , downlink */ + CiPsIsExtensionType IsExtension ; /**< Bit mask indicating if the parameters maxDLRate and guaranteedDLRate are encoded as + extension bytes */ + CiPsSourceStatisticDescriptorType SourceStatisticDescriptor ; /**< Specifies characteristics of the source of submitted SDUs */ + CiPsSignallingIndicationType SignallingIndication ; /**< Indicates the signaling nature of the submitted SDUs. */ + + } CiPs3GQosProfile; + +typedef CiPsPdpAddr CiPsPdpAddrMask ; +//ICAT EXPORTED ENUM + typedef enum CIPS_TFT_DIRECTION_IND_TAG + { + CI_PS_TFT_DIRECTION_PRE_R7 = 0 , + CI_PS_TFT_DIRECTION_UPLINK , + CI_PS_TFT_DIRECTION_DOWNLINK , + CI_PS_TFT_DIRECTION_BI_DIRECTIONAL , + CI_PS_NUM_TFT_DIR + } _CiPsTftDirectionIndicationType; + +typedef UINT8 CiPsTftDirectionIndicationType ; +//ICAT EXPORTED STRUCT + typedef struct CiPsTftFilter_struct + { + UINT8 cid ; /**< PDP Context Identifier , [ 0 - CI_PS_MAX_MO_AND_MT_PDP_CTX_NUM-1 ] */ + UINT8 pfId ; /**< Packet filter identifier */ + UINT8 epIndex ; /**< Evaluation precedence index */ + UINT8 pIdNextHdr ; /**< Protocol number ( ipv4 ) / next header ( ipv6 ) */ + CiBoolean pIdNextHdrPresent ; /**< TRUE: if present \sa CCI API Ref Manual */ // Michal + UINT8 tosTc ; /**< Type of service / traffic class */ + CiBoolean tosPresent ; /**< TRUE: if present \sa CCI API Ref Manual */ // Michal + UINT8 tosTcMask ; /**< Type of service / traffic class mask */ + CiNumericRange dstPortRange ; /**< Destination port range \sa CCI API Ref Manual */ + CiBoolean dstPortRangePresent ; /**< TRUE: if present \sa CCI API Ref Manual */ // Michal + CiNumericRange srcPortRange ; /**< Source port range \sa CCI API Ref Manual */ + CiBoolean srcPortRangePresent ; /**< TRUE: if present \sa CCI API Ref Manual */ // Michal + + UINT32 ipSecSPI ; /**< IPSec security parameter index */ + CiBoolean ipSecSPIPresent ; /**< TRUE: if present \sa CCI API Ref Manual */ // Michal + UINT32 flowLabel ; /**< Flow label */ + CiBoolean flowLabelPresent ; /**< TRUE: if present \sa CCI API Ref Manual */ // Michal + CiPsPdpIpAddr remoteAddrAndMask ; /**< remote address and subnet mask */ // the netmask infor store in this struct. + // CiPsPdpAddrMask srcAddrMask ; / **< Source address mask - subnet mask \sa CiPsPdpAddrMask * / + CiPsTftDirectionIndicationType direction ; /**< specifies the transmission direction in which the packet filter shall be applied */ + UINT8 nwpfId ; /**< NW Packet filter identifier */ + + CiPsPdpIpAddr localAddrAndMask ; /**< local address and subnet mask , seems useless */ + } CiPsTftFilter; + +//ICAT EXPORTED ENUM + typedef enum CIPSTFTOPCODE_TAG + { + CI_PS_TFT_OPCODE_SPARE = 0 , + CI_PS_TFT_OPCODE_CREATE_NEW , + CI_PS_TFT_OPCODE_DELETE_EXISTING , + CI_PS_TFT_OPCODE_ADD_PACKET_FILTERS , + CI_PS_TFT_OPCODE_REPLACE_PACKET_FILTERS , + CI_PS_TFT_OPCODE_DELETE_PACKET_FILTERS , + CI_PS_TFT_OPCODE_NO_TFT_OPERATION , + CI_PS_NUMBER_OF_TFT_OP_CODES + } _CiPsTftOpCode; + +typedef UINT8 CiPsTftOpCode ; +//ICAT EXPORTED STRUCT + typedef struct CiPsIndicatedPdpCtx_struct + { + UINT8 cid ; /**< PDP context identifier , [ 0 - CI_PS_MAX_MO_AND_MT_PDP_CTX_NUM-1 ] */ + CiPsPdpType type ; /**< PDP type \sa CiPsPdpType */ + CiPsPdpBearType pdpBearType ; /**Primary PDP , or secondary PDP */ + UINT8 p_cid ; /**only valid , when secondary PDP*/ + + // CiBoolean addrPresent ; / **< TRUE: if present \sa CCI API Ref Manual * / + // CiPsPdpAddr addr ; / **< PDP address string \sa CiPsPdpAddr_struct * / + CiPsPdpIpAddr ipv4Addr ; /**if not vaiable , addrType = CI_PS_PDP_INVALID_ADDR*/ + CiPsPdpIpAddr ipv6Addr ; /**if not vaiable , addrType = CI_PS_PDP_INVALID_ADDR*/ + } CiPsIndicatedPdpCtx; + +//ICAT EXPORTED STRUCT + typedef struct CiPsQosCap_struct + { + CiPsPdpType type ; /**< PDP type \sa CiPsPdpType */ + CiNumericRange precedenceCap ; /**< Precedence class [ 0 -4 ] \sa CCI API Ref Manual */ + CiNumericRange delayCap ; /**< Delay class [ 0 -3 ] \sa CCI API Ref Manual */ + CiNumericRange reliabilityCap ; /**< Reliability class [ 0 -5 ] \sa CCI API Ref Manual */ + CiNumericRange peakCap ; /**< Peak throughput [ 0 -9 ] \sa CCI API Ref Manual */ + CiNumericList meanCap ; /**< Mean throughput [ 0 -18 , 31 ] \sa CCI API Ref Manual */ + } CiPsQosCap; + +//ICAT EXPORTED STRUCT + typedef struct CiPsQosCaps_struct + { + UINT8 size ; /**< Number of defined PDP contexts */ + CiPsQosCap caps [ 1 ] ; /**< QoS capabilities , optional if return code is not CIRC_PS_SUCCESS \sa CiPsQosCap_struc */ + } CiPsQosCaps; + +typedef CiPsQosCap CiPs25GQosCap ; +//ICAT EXPORTED STRUCT + typedef struct CiPs3GQosCap_struct + { + CiPsPdpType type ; /**< PDP type \sa CiPsPdpType */ + CiNumericRange trafficClass ; /**< Traffic class [ 0 ..4 ] \sa CCI API Ref Manual */ + CiNumericRange deliveryOrder ; /**< Delivery order [ 0 ..2 ] \sa CCI API Ref Manual */ + CiNumericRange deliverErrSdu ; /**< Delivery of erroneous SDUs [ 0 ..3 ] \sa CCI API Ref Manual */ + CiNumericRange resBER ; /**< Residual BER [ 0 ..9 ] \sa CCI API Ref Manual */ + CiNumericRange errRatio ; /**< SDU error ratio [ 0 ..7 ] \sa CCI API Ref Manual */ + CiNumericRange thPriority ; /**< Traffic handling priority [ 0 ..3 ] \sa CCI API Ref Manual */ + + CiNumericRange transDelay ; /**< Transfer delay [ 0x00 ..0x3e ] \sa CCI API Ref Manual */ + CiNumericRange maxSduSize ; /**< Maximum SDU size [ 0x00 ..0x99 ] \sa CCI API Ref Manual */ + CiNumericRange maxULRate ; /**< Max bit rate , uplink [ 0x00 ..0xff ] \sa CCI API Ref Manual */ + CiNumericRange maxDLRate ; /**< Max bit rate , downlink [ 0x00 ..0xff ] \sa CCI API Ref Manual */ + CiNumericRange guaranteedULRate ; /**< Guaranteed bit rate , uplink [ 0x00 ..0xff ] \sa CCI API Ref Manual */ + CiNumericRange guaranteedDLRate ; /**< Guaranteed bit rate , downlink [ 0x00 ..0xff ] \sa CCI API Ref Manual */ + CiNumericRange SourceStatisticDescriptor ; /**< Specifies characteristics of the source of submitted SDUs [ 0x00 ..0xff ] \sa CCI API Ref Manual */ + } CiPs3GQosCap; + +//ICAT EXPORTED STRUCT + typedef struct CiPs3GQosCaps_struct + { + UINT8 size ; /**< Size */ + CiPs3GQosCap caps [ ( 8 + 7 ) ] ; /** 3 G QoS capability per defined PDP context \sa CiPs3GQosCap_struct */ + /*--3 / 5 / 2009 10 :26AM + * Note: need to check max size of array + * ------------*/ + } CiPs3GQosCaps; + +//ICAT EXPORTED STRUCT + typedef struct CiPs4GQosProfile_struct + { + UINT8 qci ; /**Qos Class Identifier */ + CiBoolean gbrMbrPresent ; /**indicate whether GBR & MBR presnt */ + UINT32 maxULRate ; /** 1818954 #9. + * --------------------------------------------------*/ + CiBoolean doAll ; /**< Indicates if all counters should be reset ; TRUE: reset all counters ; FALSE: reset the counter for a requested context ID \sa CCI API Ref Manual*/ + UINT8 cid ; /**< Context ID , required if doAll == FALSE */ + } CiPsPrimResetCounterReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimResetCounterCnf_struct + { + CiPsRc rc ; /**< Result code \sa CiPsRc */ + } CiPsPrimResetCounterCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimCounterInd_struct + { + UINT8 cid ; /**< PDP context ID , [ 0 - CI_PS_MAX_MO_AND_MT_PDP_CTX_NUM-1 ] */ + UINT32 totalULBytes ; /**< Total bytes sent on uplink ( uncompressed ) */ + UINT32 totalDLBytes ; /**< Total bytes received on downlink ( uncompressed ) */ + } CiPsPrimCounterInd; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSendDataReq_struct + { + UINT16 pcktsize ; /* Packet size range: 0 - 10000 , default 1472 */ + UINT16 pcktcount ; /* Number of packets to send: 1 - 20 , default 1 */ + UINT8 nsapi ; /* PDP context ID */ + UINT8 PAD1 ; + UINT8 PAD2 ; + UINT8 PAD3 ; + } CiPsPrimSendDataReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSendDataCnf_struct + { + CiPsRc rc ; + } CiPsPrimSendDataCnf; + +//ICAT EXPORTED ENUM + typedef enum CiAbgpRequestStatusTag + { + CI_ABGP_APN_OK , /**< OK */ + CI_ABGP_APN_NRAM_ERROR , /**< APN NRAM error */ + CI_ABGP_APN_RECORD_NOT_FOUND , /**< APN record not found */ + + CI_ABGP_ALLIGN =0xFFFF + + } _CiPsSimResult; + +typedef UINT16 CiPsSimResult ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetAclReq_struct { + CiBoolean simAclPresent ; + CiBoolean simAclEnable ; /**< TRUE: enable ACL service ; FALSE: disable ACL service \sa CCI API Ref Manual */ + CiBoolean psAclPresent ; + CiBoolean psAclEnable ; + } CiPsPrimSetAclReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetAclCnf_struct { + CiPsRc rc ; /**< Result code \sa CiPsRc */ + CiPsSimResult SimCause ; /**< SIM result code \sa CiPsSimResult */ + CiBoolean simAclEnable ; /**< Service status ; TRUE: enabled , FALSE: disabled \sa CCI API Ref Manual*/ + CiBoolean psAclEnable ; + } CiPsPrimSetAclCnf; + +typedef CiEmptyPrim CiPsPrimGetAclSizeReq ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimGetAclSizeCnf_struct { + CiPsRc rc ; /**< Result code \sa CiPsRc */ + CiPsSimResult SimCause ; /**< SIM result code \sa CiPsSimResult */ + UINT8 totalNumApns ; /**< Number of APNs currently held in SIM file EF_ACL */ + } CiPsPrimGetAclSizeCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimReadAclEntryReq_struct { + UINT8 Index ; /**< Index into ACL list */ + } CiPsPrimReadAclEntryReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimReadAclEntryReqCnf_struct { + CiPsRc rc ; /**< Result code \sa CiPsRc */ + CiPsSimResult SimCause ; /**< SIM result code \sa CiPsSimResult */ + CiLongAdrInfo apn ; /**< Requested APN in string format \sa CCI API Ref Manual*/ + } CiPsPrimReadAclEntryCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimEditAclEntryReq_struct { + CiEditCmdType EditCommand ; /**< Edit command ( add , delete , or replace ) \sa CCI API Ref Manual*/ + UINT8 position ; /**< Index into ACL list */ + /*To add the " Network provided APN " to the APN Control List , the length of the APN should be set to 0 */ + CiLongAdrInfo apn ; /**< APN in string format ; required for add or replace commands \sa CCI API Ref Manual*/ + } CiPsPrimEditAclEntryReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimEditAclEntryCnf_struct { + CiPsRc rc ; /**< Result code \sa CiPsRc */ + CiPsSimResult SimCause ; /**< SIM result code \sa CiPsSimResult */ + UINT8 position ; /**< Index in ACL list */ + } CiPsPrimEditAclEntryCnf; + +//ICAT EXPORTED ENUM + typedef enum CIPSAUTHENTICATIONTYPE_TAG + { + CI_PS_AUTHENTICATION_TYPE_NONE , /**< No authentication protocol */ + CI_PS_AUTHENTICATION_TYPE_PAP , /**< Password authentication protocol */ + CI_PS_AUTHENTICATION_TYPE_CHAP , /**< Challenge-Handshake authentication protocol */ + CI_PS_AUTHENTICATION_TYPE_PAP_CHAP , /**< PAP preferred , CHAP as secondary */ /*Lilei , CQ00115591 , 20190724 */ + CI_PS_AUTHENTICATION_TYPE_CHAP_PAP , /**< CHAP preferred , PAP as secondary */ /*Lilei , CQ00115591 , 20191021 */ + CI_PS_AUTHENTICATION_TYPE_PPP_CHAP , /**< Challenge-Handshake authentication protocol for PPP */ /*Lilei , CQ00111775 , 20180814 */ + + CI_PS_AUTHENTICATION_TYPE_NUM + + } _CiPsAuthenticationType; + +typedef UINT8 CiPsAuthenticationType ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimAuthenticateReq_struct + { + UINT8 cid ; /**< PDP context identifier */ + CiPsAuthenticationType AuthenticationType ; /**< Authentication type. \sa CiPsAuthenticationType */ + /* !!!!!!!!!!!!!!!!!!! + * When RIL completes the transition to contiguous memory , all CCI_xx_CONTIGUOUS + * & CCI_APP_NONCONTIGUOUS flags must be removed. + * ONLY the code BETWEEN the following 2 comment lines will REMAIN: + * # Start Contiguous Code Section # and # End Contiguous Code Section # + * All other code OUTSIDE these comments must be REMOVED - ( The backwards compatible code ) + */ + /* # Start Contiguous Code Section # */ + CiStringExt UserName ; /**< UserName octets. \sa CCI API Ref Manual */ + CiStringExt Password ; /**< Password octets. \sa CCI API Ref Manual */ + /* # End Contiguous Code Section # */ + + } CiPsPrimAuthenticateReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimAuthenticateCnf_struct + { + CiPsRc rc ; /**< Result code. \sa CiPsRc */ + } CiPsPrimAuthenticateCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetDefaultPdpAuthenticateReq_struct + { + UINT8 modeType ; // 0 - not save to NVM , 1 - save to NUM ; + CiPsAuthenticationType authenticationType ; /**< Authentication type. \sa CiPsAuthenticationType */ + CiBoolean authInfoPresent ; + CiStringExt userName ; /**< UserName octets. \sa CCI API Ref Manual */ + CiStringExt password ; /**< Password octets. \sa CCI API Ref Manual */ + } CiPsPrimSetDefaultPdpAuthenticateReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetDefaultPdpAuthenticateCnf_struct + { + CiPsRc rc ; /**< Result code. \sa CiPsRc */ + } CiPsPrimSetDefaultPdpAuthenticateCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimGetDefaultPdpAuthenticateReq_Tag + { + UINT8 modeType ; // 0 - current used , 1 - from NVM + } CiPsPrimGetDefaultPdpAuthenticateReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimGetDefaultPdpAuthenticateCnf_struct + { + CiPsRc rc ; /**< Result code. \sa CiPsRc */ + CiPsAuthenticationType authenticationType ; /**< Authentication type. \sa CiPsAuthenticationType */ + CiStringExt userName ; /**< UserName octets. \sa CCI API Ref Manual */ + CiStringExt password ; /**< Password octets. \sa CCI API Ref Manual */ + } CiPsPrimGetDefaultPdpAuthenticateCnf; + +typedef CiEmptyPrim CiPsPrimFastDormantReq ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimFastDormantCnf_struct + { + CiPsRc rc ; /**< Result code. \sa CiPsRc */ + } CiPsPrimFastDormantCnf; + +typedef CiEmptyPrim CiPsPrimGetCurrentJobReq ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimGetCurrentJobCnf_struct + { + CiPsRc rc ; /**< Result code. \sa CiPsRc */ + CiPrimitiveID primId ; /**< Primitive ID. \sa CiPrimitiveID */ + } CiPsPrimGetCurrentJobCnf; + +//ICAT EXPORTED ENUM + typedef enum CIPS_FDY_OPTION { + CIPS_FDY_DISABLE = 0 , /**< Disable PS power consuming control */ + CIPS_FDY_ENABLE , /**< Enable PS power consuming control */ + + /* This one must always be last in the list! */ + CIPS_NUM_FDY_OPTIONS /**< Number of options defined */ + } _CiPsFDYOpt; + +typedef UINT8 CiPsFDYOpt ; +//ICAT EXPORTED STRUCT + /** */ + typedef struct CiPsPrimSetFastDormancyConfigReq_struct + { + /* add by xwzhou for CQ55965 on 3032014 , begin */ + // CiPsFDYOpt type ; / **< Type. \sa CiPsFDYOpt * / + // UINT16 interval ; / **< Trigger Interval ( seconds ) , the default value is 3 * / + INT16 mode ; /**< 0 : disable fast dormancy timer ; 1 : enable fast dormancy timer*/ + UINT32 lcdOnTimerMsLength ; /**< ( unit:ms ) , if timer length=0 , disable FD*/ + UINT32 lcdOffTimerMsLength ; /**< ( unit:ms ) , if timer length=0 , disable FD*/ + UINT32 rel8LcdOnTimerMsLength ; /**< ( unit:ms ) , if timer length=0 , disable FD*/ + UINT32 rel8LcdOffTimerMsLength ; /**< ( unit:ms ) , if timer length=0 , disable FD*/ + /* add by xwzhou for CQ55965 on 3032014 , end */ + } CiPsPrimSetFastDormancyConfigReq; + +//ICAT EXPORTED STRUCT + /** */ + typedef struct CiPsPrimSetFastDormancyConfigCnf_struct + { + CiPsRc rc ; /**< Result code. \sa CiPsRc */ + } CiPsPrimSetFastDormancyConfigCnf; + +typedef UINT8 CiPsPdpTriggerType ; +//ICAT EXPORTED STRUCT + /** */ + typedef struct CiPsPrimPdpActivationRejectCauseInd_struct + { + CiPsPdpTriggerType pdpType ; + CiBoolean cidPresent ; + UINT8 cid ; + CiBoolean smCausePresent ; + CiPsEsmCauseType smCause ; + CiPsSmFollowAct smflwAction ; + } CiPsPrimPdpActivationRejectCauseInd; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimRead4GQosDynParaReq_struct { + UINT8 cid ; /**< PDP Context ID , [ 0 - CI_PS_MAX_MO_AND_MT_PDP_CTX_NUM-1 ] */ + } CiPsPrimRead4GQosDynParaReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimRead4GQosDynParaCnf_struct { + CiPsRc rc ; + UINT8 num ; + CiPs4GQosProfile qosProfile [ ( 8 + 7 ) ] ; /**< 4 G QoS profile , optional if rc is not CIRC_PS_SUCCESS ; \sa CiPs3GQosProfile_struct */ + } CiPsPrimRead4GQosDynParaCnf; + +typedef CiEmptyPrim CiPsPrimRead4GQosDynParaCapsReq ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimRead4GQosDynParaCapsCnf_struct { + CiPsRc rc ; /**< Result code. \sa CiPsRc */ + UINT8 num ; + UINT8 cid [ ( 8 + 7 ) ] ; /**< PDP context ID list , [ 0 - CI_PS_MAX_MO_AND_MT_PDP_CTX_NUM-1 ] */ + } CiPsPrimRead4GQosDynParaCapsCnf; + +typedef CiEmptyPrim CiPsPrimGet4GEventRepReq ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimGet4GEventRepCnf_struct { + CiPsRc rc ; + UINT16 mode ; /**< + *0 buffer unsolicited result codes in the MT ; if MT result code buffer is full , the oldest ones can be discarded. No codes are forwarded to the TE. + *1 discard unsolicited result codes when MT TE link is reserved ( e.g. in on line data mode ) ; otherwise forward them directly to the TE + *2 buffer unsolicited result codes in the MT when MT TE link is reserved ( e.g. in on line data mode ) and flush them to the TE when MT TE link becomes available ; otherwise forward them directly to the TE + */ + UINT16 bfr ; /**< + *0 MT buffer of unsolicited result codes defined within this command is cleared when 1 or 2 is entered + *1 MT buffer of unsolicited result codes defined within this command is flushed to the TE when 1 or 2 is entered ( OK response shall be given before flushing the codes ) + */ + } CiPsPrimGet4GEventRepCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSet4GEventRepReq_struct { + UINT16 mode ; /**< + *0 buffer unsolicited result codes in the MT ; if MT result code buffer is full , the oldest ones can be discarded. No codes are forwarded to the TE. + *1 discard unsolicited result codes when MT TE link is reserved ( e.g. in on line data mode ) ; otherwise forward them directly to the TE + *2 buffer unsolicited result codes in the MT when MT TE link is reserved ( e.g. in on line data mode ) and flush them to the TE when MT TE link becomes available ; otherwise forward them directly to the TE + */ + UINT16 bfr ; /**< + *0 MT buffer of unsolicited result codes defined within this command is cleared when 1 or 2 is entered + *1 MT buffer of unsolicited result codes defined within this command is flushed to the TE when 1 or 2 is entered ( OK response shall be given before flushing the codes ) + */ + } CiPsPrimSet4GEventRepReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSet4GEventRepCnf_struct { + CiPsRc rc ; + + } CiPsPrimSet4GEventRepCnf; + +typedef CiEmptyPrim CiPsPrimGet4GEventRepCapsReq ; +//ICAT EXPORTED STRUCT + typedef struct SacPsEventReportCaps_struct + { + SacPsEventReportMode mode_min ; + SacPsEventReportMode mode_max ; + SacPsEventReportBufferMode buffer_min ; + SacPsEventReportBufferMode buffer_max ; + } + SacPsEventReportCaps; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimGet4GEventRepCapsCnf_struct { + CiPsRc rc ; + SacPsEventReportCaps reportCaps ; + } CiPsPrimGet4GEventRepCapsCnf; + +//ICAT EXPORTED ENUM + typedef enum CIPS_VOICE_CALL_MODE_TAG + { + CIPS_CS_ONLY = 0 , + CIPS_VOIP_ONLY , + CIPS_CS_PREFERRED , + CIPS_VOIP_PREFERRED , + CIPS_VOICE_CALL_MODE_NUM + } _CiPsVoiceCallMode; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimGet4GVoiceCallModeReq_struct { + UINT8 cid ; /**< PDP Context ID , [ 0 - CI_PS_MAX_MO_AND_MT_PDP_CTX_NUM-1 ] */ + } CiPsPrimGet4GVoiceCallModeReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimGet4GVoiceCallModeCnf_struct { + CiPsRc rc ; + UINT16 mode ; /* 0 CS_ONLY + * 1 VOIP_ONLY + * 2 CS_PREFERRED + * 3 VOIP_PREFERRED + */ + } CiPsPrimGet4GVoiceCallModeCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSet4GVoiceCallModeReq_struct { + UINT8 cid ; /**< PDP Context ID , [ 0 - CI_PS_MAX_MO_AND_MT_PDP_CTX_NUM-1 ] */ + UINT16 mode ; /* 0 CS_ONLY + * 1 VOIP_ONLY + * 2 CS_PREFERRED + * 3 VOIP_PREFERRED + */ + } CiPsPrimSet4GVoiceCallModeReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSet4GVoiceCallModeCnf_struct { + CiPsRc rc ; + } CiPsPrimSet4GVoiceCallModeCnf; + +typedef CiEmptyPrim CiPsPrimGet4GVoiceCallModeCapsReq ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimGet4GVoiceCallModeCapsCnf_struct { + CiPsRc rc ; + UINT16 modebitmap ; /*bit 0 CS_ONLY , will set 1 + *bit 1 VOIP_ONLY + *bit 2 CS_PREFERRED + *bit 3 VOIP_PREFERRED + */ + } CiPsPrimGet4GVoiceCallModeCapsCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimRead4GTrafficFlowTempDynParaReq_struct { + UINT8 cid ; /**< PDP Context ID , [ 0 - CI_PS_MAX_MO_AND_MT_PDP_CTX_NUM-1 ] */ + } CiPsPrimRead4GTrafficFlowTempDynParaReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimRead4GTrafficFlowTempDynParaCnf_struct { + CiPsRc rc ; + UINT8 numFilters ; /**< Number of Packet Filters */ + CiPsTftOpCode opCode ; /** Only valid when get TFT of a specified CID */ + CiPsTftFilter filters [ 16 ] ; /**< Not in use */ + } CiPsPrimRead4GTrafficFlowTempDynParaCnf; + +typedef CiEmptyPrim CiPsPrimRead4GTrafficFlowTempDynParaCapsReq ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimRead4GTrafficFlowTempDynParaCapsCnf_struct { + CiPsRc rc ; /**< Result code. \sa CiPsRc */ + UINT8 num ; + UINT8 cid [ ( 8 + 7 ) ] ; /**< PDP context ID list , [ 0 - CI_PS_MAX_MO_AND_MT_PDP_CTX_NUM-1 ] */ + } CiPsPrimRead4GTrafficFlowTempDynParaCapsCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimDataCompReportingReq_struct { + UINT8 report ; /**< 0 - Disable reporting ; + 1 - Enable reporting ; + 2 - Get current setting. \sa CiPsRc. */ + } CiPsPrimDataCompReportingReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimDataCompReportingCnf_struct { + CiPsRc rc ; /**< Result code. \sa CiPsRc. */ + CiBoolean dcomp_report_enabled ; /**< FALSE - report is enabled + TRUE - report is disabled */ + } CiPsPrimDataCompReportingCnf; + +//ICAT EXPORTED ENUM + typedef enum CIPS_DCOMP_STATUS_TAG + { + CIPS_DCOMP_NONE , /**< Data compression is not in use */ + CIPS_DCOMP_BOTH , /**< V42B ITU-T Rec. V.42 bis is in use in + both directions */ + CIPS_DCOMP_RX , /**< V42B RD ITU-T Rec. V.42 bis is in use in receive direction only */ + CIPS_DCOMP_TX , /**< V42B TD ITU-T Rec. V.42 bis is in use in transmit direction only */ + CIPS_DCOMP_TYPE_NUM , + } _CiPsDcompStatus; + +typedef UINT8 CiPsDcompStatus ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimDataCompInd_struct { + UINT8 cid ; /**< PDP context identifier. */ + CiPsDcompStatus dcomp ; /**< Indicates the data compression status */ + } CiPsPrimDataCompInd; + +//ICAT EXPORTED STRUCT + /** */ + typedef struct CiPsPrimSetPsPagingyConfigReq_struct + { + + CiBoolean enable ; /**< TRUE: Activate DSDS PS+Paing ; FALSE: Deactivate DSDS PS+Paing \sa CCI API Ref Manual */ + } CiPsPrimSetPsPagingyConfigReq; + +//ICAT EXPORTED ENUM + typedef enum CIPS_VOICE_DOMAIN_PREFERNCE_TAG + { + CIPS_VOICE_DOMAIN_CS = 0 , + CIPS_VOICE_DOMAIN_CS_PREFERRED , + CIPS_VOICE_DOMAIN_IMS_PS_PREFERRED , + CIPS_VOICE_DOMAIN_IMS_PS , + CIPS_VOICE_DOMAIN_PREFERNCE_NUM + } _CiPsVoiceDomainPreference; + +typedef UINT8 CiPsVoiceDomainPreference ; +//ICAT EXPORTED STRUCT + /** */ + typedef struct CiPsPrimSetPsPagingyConfigCnf_struct + { + CiPsRc rc ; /**< Result code. \sa CiPsRc */ + } CiPsPrimSetPsPagingyConfigCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetImsVoiceCallAvailabilityReq_struct + { + UINT8 state ; /**< 0 - Voice calls with the IMS are not available , 1 - Voice calls with the IMS are available */ + } CiPsPrimSetImsVoiceCallAvailabilityReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetImsVoiceCallAvailabilityCnf_struct + { + CiPsRc rc ; /**< Result code \sa CiPsRc */ + } CiPsPrimSetImsVoiceCallAvailabilityCnf; + +typedef CiEmptyPrim CiPsPrimGetImsVoiceCallAvailabilityReq ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimGetImsVoiceCallAvailabilityCnf_struct + { + CiPsRc rc ; /**< Result code \sa CiPsRc */ + UINT8 state ; /**< 0 - Voice calls with the IMS are not available , 1 - Voice calls with the IMS are available */ + } CiPsPrimGetImsVoiceCallAvailabilityCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetImsSmsAvailabilityReq_struct + { + UINT8 state ; /**< 0 - SMS using IMS is not available , 1 - SMS using IMS is available */ + } CiPsPrimSetImsSmsAvailabilityReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetImsSmsAvailabilityCnf_struct + { + CiPsRc rc ; /**< Result code \sa CiPsRc */ + } CiPsPrimSetImsSmsAvailabilityCnf; + +typedef CiEmptyPrim CiPsPrimGetImsSmsAvailabilityReq ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimGetImsSmsAvailabilityCnf_struct + { + CiPsRc rc ; /**< Result code \sa CiPsRc */ + UINT8 state ; /**< 0 - SMS using IMS is not available , 1 - SMS using IMS is available */ + } CiPsPrimGetImsSmsAvailabilityCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetMmImsVoiceTerminationReq_struct + { + CiBoolean setting ; /**< If TRUE , Mobility Management for IMS Voice Termination disabled ; if FALSE , Mobility Management for IMS Voice Termination enabled \sa CCI API Ref Manual */ + } CiPsPrimSetMmImsVoiceTerminationReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetMmImsVoiceTerminationCnf_struct + { + CiPsRc rc ; /**< Result code \sa CiPsRc */ + } CiPsPrimSetMmImsVoiceTerminationCnf; + +typedef CiEmptyPrim CiPsPrimGetMmImsVoiceTerminationReq ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimGetMmImsVoiceTerminationCnf_struct + { + CiPsRc rc ; /**< Result code \sa CiPsRc */ + CiBoolean setting ; /**< If TRUE , Mobility Management for IMS Voice Termination disabled ; if FALSE , Mobility Management for IMS Voice Termination enabled \sa CCI API Ref Manual */ + } CiPsPrimGetMmImsVoiceTerminationCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimDefineDefaultPdpCtxReq_tag + { + UINT8 modeType ; // 0 - not save to NVM , 1 - save to NUM ; + + CiBoolean pdpTypePresent ; + CiPsPdpType pdpType ; + CiString apn ; + CiBoolean emgIndPresent ; + UINT8 emgInd ; + CiBoolean ipcpReqPresent ; + UINT8 ipcpReq ; + CiBoolean pcscfIpv6ReqPresent ; + UINT8 pcscfIpv6Req ; + CiBoolean imcnSigPresent ; + UINT8 imcnSig ; + CiBoolean dnsIpv6Present ; + UINT8 dnsIpv6 ; + CiBoolean nwBearPresent ; + UINT8 nwBear ; + CiBoolean dsmIpv6HaPresent ; + UINT8 dsmIpv6Ha ; + CiBoolean dsmIpv6PrefPresent ; + UINT8 dsmIpv6Pref ; + CiBoolean dsmIpv6HaIpv4Present ; + UINT8 dsmIpv6HaIpv4 ; + CiBoolean ipViaNasPresent ; + UINT8 ipViaNas ; + CiBoolean ipViaDhcpPresent ; + UINT8 ipViaDhcp ; + CiBoolean pcscfIpv4Present ; + UINT8 pcscfIpv4 ; + CiBoolean dnsIpv4Present ; + UINT8 dnsIpv4 ; + CiBoolean msisdnPresent ; + UINT8 msisdn ; + CiBoolean ifomPresent ; + UINT8 ifom ; + CiBoolean v4mtuPresent ; + UINT8 v4mtu ; + CiBoolean localTftPresent ; + UINT8 localTft ; + CiBoolean etifPresent ; + UINT8 etifFlag ; + } CiPsPrimDefineDefaultPdpCtxReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimDefineDefaultPdpCtxCnf_tag + { + CiPsRc rc ; /**< Result code \sa CiPsRc */ + } CiPsPrimDefineDefaultPdpCtxCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimGetDefaultPdpReq_Tag + { + UINT8 modeType ; // 0 - current used , 1 - from NVM + } CiPsPrimGetDefaultPdpReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimGetDefaultPdpCtx_tag + { + UINT8 modeType ; // 0 - current used , 1 - from NVM + CiString apn ; + CiPsPdpType pdpType ; + UINT8 emgInd ; + UINT8 ipcpReq ; + UINT8 pcscfIpv6Req ; + UINT8 imcnSig ; + UINT8 dnsIpv6 ; + UINT8 nwBear ; + UINT8 dsmIpv6Ha ; + UINT8 dsmIpv6Pref ; + UINT8 dsmIpv6HaIpv4 ; + UINT8 ipViaNas ; + UINT8 ipViaDhcp ; + UINT8 pcscfIpv4 ; + UINT8 dnsIpv4 ; + UINT8 msisdn ; + UINT8 ifom ; + UINT8 v4mtu ; + UINT8 localTft ; + UINT8 etifFlag ; + } CiPsPrimGetDefaultPdpCtx; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimGetDefaultPdpCtxCnf_tag + { + CiPsRc rc ; + CiPsPrimGetDefaultPdpCtx pdpCtx ; + } CiPsPrimGetDefaultPdpCtxCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetApnReq_Tag + { + UINT8 wapn ; // which apn , 0 - no action , 1 - the first APN in apn table , 2 - the second APN , .... + UINT8 apncl ; // APN class + + CiString apnni ; // APN Network identifier + + CiBoolean apnTypePresent ; + UINT8 apnType ; // 0 - invalid , 1 - ipv4 , 2 - ipv6 , 3 - ipv4v6 // CiPsApnAddrType + + CiBoolean apnBearPresent ; + UINT8 apnBear ; // 0 - invalid , 1 - LTE // CiPsApnBearType + + CiBoolean apnedPresent ; + UINT8 apned ; // 0 - disable , 1 - enable + + CiBoolean apnTimePresent ; + UINT32 apnTime ; + } CiPsPrimSetApnReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetApnCnf_tag + { + CiPsRc rc ; /**< Result code \sa CiPsRc */ + } CiPsPrimSetApnCnf; + +typedef CiEmptyPrim CiPsPrimGetApnReq ; +//ICAT EXPORTED STRUCT + typedef struct CiPsApnInfo_tag + { + UINT8 apncl ; + UINT8 apnType ; // 0 - invalid , 1 - ipv4 , 2 - ipv6 , 3 - ipv4v6 // CiPsApnAddrType + UINT8 apnBear ; // 0 - invalid , 1 - LTE // CiPsApnBearType + UINT8 apned ; // 0 - disable , 1 - enable + CiString apnni ; + UINT32 apnTime ; + } CiPsApnInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimGetApnCnf_Tag + { + CiPsRc rc ; // UINT16 , 2 bytes + UINT8 num ; + CiPsApnInfo apnInfo [ 5 ] ; + } CiPsPrimGetApnCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetImsRegStateReq_Tag + { + UINT8 state ; /**< 0 - IMS de-registered , 1 - IMS registered */ + } CiPsPrimSetImsRegStateReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetImsRegStateCnf_tag + { + CiPsRc rc ; /**< Result code \sa CiPsRc */ + } CiPsPrimSetImsRegStateCnf; + +typedef UINT8 CiPsUeToImsEvent ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimUeEventToImsInd_tag + { + CiPsUeToImsEvent ueEvent ; // 0 - SIM removed , 1 - IMS APN changed , 2 - other , 3 - T3346 start , 4 - T3346 expiry , 5 - T3346 stop , 6 -ERRC RELEASE. + CiBoolean imsNeedDeReg ; // 0 - IMS not need to re-register , 1 - IMS need to de-register + } CiPsPrimUeEventToImsInd; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimImsRegInfo_struct + { + UINT8 regInfo ; + UINT8 extInfo ; + } CiPsPrimImsRegInfo; + +typedef CiEmptyPrim CiPsPrimGetImsRegInfoReq ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimGetImsRegInfoCnf_struct // +CIREG: , , + { + CiPsRc rc ; + UINT8 reportState ; + CiPsPrimImsRegInfo info ; + } CiPsPrimGetImsRegInfoCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetImsRegInfoIndReq_struct // AT+CIREG=n + { + UINT8 reportState ; + } CiPsPrimSetImsRegInfoIndReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetImsRegInfoIndCnf_struct // OK or false + { + CiPsRc rc ; + } CiPsPrimSetImsRegInfoIndCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimImsRegInfoInd_struct // +CIREGU: , + { + UINT8 reportState ; + CiPsPrimImsRegInfo newInfo ; + } CiPsPrimImsRegInfoInd; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetVoiceDomainPreferenceReq_struct + { + CiBoolean eutran ; /**< If TRUE , E-UTRAN ; if FALSE , UTRAN \sa CCI API Ref Manual */ + CiPsVoiceDomainPreference setting ; /**< indicates the voice domain preference of the UE \sa CiPsVoiceDomainPreference */ + } CiPsPrimSetVoiceDomainPreferenceReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetVoiceDomainPreferenceCnf_struct + { + CiPsRc rc ; /**< Result code \sa CiPsRc */ + } CiPsPrimSetVoiceDomainPreferenceCnf; + +typedef CiEmptyPrim CiPsPrimGetVoiceDomainPreferenceReq ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimGetVoiceDomainPreferenceCnf_struct + { + CiPsRc rc ; /**< Result code \sa CiPsRc */ + CiPsVoiceDomainPreference utran_setting ; /**< indicates the voice domain preference of the UE for UTRAN \sa CiPsVoiceDomainPreference */ + CiPsVoiceDomainPreference eutan_setting ; /**< indicates the voice domain preference of the UE for E-UTRAN \sa CiPsVoiceDomainPreference */ + } CiPsPrimGetVoiceDomainPreferenceCnf; + +//ICAT EXPORTED ENUM + typedef enum CiPsEpsUsageSetting_Tag + { + CIPS_EPS_VOICE_CENTRIC = 0 , + CIPS_EPS_DATA_CENTRIC , + CIPS_EPS_CENTRIC_NUM + } _CiPsEpsUsageSetting; + +typedef UINT8 CiPsEpsUsageSetting ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetEpsUsageSettingReq_struct + { + CiPsEpsUsageSetting epsUsageSetting ; // 0 / 1 + } CiPsPrimSetEpsUsageSettingReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetEpsUsageSettingCnf_struct + { + CiPsRc rc ; + } CiPsPrimSetEpsUsageSettingCnf; + +typedef CiEmptyPrim CiPsPrimGetEpsUsageSettingReq ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimGetEpsUsageSettingCnf_struct + { + CiPsRc rc ; + CiPsEpsUsageSetting epsUsageSetting ; // 0 / 1 + } CiPsPrimGetEpsUsageSettingCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetApUniversalSettingReq_struct + { + CiBoolean enableDataStatePresent ; + UINT8 enableDataState ; /**< State of Data enable setting. TRUE: enable ; FALSE: disable.\sa CCI API Ref Manual */ + } CiPsPrimSetApUniversalSettingReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetApUniversalSettingCnf_struct + { + CiPsRc rc ; /**< Result code \sa CiPsRc */ + } CiPsPrimSetApUniversalSettingCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetPsServiceDomainReq_struct + { + CiBoolean psServiceEnable ; /**< State of Data enable setting. TRUE: enable ; FALSE: disable.\sa CCI API Ref Manual */ + } CiPsPrimSetPsServiceDomainReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetPsServiceDomainCnf_struct + { + CiPsRc rc ; /**< Result code \sa CiPsRc */ + } CiPsPrimSetPsServiceDomainCnf; + +typedef CiEmptyPrim CiPsPrimGetPsServiceDomainReq ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimGetPsServiceDomainCnf_struct + { + CiBoolean psServiceEnable ; /**< State of Data enable setting. TRUE: enable ; FALSE: disable.\sa CCI API Ref Manual */ + } CiPsPrimGetPsServiceDomainCnf; + +typedef UINT8 CiPsImsSrvType ; +typedef UINT8 CiPsImsSrvStatus ; +typedef UINT8 CiPsImsSrvFailCause ; +typedef UINT16 CiPsImsSrvCause ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetImsServiceStatusReq_struct + { + CiPsImsSrvType imsSrvType ; + CiPsImsSrvStatus imsSrvStatus ; + CiPsImsSrvFailCause srvFailCause ; + } CiPsPrimSetImsServiceStatusReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetImsServiceStatusCnf_struct + { + CiPsRc rc ; + CiPsImsSrvCause cause ; + } CiPsPrimSetImsServiceStatusCnf; + +typedef UINT16 CiPsSuspendCause ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSuspendResumeInd_struct + { + CiBoolean suspended ; // 0 - resume , 1 - suspended + CiPsSuspendCause suspendReason ; + } CiPsPrimSuspendResumeInd; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimChapAuthenticateReq_struct + { + UINT8 cid ; /**< PDP context identifier. 0xFF for LTE attach PDN ; others for MO */ + CiStringExt challenge ; /**< CHAP challenge octets */ + CiStringExt response ; /**< CHAP response octets */ + } CiPsPrimChapAuthenticateReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimChapAuthenticateCnf_struct + { + CiPsRc rc ; /**< Result code. \sa CiPsRc */ + } CiPsPrimChapAuthenticateCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimActivateReconfigPdpCtxReq_struct + { + CiPsPdpCtx pdpCtx ; /**< PDP context definition \sa CiPsPdpCtx_struct */ + CiBoolean authInfoPresent ; + CiPsAuthenticationType authenticationType ; /**< Authentication type. \sa CiPsAuthenticationType */ + CiStringExt userName ; /**< UserName octets. \sa CCI API Ref Manual */ + CiStringExt password ; /**< Password octets. \sa CCI API Ref Manual */ + } CiPsPrimActivateReconfigPdpCtxReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimActivateReconfigPdpCtxCnf_struct + { + CiPsRc rc ; /**< Result code. \sa CiPsRc */ + } CiPsPrimActivateReconfigPdpCtxCnf; + +typedef unsigned int size_t ; +typedef unsigned int clock_t ; +typedef unsigned int time_t ; +typedef void ( *wifi_event_cb_t ) ( char *iccid , char *mac ) ; +//ICAT EXPORTED ENUM + typedef enum CI_MM_PRIM + { + CI_MM_PRIM_GET_NUM_SUBSCRIBER_NUMBERS_REQ = 1 , /**< \brief Requests the number of subscriber number entries in the MSISDN list \details */ + CI_MM_PRIM_GET_NUM_SUBSCRIBER_NUMBERS_CNF , /**< \brief Confirms the request to return the number of subscriber number entries in the MSISDN list \details Requires the SIM to be inserted and ready , plus prior PIN1 validation. */ + CI_MM_PRIM_GET_SUBSCRIBER_INFO_REQ , /**< \brief Requests subscriber information for a specified entry in the MSISDN list \details This information is stored on the SIM , so for this request to succeed , the SIM must be inserted and ready. + * Access to the MSISDN list requires prior PIN1 ( CHV1 ) validation. + * Use the CI_MM_PRIM_GET_NUM_SUBSCRIBER_NUMBERS_REQ to determine the number of MSISDN list entries. */ + CI_MM_PRIM_GET_SUBSCRIBER_INFO_CNF , /**< \brief Confirms the request to return subscriber information for a specified entry in the MSISDN list \details */ + CI_MM_PRIM_GET_SUPPORTED_REGRESULT_OPTIONS_REQ , /**< \brief Requests the supported settings for the unsolicited network registration reporting option \details */ + CI_MM_PRIM_GET_SUPPORTED_REGRESULT_OPTIONS_CNF , /**< \brief Confirms the request to return the supported settings for the unsolicited network registration reporting option \details There should be no reason for an error result. */ + CI_MM_PRIM_GET_REGRESULT_OPTION_REQ , /**< \brief Requests the current reporting option for Unsolicited Network Registration Result Indications \details See CI_MM_PRIM_SET_REGRESULT_OPTION for default information. */ + CI_MM_PRIM_GET_REGRESULT_OPTION_CNF , /**< \brief Confirms the request to return the current reporting option for Unsolicited Network Registration Result Indications \details There should be no reason for an error result. */ + CI_MM_PRIM_SET_REGRESULT_OPTION_REQ , /**< \brief Request to set the reporting option for Unsolicited Network Registration Result Indications \details Unsolicited Registration Result Indications ( CI_MM_PRIM_REG_RESULT_IND ) are sent ( if enabled ) only if the reported information + * has changed since the last indication. + * CIMM_REGRESULT_STATUS is the default reporting option. */ + CI_MM_PRIM_SET_REGRESULT_OPTION_CNF = 10 , /**< \brief Confirms a request to set the reporting option for Unsolicited Network Registration Result Indications \details */ + CI_MM_PRIM_REGRESULT_IND , /**< \brief Indicates the Unsolicited Network Registration Result \details Receipt of this indication ( and the information it contains ) can be configured by the + * CI_MM_PRIM_SET_REGRESULT_OPTION_REQ request. + * If this indication is enabled , the current registration status ( if available ) is reported. + * As a configuration option , current cell information ( if available ) can also be included. + * This information can also be requested at any time , using the CI_CC_PRIM_GET_REGRESULT_INFO_REQ request. + * No explicit response is required. */ + CI_MM_PRIM_GET_REGRESULT_INFO_REQ , /**< \brief Requests the most recent registration result information \details See CI_MM_PRIM_SET_REGRESULT_OPTION for default information. */ + CI_MM_PRIM_GET_REGRESULT_INFO_CNF , /**< \brief Confirms the request to return the most recent registration result information \details Use the CI_MM_PRIM_GET_REGRESULT_OPTION_REQ request to get the current registration result reporting option. + * This option setting may affect the availability of registration result information. + * The current registration status and location information ( if available ) are included. */ + CI_MM_PRIM_GET_SUPPORTED_ID_FORMATS_REQ , /**< \brief Requests a list of supported format indicators for the network / operator ID information + * \details These format indicators are used in the CiMmNetOpIdInfo structure , to indicate how SAC should format the network or operator + * identification information. */ + CI_MM_PRIM_GET_SUPPORTED_ID_FORMATS_CNF , /**< \brief Confirms the request and returns a list of supported format indicators for the network / operator ID information + * \details There should be no reason for an error result. */ + CI_MM_PRIM_GET_ID_FORMAT_REQ , /**< \brief Requests the currently selected network operator ID format indicator \details The network operator ID format indicator selects which of the supported formats SAC will use to represent the network / operator ID. */ + CI_MM_PRIM_GET_ID_FORMAT_CNF , /**< \brief Confirms the request to return the currently selected network operator ID format indicator \details There should be no reason for an error result. */ + CI_MM_PRIM_SET_ID_FORMAT_REQ , /**< \brief Requests to set the network / operator ID format indicator \details The network operator ID format indicator selects which of the supported formats SAC will use to represent the network / operator ID + * when reporting network operator information. The default format indicator is set for a numeric network ID. */ + CI_MM_PRIM_SET_ID_FORMAT_CNF , /**< \brief Confirms the request to set the network / operator ID format indicator \details */ + CI_MM_PRIM_GET_NUM_NETWORK_OPERATORS_REQ = 20 , /**< \brief Requests the number of operators present in the network \details */ + CI_MM_PRIM_GET_NUM_NETWORK_OPERATORS_CNF , /**< \brief Confirms the request to get the number of operators present in the network \details */ + CI_MM_PRIM_GET_NETWORK_OPERATOR_INFO_REQ , /**< \brief Requests information about a specified operator present in the network \details Use CI_CC_PRIM_GET_NUM_NETWORK_OPERATORS_REQ to determine the number of operators present in the network , + * if there are any. This number determines the range of values for the Index parameter. + * Index values start at 1 , which indicates the first operator in the network ( usually the home network operator ) . */ + CI_MM_PRIM_GET_NETWORK_OPERATOR_INFO_CNF , /**< \brief Confirms the request to get information about a specified operator present in the network \details There may be no operators currently present in the network. In that case , the network operator status information is not + * included. + * Status for network operators present should be indexed in the following order of precedence ( with the highest precedence listed first ) : + * Home network operator ( if present ) + * Operators for networks that are referenced in the SIM + * Other network operators that are present + * The network and operator ID information is presented in all supported formats. If information for any of the formats is unavailable , SAC indicates this in the CiMmNetOpStatusInfo structure as follows: + * Unavailable operator ID has its Length field set to zero. + * Unavailable network ID has its fields set to CIMM_COUNTRYCODE_NONE and CIMM_NETWORKCODE_NONE. */ + CI_MM_PRIM_GET_NUM_PREFERRED_OPERATORS_REQ , /**< \brief Requests the number of entries in the preferred network operators list \details The preferred network operators list is stored on the SIM in the EFPLMNSel file. + * The maximum number of entries in the EFPLMNSel file is specified when the SIM is provisioned , but the file must accommodate at least + * 8 PLMN entries. See [ 1 ] for more information. */ + CI_MM_PRIM_GET_NUM_PREFERRED_OPERATORS_CNF , /**< \brief Confirms the request to get the number of entries in the preferred network operators list \details If the SIM is not present and ready , SAC sets the NumPref parameter to zero. */ + CI_MM_PRIM_GET_PREFERRED_OPERATOR_INFO_REQ , /**< \brief Requests information for a specified entry in the preferred network operators list \details Use CI_CC_PRIM_GET_NUM_PREFERRED_OPERATORS_REQ to determine the number of entries in the preferred network + * operators list. This number determines the range of values for the Index parameter. + * The preferred operator list is stored in the EFPLMNSel file on the SIM , and requires the Card Holder Verification password CHV1 + * ( if enabled ) to be established before access to this file is allowed. + * The maximum number of entries in the EFPLMNSel file is specified when the SIM is provisioned , but the file must accommodate at least + * 8 PLMN entries. See [ 1 ] for more information. */ + CI_MM_PRIM_GET_PREFERRED_OPERATOR_INFO_CNF , /**< \brief Confirms the request to get information for a specified entry in the preferred network operators list + * \details The network / operator ID information is presented in the default format , or in the format set by the most recent + * CI_CC_PRIM_SET_ID_FORMAT_REQ request. */ + CI_MM_PRIM_ADD_PREFERRED_OPERATOR_REQ , /**< \brief Requests a new entry to be added to the preferred network operators list \details Adds a new entry to the end of the Preferred Operators List. + * The Preferred Operators List is stored in the EFPLMNSel file on the SIM , and requires a Card Holder Verification password CHV1 + * ( if enabled ) to be established before access to this file is allowed. */ + CI_MM_PRIM_ADD_PREFERRED_OPERATOR_CNF , /**< \brief Confirms a request to add a new entry to the preferred network operators list \details The network / operator ID information must be presented in the default format , or in the format set by the most recent CI_CC_PRIM_SET_ID_FORMAT_REQ request. + * If the request fails , the list is unchanged. The maximum number of entries in the EFPLMNSel file is specified when the SIM is + * provisioned , but the file must accommodate at least 8 PLMN entries. See [ 1 ] for more information. + * The number of entries in the list is returned regardless of the success / failure of the request. */ + CI_MM_PRIM_DELETE_PREFERRED_OPERATOR_REQ = 30 , /**< \brief Requests an entry to be deleted from the preferred network operators list \details Use CI_CC_PRIM_GET_NUM_PREFERRED_OPERATORS_REQ to determine the number of entries in the preferred network + * operators list. This number determines the range of values for the Index parameter. + * The preferred operator list is stored in the EFPLMNSel file on the SIM , and requires a Card Holder Verification password CHV1 + * ( if enabled ) to be verified before access to this file is allowed. */ + CI_MM_PRIM_DELETE_PREFERRED_OPERATOR_CNF , /**< \brief Confirms a request to delete an entry from the preferred network operators list \details If the request fails , the list is unchanged. + * The maximum number of entries in the EFPLMNSel file is specified when the SIM is provisioned , but the file must accommodate at + * least 8 PLMN entries. See " Cellular Interface Application Programming Interface " , revision i0.6 , for more information. + * The number of entries in the list is returned regardless of the success / failure of the request. */ + CI_MM_PRIM_GET_CURRENT_OPERATOR_INFO_REQ , /**< \brief Requests information about the current network operator ( if there is one ) \details */ + CI_MM_PRIM_GET_CURRENT_OPERATOR_INFO_CNF , /**< \brief Confirms the request to get information about the current network operator ( if there is one ) \details */ + + CI_MM_PRIM_AUTO_REGISTER_REQ , /**< \brief Requests automatic registration \details Uses PLNM lists stored on the SIM , so an installed SIM is required. + * The handset is always in automatic PLMN selection mode , except when a manual registration request is received. + * After completing a manual registration operation , SAC resets the registration mode to automatic. Therefore , the application layer + * does not need to use this request to reset the current registration mode to automatic. + * The PLMN selection mode ( registration mode ) is not saved to NVRAM ; it is always set to automatic mode during SAC initialization. */ + CI_MM_PRIM_AUTO_REGISTER_CNF , /**< \brief Confirms a request for automatic registration \details */ + CI_MM_PRIM_MANUAL_REGISTER_REQ , /**< \brief Requests manual registration \details The registration result itself is relayed by a CI_MM_PRIM_REGRESULT_IND indication. It can also be retrieved on demand , using + * the CI_MM_PRIM_GET_REGRESULT_INFO_REQ request. + * On successful completion of this request , SAC resets the registration mode to CIMM_REGMODE_AUTOMATIC. */ + CI_MM_PRIM_MANUAL_REGISTER_CNF , /**< \brief Confirms a request for manual registration \details The registration result is relayed by CI_MM_PRIM_REGRESULT_IND , if this is enabled. The information can also + * be retrieved on demand , using CI_MM_PRIM_GET_REGRESULT_INFO_REQ. + * On successful completion of this request , SAC resets the current registration mode to automatic. */ + CI_MM_PRIM_DEREGISTER_REQ , /**< \brief Requests deregistration \details */ + CI_MM_PRIM_DEREGISTER_CNF , /**< \brief Confirms a request for deregistration \details The deregistration result is relayed by CI_MM_PRIM_REGRESULT_IND. It can also be retrieved on demand , using + * CI_MM_PRIM_GET_REGRESULT_INFO_REQ. */ + CI_MM_PRIM_GET_SIGQUALITY_IND_CONFIG_REQ = 40 , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_MM_PRIM_GET_SIGQUALITY_IND_CONFIG_CNF , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_MM_PRIM_SET_SIGQUALITY_IND_CONFIG_REQ , /**< \brief Requests the current configuration for unsolicited signal quality indications \details Unsolicited signal quality indications can be configured in one of two ways: + * - Report signal quality information periodically. The time interval is specified in 100 ms units. + * - Report signal quality information when the RSS changes by more than a specified threshold. The threshold is specified in dBm. + * These two configuration options are mutually exclusive. */ + CI_MM_PRIM_SET_SIGQUALITY_IND_CONFIG_CNF , /**< \brief Confirms a request to set the current configuration for unsolicited signal quality indications \details */ + CI_MM_PRIM_SIGQUALITY_INFO_IND , /**< \brief Indicates the unsolicited signal quality \details This indication can be configured by CI_MM_PRIM_SET_SIGQUALITY_IND_CONFIG_REQ. + * The RSS value is reported in dBm , and should be in the range -113dBm through -51 dBm. + * The bit error rate ( BER ) is reported as an encoded value between 0 and 7 . The upper layers should convert this value to a suitable + * BER representation. + * No explicit response is required. */ + + /*Modified by xwzhou for CQ on 8052013 , begin*/ + CI_MM_PRIM_EXTENDED_SIGQUALITY_INFO_IND , // add by xwzhou + /*Modified by xwzhou for CQ on 8052013 , end*/ + // SCR #1401348 + CI_MM_PRIM_ENABLE_NETWORK_MODE_IND_REQ , /**< \brief Requests that network mode indication be enabled or disabled \details The network mode indication ( if enabled ) is sent whenever the current network mode changes. + * By default , the network mode indication is disabled. */ + CI_MM_PRIM_ENABLE_NETWORK_MODE_IND_CNF , /**< \brief Confirms a request to enable or disable network mode indication. \details By default , the network mode indication is disabled. */ + CI_MM_PRIM_NETWORK_MODE_IND , /**< \brief Indicates the current network mode \details Each of the CiMmNetworkMode parameters indicates the PDP status for their indicated system: + * - gprsActive ( 1 - gprs is active , 0 - gprs is inactive ) + * - egprsActive ( 1 - egprs is active , 0 - egprs is inactive ) + * - hsdpaActive ( 1 - hsdpa is active , 0 - hsdpa is inactive ) + * - hsupaActive ( 1 - hsupa is active , 0 - hsupa is inactive ) + * This indication can be enabled or disabled by CI_MM_PRIM_ENABLE_NETWORK_MODE_IND_REQ. + * By default , this indication is disabled. + * No explicit response is required. */ + CI_MM_PRIM_GET_NITZ_INFO_REQ , /**< \brief Requests the current network identity and time zone ( NITZ ) information + * \details NITZ information is updated by the protocol stack whenever it changes , for example , when acquiring or re-acquiring network service. */ + CI_MM_PRIM_GET_NITZ_INFO_CNF = 50 , /**< \brief Confirms a request for current network identity and time zone ( NITZ ) information \details */ + CI_MM_PRIM_NITZ_INFO_IND , /**< \brief Indicates the status of the current network identity and time zone ( NITZ ) information + * \details NITZ information is reported by the protocol stack whenever it changes , for example , when acquiring or re-acquiring network service. + * NITZ indications are enabled by default. */ + + CI_MM_PRIM_CIPHERING_STATUS_IND , /**< \brief Indicates a ciphering status change \details + * The protocol stack sends a cipher indication signal to the application layer + * specifying the CS and PS ciphering status. SAC captures this signal and sends a + * ' CiMmPrimCipheringStatusInd ' notification. + * The authentication and ciphering procedure is always initiated and controlled by the network. + * The following events trigger a cipher notification: + * - A request by the network to authenticate and / or set the ciphering mode + * - GPRS authenticate confirmation from the SIM + * - Processing the authentication result + * - Failure to release a CS connection + * - Invalidating the GPRS parameters that are stored on the SIM and + * marking the SIM as invalid for GPRS services + * - Receiving a SYNC signal indicating ciphering mode setting or some channel assignment or modification + * + * An additional parameter is needed to indicate if display of + * the ciphering indicator is required. This parameter is provided in the + * OFM bit ( first bit ) of the ' additional information ' entry ( bytes 2 and 3 ) of the EF_AD ( administrative + * data ) SIM / USIM file. + */ + CI_MM_PRIM_AIR_INTERFACE_REJECT_CAUSE_IND , /**< \brief Indicates an air interface reject cause code \details + * The protocol stack sends an air interface reject cause code indication due to errors that + * can occur during MM / GMM procedures such as LU / RA update reject , authentication reject , etc. + * These reject codes are intended to enable vendors to give specific visual / audible feedback to the user. + */ + /* Michal Bukai - Selection of preferred PLMN list +CPLS - START */ + CI_MM_PRIM_SELECT_PREFERRED_PLMN_LIST_REQ , /**< \brief Requests to select the preferred PLMN list + * \details The selected preffered PLMN list will be used when operation on the list is required */ + CI_MM_PRIM_SELECT_PREFERRED_PLMN_LIST_CNF , /**< \brief Confirms the request to select a preferred PLMN list */ + CI_MM_PRIM_GET_PREFERRED_PLMN_LIST_REQ , /**< \brief Requests to read what is the selected preferred PLMN list */ + CI_MM_PRIM_GET_PREFERRED_PLMN_LIST_CNF , /**< \brief Confirms the response and returns the type of the selected preferred PLMN list */ + /* Michal Bukai - Selection of preferred PLMN list +CPLS - END */ + CI_MM_PRIM_BANDIND_IND , /**< \brief Indicates the current band + * \details Indications are sent when the band changes and band indications are enabled. */ + CI_MM_PRIM_SET_BANDIND_REQ , /**< \brief Requests to enable / disable band indications \details */ + CI_MM_PRIM_SET_BANDIND_CNF = 60 , /**< \brief Confirms the request to enable / disable band indications \details */ + CI_MM_PRIM_GET_BANDIND_REQ , /**< \brief Requests the status of band indications ( enabled / disabled ) and an indication of the current band \details */ + CI_MM_PRIM_GET_BANDIND_CNF , /**< \brief Confirms the request and returns the status of band indications ( enabled / disabled ) and an indication of the current band \details */ + CI_MM_PRIM_SERVICE_RESTRICTIONS_IND , /**< \brief Indicates if display of PLMN selection menus is allowed + * \details PLMN selection menu contol information is stored in SIM or USIM in bit ' PLMN Mode ' of file EF-CSP ( see CPHS Version 4.200000 ) . + * On power up the application should assume that display of PLMN selection menus is not allowed. + * This indication is sent on power if display of PLMN selection menus is allowed and whenever there is a change of this bit using OTA reprogramming. + */ + + /* ADD NEW COMMON PRIMITIVES HERE , BEFORE ' CI_MM_PRIM_LAST_COMMON_PRIM ' */ + // Michal Bukai - HOMEZONE support + CI_MM_PRIM_HOMEZONE_IND , /**< \brief Indicates a change in HomeZone indication status \details */ + /*Michal Bukai - Cell Lock - Start*/ + CI_MM_PRIM_CELL_LOCK_REQ , /**< \brief Requests to activate or to deactivate cell lock \details */ + CI_MM_PRIM_CELL_LOCK_CNF , /**< \brief Confirms the request and activates or deactivates cell lock \details */ + CI_MM_PRIM_CELL_LOCK_IND , /**< \brief Indicates the status of cell lock \details */ + /*Michal Bukai - Cell Lock - End*/ + + CI_MM_PRIM_SET_FAST_DORMANT_CAP_REQ , /**< \brief Requests to enable / disable fast dormancy capability , it will be saved in NVM \details */ + CI_MM_PRIM_SET_FAST_DORMANT_CAP_CNF , /**< \brief Confirms the request to enable / disable fast dormancy capability \details */ + CI_MM_PRIM_GET_FAST_DORMANT_CAP_REQ = 70 , /**< \brief Requests the capability of fast dormancy ( enabled / disabled ) \details */ + CI_MM_PRIM_GET_FAST_DORMANT_CAP_CNF , /**< \brief Confirms the request and returns the capability of fast dormancy ( enabled / disabled ) \details */ + + CI_MM_PRIM_SET_NAS_INTEGRITY_CHECK_REQ , /**< \brief Requests to enable / disable NAS integrity check , it will be saved in NVM \details */ + CI_MM_PRIM_SET_NAS_INTEGRITY_CHECK_CNF , /**< \brief Confirms the request to enable / disable NAS integrity check \details */ + CI_MM_PRIM_GET_NAS_INTEGRITY_CHECK_REQ , /**< \brief Requests the configuration of NAS integrity check ( enabled / disabled ) kept in NVM \details */ + CI_MM_PRIM_GET_NAS_INTEGRITY_CHECK_CNF , /**< \brief Confirms the request and returns configuration of NAS integrity check ( enabled / disabled ) \details */ + + CI_MM_PRIM_GET_NUM_LTE_NETWORK_OPERATORS_REQ , /**< \brief Requests the number of operators present in the network \details */ + CI_MM_PRIM_GET_NUM_LTE_NETWORK_OPERATORS_CNF , /**< \brief Confirms the request to get the number of operators present in the network \details */ + CI_MM_PRIM_GET_LTE_NETWORK_OPERATOR_INFO_REQ , /**< \brief Requests information about a specified operator present in the network \details Use CI_CC_PRIM_GET_NUM_LTE_NETWORK_OPERATORS_REQ to determine the number of operators present in the network , + * if there are any. This number determines the range of values for the Index parameter. + * Index values start at 1 , which indicates the first operator in the network ( usually the home network operator ) . */ + CI_MM_PRIM_GET_LTE_NETWORK_OPERATOR_INFO_CNF , /**< \brief Confirms the request to get information about a specified operator present in the network \details There may be no operators currently present in the network. In that case , the network operator status information is not*/ + CI_MM_PRIM_GET_LTE_BACKGROUND_INFO_REQ = 80 , /**< \brief Requests information about the current network operator ( if there is one ) \details */ + CI_MM_PRIM_GET_LTE_BACKGROUND_INFO_CNF , /**< \brief Confirms the request to get information about the current network operator ( if there is one ) \details */ + CI_MM_PRIM_SET_LTE_BACKGROUND_INFO_REQ , /**< \brief Requests information about the current network operator ( if there is one ) \details */ + CI_MM_PRIM_SET_LTE_BACKGROUND_INFO_CNF , /**< \brief Confirms the request to get information about the current network operator ( if there is one ) \details */ + + CI_MM_PRIM_CS_SERVICE_NOTIFICATION_IND , /**CSFB indication from APEX_MM*/ + CI_MM_PRIM_CS_SERVICE_NOTIFICATION_RSP , /**CSFB respond from AP*/ + + CI_MM_PRIM_DSAC_STATUS_IND , /**< \brief Indicates domain service access status \details */ + CI_MM_PRIM_SET_SRVCC_SUPPORT_REQ , /**< \brief Set SRVCC Support of the UE. The network is updated when changing this parameter. \details */ + CI_MM_PRIM_SET_SRVCC_SUPPORT_CNF , /**< \brief Confirms the setting of the SRVCC support. \details */ + CI_MM_PRIM_GET_SRVCC_SUPPORT_REQ , /**< \brief Get the SRVCC Support status of the UE. \details */ + CI_MM_PRIM_GET_SRVCC_SUPPORT_CNF = 90 , /**< \brief Confirms the request to get the SRVCC support status. \details */ + CI_MM_PRIM_SET_IMS_NW_REPORT_MODE_REQ , /**< \brief Set command enables or disables reporting of SRVCC handover information and + * of IMS Voice Over PS sessions ( IMSVOPS ) indicator information \details */ + CI_MM_PRIM_SET_IMS_NW_REPORT_MODE_CNF , /**< \brief Confirms the setting of the IMS reporting or SRVCC. \details */ + CI_MM_PRIM_GET_IMS_NW_REPORT_MODE_REQ , /**< \brief Get the reporting of SRVCC handover information and of IMS Voice Over PS + * sessions ( IMSVOPS ) indicator information \details */ + CI_MM_PRIM_GET_IMS_NW_REPORT_MODE_CNF , /**< \brief Confirms the CI_MM_PRIM_GET_IMS_NW_REPORT_MODE_REQ \details */ + CI_MM_PRIM_IMSVOPS_IND , /**< \brief IMS Voice Over PS sessions ( IMSVOPS ) supported indication from the network \details */ + CI_MM_PRIM_SRVCC_HANDOVER_IND , /**< \brief Reporting of SRVCC handover information indication \details */ + CI_MM_PRIM_SET_EMERGENCY_NUMBER_REPORT_MODE_REQ , /**< \brief Set reporting of new emergency numbers received from the network \details */ + CI_MM_PRIM_SET_EMERGENCY_NUMBER_REPORT_MODE_CNF , /**< \brief Confirms the request to set reporting of new emergency numbers received from the network. \details */ + CI_MM_PRIM_GET_EMERGENCY_NUMBER_REPORT_REQ , /**< \brief Get the reporting status of new emergency numbers received from the network \details */ + CI_MM_PRIM_GET_EMERGENCY_NUMBER_REPORT_CNF = 100 , /**< \brief Confirm the request to get the reporting status of new emergency numbers received from the network. \details */ + CI_MM_PRIM_EMERGENCY_NUMBER_REPORT_IND , /**< \brief Unsolicited reporting of emergency numbers received from the network + * \details sent if reporting was set with CI_MM_PRIM_SET_EMERGENCY_NUMBER_REPORT_MODE_REQ*/ + CI_MM_PRIM_SET_NW_EMERGENCY_BEARER_SERVICES_REQ , /**< \brief Set command enables reporting of changes in the emergency bearer services support indicators \details */ + CI_MM_PRIM_SET_NW_EMERGENCY_BEARER_SERVICES_CNF , /**< \brief Confirmation to the setting of reporting of changes in the emergency bearer services support indicators \details */ + CI_MM_PRIM_GET_NW_EMERGENCY_BEARER_SERVICES_REQ , /**< \brief Get the current setting of reporting of changes in the emergency bearer services support indicators \details */ + CI_MM_PRIM_GET_NW_EMERGENCY_BEARER_SERVICES_CNF , /**< \brief Response to get the current setting of reporting of changes in the emergency bearer services support indicators + * \details The indications emb_Iu_supp and emb_S1_supp are only set to supported when explicitly signalled from the network*/ + CI_MM_PRIM_NW_EMERGENCY_BEARER_SERVICES_IU_IND , /**< \brief Unsolicited reporting of changes in the emergency bearer services support + * indicators according to the network feature support information element , see + * 3 GPP TS 24.008000 subclause 10.500000 .5.23 \details */ + CI_MM_PRIM_NW_EMERGENCY_BEARER_SERVICES_S1_IND , /**< \brief Unsolicited reporting of changes in the emergency bearer services support + * indicators according to the EPS network feature support information element , see + * 3 GPP TS 24.301000 subclause 9.900000 .3.12A \details */ + CI_MM_PRIM_GET_SSAC_STATUS_REQ , /**< \brief Get current status of SSAC ( Service Specific Access Control ) related information \details */ + CI_MM_PRIM_GET_SSAC_STATUS_CNF , /**< \brief Confirmation for the request to get SSAC status \details */ + CI_MM_PRIM_GET_SIGQUALITY_INFO_REQ = 110 , /**< \brief Request signal quality information */ + CI_MM_PRIM_GET_SIGQUALITY_INFO_CNF , /**< \brief Reports the signal quality */ + + CI_MM_PRIM_WB_CELL_LOCK_REQ , /**< \brief Requests to activate or to deactivate WB-GSM band cell lock \details , used by G+W */ + CI_MM_PRIM_WB_CELL_LOCK_CNF , /**< \brief Confirms the request and activates or deactivates WB-GSM band cell lock \details */ + /*Michal Bukai - cancel PLMN search ( Samsung ) - Start*/ + CI_MM_PRIM_CANCEL_MANUAL_PLMN_SEARCH_REQ , /**< \brief Requests to cancel manual PLMN search + * \details The primitive CI_MM_PRIM_CANCEL_MANUAL_PLMN_SEARCH_REQ is used to trigger abort manual PLMN search. + */ + CI_MM_PRIM_CANCEL_MANUAL_PLMN_SEARCH_CNF , /**< \brief Confirms the request and stops the manual PLMN search + * \details If the search will be cencelled successfully CI_MM_PRIM_CANCEL_MANUAL_PLMN_SEARCH_CNF with failure result will be returned. + */ + /*Michal Bukai - cancel PLMN search ( Samsung ) - End*/ + + CI_MM_PRIM_TRIGGER_USER_RESELECTION_REQ , /**< \brief Request to trigger user PLMN selection */ + CI_MM_PRIM_TRIGGER_USER_RESELECTION_CNF , /**< \brief confirm that trigger user PLMN selection was received */ + + CI_MM_PRIM_SET_POWER_UP_PLMN_MODE_REQ , /**< \brief Sets the PLMN selection mode at power up + * \details according to 3 GPP TS 23.122000 , section 4.400000 .3.1 switch on reovery from lack of coverage. */ + CI_MM_PRIM_SET_POWER_UP_PLMN_MODE_CNF , /**< \brief confirm the request to set the PLMN selection mode at power up + * \details according to 3 GPP TS 23.122000 , section 4.400000 .3.1 switch on reovery from lack of coverage.*/ + CI_MM_PRIM_GET_POWER_UP_PLMN_MODE_REQ = 120 , /**< \brief Gets the PLMN selection mode at power up + * \details according to 3 GPP TS 23.122000 , section 4.400000 .3.1 switch on reovery from lack of coverage.*/ + CI_MM_PRIM_GET_POWER_UP_PLMN_MODE_CNF , /**< \brief Confirm the request to get the PLMN selection mode at power up + * \details according to 3 GPP TS 23.122000 , section 4.400000 .3.1 switch on reovery from lack of coverage.*/ + CI_MM_PRIM_NETWORK_MODE_REQ , + CI_MM_PRIM_NETWORK_MODE_CNF , + + CI_MM_PRIM_FIRST_SEARCHED_NETWORK_OPERATOR_IND , /**First searched network operator indication from APEX_MM*/ + CI_MM_PRIM_FRAT_LIST_ACTION_REQ , + CI_MM_PRIM_FRAT_LIST_ACTION_CNF , + CI_MM_PRIM_GET_FRAT_LIST_REQ , + CI_MM_PRIM_GET_FRAT_LIST_CNF , + + CI_MM_PRIM_CSG_AUTO_SEARCH_REQ , /**< \brief Request for Automatic camping on the strongest CSG cell. */ + CI_MM_PRIM_CSG_AUTO_SEARCH_CNF = 130 , /**< \brief Confirm the request for Automatic camping on the strongest CSG cell. */ + CI_MM_PRIM_CSG_LIST_SEARCH_REQ , /**< \brief Request for searching all CSG cells. */ + CI_MM_PRIM_CSG_LIST_SEARCH_CNF , /**< \brief List of all the CSG which were found. */ + CI_MM_PRIM_CSG_SELECT_REQ , /**< \brief Selects CSG ID , as a result the Comm. will try to camp on it */ + CI_MM_PRIM_CSG_SELECT_CNF , /**< \brief Result of selecting CSG ID request. */ + CI_MM_PRIM_CSG_SEARCH_STOP_REQ , /**< \brief Request to stop CSG Search. */ + CI_MM_PRIM_CSG_SEARCH_STOP_CNF , /**< \brief Confirm that the stop request was received. */ + CI_MM_PRIM_REGRESULT_EXTENDED_IND , /** < \brief Indicates the Extended ( csg info ) Unsolicited Network Registration Result \details Receipt of this indication ( and the information it contains ) can be configured by the + * CI_MM_PRIM_SET_REGRESULT_OPTION_REQ request. + * If this indication is enabled , the current registration status ( if available ) is reported. + * As a configuration option , current cell information ( if available ) can also be included. + * This information can also be requested at any time , using the CI_CC_PRIM_GET_REGRESULT_INFO_REQ request.*/ + CI_MM_PRIM_SET_SECURITY_CAPABILITY_REQ , + CI_MM_PRIM_SET_SECURITY_CAPABILITY_CNF , + CI_MM_PRIM_GET_SECURITY_CAPABILITY_REQ = 140 , + CI_MM_PRIM_GET_SECURITY_CAPABILITY_CNF , + + CI_MM_PRIM_NETWORK_CELL_MAT_INFO_IND , + + CI_MM_PRIM_EMERGENCY_CALL_STATUS_REQ , + CI_MM_PRIM_EMERGENCY_CALL_STATUS_CNF , + + CI_MM_PRIM_NEW_ATTACH_IND , /** < \brief Indicates that MM is starting a new ATTACH process */ /* Added by liorgo , for CQ00086808 , 8 / 3 / 2015 */ + CI_MM_PRIM_JAMMING_DETECTION_REQ , /**< \brief Request to configure jamming detection.*/ + CI_MM_PRIM_JAMMING_DETECTION_CNF , /**< \brief confirtm the reuqest to configure jamming detection.*/ + CI_MM_PRIM_GET_JAMMING_DETECTION_STATUS_REQ , /**< \brief request to read jamming detection configuration.*/ + CI_MM_PRIM_GET_JAMMING_DETECTION_STATUS_CNF , /**< \brief The configured valued of the jamming detection.*/ + CI_MM_PRIM_JAMMING_DETECTION_IND = 150 , /**< \brief unsolicited reporting of change in jamming status.*/ + + CI_MM_PRIM_SET_GPRS_EGPRS_MULTISLOT_CLASS_REQ , /**< \brief Change the GPRS and EGPRS multislot classes.*/ + CI_MM_PRIM_SET_GPRS_EGPRS_MULTISLOT_CLASS_CNF , /**< \brief Confirm the request to change GPRS and EGPRS multislot class.*/ + CI_MM_PRIM_GET_GPRS_EGPRS_MULTISLOT_CLASS_REQ , /**< \brief Request to read the GPRS and EGPRS multislot classes.*/ + CI_MM_PRIM_GET_GPRS_EGPRS_MULTISLOT_CLASS_CNF , /**< \brief The configured valued of GPRS and EGPRS multislot classes.*/ + CI_MM_PRIM_GET_DISPLAY_OPERATOR_NAME_REQ , /**< \brief The command displays the name of the network of the requested type. In case the requested informationis not available , the command displays the network name which is most similar to the requested type.*/ + CI_MM_PRIM_GET_DISPLAY_OPERATOR_NAME_CNF , /**< \brief A confirmation for the request command , will return the operator name according to the type that was requested.*/ + CI_MM_PRIM_ECALLREG_REQ , /**< \brief Set the forced registration status*/ + CI_MM_PRIM_ECALLREG_CNF , /**< \brief Confirms the request to set the forced registration status*/ + CI_MM_PRIM_RPM_INFO_REQ , + CI_MM_PRIM_RPM_INFO_CNF , + CI_MM_PRIM_RPM_INFO_IND , + // add by taow 20171124 CQ00108549 begin + CI_MM_PRIM_SET_NETWORK_SELECTION_REQ , + CI_MM_PRIM_SET_NETWORK_SELECTION_CNF , + CI_MM_PRIM_GET_NETWORK_SELECTION_REQ , + CI_MM_PRIM_GET_NETWORK_SELECTION_CNF , + CI_MM_PRIM_GET_LTE_CA_INFO_REQ , + CI_MM_PRIM_GET_LTE_CA_INFO_CNF , + CI_MM_PRIM_GET_OPERATOR_INFO_REQ , + CI_MM_PRIM_GET_OPERATOR_INFO_CNF , + CI_MM_PRIM_OPERATOR_STATUS_IND , + // add by taow 20171124 CQ00108549 end + + /*20190605 add for IMS BEGIN */ + CI_MM_PRIM_GET_ASRCURRENT_OPERATOR_INFO_REQ , /**< \brief Requests information about the current network operator ( if there is one ) \details */ + CI_MM_PRIM_GET_ASRCURRENT_OPERATOR_INFO_CNF , /**< \brief Confirms the request to get information about the current network operator ( if there is one ) \details */ + /*20190605 add for IMS BEGIN*/ + + CI_MM_PRIM_GET_CELL_LOCK_INFO_REQ , + CI_MM_PRIM_GET_CELL_LOCK_INFO_CNF , + CI_MM_PRIM_NETWORK_SEARCH_IND , /*add CQ00114574 by taow 20190419 */ + CI_MM_PRIM_GET_NETWORK_REGISTRATION_INFO_REQ , + CI_MM_PRIM_GET_NETWORK_REGISTRATION_INFO_CNF , + /* ADD NEW COMMON PRIMITIVES HERE , BEFORE ' CI_MM_PRIM_LAST_COMMON_PRIM ' */ + /* END OF COMMON PRIMITIVES LIST */ + CI_MM_PRIM_LAST_COMMON_PRIM + + /* The customer specific extension primitives are added starting from + * CI_MM_PRIM_firstCustPrim = CI_MM_PRIM_LAST_COMMON_PRIM as the first identifier. + * The actual primitive names and IDs are defined in the associated + * ' ci_mm_cust_xxx.h ' file. + */ + + /* DO NOT ADD ANY MORE PRIMITIVES HERE */ + + } _CiMmPrim; + +//ICAT EXPORTED ENUM + typedef enum CIRC_MM + { + CIRC_MM_SUCCESS = 0 , /**< Request completed successfully */ + CIRC_MM_FAIL , /**< General failure ( catch-all ) */ + CIRC_MM_INCOMPLETE_INFO , /**< Incomplete information for request */ + CIRC_MM_INVALID_ADDRESS , /**< Invalid address ( phone number ) */ + CIRC_MM_NO_SERVICE , /**< No network service */ + CIRC_MM_NOT_REGISTERED , /**< Not currently registered */ + CIRC_MM_REJECTED , /**< Request rejected by network */ + CIRC_MM_TIMEOUT , /**< Request timed out */ + CIRC_MM_UNAVAILABLE , /**< Information not available */ + CIRC_MM_NO_MORE_ENTRIES , /**< No more entries in list */ + CIRC_MM_NO_MORE_ROOM , /**< No more room in list */ + CIRC_MM_PLMN_LIST_SIM_NOK , /**< PLMN list SIM is not OK */ + CIRC_MM_PLMN_LIST_NOT_FOUND , /**< PLMN list is not found */ + CIRC_MM_PLMN_LIST_NOT_ALLOWED , /**< PLMN list is not allowed */ + CIRC_MM_PLMN_LIST_MANUAL_NOT_ALLOWED , /* manual selection of */ + CIRC_MM_PLMN_LIST_MANUAL_NOT_ALLOWED_IN_DEDICATED_MODE , /* PLMN list is not allowed in dedicated mode*/ + CIRC_MM_INVALID_PARAMETER , /**< Generic error - the requested service primitive has invalid parameters */ + CIRC_MM_INVALID_REQ , /**< Generic error - the requested service primitive can not be handled at current state */ + CIRC_MM_SIM_NOT_READY , /**< Generic error - the requested service primitive fails because SIM is not ready */ + + CIRC_MM_CANCELLED , /*procedure was cancelled*/ + + CIRC_MM_NETWORK_NOT_ALLOWED_EMERGENCY_CALLS_ONLY , + + /* This one must always be last in the list! */ + CIRC_MM_NUM_RESCODES /**< Number of result codes defined */ + } _CiMmResultCode; + +typedef UINT16 CiMmResultCode ; +typedef UINT32 CiMmCause ; +typedef UINT32 CiGmmCause ; +typedef UINT32 CiEmmCause ; +//ICAT EXPORTED ENUM + typedef enum CIMM_PLMN_SELECTION_POWER_UP_MODE { + CI_MM_PLMN_SELECTION_POWER_UP_MODE_AUTO = 0 , /**< At power up , use auto plmn selection mode*/ + CI_MM_PLMN_SELECTION_POWER_UP_MODE_MANUAL , /**< At power up , use auto manual selection mode */ + CI_MM_PLMN_SELECTION_POWER_UP_MODE_LAST_USED , /**< At power up , use last used plmn mode before power down*/ + + /* This one must always be last in the list! */ + CI_MM_NUM_PLMN_SELECTION_POWER_UP_MODE + } _CiMmPowerUpPlmnSelectionMode; + +//ICAT EXPORTED ENUM + typedef enum CIMM_ERROR_CAUSE_TYPE { + CI_MM_ERROR_CAUSE_TYPE_MM , /**< MM Reject code is received during an MM procedure */ + CI_MM_ERROR_CAUSE_TYPE_GMM_NON_COMBINED , /**< GMM Reject code is received during a non-combined GMM procedure for GPRS services */ + CI_MM_ERROR_CAUSE_TYPE_GMM_COMBINED_NON_GPRS , /**< GMM reject code is received during a combined GMM procedure for non-GPRS services */ + CI_MM_ERROR_CAUSE_TYPE_GMM_COMBINED_GPRS , /**< GMM reject code is received during a combined GMM procedure for GPRS and non-GPRS services */ + CI_MM_ERROR_CAUSE_TYPE_EMM_NON_COMBINED , /**< EMM reject code is received for a non combined EMM procedure for EPS services */ + CI_MM_ERROR_CAUSE_TYPE_EMM_COMBINED_NON_EPS , /**< EMM reject code is received during a combined procedure for non-EPS services */ + CI_MM_ERROR_CAUSE_TYPE_EMM_COMBINED_EPS , /**< EMM reject code is received during a combined procedure for EPS and non-EPS services */ + + /* This one must always be last in the list! */ + CIMM_NUM_ERROR_CAUSE_TYPES + } _CiMmErrorCauseType; + +typedef UINT8 CiMmErrorCauseType ; +typedef UINT8 CiMmPowerUpPlmnSelectionMode ; +//ICAT EXPORTED ENUM + typedef enum CIMM_SERVICE { + CIMM_SERVICE_ASYNC_MODEM = 0 , /**< Asynchronous modem */ + CIMM_SERVICE_SYNC_MODEM , /**< Synchronous modem */ + CIMM_SERVICE_PAD_ASYNC , /**< PAD access ( asynchronous ) */ + CIMM_SERVICE_PACKET_SYNC , /**< Packet access ( synchronous ) */ + CIMM_SERVICE_VOICE , /**< Voice */ + CIMM_SERVICE_FAX , /**< Fax */ + + /* This one must always be last in the list! */ + CIMM_NUM_SERVICES /**< Number of network services defined */ + } _CiMmService; + +typedef UINT8 CiMmService ; +//ICAT EXPORTED ENUM + typedef enum CIMM_ITC { + CIMM_ITC_3_1_KHZ= 0 , /**< 3.100000 kHz */ + CIMM_ITC_UDI , /**< Unrestricted digital information ( UDI ) */ + + /* This one must always be last in the list! */ + CIMM_NUM_ITC /**< Number of ITC indicators defined */ + } _CiMmITC; + +typedef UINT8 CiMmITC ; +//ICAT EXPORTED STRUCT + typedef struct CiMmServiceInfo_struct { + CiBoolean Present ; /**< Service information present? \sa CCI API Ref Manual */ + CiMmService SvcType ; /**< Associated service type \sa CiMmService */ + CiBsTypeSpeed Speed ; /**< Connection speed \sa CCI API Ref Manual */ + CiMmITC Itc ; /**< Information transfer capability \sa CiMmITC. */ + } CiMmServiceInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiMmSubscriberInfo_struct { + CiAddressInfo Number ; /**< Subscriber number ( MSISDN ) \sa CCI API Ref Manual */ + CiOptNameInfo AlphaTag ; /**< Associated alpha tag ( optional ) \sa CCI API Ref Manual */ + CiMmServiceInfo SvcInfo ; /**< Service information ( optional ) \sa CiMmServiceInfo_struct */ + } CiMmSubscriberInfo; + +//ICAT EXPORTED ENUM + typedef enum CIMM_REGRESULT_OPTION { + CIMM_REGRESULT_DISABLE = 0 , /**< Disable reporting */ + CIMM_REGRESULT_STATUS , /**< Report registration status only */ + CIMM_REGRESULT_CELLINFO , /**< Report status and current cell information */ + CIMM_REGRESULT_MORE_DETAIL , /**< Report more detail info: [ , , ] ] > */ + /* This one must always be last in the list! */ + CIMM_NUM_REGRESULT_OPTIONS /**< Number of options defined */ + } _CiMmRegResultOption; + +typedef UINT8 CiMmRegResultOption ; +//ICAT EXPORTED ENUM + typedef enum CIMM_REGSTATUS { + CIMM_REGSTATUS_NOT_SEARCHING = 0 , + /**< Not registered , not searching operators */ + CIMM_REGSTATUS_HOME , /**< Registered with home network */ + CIMM_REGSTATUS_SEARCHING , /**< Not registered , searching operators */ + CIMM_REGSTATUS_DENIED , /**< Registration denied */ + CIMM_REGSTATUS_UNKNOWN , /**< Registration status unknown */ + CIMM_REGSTATUS_ROAMING , /**< Registered , roaming */ + CIMM_REGSTATUS_SMS_ONLY_HOME , /**< registered for " SMS only " , home network ( applicable only when indicates E-UTRAN ) */ + CIMM_REGSTATUS_SMS_ONLY_ROAMING , /**< registered for " SMS only " , roaming ( applicable only when indicates E-UTRAN ) */ + CIMM_REGSTATUS_EMERGENCY_ONLY_NOT_USED , /**< attached for emergency bearer services only ( see NOTE 2 ) ( not applicable ) */ + CIMM_REGSTATUS_CSFB_NOT_PREFERRED_HOME , /** indicates E-UTRAN ) */ + CIMM_REGSTATUS_CSFB_NOT_PREFERRED_ROAMING , /** indicates E-UTRAN ) */ + CIMM_REGSTATUS_EMERGENCY_ONLY , + /**< Only emergency services are available*/ + CIMM_REGSTATUS_DENIED_IN_ROAMING , /**< registeration denied in roaming*/ + CIMM_REGSTATUS_SYNC_DONE_IN_LTE_ROAMING , /**< sync done in LTE roaming network*/ + CIMM_REGSTATUS_ECALL_INACTIVE , + + /* This one must always be last in the list! */ + CIMM_NUM_REGSTATUS /**< Number of status values defined */ + } _CiMmRegStatus; + +typedef UINT8 CiMmRegStatus ; +//ICAT EXPORTED ENUM + typedef enum CIMM_REGMODE { + CIMM_REGMODE_AUTOMATIC = 0 , /**< Automatic registration request */ + CIMM_REGMODE_MANUAL , /**< Manual registration request */ + CIMM_REGMODE_DEREGISTER , /**< Deregistration request */ + CIMM_REGMODE_MANUAL_AUTO , /**< Manual request , fallback to automatic */ + + /* This one must always be last in the list! */ + CIMM_NUM_REGMODES /**< Number of mode indicators defined */ + } _CiMmRegMode; + +typedef UINT8 CiMmRegMode ; +//ICAT EXPORTED ENUM + typedef enum CIMM_ACT_TECH_MODE + { + CI_MM_ACT_GSM = 0 , /**< GSM */ + CI_MM_ACT_GSM_COMPACT , /**< Not supported */ + CI_MM_ACT_UTRAN , /**< UTRAN */ + + CI_MM_ACT_GSM_EGPRS , /**< GSM w / EGPRS */ + CI_MM_ACT_UTRAN_HSDPA , /**< UTRAN w / HSDPA */ + CI_MM_ACT_UTRAN_HSUPA , /**< UTRAN w / HSUPA */ + CI_MM_ACT_UTRAN_HSPA , /**< UTRAN w / HSDPA and HSUPA */ + CI_MM_ACT_EUTRAN , /**< E-UTRAN */ + + CI_MM_ACT_UTRAN_HSPA_PLUS , /**< UTRAN w / HSPA+ */ + + CI_MM_ACT_EUTRAN_PLUS , /*E-UTRAN CA*/ + + CI_MM_NUM_ACT + } _CiMmAccTechMode; + +typedef UINT8 CiMmAccTechMode ; +//ICAT EXPORTED STRUCT + typedef struct CiMmCellInfo_struct { + CiBoolean Present ; /**< Current cell information present? \sa CCI API Ref Manual */ + UINT16 LocArea ; /**< Location area code */ + UINT32 CellId ; /**< Cell identifier. GSM case: 16 least significant bits , WCDMA case: CellId - 16 least significant bits , RNCID - 12 most significant bits */ + + CiMmAccTechMode AcT ; /**< Network access technology ( GSM , UTRAN , LTE etc. ) \sa CiMmAccTechMode */ + } CiMmCellInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiMmRegResultInfo_struct { + CiMmRegStatus Status ; /**< Registration status \sa CiMmRegStatus */ + CiMmCellInfo CellInfo ; /**< Current cell information ( optional ) \sa CiMmRegStatus */ + } CiMmRegResultInfo; + +//ICAT EXPORTED ENUM + typedef enum CIMM_NETOP_ID_FORMAT { + CIMM_NETOP_ID_FORMAT_ALPHA_LONG = 0 , /**< Operator ID: long alphanumeric */ + CIMM_NETOP_ID_FORMAT_ALPHA_SHORT , /**< Operator ID: short alphanumeric */ + CIMM_NETOP_ID_FORMAT_NETWORK , /**< Network ID ( numeric ) */ + + /* This one must always be last in the list! */ + CIMM_NUM_NETOP_ID_FORMATS /**< Number of format indicators defined */ + } _CiMmNetOpIdFormat; + +typedef UINT8 CiMmNetOpIdFormat ; +//ICAT EXPORTED ENUM + typedef enum CIMM_NETOP_DIGIT_MNC { + CIMM_NETOP_TWO_DIGIT_MNC = 2 , /*2 digit */ + CIMM_NETOP_THREE_DIGIT_MNC , /*3 digit */ + /* This one must always be last in the list! */ + CIMM_NUM_NETOP_DIGIT_MNC + } _CiMmNetOpDigitMnc; + +typedef UINT8 CiMmNetOpDigitMnc ; +//ICAT EXPORTED STRUCT + typedef struct CiMmNetworkId_struct { + UINT16 CountryCode ; /**< 3 -digit country code */ + UINT16 NetworkCode ; /**< 3 -digit network code */ + /*Added by xwzhou on 4092014 for CQ58416 , begin*/ + CiMmNetOpDigitMnc MncDigit ; /**< MncDigit \sa CiMmNetOpDigitMnc */ + /*Added by xwzhou on 4092014 for CQ58416 , end*/ + } CiMmNetworkId; + +//ICAT EXPORTED STRUCT + typedef struct CiMmOperatorId_struct { + UINT8 Length ; /**< Operator ID length ( characters ) */ + char Id [ 32 ] ; /**< Operator ID */ + } CiMmOperatorId; + +//ICAT EXPORTED UNION + typedef union CiMmNetOpId_tag { + CiMmNetworkId NetworkId ; /**< Network ID \sa CiMmNetworkId_struct */ + CiMmOperatorId OperatorId ; /**< Operator ID \sa CiMmOperatorId_struct */ + } CiMmNetOpIdUnion; + +//ICAT EXPORTED STRUCT + typedef struct CiNetOpIdInfo_struct { + CiBoolean Present ; /**< Indicates if network or operator ID is present \sa CCI API Ref Manual */ + CiMmNetOpIdFormat Format ; /**< ID format: network or operator \sa CiMmNetOpIdFormat */ + CiMmNetOpIdUnion CiMmNetOpId ; /**< ID \sa CiMmNetOpId_tag*/ + + CiMmAccTechMode AccTchMode ; /**< Access radio technology ; default is GSM \sa CiMmAccTechMode */ + UINT8 Domain ; /**< CS or PS domain , 0 :CS only ; 1 :PS only ; 2 :Combined CS / PS */ + + } CiMmNetOpIdInfo; + +//ICAT EXPORTED ENUM + typedef enum CIMM_NETOPSTATUS { + CIMM_NETOP_UNKNOWN = 0 , /**< Operator status unavailable */ + CIMM_NETOP_AVAILABLE , /**< Operator is available */ + CIMM_NETOP_CURRENT , /**< Current operator */ + CIMM_NETOP_FORBIDDEN , /**< Operator is forbidden */ + + /* This one must always be last in the list! */ + CIMM_NUM_NETOPSTATUS /**< Number of status indicators defined */ + } _CiMmNetOpStatus; + +typedef UINT8 CiMmNetOpStatus ; +typedef INT16 CiMmRssi ; +typedef UINT8 CiMmEncodedBER ; +typedef UINT8 CiMmRsrq ; +typedef UINT8 CiMmRsrp ; +typedef UINT8 CiMmRscp ; +typedef UINT8 CiMmEcno ; +typedef UINT8 CiMmRxlev ; +//ICAT EXPORTED STRUCT + typedef struct CiNetOpStatusInfo_struct { + CiMmNetOpStatus Status ; /**< Network operator status \sa CiMmNetOpStatus */ + CiMmRssi Rssi ; /**< RSSI value in dBm \sa CiMmRssi */ + CiMmOperatorId LongAlphaId ; /**< Long alphanumeric operator ID \sa CiMmOperatorId_struct */ + CiMmOperatorId ShortAlphaId ; /**< Short alphanumeric operator ID \sa CiMmOperatorId */ + CiMmNetworkId NetworkId ; /**< Network ID information \sa CiMmNetworkId */ + CiMmAccTechMode AccTchMode ; /**< Network access technology ( GSM , UTRAN , etc. ) \sa CiMmAccTechMode */ + } CiMmNetOpStatusInfo; + +//ICAT EXPORTED ENUM + typedef enum CIMM_SIGQUAL_OPTIONS { + CIMM_SIGQUAL_OPTION_INTERVAL = 0 , /**< Time interval - used for periodic reports */ + CIMM_SIGQUAL_OPTION_THRESHOLD , /**< RSSI threshold */ + CIMM_SIGQUAL_OPTION_DISABLE , /**< Disable indications */ + + /* This one must always be last in the list! */ + CIMM_NUM_SIGQUAL_OPTIONS /**< Number of status indicators defined */ + } _CiMmSigQualOpts; + +typedef UINT8 CiMmSigQualOpts ; +//ICAT EXPORTED UNION + typedef union CfgUnion_Tag { + UINT8 Interval ; /**< Time Interval in 100 ms units */ + UINT8 Threshold ; /**< RSSI threshold in dBm */ + } CfgUnion; + +//ICAT EXPORTED STRUCT + typedef struct CiMmSigQualityConfig_struct { + CiMmSigQualOpts Option ; /**< Signal quality report type interval or theshold \sa CiMmSigQualOpts */ + CfgUnion Cfg ; /**< Configuration \sa CfgUnion_Tag*/ + } CiMmSigQualityConfig; + +//ICAT EXPORTED ENUM + typedef enum CIMM_NETWORK_MODE + { + CI_MM_NETWORK_MODE_GSM = 0 , /**< GSM */ + CI_MM_NETWORK_MODE_UMTS , /**< UMTS */ + + CI_MM_NETWORK_MODE_LTE , /**< TD LTE */ + CI_MM_NETWORK_MODE_DEFAULT , + CI_MM_NUM_NETWORK_MODES + } _CiMmNetworkMode; + +typedef UINT8 CiMmNetworkMode ; +typedef UINT8 CiMmCellLockActMode ; +//ICAT EXPORTED STRUCT + typedef struct CiMmSigQualityInfo_struct { + CiMmRssi Rssi ; /**< RSSI value in dBm \sa CiMmRssi */ + CiMmEncodedBER BER ; /**< Encoded bit error rate \sa CiMmEncodedBER */ + CiMmRsrq Rsrq ; /**Report reference signal received quality*/ + CiMmNetworkMode Mode ; /**< Network mode \sa CiMmNetworkMode */ + CiBoolean IsLtePsOnly ; /**TRUE: lte ps only , set 3 G / 2 G RSSI to default ; FALSE: just update lte RSSI*/ + } CiMmSigQualityInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiMmSigExtendedQualityInfo_struct { + CiMmRxlev Rxlev ; + CiMmEncodedBER Ber ; // bit error rate + CiMmRscp Rscp ; + CiMmEcno Ecno ; // RadioInfo->receiveQuality + CiMmRsrq Rsrq ; + CiMmRsrp Rsrp ; + // add by taow 20150730 begin + UINT8 LteCqi ; + INT8 SINR ; + // add by taow 20150730 end + } CiMmSigExtendedQualityInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiMmSigNormalQualityInfo_struct { + UINT8 Rssi ; + CiMmEncodedBER Ber ; + } CiMmSigNormalQualityInfo; + +//ICAT EXPORTED ENUM + typedef enum CIMM_NETWORK_MODE_REPORT + { + CI_MM_NETWORK_MODE_REPORT_GSM = 0 , /**< GSM only */ + CI_MM_NETWORK_MODE_REPORT_UMTS , /**< 3 G only */ + CI_MM_NETWORK_MODE_REPORT_UMTS_HSDPA , /**< 3 G and HSDPA capabilities */ + CI_MM_NETWORK_MODE_REPORT_UMTS_HSUPA , /**< 3 G and HSUPA capabilities */ + CI_MM_NETWORK_MODE_REPORT_UMTS_HSDPA_HSUPA , /**< 3 G , HSDPA , and HSDPA capabilities */ + CI_MM_NETWORK_MODE_REPORT_GSM_EGPRS , /**< GSM , GPRS , and EGPRS capabilities */ + CI_MM_NETWORK_MODE_REPORT_GSM_GPRS , /**< GSM and GPRS capabilities */ + + CI_MM_NETWORK_MODE_REPORT_UMTS_HSPA_PLUS = 8 , /**< 3 G and HSPA+ capabilities */ + CI_MM_NETWORK_MODE_REPORT_LTE , /**< TD LTE capabilities */ + CI_MM_NUM_NETWORK_MODE_REPORTS + } _CiMmNetworkModeReport; + +//ICAT EXPORTED ENUM + /** \brief UMTS band values */ + /** \remarks Common Data Section */ + + typedef enum CI_UMTS_BANDS_TYPE + { + CI_BAND_1 , /**< UMTS Band1 */ + CI_BAND_2 , /**< UMTS Band2 */ + CI_BAND_3 , /**< UMTS Band3 */ + CI_BAND_4 , /**< UMTS Band4 */ + CI_BAND_5 , /**< UMTS Band5 */ + CI_BAND_6 , /**< UMTS Band6 */ + CI_BAND_7 , /**< UMTS Band7 */ + CI_BAND_8 , /**< UMTS Band8 */ + CI_BAND_9 , /**< UMTS Band9 */ + CI_BAND_10 , /**< UMTS Band10 */ + CI_BAND_11 , /**< UMTS Band11 */ + CI_BAND_12 , /**< UMTS Band12 */ + CI_BAND_13 , /**< UMTS Band13 */ + CI_BAND_14 , /**< UMTS Band14 */ + CI_BAND_15 , /**< UMTS Band15 */ + CI_BAND_16 , /**< UMTS Band16 */ + CI_BAND_17 , /**< UMTS Band17 */ + CI_BAND_18 , /**< UMTS Band18 */ + CI_BAND_19 , /**< UMTS Band19 */ + + CI_BAND_GSM /**< Band GSM */ + } _CiUmtsBandsType; + +typedef UINT8 CiUmtsBandsType ; +//ICAT EXPORTED ENUM + /** \brief LTE band values */ + /** \remarks Common Data Section */ + + typedef enum CI_LTE_BANDS_TYPE + { + CI_LTE_BAND_1 = 1 , /**< LTE Band1 */ + CI_LTE_BAND_2 , /**< LTE Band2 */ + CI_LTE_BAND_3 , /**< LTE Band3 */ + CI_LTE_BAND_4 , /**< LTE Band4 */ + CI_LTE_BAND_5 , /**< LTE Band5 */ + CI_LTE_BAND_6 , /**< LTE Band6 */ + CI_LTE_BAND_7 , /**< LTE Band7 */ + CI_LTE_BAND_8 , /**< LTE Band8 */ + CI_LTE_BAND_9 , /**< LTE Band9 */ + CI_LTE_BAND_10 , /**< LTE Band10 */ + + CI_LTE_BAND_11 , /**< LTE Band11 */ + CI_LTE_BAND_12 , /**< LTE Band12 */ + CI_LTE_BAND_13 , /**< LTE Band13 */ + CI_LTE_BAND_14 , /**< LTE Band14 */ + CI_LTE_BAND_15 , /**< LTE Band15 */ + CI_LTE_BAND_16 , /**< LTE Band16 */ + CI_LTE_BAND_17 , /**< LTE Band17 */ + CI_LTE_BAND_18 , /**< LTE Band18 */ + CI_LTE_BAND_19 , /**< LTE Band19 */ + CI_LTE_BAND_20 , /**< LTE Band20 */ + + CI_LTE_BAND_21 , /**< LTE Band21 */ + CI_LTE_BAND_22 , /**< LTE Band22 */ + CI_LTE_BAND_23 , /**< LTE Band23 */ + CI_LTE_BAND_24 , /**< LTE Band24 */ + CI_LTE_BAND_25 , /**< LTE Band25 */ + CI_LTE_BAND_26 , /**< LTE Band26 */ + CI_LTE_BAND_27 , /**< LTE Band27 */ + CI_LTE_BAND_28 , /**< LTE Band28 */ + CI_LTE_BAND_29 , /**< LTE Band29 */ + CI_LTE_BAND_30 , /**< LTE Band30 */ + + CI_LTE_BAND_31 , /**< LTE Band31 */ + CI_LTE_BAND_32 , /**< LTE Band32 */ + CI_LTE_BAND_33 , /**< LTE Band33 */ + CI_LTE_BAND_34 , /**< LTE Band34 */ + CI_LTE_BAND_35 , /**< LTE Band35 */ + CI_LTE_BAND_36 , /**< LTE Band36 */ + CI_LTE_BAND_37 , /**< LTE Band37 */ + CI_LTE_BAND_38 , /**< LTE Band38 */ + CI_LTE_BAND_39 , /**< LTE Band39 */ + CI_LTE_BAND_40 , /**< LTE Band40 */ + + CI_LTE_BAND_41 /**< LTE Band41 */ + + } _CiLteBandsType; + +typedef UINT8 CiLteBandsType ; +//ICAT EXPORTED ENUM + /** \brief GSM band values */ + /** \remarks Common Data Section */ + + typedef enum CI_GSM_BANDS_TYPE + { + CI_GSM_BAND = 0 , /**< PGSM 900 ( standard or primary ) */ + CI_DCS_BAND = 1 , /**< DCS GSM 1800 */ + CI_PCS_BAND = 2 , /**< PCS GSM 1900 */ + CI_EGSM_BAND = 3 , /**< EGSM 900 ( extended ) */ + CI_GSM_450_BAND = 4 , /**< GSM 450 */ + CI_GSM_480_BAND = 5 , /**< GSM 480 */ + CI_GSM_850_BAND = 6 , /**< GSM 850 */ + + CI_NUM_BANDS , + + + + CI_INVALID_BAND = 0xFF /**< Invalid band */ + } _CiGsmBandsType; + +typedef UINT8 CiGsmBandsType ; +//ICAT EXPORTED UNION + typedef union CiMmCurrentBandTag + { + CiGsmBandsType gsmBand ; /**< access technology is GSM \sa CiGsmBandsType */ + CiGsmBandsType gsmCompactBand ; /**< Not used */ + CiUmtsBandsType umtsBand ; /**< access technology is UMTS \sa CiUmtsBandsType */ + CiLteBandsType lteBand ; /**< access technology is LTE \sa CiLteBandsType */ + } CiMmCurrentBand; + +//ICAT EXPORTED STRUCT + /** \brief Current band */ + /** \remarks Common Data Section */ + typedef struct CiMmCurrentbandInfo_struct + { + CiMmAccTechMode accessTechnology ; /**< Access technology \sa CiMmAccTechMode */ + CiMmCurrentBand currentBand ; /**< Current band \sa CiMmCurrentBandTag */ + } CiMmCurrentBandInfo; + +typedef UINT8 CiMmNetworkModeReport ; +//ICAT EXPORTED STRUCT + typedef struct CiMmNetworkHsMode_struct + { + CiBoolean gprsActive ; /**< TRUE - is active ; FALSE - is not ; \sa CCI API Ref Manual */ + CiBoolean egprsActive ; /**< TRUE - is active ; FALSE - is not ; \sa CCI API Ref Manual */ + CiBoolean hsdpaActive ; /**< TRUE - is active ; FALSE - is not ; \sa CCI API Ref Manual */ + CiBoolean hsupaActive ; /**< TRUE - is active ; FALSE - is not ; \sa CCI API Ref Manual */ + CiBoolean hspaPlusActive ; /**< TRUE - is active ; FALSE - is not ; \sa CCI API Ref Manual */ + } CiMmNetworkHsMode; + +//ICAT EXPORTED ENUM + typedef enum CIMM_DSTIND + { + CI_MM_DST_IND_NO_ADJUSTMENT = 0 , + CI_MM_DST_IND_PLUS_ONE_HOUR , + CI_MM_DST_IND_PLUS_TWO_HOURS , + + CI_MM_NUM_DST_INDS + } _CiMmDstInd; + +typedef UINT8 CiMmDstInd ; +//ICAT EXPORTED STRUCT + typedef struct CiMmUniTime_struct + { + UINT8 year ; /**< Year [ 0 ..99 ] */ + UINT8 month ; /**< Month [ 1 ..12 ] */ + UINT8 day ; /**< Day [ 1 ..31 ] */ + UINT8 hour ; /**< Hour [ 0 ..59 ] */ + UINT8 minute ; /**< Minute [ 0 ..59 ] */ + UINT8 second ; /**< Second [ 0 ..59 ] */ + INT8 locTimeZone ; /**< Local time zone */ + } CiMmUniTime; + +//ICAT EXPORTED ENUM + typedef enum CiNetworkNameCodingSchemeTag + { + CI_NETWORK_NAME_SMS_CB_CODED = 0 , + CI_NETWORK_NAME_UCS2_CODED = 1 + } + _CiNetworkNameCodingScheme; + +typedef UINT8 CiNetworkNameCodingScheme ; +//ICAT EXPORTED STRUCT + typedef struct CiMmLsaIdentity_struct + { + UINT8 length ; /**< length */ + UINT8 data [ 3 ] ; /**< data */ + } CiMmLsaIdentity; + +//ICAT EXPORTED STRUCT + typedef struct CiMmNitzInfo_struct + { + CiMmOperatorId longAlphaId ; /**< Long alphanumeric operator ID \sa CiMmOperatorId_struct */ + CiBoolean longAlphaIdPresent ; /**< TRUE - if long alphanumeric ID is present \sa CCI API Ref Manual */ + CiMmOperatorId shortAlphaId ; /**< Short alphanumeric operator ID \sa CiMmOperatorId_struct */ + CiBoolean shortAlphaIdPresent ; /**< TRUE - if short alphanumeric ID is present \sa CCI API Ref Manual */ + CiMmNetworkId networkId ; /**< Network ID information \sa CiMmNetworkId */ + CiBoolean networkIdPresent ; /**< TRUE - if Network ID information is present \sa CCI API Ref Manual */ + CiMmUniTime uniTime ; /**< Universal time \sa CiMmUniTime_struct */ + CiBoolean uniTimePresent ; /**< TRUE - if universal time is present \sa CCI API Ref Manual */ + INT8 locTimeZone ; /**< local time zone */ + CiBoolean locTimeZonePresent ; /**< TRUE - if local time zone is present \sa CCI API Ref Manual */ + CiMmDstInd dstInd ; /**< Daylight savings indicator \sa CiMmDstInd */ + CiBoolean dstIndPresent ; /**< TRUE - if daylight saving indicator present \sa CCI API Ref Manual */ + CiMmLsaIdentity lsaIdentity ; /**< LSA - localized service area identity \sa CiMmLsaIdentity */ + UINT8 domain ; /**< CS or PS domain , 0 :CS ; 1 :PS */ + + CiNetworkNameCodingScheme networkNameCodingScheme ; /** SMS_CB_CODED / UCS2_CODED */ + CiBoolean addCountryInitials ; + + } CiMmNitzInfo; + +//ICAT EXPORTED ENUM + typedef enum CIMM_ADDPREFOP_TYPES + { + CI_MM_ADDPREFOP_FIRST_AVAILABLE = 0 , + CI_MM_ADDPREFOP_INSERT_AT_INDEX , + + CI_MM_NUM_ADD_PREFOP_TYPES + } _CiMmAddPrefOpType; + +typedef UINT8 CiMmAddPrefOpType ; +//ICAT EXPORTED ENUM + typedef enum CIMM_LIST_INDEX_TYPE { + CI_MM_LIST_INDEX_USER_CONTROLLED_WACTSUCCESS = 0 , /**< User controlled PLMN selector with Access Technology EFPLMNwAcT. if not found in the SIM / UICC then select PLMN preferred list EFPLMNsel */ + CI_MM_LIST_INDEX_OPERATOR_CONTROLLED_WACT , /**< Operator controlled PLMN selector with Access Technology FOPLMNwAcT */ + CI_MM_LIST_INDEX_HPLMN_WACT , /**< HPLMN selector with Access Technology EFHPLMNwAcT */ + + CI_MM_NUM_LIST_INDEX_TYPES + + } _CiMmListIndexType; + +typedef UINT8 CiMmListIndexType ; +typedef CiEmptyPrim CiMmPrimGetNumSubscriberNumbersReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetNumSubscriberNumbersCnf_struct { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + UINT8 NumMSISDN ; /**< Number of entries in the MSISDN list */ + } CiMmPrimGetNumSubscriberNumbersCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetSubscriberInfoReq_struct { + UINT8 Index ; /**< MSISDN list entry number [ 1 ..number of MSISDN list entries ] */ + } CiMmPrimGetSubscriberInfoReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetSubscriberInfoCnf_struct { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + CiMmSubscriberInfo info ; /**< Subscriber information \sa CiMmSubscriberInfo_struct */ + } CiMmPrimGetSubscriberInfoCnf; + +typedef CiEmptyPrim CiMmPrimGetSupportedRegResultOptionsReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetSupportedRegResultOptionsCnf_struct { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + UINT8 NumOptions ; /**< Number of supported options */ + CiMmRegResultOption Option [ CIMM_NUM_REGRESULT_OPTIONS ] ; /**< Supported options \sa CiMmRegResultOption*/ + } CiMmPrimGetSupportedRegResultOptionsCnf; + +typedef CiEmptyPrim CiMmPrimGetRegResultOptionReq ; +typedef CiEmptyPrim CiMmPrimGetBandIndReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetBandIndCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + CiBoolean enableBandInd ; /**< Enable status \sa CCI API Ref Manual */ + CiMmCurrentBandInfo currentBand ; /**< Current band \sa CiMmCurrentbandInfo_struct */ + + } CiMmPrimGetBandIndCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetRegResultOptionCnf_struct { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + CiMmRegResultOption Option ; /**< Reporting option \sa CiMmRegResultOption */ + } CiMmPrimGetRegResultOptionCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSetRegResultOptionReq_struct { + CiMmRegResultOption Option ; /**< Reporting option \sa CiMmRegResultOption */ + } CiMmPrimSetRegResultOptionReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSetBandIndReq_struct { + CiBoolean enableBandInd ; /**< Enable / Disable band indications \sa CCI API Ref Manual */ + } CiMmPrimSetBandIndReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSetBandIndCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + } CiMmPrimSetBandIndCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSetRegResultOptionCnf_struct { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + } CiMmPrimSetRegResultOptionCnf; + +//ICAT EXPORTED ENUM + typedef enum CIMM_CAUSE_TYPE { + CI_MM_CAUSE_TYPE_MM = 0 , /**< Indicates that contains an MM cause value , see 3 GPP TS 24.008000 [ 8 ] Annex G*/ + CI_MM_CAUSE_TYPE_MANUFACTURER , /**< Indicates that contains a manufacturer specific cause */ + CI_MM_CAUSE_NONE , + CIMM_NUM_CAUSE_TYPE + } _CiMmCauseType; + +typedef UINT8 CiMmCauseType ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimRegResultInd_struct { + CiMmRegStatus RegStatus ; /**< Registration status \sa CiMmRegStatus */ + CiMmCellInfo info ; /**< Current cell information \sa CiMmCellInfo_struct */ + /* deleted by xwzhou 9052013 CQ43000 , begin */ + // CiMmAccTechMode AccTchMode ; / **< Network access technology \sa CiMmAccTechMode * / + /* deleted by xwzhou 9052013 CQ43000 , end */ + + CiMmCauseType causeType ; /**< cuase type \sa CiMmCauseType */ + UINT16 rejectCause ; /**< contains the cause of the failed registration ( if MM cause type , values define in 3 GPP TS 24.008000 [ 8 ] Annex G ) . The value is of type as defined by causeType */ + CiBoolean pscValid ; /** */ + // ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetNumPreferredOperatorsCnf_struct { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + UINT8 NumPref ; /**< Number of entries in the list */ + } CiMmPrimGetNumPreferredOperatorsCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetPreferredOperatorInfoReq_struct { + UINT8 Index ; /**< Not in use */ + } CiMmPrimGetPreferredOperatorInfoReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetPreferredOperatorInfoCnf_struct { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + CiMmNetOpIdInfo info ; /**< Network / operator ID information \sa CiNetOpIdInfo_struct */ + CiMmAccTechMode AccTchMode ; /**< Not in use. Access Radio technology ; default is GSM. \sa CiMmAccTechMode */ + } CiMmPrimGetPreferredOperatorInfoCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimAddPreferredOperatorReq_struct { + CiMmNetOpIdInfo info ; /**< New network / operator ID information \sa CiNetOpIdInfo_struct */ + CiMmAddPrefOpType addPrefOpType ; /**< \sa CiMmAddPrefOpType */ + UINT8 res1U8 ; /**< ( padding ) just in case */ + UINT16 index ; /**< Entry number to add */ + CiMmAccTechMode AccTchMode ; /**< ACT parameter for COLP command \sa CiMmAccTechMode */ + } CiMmPrimAddPreferredOperatorReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimAddPreferredOperatorCnf_struct { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + UINT8 NumPref ; /**< Not in use */ + } CiMmPrimAddPreferredOperatorCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimDeletePreferredOperatorReq_struct { + UINT8 Index ; /**< Index ( entry number ) to delete */ + } CiMmPrimDeletePreferredOperatorReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimDeletePreferredOperatorCnf_struct { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + UINT8 NumPref ; /**< Not in use */ + } CiMmPrimDeletePreferredOperatorCnf; + +typedef CiEmptyPrim CiMmPrimGetCurrentOperatorInfoReq ; +typedef CiEmptyPrim CiMmPrimGetAsrCurrentOperatorInfoReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetCurrentOperatorInfoCnf_struct { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + CiMmRegMode RegMode ; /**< Current registration mode \sa CiMmRegMode */ + CiMmNetOpIdInfo info [ 2 ] ; /**< Current network / operator ID information \sa CiNetOpIdInfo_struct */ + /* deleted by xwzhou 9052013 CQ43000 , begin */ + // CiMmAccTechMode AccTchMode ; / **< Access radio technology ; default is GSM \sa CiMmAccTechMode * / + /* deleted by xwzhou 9052013 CQ43000 , end */ + } CiMmPrimGetCurrentOperatorInfoCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetAsrCurrentOperatorInfoCnf_struct { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + CiMmRegMode RegMode ; /**< Current registration mode \sa CiMmRegMode */ + CiMmNetOpIdInfo info [ 2 ] ; /**< Current network / operator ID information \sa CiNetOpIdInfo_struct */ + CiMmNetOpIdInfo info_alpha [ 2 ] ; /**< Current network / operator ID information \sa CiNetOpIdInfo_struct */ + CiMmNetOpIdInfo info_longAlpha [ 2 ] ; /**< Current network / operator ID information \sa CiNetOpIdInfo_struct */ + } CiMmPrimGetAsrCurrentOperatorInfoCnf; + +typedef CiEmptyPrim CiMmPrimNetworkModeReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimNetworkModeCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + CiMmNetworkModeReport mode ; /**< Cell capabilities network mode*/ + CiBoolean gprsActive ; /**< Active high speed service: gprsActive ( 1 - gprs is active , 0 - gprs is inactive ) */ + CiBoolean egprsActive ; /**< Active high speed service: egprsActive ( 1 - egprs is active , 0 - egprs is inactive ) */ + CiBoolean hsdpaActive ; /**< Active high speed service: hsdpaActive ( 1 - hsdpa is active , 0 - hsdpa is inactive ) */ + CiBoolean hsupaActive ; /**< Active high speed service: hsupaActive ( 1 - hsupa is active , 0 - hsupa is inactive ) */ + CiBoolean epsActive ; /**< Active high speed service: epsActive ( 1 - eps is active , 0 - eps is inactive ) */ + CiBoolean dcHsdpaActive ; /**< Active high speed service: dcHsdpaActive ( 1 - dcHsdpa is active , 0 - dcHsdpa is inactive ) */ + CiBoolean hspaPlusActive ; /**< Active high speed service: hspaPlusActive ( 1 - HSPA+ is active , 0 - HSPA+ is inactive ) */ + } CiMmPrimNetworkModeCnf; + +typedef CiEmptyPrim CiMmPrimAutoRegisterReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimAutoRegisterCnf_struct { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + } CiMmPrimAutoRegisterCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimManualRegisterReq_struct { + CiBoolean AutoFallback ; /**< TRUE - Fallback to automatic registration ; FALSE - No fallback to automatic registration \sa CCI API Ref Manual */ + CiMmNetOpIdInfo info ; /**< Network operator identification information \sa CiNetOpIdInfo_struct */ + CiMmAccTechMode AccTchMode ; /**< Access radio technology ; default is GSM \sa CiMmAccTechMode */ + } CiMmPrimManualRegisterReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimManualRegisterCnf_struct { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + } CiMmPrimManualRegisterCnf; + +typedef CiEmptyPrim CiMmPrimDeregisterReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimDeregisterCnf_struct { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + } CiMmPrimDeregisterCnf; + +typedef CiEmptyPrim CiMmPrimGetSigQualityIndConfigReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetSigQualityIndConfigCnf_struct { + CiMmResultCode Result ; + CiMmSigQualityConfig config ; + } CiMmPrimGetSigQualityIndConfigCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSetSigQualityIndConfigReq_struct { + CiMmSigQualityConfig config ; /**< Signal quality configuration \sa CiMmSigQualityConfig_struct */ + } CiMmPrimSetSigQualityIndConfigReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSetSigQualityIndConfigCnf_struct { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + } CiMmPrimSetSigQualityIndConfigCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSigQualityInfoInd_struct { + CiMmSigQualityInfo info ; /**< Signal quality information \sa CiMmSigQualityInfo_struct */ + } CiMmPrimSigQualityInfoInd; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimExtendedSigQualityInfoInd_struct { + CiMmSigExtendedQualityInfo info ; /**< Signal quality information \sa CiMmSigExtendedQualityInfo_struct */ + } CiMmPrimExtendedSigQualityInfoInd; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimNormalSigQualityInfoInd_struct { + CiMmSigNormalQualityInfo info ; /**< Signal quality information \sa CiMmSigQualityInfo_struct */ + } CiMmPrimNormalSigQualityInfoInd; + +//ICAT EXPORTED ENUM + typedef enum CIMM_SIGQUALITY_TYPE { + CI_MM_SIGQUALITY_CSQ = 0 , /**< Indicates that contains an MM cause value , see 3 GPP TS 24.008000 [ 8 ] Annex G*/ + CI_MM_SIGQUALITY_ECSQ , /**< Indicates that contains a manufacturer specific cause */ + CI_MM_SIGQUALITY_NONE , + } _CiMmSigQualityType; + +typedef UINT8 CiMmSigQualityType ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSigQualityInfoReq_struct { + CiMmSigQualityType sigQualityType ; + + } CiMmPrimSigQualityInfoReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSigQualityInfoCnf_struct { + CiMmResultCode result ; + CiMmSigQualityType sigQualityType ; + CiMmSigNormalQualityInfo normalInfo ; /**< Signal quality information \sa CiMmSigQualityInfo_struct */ + CiMmSigExtendedQualityInfo extendedInfo ; /**< Signal quality information \sa CiMmSigExtendedQualityInfo_struct */ + } CiMmPrimSigQualityInfoCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimEnableNetworkModeIndReq_struct + { + CiBoolean enable ; /**< TRUE - Enable network mode indication ; FALSE - Disable network mode indication ( default ) \sa CCI API Ref Manual */ + } CiMmPrimEnableNetworkModeIndReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimEnableNetworkModeIndCnf_struct { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + } CiMmPrimEnableNetworkModeIndCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimNetworkModeInd_struct + { + /* Michal Bukai enter Vadim modification for NetworkModeIndication */ + + + + CiMmNetworkModeReport mode ; /**< Cell capabilities network mode \sa CiMmNetworkModeReport */ + CiBoolean gprsActive ; /**< Active high speed service: gprsActive ( 1 - gprs is active , 0 - gprs is inactive ) \sa CCI API Ref Manual */ + CiBoolean egprsActive ; /**< Active high speed service: egprsActive ( 1 - egprs is active , 0 - egprs is inactive ) \sa CCI API Ref Manual */ + CiBoolean hsdpaActive ; /**< Active high speed service: hsdpaActive ( 1 - hsdpa is active , 0 - hsdpa is inactive ) \sa CCI API Ref Manual */ + CiBoolean hsupaActive ; /**< Active high speed service: hsupaActive ( 1 - hsupa is active , 0 - hsupa is inactive ) \sa CCI API Ref Manual */ + CiBoolean hspaPlusActive ; /**< Active high speed service: hspa+ ( 1 - hspa+ is active , 0 - hspa+ is inactive ) \sa CCI API Ref Manual */ + + CiBoolean epsActive ; /**< Active high speed service: epsActive ( 1 - eps is active , 0 - eps is inactive ) \sa CCI API Ref Manual */ + + UINT8 domain ; /**< CS or PS domain , 0 :CS only ; 1 :PS only ; 2 :Combined CS / PS */ + } CiMmPrimNetworkModeInd; + +typedef CiEmptyPrim CiMmPrimGetNitzInfoReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetNitzInfoCnf_struct + { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + CiMmNitzInfo info ; /**< NITZ information \sa CiMmNitzInfo_struct */ + } CiMmPrimGetNitzInfoCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimNitzInfoInd_struct + { + CiMmNitzInfo info ; /**< NITZ information \sa CiMmNitzInfo_struct */ + } CiMmPrimNitzInfoInd; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimCipheringStatusInd_struct { + CiBoolean CsCipheringOn ; /**< TRUE if ON , FALSE if OFF ; \sa CCI API Ref Manual */ + CiBoolean PsCipheringOn ; /**< TRUE if ON , FALSE if OFF ; \sa CCI API Ref Manual */ + CiBoolean CipheringIndicatorOn ; /**< TRUE if required , FALSE if not required ; \sa CCI API Ref Manual */ + + } CiMmPrimCipheringStatusInd; + +typedef UINT8 CiMmRejectType ; +typedef UINT8 CiGmmRejectType ; +typedef UINT8 CiEmmRejectType ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimAirInterfaceRejectCauseInd_struct { + CiMmRejectType mmRejectType ; /**< MM Reject type \sa CiMmRejectType */ + CiMmCause mmCause ; /**< MM state \sa CiMmCause */ + + CiGmmRejectType gmmRejectType ; /**< GMM Reject type \sa CiGmmRejectType */ + CiGmmCause gmmCause ; /**< GMM state \sa CiGmmCause */ + + CiEmmRejectType emmRejectType ; + CiEmmCause emmCause ; /**< EMM state \sa CiEmmCause */ + + CiMmErrorCauseType causeType ; + } CiMmPrimAirInterfaceRejectCauseInd; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSelectPreferredPlmnListReq_struct { + CiMmListIndexType ListIndex ; /**< Preferred PLMN list type \sa CiMmListIndexType*/ + } CiMmPrimSelectPreferredPlmnListReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSelectPreferredPlmnListCnf_struct { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + } CiMmPrimSelectPreferredPlmnListCnf; + +typedef CiEmptyPrim CiMmPrimGetPreferredPlmnListReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetPreferredPlmnListCnf_struct { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + CiMmListIndexType ListIndex ; /**< Preferred PLMN list type \sa CiMmListIndexType*/ + } CiMmPrimGetPreferredPlmnListCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimServiceRestrictionsInd_struct + { + CiBoolean manualPlmnSelectionAllowed ; /**< TRUE if display of PLMN selection menus is allowed \sa CCI API Ref Manual */ + } CiMmPrimServiceRestrictionsInd; + +typedef CiEmptyPrim CiMmPrimCancelManualPlmnSearchReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimCancelManualPlmnSearchCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + } CiMmPrimCancelManualPlmnSearchCnf; + +typedef CiEmptyPrim CiMmPrimTriggerUserReselectionReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimTriggerUserReselectionCnf_struct { + CiMmResultCode result ; /**< Result code */ + } CiMmPrimTriggerUserReselectionCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimHomeZoneInd_struct { + CiBoolean ZoneInd ; /**< TRUE - display HomeZone / CitiZone Indication for the zone specified in " ZoneId " field , FALSE -remove HomeZone / CitiZone indication \sa CCI API Ref Manual */ + UINT8 ZoneId ; /**< Zone ID*/ + CiBoolean IsCityZone ; /**< TRUE - detected zone is CityZone , FALSE - detected zone is HomeZone \sa CCI API Ref Manual */ + CiBoolean ZoneTagPreset ; /**< TRUE - Zone TAG is included , FALSE - Zone TAG is not included \sa CCI API Ref Manual */ + CiString ZoneTag ; /**< 13 -character string coded in the short message alphabet given in GSM 3.380000 with bit 8 set to Zero. 0xff indicates end of string \sa CCI API Ref Manual */ + } CiMmPrimHomeZoneInd; + +//ICAT EXPORTED ENUM + /** \brief Cell lock modes */ + /** \remarks Common Data Section */ + typedef enum CIMM_CELL_LOCK_MODE + { + CIMM_CELL_LOCK_MODE_NONE = 0 , /**< Cell / Freq Lock and IRAT optimization disabled */ + CIMM_CELL_LOCK_MODE_LOCKFREQ = 1 , /**< Freq Lock enabled */ + CIMM_CELL_LOCK_MODE_LOCKCELL = 2 , /**< Cell Lock enabled */ + // CIMM_CELL_LOCK_MODE_IRAT_OPTIMIZATION = 3 , / **< IRAT optimization for cell reselection enabled * / + CIMM_CELL_LOCK_MODE_LOCKBAND = 3 , + // CIMM_CELL_LOCK_MODE_SYNC_CELL = 4 , / **< LTE Cell sync detection enabled * / + + CIMM_NUM_CELLLOCK_MODES , + } _CiMmCellLockMode; + +typedef UINT8 CiMmCellLockMode ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimCellLockReq_struct { + CiMmCellLockMode mode ; /**< Cell lock mode \sa CiMmCellLockMode */ + CiMmCellLockActMode act ; /**< Network mode \sa CiMmNetworkMode */ + UINT8 bandValue ; + UINT32 freq ; /**< Absolute radio frequency channel number ; GSM number 0 -1023 , TD number 10054 -10121 and 9404 -9596 */ + INT16 cellId ; /**< Cell parameter ID This parameter if valid for 3 G cells only 0 -127 , and for TD LTE cells only 0 -503 */ + // INT8 tddOffset ; / **< RSCP threshold for IRAT cell reselection ; -115~-25dB and default -85dB* / + } CiMmPrimCellLockReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimCellLockCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + } CiMmPrimCellLockCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimCellLockInd_struct { + CiMmCellLockMode mode ; /**< Cell lock mode \sa CiMmCellLockMode */ + CiMmNetworkMode networkMode ; /**< Network mode \sa CiMmNetworkMode */ + + UINT16 arfcn ; /**< Absolute radio frequency channel number ; GSM number 0 -1023 , TD number 10054 -10121 and 9404 -9596 */ + UINT8 cellParameterId ; /**< Cell parameter ID This parameter if valid for 3 G cells only 0 -127*/ + INT8 tddOffset ; /**< RSCP threshold for IRAT cell reselection ; -115~-25dB and default -85dB*/ + } CiMmPrimCellLockInd; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimWBCellLockReq_struct { + CiBoolean ActivateCellLock ; /**< TRUE - activate cell lock ; FALSE - deactivate cell lock \sa CiBoolean */ + CiMmCurrentBandInfo Band ; /**< Band \sa CiMmCurrentbandInfo */ + UINT16 arfcn ; /**< Absolute radio frequency channel number ; number 0 -1023 */ + UINT16 ScramblingCode ; /**< Primary scrambling code This parameter if valid for 3 G cells only */ + } CiMmPrimWBCellLockReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimWBCellLockCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + } CiMmPrimWBCellLockCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSetFastDormantCapReq_struct { + CiBoolean fastDormantEnabled ; /**< TRUE - enabled ; FALSE - disabled ; \sa CCI API Ref Manual */ + } CiMmPrimSetFastDormantCapReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSetFastDormantCapCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + } CiMmPrimSetFastDormantCapCnf; + +typedef CiEmptyPrim CiMmPrimGetFastDormantCapReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetFastDormantCapCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + + CiBoolean fastDormantEnabled ; /**< TRUE - enabled ; FALSE - disabled ; \sa CCI API Ref Manual */ + } CiMmPrimGetFastDormantCapCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSetNasIntegrityCheckReq_struct { + CiBoolean integrityCheckEnabled ; /**< TRUE - enabled ; FALSE - disabled ; \sa CCI API Ref Manual */ + } CiMmPrimSetNasIntegrityCheckReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSetNasIntegrityCheckCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + } CiMmPrimSetNasIntegrityCheckCnf; + +typedef CiEmptyPrim CiMmPrimGetNasIntegrityCheckReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetNasIntegrityCheckCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + + CiBoolean integrityCheckEnabled ; /**< TRUE - enabled ; FALSE - disabled ; \sa CCI API Ref Manual */ + } CiMmPrimGetNasIntegrityCheckCnf; + +typedef CiEmptyPrim CiMmPrimGetNumLteNetworkOperatorsReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetNumLteNetworkOperatorsCnf_struct { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + UINT8 NumOperators ; /**< Number of operators present */ + } CiMmPrimGetNumLteNetworkOperatorsCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetLteNetworkOperatorInfoReq_struct { + UINT8 Index ; /**< Numeric index , specifying the network operator for which information is requested [ 1 ..number of operators present ] */ + } CiMmPrimGetLteNetworkOperatorInfoReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetLteNetworkOperatorInfoCnf_struct { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + + CiMmNetOpStatusInfo opStatus ; /**< Network operator status information , if available \sa CiNetOpStatusInfo_struct */ + } CiMmPrimGetLteNetworkOperatorInfoCnf; + +typedef CiEmptyPrim CiMmPrimGetLteBackgroundInfoReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetLteBackgroundInfoCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + CiBoolean status ; /**< TRUE - enabled ; FALSE - disabled ; \sa CCI API Ref Manual */ + UINT16 interval ; /**< Background search interval in minutes , 0 :immediately ; 15 , 30 , 60 minutes ; 0xFFFF don ' t search*/ + } CiMmPrimGetLteBackgroundInfoCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSetLteBackgroundInfoReq_struct { + CiBoolean status ; /**< TRUE - enabled ; FALSE - disabled ; \sa CCI API Ref Manual */ + UINT16 interval ; /**< Background search interval in minutes , 0 :immediately ; 15 , 30 , 60 minutes ; 0xFFFF don ' t search*/ + } CiMmPrimSetLteBackgroundInfoReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSetLteBackgroundInfoCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + } CiMmPrimSetLteBackgroundInfoCnf; + +//ICAT EXPORTED ENUM + /** \brief Paging Identity Element */ + /** \remarks Common Data Section */ + typedef enum CIMM_PAGING_IDENTITY_ELEMENT + { + CI_MM_CN_PAGING_BY_IMSI , + CI_MM_CN_PAGING_BY_TMSI , + + CI_MM_NUM_PAGING_IDENTITY_ELEMENT + } _CiMmPagingIdentityElement; + +typedef UINT8 CiMmPagingIdentityElement ; +//ICAT EXPORTED STRUCT + typedef struct CiMmCliElement_struct + { + INT8 length ; + INT8 data [ 12 ] ; /* 24008 , 10.500000 .4.9 */ + } CiMmCliElement; + +//ICAT EXPORTED STRUCT + typedef struct CiMmSsCodeElement_struct + { + INT8 value ; /* 29002 , 17.700000 .5 */ + } CiMmSsCodeElement; + +//ICAT EXPORTED STRUCT + typedef struct CiMmLcsIndicatorElement_struct + { + INT8 value ; + } CiMmLcsIndicatorElement; + +//ICAT EXPORTED STRUCT + typedef struct CiMmLcsClientIdentityElement_struct + { + INT8 length ; + INT8 data [ 255 ] ; /* 29002 , 17.700000 .13 */ + } CiMmLcsClientIdentityElement; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimCsServiceNotificationInd_struct { + CiMmPagingIdentityElement pagingIdentity ; /* 24301 , 9.900000 .3.25A */ + CiBoolean cliPresent ; + CiMmCliElement cli ; /* 24301 , 9.900000 .3.38 */ + CiBoolean ssCodePresent ; + CiMmSsCodeElement ssCode ; /* 24301 , 9.900000 .3.39 */ + CiBoolean lcsIndicatorPresent ; + CiMmLcsIndicatorElement lcsIndicator ; /* 24301 , 9.900000 .3.40 */ + CiBoolean lcsClientIdentityPresent ; + CiMmLcsClientIdentityElement lcsClientIdentity ; /* 24301 , 9.900000 .3.41 */ + } CiMmPrimCsServiceNotificationInd; + +//ICAT EXPORTED ENUM + /** \brief CIMM Respond Value */ + /** \remarks Common Data Section */ + typedef enum CIMM_RSP_VALUE + { + CI_MM_CSFB_ACCEPT , + CI_MM_CSFB_REJECT , + CI_MM_CSFB_OTHERS , // set it when timer expired , or others + + CI_MM_NUM_RSP_VALUE + } _CiMmRspValue; + +typedef UINT8 CiMmRspValue ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimCsServiceNotificationRsp_struct { + CiMmRspValue rspValue ; + } CiMmPrimCsServiceNotificationRsp; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimDsacStatusInd_struct { + CiBoolean csDomainBarred ; + CiBoolean psDomainBarred ; + } CiMmPrimDsacStatusInd; + +//ICAT EXPORTED STRUCT + typedef struct CiMmSetSrvccSupportReq_struct { + CiBoolean srvcc_status ; + } CiMmSetSrvccSupportReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmSetSrvccSupportCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + } CiMmSetSrvccSupportCnf; + +typedef CiEmptyPrim CiMmGetSrvccSupportReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmGetSrvccSupportCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + CiBoolean srvcc_status ; + } CiMmGetSrvccSupportCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmSetImsNwReportModeReq_struct { + CiBoolean reporting ; + } CiMmSetImsNwReportModeReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmSetImsNwReportModeCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + } CiMmSetImsNwReportModeCnf; + +typedef CiEmptyPrim CiMmGetImsNwReportModeReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmGetImsNwReportModeCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + CiBoolean reporting ; + CiBoolean nwimsvops ; + } CiMmGetImsNwReportModeCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmImsvopsInd_struct { + CiBoolean nwimsvops ; + } CiMmImsvopsInd; + +//ICAT EXPORTED ENUM + typedef enum CIMM_SRVCC_IND_TYPE { + CI_MM_SRVCC_STARTED = 0 , + CI_MM_SRVCC_SUCCESSFUL , + CI_MM_SRVCC_CANCELLED , + CI_MM_SRVCC_GENERAL_FAILURE , + + /* This one must always be last in the list! */ + CI_MM_SRVCC_NUM_TYPE + } _CiMmSrvccType; + +typedef UINT8 CiMmSrvccHType ; +//ICAT EXPORTED STRUCT + typedef struct CiMmSrvccHandoverInd_struct { + CiMmSrvccHType srvcch ; + } CiMmSrvccHandoverInd; + +//ICAT EXPORTED STRUCT + typedef struct CiMmSetEmergencyNumberReportModeReq_struct { + CiBoolean reporting ; + } CiMmSetEmergencyNumberReportModeReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmSetEmergencyNumberReportModeCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + } CiMmSetEmergencyNumberReportModeCnf; + +typedef CiEmptyPrim CiMmGetEmergencyNumberReportReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmEmergencyNumberInfo_struct { + CHAR dialString [ 40 ] ; + CiBitRange ServiceCat ; + } CiMmEmergencyNumberInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiMmGetEmergencyNumberReportCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + CiBoolean reporting ; /** 0 - disable ; 1 - enable */ + CiMmNetworkId networkId ; + UINT8 numNumbers ; /** num of emergency numbers */ + CiMmEmergencyNumberInfo numbers [ 15 ] ; + } CiMmGetEmergencyNumberReportCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmEmergencyNumberReportInd_struct { + CiBoolean reporting ; /** 0 - disable ; 1 - enable */ + CiMmNetworkId networkId ; + UINT8 numNumbers ; /** num of emergency numbers */ + CiMmEmergencyNumberInfo numbers [ 15 ] ; + } CiMmEmergencyNumberReportInd; + +//ICAT EXPORTED STRUCT + typedef struct CiMmSetNwEmergencyBearerServicesReq_struct { + CiBoolean reporting ; + } CiMmSetNwEmergencyBearerServicesReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmSetNwEmergencyBearerServicesCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + } CiMmSetNwEmergencyBearerServicesCnf; + +typedef CiEmptyPrim CiMmGetNwEmergencyBearerServicesReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmGetNwEmergencyBearerServicesCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + CiBoolean reporting ; + UINT8 emb_Iu_supp ; + UINT8 emb_S1_supp ; + } CiMmGetNwEmergencyBearerServicesCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmNwEmergencyBearerServicesIuInd_struct { + UINT8 emb_Iu_supp ; + } CiMmNwEmergencyBearerServicesIuInd; + +//ICAT EXPORTED STRUCT + typedef struct CiMmNwEmergencyBearerServicesS1Ind_struct { + UINT8 emb_S1_supp ; + } CiMmNwEmergencyBearerServicesS1Ind; + +typedef CiEmptyPrim CiMmGetSsacStatusReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmGetSsacStatusCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + UINT8 BFVoice ; /**< parameter shows the barring factor for MMTEL voice ( 0 -16 ) */ + UINT8 BFVideo ; /**< parameter shows the barring factor for MMTEL video ( 0 -16 ) */ + UINT8 BTVoice ; /**< parameter shows the barring timer for MMTEL voice ( 0 -8 ) */ + UINT8 BTVideo ; /**< parameter shows the barring timer for MMTEL video ( 0 -8 ) */ + } CiMmGetSsacStatusCnf; + +typedef UINT8 CiMmCsgWhiteListType ; +//ICAT EXPORTED STRUCT + typedef struct CiMmCsgInfo_struct { + UINT32 csgId ; /**< indicates the CSG ID of the cells which were found. */ + CiBoolean hnbNamePresent ; /**< indicates if HnbName is used. TRUE - HnbName is used. False - HnbName is unused.*/ + UINT8 hnbName [ 48 ] ; /**< text of up to 48 chars. */ + CiBoolean hnbTypePresent ; /**< indicates if HnbType is used. TRUE - HnbType is used. False - HnbType is unused.*/ + UINT8 hnbType [ 12 ] ; /**< Additional information for this CSG. */ + CiMmCsgWhiteListType whileListType ; + } CiMmCsgInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiMmCsgCellInfo_struct { + CiMmCsgInfo csgInfo ; /**< CSG information */ + CiMmNetworkId networkId ; /**< Network ID */ + CiMmNetworkMode mode ; /**< Cell capabilities network mode */ + } CiMmCsgCellInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimCsgListSearchReq_struct { + UINT8 csgIndexReq ; /**< indicates the CSG index requsted to get , 0 means beging of the new search , else is reading of the last resulsts from listed offset*/ + } CiMmPrimCsgListSearchReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimCsgListSearchCnf_struct { + CiMmResultCode result ; /**< Result code */ + UINT8 totalNumOfCsg ; /**< number of CSG ID which were found 0 ..MAX_NUMBER_OF_CSG ( = 40 ) */ + UINT8 startCsgIndex ; /**< first CSG ID inedx which were included in this message */ + UINT8 numCsgList ; /**< number of CSG ID which were included in this message */ + CiMmCsgCellInfo csgList [ 20 ] ; /**< list of all the CSG which were found and their parameters*/ + } CiMmPrimCsgListSearchCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimCsgSelectReq_struct { + UINT32 csgId ; /**< indicates the CSG ID of the cells which were found. bits 0 -26: can receive any value. 27 - 31 should be set to 0 .*/ + CiMmNetworkId networkId ; /**< Network ID */ + CiMmNetworkMode mode ; /**< Selected network mode */ + } CiMmPrimCsgSelectReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimCsgSelectCnf_struct { + CiMmResultCode result ; /**< Result code */ + } CiMmPrimCsgSelectCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimRegResultExtendedInd_struct { + CiMmRegStatus RegStatus ; /**< Registration status \sa CiMmRegStatus */ + CiBoolean csgCellInfoPresent ; /**< Indication if CSG Information field is valid */ + CiMmCsgCellInfo csgCellInfo ; /**< CSG Information */ + } CiMmPrimRegResultExtendedInd; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSetPowerUpNetworkModeReq_struct { + CiMmPowerUpPlmnSelectionMode mode ; /**< Power up PLMN selection mode \sa CiMmPowerUpPlmnSelectionMode */ + } CiMmPrimSetPowerUpNetworkModeReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSetPowerUpNetworkModeCnf_struct { + CiMmResultCode result ; /**< Result code */ + } CiMmPrimSetPowerUpNetworkModeCnf; + +typedef CiEmptyPrim CiMmPrimGetPowerUpNetworkModeReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetPowerUpNetworkModeCnf_struct { + CiMmResultCode result ; /**< Result code */ + CiMmPowerUpPlmnSelectionMode mode ; /**< Power up PLMN selection mode \sa CiMmPowerUpPlmnSelectionMode */ + } CiMmPrimGetPowerUpNetworkModeCnf; + +typedef UINT32 CiMmFratPlmnAction ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimFratListActionReq_struct { + CiMmFratPlmnAction action ; + CiMmNetworkId newPlmn ; /**< PLMN mnc / mcc to be added to FRAT list*/ + } CiMmPrimFratListActionReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimFratListActionCnf_struct { + CiMmResultCode result ; /**< Result code */ + } CiMmPrimFratListActionCnf; + +typedef CiEmptyPrim CiMmPrimGetFratListReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetFratListCnf_struct { + UINT8 listSize ; /**< FRAT list size*/ + CiMmNetworkId fratList [ 20 ] ; /**< FRAT list*/ + } CiMmPrimGetFratListCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSetSecurityCapablilityReq_struct + { + CiBoolean nasSecCapPresent ; + CiBoolean umtsRrcCACapPresent ; + CiBoolean umtsRrcIPCapPresent ; + + INT32 nasSecCap ; + INT16 umtsRrcCACap ; + INT16 umtsRrcIPCap ; + } CiMmPrimSetSecurityCapablilityReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSetSecurityCapablilityCnf_struct + { + CiMmResultCode result ; /**< Result code */ + } CiMmPrimSetSecurityCapablilityCnf; + +typedef CiEmptyPrim CiMmPrimGetSecurityCapablilityReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetSecurityCapablilityCnf_struct + { + CiMmResultCode result ; /**< Result code */ + + INT32 nasSecCap ; + INT16 umtsRrcCACap ; + INT16 umtsRrcIPCap ; + } CiMmPrimGetSecurityCapablilityCnf; + +//ICAT EXPORTED ENUM + typedef enum CiMmCipheringIndicatorTag + { + CI_MM_CIPHERING_NONE = 0x00 , /* Ciphering not used */ + CI_MM_CIPHERING_CS = 0x01 , /* EPS integrity Algorithm EIA / 1 */ + CI_MM_CIPHERING_PS = 0x02 , + CI_MM_CIPHERING_CS_PS = 0x03 , + + } + _CiMmCipheringIndicator; + +typedef UINT8 CiMmCipheringIndicator ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimNetworkCellMatInfoInd_struct + { + CiMmRegMode regMode ; // , from COPS + CiMmRegStatus stat ; // , from CREG + CiMmNetOpIdInfo netOpInfo ; // , , , , from COPS + + CiBoolean lacPresent ; // in LTE NW mode , LAC maybe not existed + UINT16 lac ; // , two bytes + CiBoolean racPresent ; // in LTE NW mode , no RAC + UINT8 rac ; // , one byte + CiBoolean cellIdPresent ; + UINT32 cellId ; // + CiBoolean tacPresent ; // in LTE NW mode , no RAC + UINT16 tac ; // , two bytes + + CiBoolean nwDTMSupported ; // whether NW support DTM + CiBoolean volteAvaiable ; // whether NW support VOLTE + CiBoolean imsEmAvaiable ; // whether NW support emergency bearer + CiBoolean t323Avaiable ; + + UINT8 mmtelVoiceAcBarringFactor ; /*0-100 , Voice service barring factor. From 0 to 100 where 0 means 0 % probability and 100 means 100 % probability. */ + UINT16 mmtelVoiceAcBarringTime ; /*0-512 , Voice service mean access barring time value in seconds. */ + UINT8 mmtelVideoAcBarringFactor ; /*0-100 , Video service barring factor. From 0 to 100 where 0 means 0 % probability and 100 means 100 % probability. */ + UINT16 mmtelVideoAcBarringTime ; /*0-512 , Video service mean access barring time value in seconds. */ + + CiBoolean phyCellIdPresent ; + /*LTE: phy cell ID ; + *UMTS Primary scrambling code + *GSM bsic: base station identity code*/ + UINT16 phyCellId ; + // add by taow 20150506 for ciphering begin + CiMmCipheringIndicator cipheringIndicator ; + // add by taow 20150506 for ciphering end + /*add by taow 20181102 CQ00112738 begin*/ + /*GSM MODE 16 -bit GSM Absolute RF channel number ; this value must be reported * + *wcdma 16 -bit UMTS Absolute RF Channel Number ; this value must be reported + *lte 18 -bit LTE Absolute RF Channel Number ; this value must be reported + */ + UINT32 frequency ; + /*add by taow 20181102 CQ00112738 end*/ + } CiMmPrimNetworkCellMatInfoInd; + +typedef UINT8 CiMmEccStatus ; +typedef UINT8 CiMmEccCnfActStatus ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimEmergencyCallStatusReq_struct + { + CiMmEccStatus eccStatus ; + CiMmAccTechMode reqAct ; + } CiMmPrimEmergencyCallStatusReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimEmergencyCallStatusCnf_struct + { + CiMmResultCode result ; + CiMmAccTechMode act ; + CiMmEccCnfActStatus actStatus ; + } CiMmPrimEmergencyCallStatusCnf; + +typedef CiEmptyPrim CiMmPrimNewAttachInd ; +typedef UINT8 CiMmUcdOpMode ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimJammingDetectionReq_struct { + UINT8 mode ; /**< mode of operation */ + UINT8 minNumberOfGsmCarriers ; /**< The number of 2 G carriers */ + UINT8 gsmRxLevThreshold ; /**< Threshold level for 2 G carriers */ + UINT8 minNumberOfUmtsCarriers ; /**< The number of 3 G carriers */ + UINT8 umtsRssiLevThreshold ; /**< Threshold level for 3 G carriers */ + CiBoolean networkIdPresent ; /**< If true - a prefered network operator is attached */ + CiMmNetworkId networkId ; /**< Prefered network operator */ + } CiMmPrimJammingDetectionReq; + +//ICAT EXPORTED ENUM + typedef enum CIMM_JAMMING_STATUS { + CI_MM_2G_JAMMING_NOT_DETECTED = 0 , + CI_MM_2G_JAMMING_DETECTED , + CI_MM_3G_JAMMING_NOT_DETECTED , + CI_MM_3G_JAMMING_DETECTED + } _CiMmJammingStatus; + +typedef UINT8 CiMmJammingStatus ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimJammingDetectionInd_struct { + CiMmJammingStatus active ; /**< jamming status report */ + } CiMmPrimJammingDetectionInd; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimJammingDetectionCnf_struct { + CiMmResultCode result ; /**< result code */ + CiBoolean activePresent ; /**< if true - the current jamming status is return */ + UINT8 active ; /**< the current jamming status */ + } CiMmPrimJammingDetectionCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSetGprsEgprsMultislotClassReq_struct { + UINT8 msClassGprs ; + UINT8 msClassEgprs ; + } CiMmPrimSetGprsEgprsMultislotClassReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSetGprsEgprsMultislotClassCnf_struct { + CiMmResultCode result ; + } CiMmPrimSetGprsEgprsMultislotClassCnf; + +//ICAT EXPORTED ENUM + typedef enum CIMM_OPERATOR_NAME_SOURCE { + CI_MM_OPERATOR_NAME_EONS , /**< EF_OPL and EF_PNN files.*/ + CI_MM_OPERATOR_NAME_NITZ , /**< NITZ service.*/ + CI_MM_OPERATOR_NAME_CPHS , /**< CPHS Operator Name string.*/ + CI_MM_OPERATOR_NAME_MT , /**< MT hardcoded operator name.*/ + CI_MM_OPERATOR_NAME_INVALID , /**< String containing the operator name to be displayed.*/ + } _CiMmOperatorNameSource; + +typedef UINT8 CiMmOperatorDisplayType ; +typedef UINT8 CiMmDisplayCondition ; +//ICAT EXPORTED ENUM + typedef enum CIMM_OPERATOR_DISPLAY_TYPE { + CI_MM_NUMERIC_FORMAT = 0 , /**< The network name will appear as MCC / MNC , for example 425 / 1 */ + CI_MM_SHORT_NAME_IN_ROM , /**< The short network name from the ROM will be returned*/ + CI_MM_LONG_NAME_IN_ROM , /**< The long network name from the ROM will be returned*/ + CI_MM_SHORT_NAME_CPHS , /**< The short network name that appears in the CPHS files on the SIM will be returned*/ + CI_MM_LONG_NAME_CPHS , /**< The long network name that appears in the CPHS files on the SIM will be returned*/ + CI_MM_SHORT_NITZ_NAME , /**< The short network name received by NITZ will be returned*/ + CI_MM_FULL_NITZ_NAME , /**< The full network name received by NITZ will be returned*/ + CI_MM_SERVICE_PROVIDER_NAME , /**< The network name that has been read from the EF_SPN file on the SIM will be returned*/ + CI_MM_EONS_SHORT_NAME , /**< The short network name that appears in the EONS files on the SIM will be returned*/ + CI_MM_EONS_LONG_NAME , /**< The long network name that appears in the EONS files on the SIM will be returned*/ + CI_MM_SHORT_NETWORK_NAME , /**< Not supported - for future use*/ + CI_MM_LONG_NETWORK_NAME , /**< Not supported - for future use*/ + } _CiMmOperatorDisplayType; + +typedef UINT8 CiMmOperatorNameSource ; +//ICAT EXPORTED ENUM + typedef enum CIMM_DISPLAY_CONDITION { + CI_MM_SPN_DONT_DISPLAY_PLMN = 0 , /**< display of the registered PLMN is not required when the registered PLMN is either the HPLMN or a PLMN listed in SPDI list*/ + CI_MM_SPN_DISPLAY_PLMN , /**< display of the registered PLMN is required when the registered PLMN is either the HPLMN or a PLMN listed in the SPDI list*/ + CI_MM_SPN_DISPLAY_NOT_APPLICABLE , /**< */ + } _CiMmDisplayCondition; + +//ICAT EXPORTED STRUCT + typedef struct CiMmOperatorDisplayName_struct { + INT8 Length ; /**< The length of the string*/ + char OperatorName [ 128 ] ; /**< String containing the operator name to be displayed.*/ + CiMmOperatorNameSource OperatorNameSource ; /**< Source of returned operator name. */ + } CiMmOperatorDisplayName; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetDisplayOperatorNameReq_struct { + CiMmOperatorDisplayType type ; /**< Which type of network name should be returned. See CiMmOperatorDisplayType_enum */ + } CiMmPrimGetDisplayOperatorNameReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetDisplayOperatorNameCnf_struct { + CiMmResultCode result ; /**< Result code */ + CiMmOperatorDisplayType type ; /**< Which type of network name should be returned. See CiMmOperatorDisplayType_enum */ + CiMmOperatorDisplayName OperatorName ; /**< The requested operator name to be displayed. See CiMmOperatorDisplayName_struct */ + CiMmDisplayCondition DisplayCondition ; /**< The display condition indicated by the SIM. see CiMmDisplayCondition_enum*/ + } CiMmPrimGetDisplayOperatorNameCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimEcallRegReq_struct { + CiBoolean active ; /**< TRUE - New requested implementaion is acrive ; FALSE - Normal operation*/ + } CiMmPrimEcallRegReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimEcallRegCnf_struct { + CiMmResultCode ResultCode ; /**< Result code \sa CiMmResultCode */ + } CiMmPrimEcallRegCnf; + +//ICAT EXPORTED ENUM + typedef enum CiMmRpmPdpBlockReasonTag + { + CI_MM_RPM_PDP_BLOCK_REASON_NONE , + CI_MM_RPM_PDP_BLOCK_REASON_IGNORE , + CI_MM_RPM_PDP_BLOCK_REASON_PERMANENT_REJECT , + CI_MM_RPM_PDP_BLOCK_REASON_TEMP_REJECT , + CI_MM_RPM_PDP_BLOCK_REASON_ACT_DEACT , + CI_MM_RPM_PDP_BLOCK_REASONS + } CiMmRpmPdpBlockReason; + +//ICAT EXPORTED STRUCT + typedef struct CiMMRpmPdpBlockInfoTag + { + CiString apn ; + UINT16 pdpBlockTime ; + CiMmRpmPdpBlockReason pdpBlockReason ; + } CiMMRpmPdpBlockInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimRpmInfoCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + CiBoolean att_SIM ; // Is SIM AT&T + CiBoolean rpmSim ; // Is SIM RPM + CiBoolean RpmEnabled ; // Is RPM enabled + CiMMRpmPdpBlockInfo pdpBlockInfo [ 4 ] ; + UINT16 resetBlockTime ; + } CiMmPrimRpmInfoCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimRpmInfoInd_struct { + CiBoolean att_SIM ; // Is SIM AT&T + CiBoolean rpmSim ; // Is SIM RPM + CiBoolean RpmEnabled ; // Is RPM enabled + CiMMRpmPdpBlockInfo pdpBlockInfo [ 4 ] ; + UINT16 resetBlockTime ; + } CiMmPrimRpmInfoInd; + +//ICAT EXPORTED ENUM + typedef enum CIMmSELECTMODES_TAG { + CI_MM_SELECT_AUTO = 0 , + CI_MM_SELECT_MANUAL , + + CI_MM_NUM_SELECT_MODES + } _CiMmSelectMode; + +typedef UINT8 CiMmSelectMode ; +//ICAT EXPORTED ENUM + typedef enum CIMMUSERNWMODES_TAG { + CI_MM_USER_NW_GSM = 0 , /**< GSM */ + CI_MM_USER_NW_UMTS , /**< UMTS */ + CI_MM_USER_NW_GSM_UMTS , /**< GSM_UMTS */ + CI_MM_USER_NW_LTE , /**< LTE */ + CI_MM_USER_NW_GSM_LTE , /**< GSM_LTE */ + CI_MM_USER_NW_UMTS_LTE , /**< UMTS_LTE */ + CI_MM_USER_NW_GSM_UMTS_LTE , /**< GSM_UMTS_LTE */ + + CI_MM_NUM_NW_MODES + + } _CiMmUserNetworkMode; + +typedef UINT8 CiMmUserNetworkMode ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSetNetworkSelectionReq_struct { + CiMmUserNetworkMode preferredMode ; + CiMmSelectMode selectionMode ; + CiMmUserNetworkMode networkMode ; + } CiMmPrimSetNetworkSelectionReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSetNetworkSelectionCnf_struct { + CiMmResultCode rc ; + } CiMmPrimSetNetworkSelectionCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmLteCaBandInfo_struct + { + UINT8 dlBandwidth ; /*0 - 1.400000 M , 1 - 3 M , 2 - 5 M , 3 - 10 M , 4 - 15 M , 5 - 20 M */ + UINT16 band ; + UINT32 dlEuArfcn ; + } + CiMmLteCaBandInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiMmLteRrcPcell_struct { + UINT16 Pci ; + UINT32 tac ; + CiMmLteCaBandInfo BandInfo ; + } CiMmLteRrcPcell; + +//ICAT EXPORTED STRUCT + typedef struct CiMmLteRrcScell_struct { + UINT16 Pci ; + UINT8 ScellStatus ; + CiMmLteCaBandInfo BandInfo ; + } CiMmLteRrcScell; + +//ICAT EXPORTED STRUCT + typedef struct CiMmNetOpNameInfo_struct { + CiMmOperatorId LongAlphaId ; /* Long Alphanumeric Operator ID */ + CiMmNetworkId NetworkId ; /**< Network ID \sa CiMmNetworkId_struct */ + } CiMmNetOpNameInfo; + +//ICAT EXPORTED STRUCT + typedef CiEmptyPrim CiMmPrimGetOperatorInfoReq ; + + // ICAT EXPORTED ENUM + typedef enum CIMMROAMINGSTATUS_TAG { + CI_MM_ROAMING_NONE = 0 , + CI_MM_ROAMING_ON , + CI_MM_ROAMING_OFF , + + + CI_MM_NUM_ROAMING + + } _CiMmRoamingStatus; + +typedef UINT8 CiMmRoamingStatus ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetOperatorInfoCnf_struct { + CiMmResultCode Result ; /**< Result code */ + CiMmNetOpNameInfo RPlmn ; /**< Current registration mode */ + CiMmNetOpNameInfo HPlmn ; /**< Current network / operator ID information */ + CiMmRoamingStatus RoamingStatus ; + } CiMmPrimGetOperatorInfoCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimOperatorStatusInd_struct { + CiMmNetOpNameInfo RPlmn ; /**< Current registration mode */ + CiMmNetOpNameInfo HPlmn ; /**< Current network / operator ID information */ + CiMmRoamingStatus RoamingStatus ; + } CiMmPrimOperatorStatusInd; + +typedef UINT8 CiMmNetworkRegStatus ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetNetworkRegistrationStatusInfoCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + CiMmNetworkRegStatus RegStatus ; /**< Registration status \sa CiMmRegStatus */ + CiMmAccTechMode AcT ; /**< Network access technology ( GSM , UTRAN , LTE etc. ) \sa CiMmAccTechMode */ + } CiMmPrimGetNetworkRegistrationStatusInfoCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimFirstSearchedNetworkOperatorInd_struct { + CiBoolean Present ; + CiMmNetworkId NetworkId ; /**< Network ID information \sa CiMmNetworkId */ + CiMmAccTechMode AccTchMode ; /**< Network access technology ( GSM , UTRAN , etc. ) \sa CiMmAccTechMode */ + } CiMmPrimFirstSearchedNetworkOperatorInd; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimNetworkSearchInd_struct { + CiMmAccTechMode Act ; /**< Access radio technology */ + UINT8 numPlmns ; /**< Number of shared PLMNs in that cell */ + CiMmNetworkId plmns [ 20 ] ; + INT32 rssiOrRscpOrRsrp [ 20 ] ; /**< 2 G:RSSI ; 3 G:RSCP ; 4 G:RSRP*/ + + } CiMmPrimNetworkSearchInd; + +typedef CiEmptyPrim CiMmPrimGetCellLockInfoReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetCellLockInfoCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + CiMmCellLockMode mode ; /**< Cell lock mode \sa CiMmCellLockMode */ + CiMmCellLockActMode act ; /**< Network mode \sa CiMmNetworkMode */ + UINT8 bandValue ; + UINT32 freq ; /**< Absolute radio frequency channel number ; GSM number 0 -1023 , TD number 10054 -10121 and 9404 -9596 */ + INT16 cellId ; /**< Cell parameter ID This parameter if valid for 3 G cells only 0 -127 , and for TD LTE cells only 0 -503 */ + } CiMmPrimGetCellLockInfoCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimNetworkCellMatInfoInd_V0001_struct + { + CiMmRegMode regMode ; // , from COPS + CiMmRegStatus stat ; // , from CREG + CiMmNetOpIdInfo netOpInfo ; // , , , , from COPS + + CiBoolean lacPresent ; // in LTE NW mode , LAC maybe not existed + UINT16 lac ; // , two bytes + CiBoolean racPresent ; // in LTE NW mode , no RAC + UINT8 rac ; // , one byte + CiBoolean cellIdPresent ; + UINT32 cellId ; // + CiBoolean tacPresent ; // in LTE NW mode , no RAC + UINT16 tac ; // , two bytes + + CiBoolean nwDTMSupported ; // whether NW support DTM + CiBoolean volteAvaiable ; // whether NW support VOLTE + CiBoolean imsEmAvaiable ; // whether NW support emergency bearer + CiBoolean t323Avaiable ; + + UINT8 mmtelVoiceAcBarringFactor ; /*0-100 , Voice service barring factor. From 0 to 100 where 0 means 0 % probability and 100 means 100 % probability. */ + UINT16 mmtelVoiceAcBarringTime ; /*0-512 , Voice service mean access barring time value in seconds. */ + UINT8 mmtelVideoAcBarringFactor ; /*0-100 , Video service barring factor. From 0 to 100 where 0 means 0 % probability and 100 means 100 % probability. */ + UINT16 mmtelVideoAcBarringTime ; /*0-512 , Video service mean access barring time value in seconds. */ + + CiBoolean phyCellIdPresent ; + /*LTE: phy cell ID ; + *UMTS Primary scrambling code + *GSM bsic: base station identity code*/ + UINT16 phyCellId ; + // add by taow 20150506 for ciphering begin + CiMmCipheringIndicator cipheringIndicator ; + // add by taow 20150506 for ciphering end + + } CiMmPrimNetworkCellMatInfoInd_V0001; + +//ICAT EXPORTED STRUCT + typedef struct CiPlmnTag + { + UINT16 mcc ; /**< 3 -digit country code */ + UINT16 mnc ; /**< 3 -digit network code */ + UINT16 accessTechnology ; + + } CiPlmn; + +//ICAT EXPORTED STRUCT + typedef struct CiArfcnListForCuTag + { + UINT16 accessTechnology ; + UINT8 numArfcn ; + UINT32 arfcnList [ 8 ] ; + } + CiArfcnListForCu; + +//ICAT EXPORTED STRUCT + typedef struct CiUarfcnInsrtFromCuTag + { + CiPlmn reqPlmn ; + CiArfcnListForCu arfcnInsrtFromCu ; + } CiUarfcnInsrtFromCu; + +//ICAT EXPORTED STRUCT + typedef struct CiUarfcnListForCuTag + { + CiPlmn reqPlmn ; + CiArfcnListForCu arfcnListForCu [ 3 ] ; + } CiUarfcnListForCu; + +typedef void ( *nwst_callback_fn ) ( int event ) ; +typedef void ( *SwitchSimDoneCb ) ( UINT8 ) ; +//ICAT EXPORTED ENUM + typedef enum CI_CC_PRIM { + CI_CC_PRIM_GET_NUMBERTYPE_REQ = 1 , /**< \brief Requests the type of number \details */ + CI_CC_PRIM_GET_NUMBERTYPE_CNF , /**< \brief Confirms the request and returns the type of number \details See CI_CC_PRIM_SET_NUMBERTYPE_REQ for internal default information. + There should be no reason for an unsuccessful result. + */ + CI_CC_PRIM_SET_NUMBERTYPE_REQ , /**< \brief Requests to set the type of number to be used for subsequent outgoing calls + * \details Default values for the Address Type fields are based on the outgoing call requests themselves ( in the Dial String parameter field ) . + * See also the CI_CC_PRIM_MAKE_CALL_REQ request. + * For international calls ( where the ' + ' character appears as a prefix to the dial string ) , the values are: + * Type of Number = CI_NUMTYPE_INTERNATIONAL + * Numbering Plan = CI_NUMPLAN_E164_E163 + * For all other calls ( this is the SAC internal default ) , the values are: + * Type of Number = CI_NUMTYPE_UNKNOWN + * Numbering Plan = CI_NUMPLAN_E164_E163 */ + CI_CC_PRIM_SET_NUMBERTYPE_CNF , /**< \brief Confirms the request and sets the type of number to be used for subsequent outgoing call requests \details */ + CI_CC_PRIM_GET_SUPPORTED_CALLMODES_REQ , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_CC_PRIM_GET_SUPPORTED_CALLMODES_CNF , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_CC_PRIM_GET_CALLMODE_REQ , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_CC_PRIM_GET_CALLMODE_CNF , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_CC_PRIM_SET_CALLMODE_REQ , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_CC_PRIM_SET_CALLMODE_CNF = 10 , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_CC_PRIM_GET_SUPPORTED_DATA_BSTYPES_REQ , /**< \brief Requests supported Bearer Service Type parameter settings for data calls \details */ + CI_CC_PRIM_GET_SUPPORTED_DATA_BSTYPES_CNF , /**< \brief Confirms the request and returns the supported Bearer Service Type parameter settings for data calls \details There should be no reason for an unsuccessful result.*/ + CI_CC_PRIM_GET_DATA_BSTYPE_REQ , /**< \brief Requests currently selected Bearer Service Type information for outgoing ( and incoming ) data calls \details */ + CI_CC_PRIM_GET_DATA_BSTYPE_CNF , /**< \brief Confirms the request and returns currently selected Bearer Service Type information for outgoing ( and incoming ) data calls \details There should be no reason for an unsuccessful result.*/ + CI_CC_PRIM_SET_DATA_BSTYPE_REQ , /**< \brief Requests Bearer Service Type information for outgoing ( and incoming ) data calls + * \details This information ( or the default ) is used when outgoing data calls ( or multi-mode calls with a data component ) + * are originated. It can also be used during mobile terminated data call setup. + * Not all combinations of the Data Bearer Service Type parameters are supported for GSM / UMTS. + * Other bearer capability information for outgoing and incoming calls is set up from internal defaults. */ + CI_CC_PRIM_SET_DATA_BSTYPE_CNF , /**< \brief Confirms the request and sets Bearer Service Type information for outgoing ( and incoming ) data calls + * \details This information can be " negotiated " with the network as required , on a per-call basis. */ + CI_CC_PRIM_GET_AUTOANSWER_ACTIVE_REQ , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_CC_PRIM_GET_AUTOANSWER_ACTIVE_CNF , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_CC_PRIM_SET_AUTOANSWER_ACTIVE_REQ , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_CC_PRIM_SET_AUTOANSWER_ACTIVE_CNF = 20 , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_CC_PRIM_LIST_CURRENT_CALLS_REQ , /**< \brief Requests a list of current calls that are present in the mobile + * \details Requests current call information for all calls. + * CI_CC_PRIM_GET_CALLINFO_REQ can also be used to request call information for a specified call. */ + CI_CC_PRIM_LIST_CURRENT_CALLS_CNF , /**< \brief Confirms the request and returns a list of the current calls + * \details Returns an array of current call information structures. CI_CC_PRIM_GET_CALLINFO_REQ can also be used to + * request call information for a specified call. If there are no current calls , NumCalls = 0 , and the CallInfo array + * contains no useful information. There should be no reason for an unsuccessful result. */ + CI_CC_PRIM_GET_CALLINFO_REQ , /**< \brief Requests current call information for a specified call identifier\details */ + CI_CC_PRIM_GET_CALLINFO_CNF , /**< \brief Confirms the request and returns the current call information for a specified call identifier + * \details Use CI_CC_PRIM_LIST_CURRENT_CALLS_REQ to request a list of current call identifiers. For a data call , the + * bearer service information may have been " negotiated " with the network. If Result indicates an error , the call + * information structure contains no useful information. + */ + CI_CC_PRIM_MAKE_CALL_REQ , /**< \brief Requests to make an outgoing call + * \details Uses the default call mode and current bearer service type information ( or the appropriate defaults ) . + * The default call mode is Single Mode ; therefore , a CI_CC_PRIM_MAKE_CALL_REQ request uses + * the BasicCMode parameter to indicate which mode is required. + * Bearer service type is set by CI_CC_PRIM_SET_DATA_BSTYPE_REQ. Other bearer capability information is set up from internal defaults. + * Call options can be used to: + * - Enable or disable closed user group ( CUG ) information for this call ; + * - Override the CLIR option for this call ( force enable or disable ) . + * CUG information is configured by CI_SS_PRIM_SET_CUG_CONFIG_REQ. + * The default CLIR option is set up by CI_SS_PRIM_SET_CLIR_OPTION_REQ. + * Valid dial digits are defined in " Mobile Radio Interface layer 3 specification ; Core Network Protocols - Stage 3 " , revision 3.110000 .0 , 3 GPP TS 24.008000 . + * The supplied dial string can incorporate a prefix ' + ' character , to indicate that this is an international call. In this + * situation , SAC uses the default Address Type information ( if necessary ) for an international call. For details , + * see the CI_CC_PRIM_SET_NUMBERTYPE_REQ request. + * SAC uses the dial string digits to determine whether an emergency call is being requested. + * SAC also supports fixed dialing mode ( if enabled in the SIM ) , using the fixed dialing numbers ( FDN ) list + * that is stored on the SIM. For the fixed number dialing support requirements , see: + * " Technical Specification Group Services and System Aspects. Service Aspects ; Service principles " , revision + * 3.130000 .0 , 3 GPP TS 22.101000 , Section A.24. */ + CI_CC_PRIM_MAKE_CALL_CNF , /**< \brief Confirms the request to make an outgoing call \details */ + CI_CC_PRIM_CALL_PROCEEDING_IND , /**< \brief Indicates that an outgoing call is in progress + * \details This indication is triggered by a CALL PROCEEDING notification from the network. It indicates that the outgoing + * call request has been accepted , and is proceeding through the network. If in-band tones are available from the + * network , the receive audio path should be enabled , so that the subscriber can hear the tones. No + * explicit response is required. */ + CI_CC_PRIM_MO_CALL_FAILED_IND , /**< \brief Indicates that an outgoing ( mobile originated ) call failed + * \details The reason for the call failure is indicated by the Cause parameter. If in-band tones are available from the + * network , the receive audio path should be enabled , so that the subscriber can hear the tones. + * No explicit response is required. */ + CI_CC_PRIM_ALERTING_IND , /**< \brief Indicates that an outgoing call is alerting + * \details This indication is triggered by an ALERTING notification from the network , and indicates that the called party ' s phone is alerting. + * If in-band tones ( ringback ) are available from the network , the receive audio path should be + * enabled , so that the subscriber can hear the tones. Otherwise , the tones must be generated locally. */ + CI_CC_PRIM_CONNECT_IND = 30 , /**< \brief Indicates that an outgoing or incoming call is connected + * \details This indication is triggered by a connect notification from the network , indicating that the called party has accepted and + * answered the call , or an incoming call has been answered. If not already done , the audio paths should now be enabled. No explicit response is required. */ + CI_CC_PRIM_DISCONNECT_IND , /**< \brief Indicates that a call was disconnected + * \details This indication is triggered by: + * - A disconnect message received from the network , indicating network-initiated call clearing + * - Mobile-initiated call clearing ( hangup ) + * The reason for call clearing is indicated by the Cause parameter. If not already done , the transmit and receive + * audio paths should now be disabled. No explicit response is required */ + CI_CC_PRIM_INCOMING_CALL_IND , /**< \brief Indicates an incoming call + * \details SAC allocates a unique call identifier , which must be used for all subsequent requests that are directed to this call. + * The incoming call setup from the network has already been accepted , and the mobile has sent an alerting indication to the network in response. + * The subscriber can answer the call , using the CI_CC_PRIM_ANSWER_CALL_REQ request. + * The subscriber can refuse the call ( if allowed ) , using the CI_CC_PRIM_REFUSE_CALL_REQ request. + * In either case , the subscriber must be alerted to the incoming call. */ + CI_CC_PRIM_CALL_WAITING_IND , /**< \brief Indicates the call waiting ( CW ) information for an incoming call + * \details AC allocates a unique call identifier , which must be used for all subsequent requests that are directed at this call. + * Call waiting indications are enabled or disabled by the CI_SS_SET_CW_OPTION_REQ request. + * This indication is enabled by default. + * This indication is received only if the call waiting supplementary service is provisioned. + * First , the active call must be held , then the subscriber can decide to answer or refuse the waiting call. + * No explicit response is required.*/ + CI_CC_PRIM_HELD_CALL_IND , /**< \brief Indicates that there is a held call + * \details SAC sends this indication if an active call is released while a held call exists. + * The held call can then be released or retrieved , as desired. + * No explicit response is required , although a request is needed to take the call off hold.*/ + CI_CC_PRIM_ANSWER_CALL_REQ , /**< \brief Requests to answer an incoming call + * \details If auto-answer is active ( see CI_CC_PRIM_SET_AUTOANSWER_ACTIVE_REQ ) , + * SAC may answer the incoming call automatically , and the CI_CC_PRIM_ANSWER_CALL_REQ request may not be required. + * This request does not answer a waiting call. + * The active call must first be held or released , which triggers SAC to send a + * CI_CC_PRIM_INCOMING_CALL_IND indication for the waiting call. Then the waiting call can be answered. + * This request does not switch modes for a multi-mode call ( alternating voice / data , alternating voice / fax , or voice followed by data ) . To do this , use the CI_CC_PRIM_SWITCH_CALLMODE_REQ request. */ + CI_CC_PRIM_ANSWER_CALL_CNF , /**< \brief Confirms the request to answer the incoming call + * \details The call identifier is included as a crosscheck or confirmation.*/ + CI_CC_PRIM_REFUSE_CALL_REQ , /**< \brief Requests to reject an incoming call \details The incoming call may be a call waiting. */ + CI_CC_PRIM_REFUSE_CALL_CNF , /**< \brief Confirms the reject request */ + CI_CC_PRIM_MT_CALL_FAILED_IND , /**< \brief Indicates that an incoming ( mobile terminated ) call failed \details */ + CI_CC_PRIM_HOLD_CALL_REQ = 40 , /**< \brief Requests an active call to be held + * \details This request can be used to hold the active call , if there is one. + * The subscriber can subsequently: + * retrieve the held call ; + * set up another ( outgoing ) call ; + * accept an incoming call. + * If another active call is set up , the user can subsequently: + * alternate between the active call and the held call ; + * disconnect the active call ; + * disconnect the held call ; + * disconnect both the active call and the held call. + * GSM allows only one call to be held at any time ( except for calls that are part of a multiparty call ) . + * If a held call already exists , this request fails with an error result.*/ + CI_CC_PRIM_HOLD_CALL_CNF , /**< \brief Confirms the request to hold a call */ + CI_CC_PRIM_RETRIEVE_CALL_REQ , /**< \brief Requests a held call to be retrieved + * \details This request can be used to retrieve a held call , if there is one. + * For GSM , the HOLD service does not allow more than one held call ( non-multiparty ) at any time. + * The CallId parameter is provided here to accommodate multi-call procedures for other 3 G protocols. + * This request should not be used to perform operations on a multiparty ( MPTY ) call. + * If this is attempted , the request fails with an error result.*/ + CI_CC_PRIM_RETRIEVE_CALL_CNF , /**< \brief Confirms the request to retrieve a held call + * \details If Result is CIRC_CC_REJECTED , the cause information is reported as received in a retrieve reject message from the network.*/ + CI_CC_PRIM_SWITCH_ACTIVE_HELD_REQ , /**< \brief Requests an active call and a held call to be switched ( shuttle request ) + * \details This request is used to transfer ( shuttle ) between an active call and a held call. + * The active call is held and the held call is retrieved ( becomes the active call ) . + * The shuttle operation is handled by the network. + * The mobile must send a hold request for the current active call , immediately followed ( see below ) by a retrieve request for the held call. + * The HOLD service does not support more than one held call at any time. To avoid this , the network must receive the retrieve request within five seconds of receiving the hold request. + * The same result could be achieved by sending a CI_CC_PRIM_HOLD_CALL_REQ request for the active call , + * followed by a CI_CC_RETRIEVE_CALL_REQ request for the held call. + * However , the above timing requirements may not be fulfilled by this method , and the shuttle operation could fail. + * Use the CI_CC_PRIM_SHUTTLE_MPTY_REQ request for shuttle operations that involve multiparty ( MPTY ) conference calls. */ + CI_CC_PRIM_SWITCH_ACTIVE_HELD_CNF , /**< \brief Confirms the request to switch between the active and held calls ( shuttle request ) + * \details */ + CI_CC_PRIM_CALL_DEFLECT_REQ , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_CC_PRIM_CALL_DEFLECT_CNF , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_CC_PRIM_EXPLICIT_CALL_TRANSFER_REQ , /**< \brief Requests an explicit call transfer ( ECT ) for an active call and a held call + * \details This request is used to connect an active call and a held call , and then to exit both calls. + * The GSM standard allows ECT for a held call and an outgoing call in the alerting state + * ( an MO call that has been presented to the called party , but has not yet been answered ) . + * This is described in the standard as a network option , and therefore is a valid operation only if the network supports it. + * For more information , see 3 GPP TS 22.091000 . + * The ECT service requires the provision of the call Hold ( HOLD ) Supplementary Service. + * If the subscriber has an active call , a held call , and a call waiting , + * then after successful completion of the ECT request , the subscriber receives an incoming call indication for the waiting call. + * Multiparty ( MPTY ) calls cannot be transferred by this ( or any other ) request.*/ + CI_CC_PRIM_EXPLICIT_CALL_TRANSFER_CNF , /**< \brief Confirms the explicit call transfer ( ECT ) request + * \details If the ECT request is successfully completed , there is a normal call between the original held party and + * the active / alerting party ( see 3 GPP TS 22.091000 , Section 5.800000 ) . SAC removes the call identifiers for the original + * calls. An attempt to use these call identifiers in any subsequent call related request fails with Result = + * CIRC_CC_INVALID_CALLID. */ + CI_CC_PRIM_RELEASE_CALL_REQ = 50 , /**< \brief Requests release ( hangup ) of a call ( mobile originated call clearing ) + * \details Requests disconnect of an active or held call. + * If there is a held call and the active call is released , SAC sends a CI_CC_PRIM_HELD_CALL_IND indication for the held call. The subscriber then can either retrieve the held call or release it. + * If there is a waiting call and the active call is released , SAC sends a CI_CC_PRIM_INCOMING_CALL_IND indication for the waiting call , which can then be answered or refused. + * This request is also used to release individual calls in a multiparty call. + * If CallId is CICC_NO_CALL_ID and there is only one call in progress , this call is released. */ + CI_CC_PRIM_RELEASE_CALL_CNF , /**< \brief Confirms the request to release ( hangs up ) an active or held call ( mobile originated call clearing ) */ + CI_CC_PRIM_RELEASE_ALL_CALLS_REQ , /**< \brief Requests release ( disconnect ) of all calls ( mobile originated call clearing ) + * \details For GSM , there can be only one active call and only one held call.*/ + CI_CC_PRIM_RELEASE_ALL_CALLS_CNF , /**< \brief Confirms the request to release ( disconnects ) all calls ( mobile originated call clearing ) + * \details If the calls are successfully released ( disconnected ) , SAC removes all individual call identifiers. + * An attempt to use any of these call identifiers in subsequent call related requests fails with Result = + * CIRC_CC_INVALID_CALLID.*/ + CI_CC_PRIM_SWITCH_CALLMODE_REQ , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_CC_PRIM_SWITCH_CALLMODE_CNF , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_CC_PRIM_ESTABLISH_MPTY_REQ , /**< \brief Requests establishment of a multiparty ( MPTY ) conference call + * \details This request is used to establish a multiparty call , starting with an active call and a held call. + * If this request completes successfully , the active and held calls are joined into a multiparty call , which + * then becomes active. The original call identifiers still exist for the two calls , and both calls are now marked as + * MPTY calls in their respective Call Information structures.*/ + CI_CC_PRIM_ESTABLISH_MPTY_CNF , /**< \brief Confirms the request to establish a multiparty ( MPTY ) conference call + * \details If Result indicates an error , the MPTY identifier is not valid and should be ignored.*/ + CI_CC_PRIM_ADD_TO_MPTY_REQ , /**< \brief Requests a new call to be added to an existing multiparty ( MPTY ) conference + * \details Before this request is sent , the existing MPTY call is held and the new call becomes active. + * On successful completion of this request , the expanded MPTY call becomes active. + * If a call was previously split from the MPTY call , this request can be used to add the call back into the conference. */ + CI_CC_PRIM_ADD_TO_MPTY_CNF , /**< \brief Confirms the request to add a new call to an existing multiparty ( MPTY ) conference call */ + CI_CC_PRIM_HOLD_MPTY_REQ = 60 , /**< \brief Requests an active multiparty ( MPTY ) call to be held + * \details On successful completion of this request , the active MPTY call ( if there is one ) is held. */ + CI_CC_PRIM_HOLD_MPTY_CNF , /**< \brief Confirms the request to hold an active multiparty ( MPTY ) conference call */ + CI_CC_PRIM_RETRIEVE_MPTY_REQ , /**< \brief Requests a held multiparty ( MPTY ) call to be retrieved + * \details On successful completion of this request , the held MPTY call ( if there is one ) becomes active.*/ + CI_CC_PRIM_RETRIEVE_MPTY_CNF , /**< \brief Confirms the request to retrieve a held multiparty ( MPTY ) conference call */ + CI_CC_PRIM_SPLIT_FROM_MPTY_REQ , /**< \brief Requests a call to be split from a multiparty ( MPTY ) conference + * \details On successful completion of this request the existing MPTY call is held , except for the split call , which becomes active. + * Use the CI_CC_PRIM_ADD_TO_MPTY_REQ request to add the split call back into the MPTY call. */ + CI_CC_PRIM_SPLIT_FROM_MPTY_CNF , /**< \brief Confirms the request to split a call from a multiparty ( MPTY ) conference call */ + CI_CC_PRIM_SHUTTLE_MPTY_REQ , /**< \brief Requests to shuttle between a multiparty ( MPTY ) conference call and a single call + * \details The subscriber can use this request to shuttle back and forth between a multiparty ( MPTY ) call and a separate single call. + * This is similar to the shuttle operation between an active call and a held call. This is how it works: + * - Single call active ; MPTY call held MPTY call active , single call held \n + * - MPTY call active ; single call held Single call active , MPTY call held \n + * The shuttle operation is handled at the network. The mobile must send a hold ( or hold MPTY ) request for the current active call / MPTY , immediately followed ( see below ) by a retrieve ( or retrieve MPTY ) request for the held call / MPTY. + * There cannot be more than one held call at any time. To avoid this , the network must receive the retrieve request within five seconds of receiving the hold request. + * The same result could be achieved by sending a CI_CC_PRIM_HOLD_CALL_REQ or CI_CC_PRIM_HOLD_MPTY_REQ request for the active call / MPTY , followed by a CI_CC_RETRIEVE_CALL_REQ or CI_CC_RETRIEVE_MPTY_REQ request for the held call / MPTY. However , the above timing requirements may not be fulfilled by this method , and the shuttle operation could fail. + * */ + CI_CC_PRIM_SHUTTLE_MPTY_CNF , /**< \brief Confirms the request to shuttle between a multiparty ( MPTY ) conference call and a single call */ + CI_CC_PRIM_RELEASE_MPTY_REQ , /**< \brief Requests a multiparty ( MPTY ) conference call to be released + * \details On successful completion of this request , all calls for the MPTY call ( if there is one ) are released. + * To release calls individually from the MPTY call , use the CI_CC_RELEASE_CALL_REQ request. + */ + CI_CC_PRIM_RELEASE_MPTY_CNF , /**< \brief Confirms the request to release an active multiparty ( MPTY ) conference call */ + CI_CC_PRIM_START_DTMF_REQ = 70 , /**< \brief Requests to start sending a DTMF digit to the network during an active call + * \details Valid DTMF digits are defined by the GSM Standard. + * DTMF digits can be sent only on an active speech connection , where a traffic channel has been allocated. + * A DTMF request cannot be sent while a previous DTMF request is still in progress. If this is attempted , the request fails with an error result. + * For this request , the application layer must handle the timing of individual DTMF digits , and must stop the transmission by issuing a CI_CC_PRIM_STOP_DTMF_REQ request at the appropriate time. + */ + CI_CC_PRIM_START_DTMF_CNF , /**< \brief Confirms the request to start sending a DTMF digit to the network during an active call + * \details + * This confirmation is received in any of the following situations: + * - The DTMF digit was sent successfully. + * - A DTMF start reject message was received from the network. + * - SAC did not accept the DTMF request. + * - There was a timeout on receiving a response from the network. + * The application layer must handle the timing of individual DTMF digits , and must stop the transmission by issuing a CI_CC_PRIM_STOP_DTMF_REQ request at the appropriate time. + * */ + CI_CC_PRIM_STOP_DTMF_REQ , /**< \brief Requests to stop sending a DTMF digit to the network during an active call + * \details DTMF digits can only be sent on an active speech connection , where a traffic channel has been allocated. + * A DTMF request cannot be sent while a previous DTMF request is still in progress. If this is attempted , the request fails with an error result. + * Similarly , if this request is received when no DTMF tone is currently active , the request fails with an error result. */ + CI_CC_PRIM_STOP_DTMF_CNF , /**< \brief Confirms the request to stop sending a DTMF digit to the network during an active call + * \details This confirmation is received in any of the following situations: + * the DTMF digit was stopped successfully ; + * a DTMF stop reject message was received from the network ; + * SAC did not accept the DTMF request ; + * there was a timeout on receiving a response from the network. */ + + CI_CC_PRIM_GET_DTMF_PACING_REQ , /**< \brief Requests the current DTMF pacing configuration values + * \details The DTMF pacing configuration values are initially set to internal defaults. + * These values can be changed by a CI_CC_SET_DTMF_CONFIG_REQ request. + * The pacing configuration values are used by CI when sending strings of DTMF digits to the network. In this situation , + * CI performs a " handshake " with the network for each digit in turn , and uses the configured tone duration and inter-digit + * intervals to pace the individual tones. */ + CI_CC_PRIM_GET_DTMF_PACING_CNF , /**< \brief Confirms the request and returns the current DTMF pacing configuration values + * \details There should be no reason for an unsuccessful result. + * On GSM , the network enforces the minimum inter-digit interval. SAC does not use the Interval field in the + * CiCcDtmfPacing structure. */ + CI_CC_PRIM_SET_DTMF_PACING_REQ , /**< \brief Requests to set the DTMF pacing configuration values + * \details If this request is not invoked , SAC uses default configuration values ( CICC_MIN_DTMF_DURATION + * for duration and CICC_DTMF_DEFAULT_INTERVAL for interval ) . + * The pacing configuration values are used by SAC when sending strings of DTMF digits to the network + * ( see the CI_CC_PRIM_SEND_DTMF_STRING_REQ request ) . In this situation , SAC performs a handshake with the + * network for each digit , and uses the configured tone duration and inter-digit intervals to pace the + * individual tones. + * SAC does not check for extremely large values in the supplied DTMF pacing configuration structure. However , + * if any of the pacing configuration values are set below the specified minimum values , which are specified in CICC_MIN_DTMF_DURATION + * for duration and CICC_DTMF_DEFAULT_INTERVAL for interval , this request fails with an error result. + * On GSM , the network enforces the minimum inter-digit interval. SAC does not use the interval field in the + * CiCcDtmfPacing structure. */ + CI_CC_PRIM_SET_DTMF_PACING_CNF , /**< \brief Confirms the request to set the DTMF pacing configuration values + * \details SAC returns an error result if any of the pacing configuration values are less then specified minimum values + * in the request ( CICC_MIN_DTMF_DURATION for duration and CICC_DTMF_DEFAULT_INTERVAL for interval ) . */ + CI_CC_PRIM_SEND_DTMF_STRING_REQ , /**< \brief Requests a string of DTMF digits to be sent on an active call + * \details Valid DTMF digits are defined by the GSM Standard. + * DTMF digits can be sent only on an active speech connection , where a traffic channel has been allocated. + * If this is not the case , this request fails with an error result. + * As the GSM protocol provides only a single-digit DTMF control procedure , SAC sends the DTMF digits + * individually , using Start DTMF and Stop DTMF requests to the network. + * The DTMF pacing parameters ( tone duration and inter-digit interval ) can be specified by the + * CI_CC_PRIM_SET_DTMF_PACING_REQ request. See CICC_MIN_DTMF_DURATION + * and CICC_DTMF_DEFAULT_INTERVAL for the parameter defaults. + * On GSM , the network enforces the minimum inter-digit interval. SAC does not use the interval field in the + * CiCcDtmfPacing structure.*/ + CI_CC_PRIM_SEND_DTMF_STRING_CNF , /**< \brief Confirms the request to send a string of DTMF digits on an active call + * \details This confirmation is received in any of the following situations: + * the complete DTMF string was sent successfully ; + * a DTMF Reject message ( Start or Stop ) was received from the network ; + * SAC did not accept the DTMF request ; + * there was a timeout on receiving a response from the network. */ + CI_CC_PRIM_CLIP_INFO_IND = 80 , /**< \brief Indicates CLIP information ( when enabled ) for an incoming call + * \details CLIP indications are enabled or disabled by CI_SS_PRIM_SET_CLIP_OPTION_REQ. + * This indication is enabled by default. + * No explicit response is required. */ + CI_CC_PRIM_COLP_INFO_IND , /**< \brief Indicates CoLP information ( when enabled locally ) for an outgoing call + * \details CoLP indications are enabled or disabled by the CI_SS_PRIM_SET_COLP_OPTION_REQ. + * This indication is enabled by default. + * No explicit response is required.*/ + CI_CC_PRIM_CCM_UPDATE_IND , /**< \brief Indicates periodic current call meter ( CCM ) unsolicited reports + * \details CCM unsolicited reports are enabled or disabled by CI_SS_PRIM_SET_CCM_OPTION_REQ. + * If enabled indications are reported periodically , not more than once every 10 seconds during a call. + * This indication is enabled by default. + * No explicit response is required.*/ + CI_CC_PRIM_GET_CCM_VALUE_REQ , /**< \brief Requests the current value of the current call meter ( CCM ) . + * \details The CCM value is normally requested only during a call , which is why this request is in the CC service group , but + * it can be requested at any time. Other quantities related to call charging ( ACM , ACMmax , and PUCT ) are accessible + * through the SIM Manager interface. For more information , see the SIM Service Group primitives. */ + CI_CC_PRIM_GET_CCM_VALUE_CNF , /**< \brief Confirms the request and returns the current value of the current call meter ( CCM ) + * \details If the Result Code indicates failure , the CCM value is not useful , and should be ignored. */ + CI_CC_PRIM_AOC_WARNING_IND , /**< \brief Indicates an unsolicited advice of charge ( AoC ) warning + * \details If the advice of charge service is provisioned , SAC can send a warning indication during a call when the accumulated charge meter ( ACM ) is within 30 seconds of the programmed maximum ( ACMmax ) value. + * This indication can be enabled or disabled by the CI_SS_PRIM_SET_AOC_WARNING_ENABLE_REQ request. + In addition , this indication can be sent if a new incoming or outgoing call is set up when the ACM is within 30 seconds of the programmed ACMmax value. + This indication is enabled by default. + No explicit response is required. + */ + CI_CC_PRIM_SSI_NOTIFY_IND , /**< \brief Indicates supplementary service intermediate ( SSI ) notification + * \details SSI notifications ( if enabled , see CI_SS_PRIM_SET_SS_NOTIFY_OPTIONS_REQ ) are triggered by receipt of an intermediate supplementary service notification after mobile originated call setup , but before any call setup results are received. + * This notification is enabled by default. + * No explicit response is required.*/ + + CI_CC_PRIM_SSU_NOTIFY_IND , /**< \brief Indicates supplementary service unsolicited ( SSU ) notification + * \details SSU notifications ( if enabled , see CI_SS_PRIM_SET_SS_NOTIFY_OPTIONS_REQ ) are triggered by receipt of an unsolicited supplementary service notification at any of the following times: + * during mobile terminated call setup ; + * during a call ; + * whenever a forward check supplementary service notification is received ( in call or out of call ) . + * This notification is enabled by default. + * No response is required.*/ + CI_CC_PRIM_LOCALCB_NOTIFY_IND , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_CC_PRIM_GET_ACM_VALUE_REQ , /**< \brief Requests the current value of the accumulated call meter ( ACM ) + * \details The ACM value holds accumulated CCM units for the current call ( if there is one ) and all previous calls since the + * ACM was last reset. */ + + CI_CC_PRIM_GET_ACM_VALUE_CNF = 90 , /**< \brief Confirms the request and returns the current value of the accumulated call meter maximum value ( ACMmax ) + * \details If the Result code indicates failure , the ACMmax value is not useful , and should be ignored.*/ + CI_CC_PRIM_RESET_ACM_VALUE_REQ , /**< \brief Requests the accumulated call meter ( ACM ) to be reset to zero + * \details The ACM value holds accumulated CCM units for the current call ( if there is one ) and all previous calls since the ACM was last reset. + * This operation requires prior PIN2 verification.*/ + CI_CC_PRIM_RESET_ACM_VALUE_CNF , /**< \brief Confirms the request to reset the accumulated call meter ( ACM ) to zero + * \details If the Result code indicates failure , the ACM value was not reset. */ + CI_CC_PRIM_GET_ACMMAX_VALUE_REQ , /**< \brief Requests the current value of the accumulated call meter maximum value ( ACMmax ) + * \details The ACMmax value holds the maximum value allowed for the ACM. + * If the ACM approaches the ACMmax value , SAC can issue a warning indication ( if enabled ) . + * For more information , see the CI_CC_PRIM_AOC_WARNING_IND indication.*/ + CI_CC_PRIM_GET_ACMMAX_VALUE_CNF , /**< \brief Confirms the request and returns the current value of the accumulated call meter maximum value ( ACMmax ) + * \details If the Result code indicates failure , the ACMmax value is not useful , and should be ignored.*/ + CI_CC_PRIM_SET_ACMMAX_VALUE_REQ , /**< \brief Requests the accumulated call meter maximum ( ACMmax ) to be set to the supplied value + * \details The ACMmax value holds the maximum value allowed for the ACM. + * If the ACM is close to the ACMmax value , SAC can issue a warning indication ( if enabled ) . For more information see the CI_CC_PRIM_AOC_WARNING_IND indication. + * Setting ACMmax to zero disables it , and effectively removes the maximum ACM limit. In this case , there are no CI_CC_PRIM_AOC_WARNING_IND indications , whether they are enabled locally or not. + * This operation requires prior PIN2 verification.*/ + CI_CC_PRIM_SET_ACMMAX_VALUE_CNF , /**< \brief Confirms the request to set the accumulated call meter maximum ( ACMmax ) value + * \details If the Result code indicates failure , the ACMmax value was not changed.*/ + CI_CC_PRIM_GET_PUCT_INFO_REQ , /**< \brief Requests the current Price per Unit and Currency Table ( PUCT ) information + * \details The PUCT information is used to enable the application to calculate the cost of a call , in a currency chosen by the subscriber.*/ + CI_CC_PRIM_GET_PUCT_INFO_CNF , /**< \brief Confirms the request and returns the current Price per Unit and Currency Table ( PUCT ) information + * \details If the Result code indicates failure , the PUCT information is not useful , and should be ignored. */ + CI_CC_PRIM_SET_PUCT_INFO_REQ , /**< \brief Requests the current Price per Unit and Currency Table ( PUCT ) information to be updated + * \details The PUCT information is used to enable the application to calculate the cost of a call , in a currency chosen by the subscriber. + * This operation requires prior PIN2 validation.*/ + CI_CC_PRIM_SET_PUCT_INFO_CNF = 100 , /**< \brief Confirms the request to update the current Price per Unit and Currency Table ( PUCT ) information + * \details If the Result code indicates failure , the PUCT information was not updated.*/ + CI_CC_PRIM_GET_BASIC_CALLMODES_REQ , /**< \brief Requests the basic call modes currently supported for outgoing calls + * \details The basic call mode is used when placing an outgoing call request while the current call mode is set to single mode. + * See CI_CC_PRIM_MAKE_CALL_REQ for more information. + * See CI_CC_PRIM_SET_CALLMODE_REQ for default call mode information. */ + + CI_CC_PRIM_GET_BASIC_CALLMODES_CNF , /**< \brief Confirms the request and returns the basic call modes currently supported for outgoing calls + * \details Use this request to return the supported basic call modes ( or types ) . + * To place an outgoing call when the call mode is set to single mode , the basic call mode must be specified in the outgoing call request. + * See CI_CC_PRIM_SET_CALLMODE_REQ for default call mode information. + * There should be no reason for an unsuccessful result. */ + CI_CC_PRIM_GET_CALLOPTIONS_REQ , /**< \brief Requests to get the call options currently supported for outgoing calls + * \details See CI_CC_PRIM_MAKE_CALL_REQ for more information.*/ + CI_CC_PRIM_GET_CALLOPTIONS_CNF , /**< \brief Confirms the request and returns the call options currently supported for outgoing calls + * \details Returns the call options currently supported for outgoing calls. + * There should be no reason for an unsuccessful result.*/ + CI_CC_PRIM_GET_DATACOMP_CAP_REQ , /**< \brief Requests to get the V.42 bis data compression configuration capability + * \details Mandatory if V.42 bis is supported.*/ + CI_CC_PRIM_GET_DATACOMP_CAP_CNF , /**< \brief Confirms the request and returns the V.42 bis data compression configuration capability + * \details Mandatory if V.42 bis is supported.*/ + CI_CC_PRIM_GET_DATACOMP_REQ , /**< \brief Requests to get the current V.42 bis data compression information + * \details Mandatory if V.42 bis is supported.*/ + CI_CC_PRIM_GET_DATACOMP_CNF , /**< \brief Confirms the request and returns the current V.42 bis data compression information + * \details Mandatory if V.42 bis is supported.*/ + CI_CC_PRIM_SET_DATACOMP_REQ , /**< \brief Requests to configure V.42 bis data compression + * \details Mandatory if V.42 bis is supported.*/ + CI_CC_PRIM_SET_DATACOMP_CNF = 110 , /**< \brief Confirms the request to configures V.42 bis data compression + * \details Mandatory if V.42 bis is supported.*/ + CI_CC_PRIM_GET_RLP_CAP_REQ , /**< \brief Requests to get RLP configuration capability for NT data calls + * \details Mandatory if RLP is supported. */ + CI_CC_PRIM_GET_RLP_CAP_CNF , /**< \brief Confirms the request and returns the RLP configuration capability for NT data calls + * \details Mandatory if RLP is supported. */ + CI_CC_PRIM_GET_RLP_CFG_REQ , /**< \brief Requests the current RLP configuration for a RLP version + * \details Mandatory if RLP is supported. */ + CI_CC_PRIM_GET_RLP_CFG_CNF , /**< \brief Confirms the request and returns the current RLP configuration for the requested version + * \details Mandatory if RLP is supported. */ + CI_CC_PRIM_SET_RLP_CFG_REQ , /**< \brief Requests to configure the RLP for NT data calls + * \details Mandatory if RLP is supported. */ + CI_CC_PRIM_SET_RLP_CFG_CNF , /**< \brief Confirms the request to configure the RLP for NT data calls + * \details Mandatory if RLP is supported. */ + CI_CC_PRIM_DATA_SERVICENEG_IND , /**< \brief Indicates the report of bearer service , during connect negotiation for data calls + * \details No explicit response is required. + * This notification can be enabled or disabled by the CI_CC_PRIM_ENABLE_DATA_SERVICENEG_REQ request. It is disabled by + * default. */ + CI_CC_PRIM_ENABLE_DATA_SERVICENEG_IND_REQ , /**< \brief Requests that bearer service reporting during connect negotiation for data calls be enabled or disabled + * \details */ + CI_CC_PRIM_ENABLE_DATA_SERVICENEG_IND_CNF , /**< \brief Confirms the request to enable / disable bearer service reporting during + * connect negotiation for data calls + * \details Mandatory if RLP is supported. */ + CI_CC_PRIM_SET_UDUB_REQ = 120 , /**< \brief Requests that user determined user busy ( UDUB ) for a waiting or incoming call be set + * \details Use this request if the subscriber opts to refuse a waiting or incoming call by setting a user determined user busy ( UDUB ) condition. + * This informs the network that the call may be redirected to another number ( if already set up ) . + * The network may clear the call with a busy indication to the calling party.*/ + CI_CC_PRIM_SET_UDUB_CNF , /**< \brief Confirms the request to set UDUB for a waiting or incoming call + * \details */ + CI_CC_PRIM_GET_SUPPORTED_CALLMAN_OPS_REQ , /**< \brief Requests a list of supported call manipulation operation codes for + * supplementary services within a call + * \details These operations are described in TS 22.030000 , Section 6.500000 .5.1 , and are implemented + * by the " AT+CHLD " command in TS 27.007000 Section 7.130000 .*/ + CI_CC_PRIM_GET_SUPPORTED_CALLMAN_OPS_CNF , /**< \brief Confirms the request and returns a list of supported call manipulation operation codes for + * supplementary services within a call + * \details */ + CI_CC_PRIM_MANIPULATE_CALLS_REQ , /**< \brief Requests call manipulation for supplementary services within a call + * \details This primitive performs the operations described in TS 22.030000 , Section 6.500000 .5.1 , + * and are implemented by the " AT+CHLD " command in TS 27.007000 Section 7.130000 . + * The CallId parameter is used only for the CI_CC_MANOP_RLS_CALL and CI_CC_MANOP_HOLD_ALL_EXCEPT_ONE operations.*/ + CI_CC_PRIM_MANIPULATE_CALLS_CNF , /**< \brief Confirms the request to perform call manipulation for supplementary services within a call + * \details */ + CI_CC_PRIM_LIST_CURRENT_CALLS_IND , /**< \brief Indicates the current call information + * \details */ + + CI_CC_PRIM_CALL_DIAGNOSTIC_IND , /**< \brief Indicates the diagnostic octets of a specific call + * \details Diagnostic information is sent by the protocol stack in one of the following + * notifications: CcDisconnectInd , CcDisconnectedInd , CcDisconnectingInd , CcFailureInd. + * SAC processes these signals and sends a corresponding CI indication primitive + * ( CI_CC_PRIM_DISCONNECT_IND , CI_CC_PRIM_MO_CALL_FAILED_IND , CI_CC_PRIM_MT_CALL_FAILED_IND , + * CI_DAT_PRIM_NOK_IND ) but it does not include the diagnostic information. + * SAC sends the CiCcCustPrimCallDiagnosticInd each time it receives any of these + * notifications from the protocol stack. + */ + CI_CC_PRIM_DTMF_EVENT_IND , /**< \brief Indicates a DTMF event + * \details This notification is sent each time SAC receives a confirmation signal from the protocol + * stack indicating that a start / stop DTMF request has been successfully completed. + * In case of a single DTMF tone , the notification is sent along with the CiCcPrimStartDtmfCnf + * and CiCcPrimStopDtmfCnf. + * In case of a DTMF tone sequence , the notification is sent for each tone in the sequence + * when that tone is started / stopped. + * A DTMF aborted indication is sent when a Start or Stop DTMF request is rejected by SAC or the + * network for various reasons ( see GSM TS 4.080000 section 8.400000 and section 5.500000 .7.2. ) ; also if no + * answer is received from the network. */ + CI_CC_PRIM_CLEAR_BLACK_LIST_REQ , /**< \brief Requests to clear the call blacklist + * \details To clear the entire blacklist is not yet supported by the protocol stack. + * A blacklist is created by the protocol stack with the numbers that + * are used to initiate MO calls and are marked as auto-dial numbers. + * In this case , SAC would have to create its own blacklist and save all + * the auto-dial numbers that are reported by the protocol stack as blacklisted. + * For clearing the entire list , it sends a separate ' clear blacklist ' + * request for each dial number in the blacklist. + * NOTE: To support the blacklist functionality CI must add the capability of + * specifying if a number is auto-dial , when an MO call is requested.*/ + CI_CC_PRIM_CLEAR_BLACK_LIST_CNF = 130 , /**< \brief Confirms the request and returns the completion status of the request + * \details */ + CI_CC_PRIM_SET_CTM_STATUS_REQ , /**< \brief Requests to set the status of the CTM state when a CTM jack is connected and CTM is enabled in MENU + * \details */ + CI_CC_PRIM_SET_CTM_STATUS_CNF , /**< \brief Confirms the request to set the status of the CTM state when a CTM jack is connected and CTM is enabled in MENU + * \details */ + CI_CC_PRIM_CTM_NEG_REPORT_IND , /**< \brief Indicates the CTM negotiation status report + * \details */ + /*Michal Bukai - CDIP support */ + CI_CC_PRIM_CDIP_INFO_IND , /**< \brief Indicates a report for CDIP information for an incoming call + * \details CDIP indications are enabled or disabled by the CI_SS_SET_CDIP_OPTION_REQ request. + * This indication is enabled by default. + * No explicit response is required.*/ + CI_CC_PRIM_SYNC_AUDIO_REQ , /**< \brief Requests to sync audio path. + * \details */ + CI_CC_PRIM_SYNC_AUDIO_CNF , /**< \brief Confirms a request to sync audio path. + * \details */ + /*Michal Bukai - ALS support - START */ + CI_CC_PRIM_GET_LINE_ID_REQ , /**< \brief Requests to read the selected line ID for outgoing calls. + * \details ALS provides the MS with the capability of associating two alternate lines with one IMSI. + * A user will be able to make and receive calls on either line as desired and will be billed separately for calls on each line. + * Each line will be associated with a separate directory number ( MSISDN ) and separate subscription profile. + * For outgoing calls , the handset shall enable the user to select the desired line.*/ + CI_CC_PRIM_GET_LINE_ID_CNF , /**< \brief Confirms the request and returns the selected line ID. + * \details ALS provides the MS with the capability of associating two alternate lines with one IMSI. + * A user will be able to make and receive calls on either line as desired and will be billed separately for calls on each line. + * Each line will be associated with a separate directory number ( MSISDN ) and separate subscription profile. + * For outgoing calls , the handset shall enable the user to select the desired line.*/ + CI_CC_PRIM_SET_LINE_ID_REQ , /**< \brief Requests to set the line ID for outgoing calls. + * \details ALS provides the MS with the capability of associating two alternate lines with one IMSI. + * A user will be able to make and receive calls on either line as desired and will be billed separately for calls on each line. + * Each line will be associated with a separate directory number ( MSISDN ) and separate subscription profile. + * For outgoing calls , the handset shall enable the user to select the desired line.*/ + CI_CC_PRIM_SET_LINE_ID_CNF = 140 , /**< \brief Confirms the request and sets user requested line ID. + * \details ALS provides the MS with the capability of associating two alternate lines with one IMSI. + * A user will be able to make and receive calls on either line as desired and will be billed separately for calls on each line. + * Each line will be associated with a separate directory number ( MSISDN ) and separate subscription profile. + * For outgoing calls , the handset shall enable the user to select the desired line.*/ + /*Michal Bukai - ALS support - END */ + CI_CC_PRIM_READY_STATE_IND , + /*add by cherryli@2014.02.11 for CQ56277 begin.*/ + CI_CC_PRIM_SRVCC_STATUS_REQ , + CI_CC_PRIM_SRVCC_STATUS_CNF , + /*add by cherryli@2014.02.11 for CQ56277 end.*/ + + CI_CC_PRIM_CALL_END_INFO_IND , /*Added by cherryli@09.02.2014 for CQ69642.*/ + /*merged by lxliu for CQ00098090 on 7152015 begin*/ + /* CECALL */ + CI_CC_PRIM_SET_CECALL_REQ , /**< \brief Request to trigger an eCall to the network. + * \details This CI is used when there is necessity to start eCall. + * eCall can be started manually in emergency case , automatically in the case car system decide that this is an emergency case ; + * also manually for test purpose.*/ + CI_CC_PRIM_SET_CECALL_CNF , /**< \brief Confirms the request to trigger an eCall to the network.*/ + CI_CC_PRIM_GET_CECALL_REQ , /**< \brief Get command request the type of eCall that is currently in progress , if any.*/ + CI_CC_PRIM_GET_CECALL_CNF , /**< \brief This command confirms the request and return type of eCall in progress or no eCall.*/ + CI_CC_PRIM_GET_CECALL_CAP_REQ , /**< \brief Request to read the supported values and ranges of eCall type.*/ + CI_CC_PRIM_GET_CECALL_CAP_CNF = 150 , /**< \brief Confirms a request and return supported values of eCall type*/ + + /*CI_CC_PRIM_CALL_PROGRESS_IND , This primitive is removed by lxliu for CQ00100555*/ + /**< \brief This CI contains the progress indicator information element and is sent whenever a PROGRESS message is received + * or another call control message ( like SETUP , CALL PROCEEDING , ALERTING , CONNECT ) includes the optional progress indicator + * information element */ + + /*merged by lxliu for CQ00098090 on 7152015 end*/ + + /*Added by lxliu for CQ00100555 on 6082015 */ + CI_CC_PRIM_AUDIO_ECALL_TO_AP_INFO_IND , /*brief This CI Indicates that the information which came from audio about ecall was sent to CI*/ + + /*Merged by cherryli@04.26.2016 CQ105208 begin.*/ + CI_CC_PRIM_ECALL_CFG_REQ , /**< \for eCall: defines what is the time interval in which the elapsed time since the eCall was operated ( T3242 / T3243 ) is written to the NVM*/ + CI_CC_PRIM_ECALL_CFG_CNF , /**< \for eCall: confirms the request to set the timer interval for writing to the NVM */ + CI_CC_PRIM_GET_ECALL_CFG_REQ , /**< \for eCall: request to get the configured time interval for writing the elapsed time into the NVM , and if eCall operated - the elapsed time */ + CI_CC_PRIM_GET_ECALL_CFG_CNF , /**< \for eCall: response to the request to get the configured time interval and the elapsed time*/ + CI_CC_PRIM_ECALL_ONLY_REQ , /**< \for eCallOnly: Forces the UE to act as an eCall-only mode */ + CI_CC_PRIM_ECALL_ONLY_CNF , /**< \for eCallOnly: confirms the request to act as an eCall-only mode */ + CI_CC_PRIM_GET_ECALL_ONLY_REQ , /**< \for eCallOnly: request to get the status of eCall-only mode */ + CI_CC_PRIM_GET_ECALL_ONLY_CNF , /**< \for eCallOnly: confirms the request to get the status of eCall-only mode */ + CI_CC_PRIM_SET_EMLPP_SUBSCRIPTIONS_INFO_REQ = 160 , /**< \brief Requests to set EMLPP subscriptions information */ + CI_CC_PRIM_SET_EMLPP_SUBSCRIPTIONS_INFO_CNF , /**< \brief Confirms request to set EMLPP subscriptions information */ + CI_CC_PRIM_GET_EMLPP_SUBSCRIPTIONS_INFO_REQ , /**< \brief Requests to get EMLPP subscriptions information */ + CI_CC_PRIM_GET_EMLPP_SUBSCRIPTIONS_INFO_CNF , /**< \brief Confirms request to get EMLPP subscriptions information */ + /*Merged by cherryli@04.26.2016 CQ105208 end.*/ + + /* ADD NEW COMMON PRIMITIVES HERE , BEFORE ' CI_CC_PRIM_LAST_COMMON_PRIM ' */ + /* END OF COMMON PRIMITIVES LIST */ + CI_CC_PRIM_LAST_COMMON_PRIM + + /* Customer specific extension primitives must be added starting from + * CI_CC_PRIM_FIRST_CUST_PRIM = CI_CC_PRIM_LAST_COMMON_PRIM as the first identifier. + * The actual primitive names and IDs are defined in the associated + * ' ci_cc_cust_xxx.h ' file. + */ + + /* DO NOT ADD ANY MORE PRIMITIVES HERE */ + + } _CiCcPrim; + +//ICAT EXPORTED ENUM + typedef enum CIRC_CC { + CIRC_CC_SUCCESS = 0 , /**< Request completed successfully */ + CIRC_CC_FAIL , /**< General failure ( catch-all ) */ + CIRC_CC_INCOMPLETE_INFO , /**< Incomplete information for request */ + CIRC_CC_BAD_DIALSTRING , /**< Invalid characters in dial string */ + CIRC_CC_INVALID_ADDRESS , /**< Invalid address ( phone number ) */ + CIRC_CC_INVALID_CALLID , /**< Invalid call identifier */ + CIRC_CC_INVALID_MPTYID , /**< Invalid MPTY identifier */ + CIRC_CC_NO_SERVICE , /**< No network service */ + CIRC_CC_FDN_ONLY , /**< Only fixed dialing numbers allowed */ + CIRC_CC_EMERGENCY_ONLY , /**< Only emergency calls allowed */ + CIRC_CC_CALL_BARRED , /**< Calls are barred */ + CIRC_CC_NO_MORE_CALLS , /**< No more calls allowed */ + CIRC_CC_NO_MORE_TIME , /**< No more airtime left */ + CIRC_CC_NOT_PROVISIONED , /**< Service not provisioned */ + CIRC_CC_CANNOT_SWITCH , /**< Call mode cannot be switched */ + CIRC_CC_SWITCH_FAILED , /**< Failed to switch call mode */ + CIRC_CC_REJECTED , /**< Request rejected by network */ + CIRC_CC_TIMEOUT , /**< Request timed out */ + CIRC_CC_SIM_ACCESS_DENIED , /**< SIM access related error ( CHV needed? ) */ + CIRC_CC_INVALID_PARAMETER , /**< Generic error - the requested service primitive has invalid parameters */ + CIRC_CC_INVALID_REQ , /**< Generic error - the requested service primitive can not be handled at current state */ + CIRC_CC_SIM_NOT_READY , /**< Generic error - the requested service primitive fails because SIM is not ready */ + CIRC_CC_ACCESS_DENIED , /**< Generic error - the requested service primitive fails because access is denied */ + CIRC_CC_ST_MODIFIED , /**< Call Modified By STK */ + /* << Define additional specific CC result codes here >> */ + /*added by cherryli@10.24.2018 CQ00112632 begin.*/ + CIRC_CC_RETRY , /**< Previous call is in disconnecting , retry later */ + /*added by cherryli@10.24.2018 CQ00112632 end.*/ + + /* This one must always be last in the list! */ + CIRC_CC_NUM_RESCODES /**< Number of result codes defined */ + } _CiCcResultCode; + +typedef UINT16 CiCcResultCode ; +typedef UINT16 CiCcCallId ; +typedef UINT16 CiCcMptyId ; +//ICAT EXPORTED ENUM + typedef enum CICC_CMODE { + CICC_CMODE_SINGLE = 0 , /**< Single mode ( see below ) */ + CICC_CMODE_ALT_VOICE_FAX , /**< Alternating voice / fax ( Teleservice 61 ) */ + CICC_CMODE_ALT_VOICE_DATA , /**< Alternating voice / data ( Bearer Svc 61 ) */ + CICC_CMODE_VOICE_THEN_DATA , /**< Voice followed by data ( Bearer Svc 81 ) */ + /* This one must always be last in the list! */ + CICC_NUM_CMODES /* Number of call modes defined */ + } _CiCcCallMode; + +typedef UINT8 CiCcCallMode ; +typedef UINT8 CiCcVioceMode ; +//ICAT EXPORTED ENUM + typedef enum CICC_BASIC_CMODE { + CICC_BASIC_CMODE_VOICE = 0 , /**< Basic call mode: voice */ + CICC_BASIC_CMODE_FAX , /**< Basic call mode: fax */ + CICC_BASIC_CMODE_DATA , /**< Basic call mode: data */ + + /* This one must always be last in the list! */ + CICC_NUM_BASIC_CMODES /* Number of basic call modes defined */ + } _CiCcBasicCMode; + +typedef UINT8 CiCcBasicCMode ; +//ICAT EXPORTED ENUM + typedef enum CICC_CURRENT_CMODE { + CICC_CURRENT_CMODE_VOICE = 0 , /**< Voice only */ + CICC_CURRENT_CMODE_DATA , /**< Data only */ + CICC_CURRENT_CMODE_FAX , /**< Fax only */ + CICC_CURRENT_CMODE_VOICE_FB_DATA_IS_VOICE , /**< Voice followed by data , voice mode */ + CICC_CURRENT_CMODE_ALT_VOICE_DATA_IS_VOICE , /**< Alternating voice / data , voice mode */ + CICC_CURRENT_CMODE_ALT_VOICE_FAX_IS_VOICE , /**< Alternating voice / fax , voice mode */ + CICC_CURRENT_CMODE_VOICE_FB_DATA_IS_DATA , /**< Voice followed by data , data mode */ + CICC_CURRENT_CMODE_ALT_VOICE_DATA_IS_DATA , /**< Alternating voice / data , data mode */ + CICC_CURRENT_CMODE_ALT_VOICE_FAX_IS_FAX , /**< Alternating voice / fax , fax mode */ + CICC_CURRENT_CMODE_UNKNOWN , /**< Unknown call mode */ + + + + + /* This one must always be last in the list! */ + CICC_NUM_CURRENT_CMODES /**< Number of current call modes defined */ + } _CiCcCurrentCMode; + +typedef UINT8 CiCcCurrentCMode ; +//ICAT EXPORTED ENUM + typedef enum CICC_CURRENT_CSTATE { + CICC_CURRENT_CSTATE_ACTIVE = 0 , /**< Call is active */ + CICC_CURRENT_CSTATE_HELD , /**< Call is held */ + CICC_CURRENT_CSTATE_DIALING , /**< Dialing ( MO call ) */ + CICC_CURRENT_CSTATE_ALERTING , /**< Alerting ( MO call ) */ + CICC_CURRENT_CSTATE_INCOMING , /**< Incoming MT call */ + CICC_CURRENT_CSTATE_WAITING , /**< MT call waiting */ + CICC_CURRENT_CSTATE_OFFERING , /**< MT call offering ( call setup ) */ + + /* This one must always be last in the list! */ + CICC_NUM_CURRENT_CSTATES /* Number of current call states defined */ + } _CiCcCurrentCState; + +typedef UINT8 CiCcCurrentCState ; +//ICAT EXPORTED ENUM + typedef enum CICC_CALL_DIRECTION { + CICC_MO_CALL = 0 , /**< Mobile originated call */ + CICC_MT_CALL /**< Mobile terminated call */ + } _CiCcCallDirection; + +typedef UINT8 CiCcCallDirection ; +//ICAT EXPORTED ENUM + typedef enum CICC_SRVCC_HO_STATE { + CICC_SRVCC_HO_START , + CICC_SRVCC_HO_SUCCESS , + CICC_SRVCC_HO_CANCEL , + CICC_SRVCC_HO_FAIL , + + CICC_SRVCC_HO_STATE + + } _CiCcSrvccHoState; + +typedef UINT8 CiCcSrvccHoState ; +//ICAT EXPORTED ENUM + typedef enum CICC_CALLTYPE { + + /* Single Modes */ + CICC_CALLTYPE_ASYNC = 0 , /**< Asynchronous transparent data */ + CICC_CALLTYPE_SYNC , /**< Synchronous transparent data */ + CICC_CALLTYPE_REL_ASYNC , /**< Asynchronous non-transparent data */ + CICC_CALLTYPE_REL_SYNC , /**< Synchronous non-transparent data */ + CICC_CALLTYPE_FAX , /**< Facsimile */ + CICC_CALLTYPE_VOICE , /**< Voice */ + + /* Voice mode followed by data mode ( bearer service 81 ) */ + CICC_CALLTYPE_VOICE_THEN_ASYNC , /**< VOICE followed by ASYNC */ + CICC_CALLTYPE_VOICE_THEN_SYNC , /**< VOICE followed by SYNC */ + CICC_CALLTYPE_VOICE_THEN_REL_ASYNC , /**< VOICE followed by REL_ASYNC */ + CICC_CALLTYPE_VOICE_THEN_REL_SYNC , /**< VOICE followed by REL_SYNC */ + + /* Alternating Voice / Data Mode , Voice Mode first ( Bearer Service 61 ) */ + CICC_CALLTYPE_ALT_VOICE_ASYNC , /**< Alternating VOICE / ASYNC , VOICE first */ + CICC_CALLTYPE_ALT_VOICE_SYNC , /**< Alternating VOICE / SYNC , VOICE first */ + CICC_CALLTYPE_ALT_VOICE_REL_ASYNC , /**< Alternating VOICE / REL_ASYNC , VOICE first */ + CICC_CALLTYPE_ALT_VOICE_REL_SYNC , /**< Alternating VOICE / REL_SYNC , VOICE first */ + + /* Alternating Voice / Data Mode , Data Mode first ( Bearer Service 61 ) */ + CICC_CALLTYPE_ALT_ASYNC_VOICE , /**< Alternating ASYNC / VOICE , ASYNC first */ + CICC_CALLTYPE_ALT_SYNC_VOICE , /**< Alternating SYNC / VOICE , SYNC first */ + CICC_CALLTYPE_ALT_REL_ASYNC_VOICE , /**< Alternating REL_ASYNC / VOICE , REL_ASYNC first */ + CICC_CALLTYPE_ALT_REL_SYNC_VOICE , /**< Alternating REL_SYNC / VOICE , REL_SYNC first */ + + /* Alternating Voice / Facsimile Modes ( Teleservice 61 ) */ + CICC_CALLTYPE_ALT_VOICE_FAX , /**< Alternating VOICE / FAX , VOICE first */ + CICC_CALLTYPE_ALT_FAX_VOICE , /**< Alternating VOICE / FAX , FAX first */ + + /* This one must always be last in the list! */ + CICC_NUM_CALLTYPES /**< Number of call types defined */ + } _CiCcCallType; + +typedef UINT8 CiCcCallType ; +//ICAT EXPORTED ENUM + typedef enum CICC_BSTYPE_NAME { + + /* UDI or 3.100000 kHz Modem definitions */ + CICC_BSTYPE_NAME_DATA_ASYNC_UDI = 0 , /**< Data circuit asynchronous ( UDI , 3.100000 kHz ) */ + CICC_BSTYPE_NAME_DATA_SYNC_UDI , /**< Data circuit synchronous ( UDI , 3.100000 kHz ) */ + CICC_BSTYPE_NAME_PAD_ASYNC_UDI , /**< PAD access asynchronous ( UDI ) */ + CICC_BSTYPE_NAME_PACKET_SYNC_UDI , /**< Packet access synchronous ( UDI ) */ + + /* RDI definitions */ + CICC_BSTYPE_NAME_DATA_ASYNC_RDI = 0 , /**< Data circuit asynchronous ( RDI ) */ + CICC_BSTYPE_NAME_DATA_SYNC_RDI , /**< Data circuit synchronous ( RDI ) */ + CICC_BSTYPE_NAME_PAD_ASYNC_RDI , /**< PAD access asynchronous ( RDI ) */ + CICC_BSTYPE_NAME_PACKET_SYNC_RDI , /**< Packet access synchronous ( RDI ) */ + + /* This one must always be last in the list! */ + CICC_NUM_BSTYPE_NAMES /**< Number of bearer service names defined */ + } _CiCcBsTypeName; + +typedef UINT8 CiCcBsTypeName ; +//ICAT EXPORTED ENUM + typedef enum CICC_BSTYPE_CE { + CICC_BSTYPE_CE_TRANSPARENT_ONLY = 0 , /**< Transparent required */ + CICC_BSTYPE_CE_NONTRANSPARENT_ONLY , /**< Non-transparent required */ + CICC_BSTYPE_CE_PREFER_TRANSPARENT , /**< Either , transparent preferred */ + CICC_BSTYPE_CE_PREFER_NONTRANSPARENT , /**< Either , non-transparent preferred */ + + /* This one must always be last in the list! */ + CICC_NUM_BSTYPE_CE /**< Number of CE indicators defined */ + } _CiCcBsTypeCe; + +typedef UINT8 CiCcBsTypeCe ; +//ICAT EXPORTED STRUCT + typedef struct CiCcDataBsTypeInfo_struct { + CiBsTypeSpeed Speed ; /**< Data speed indicator \sa CCI API Ref Manual */ + CiCcBsTypeName Name ; /**< Bearer service name indicator \sa CiCcBsTypeName */ + CiCcBsTypeCe Ce ; /**< Connection element \sa CiCcBsTypeCe */ + } CiCcDataBsTypeInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiCcSuppDataBsTypes_struct { + CiNumericRange bsTypeSpeedsRange ; /**< Supported data speeds \sa CCI API Ref Manual */ + CiNumericRange bsTypeNamesRange ; /**< Supported bearer service names \sa CCI API Ref Manual */ + CiNumericRange bsTypeCeRange ; /**< Supported connection elements \sa CCI API Ref Manual */ + } CiCcSuppDataBsTypes; + +//ICAT EXPORTED ENUM + typedef enum CICC_PROTOCOL_DISC { + + CICC_PROTOCOL_DISC_USP = 0 , /* User specified protocol */ + CICC_PROTOCOL_DISC_OSIHLP , /* OSI higher layer protocol */ + CICC_PROTOCOL_DISC_X244 , /* X.244 */ + CICC_PROTOCOL_DISC_RMCF3 , /* Reserved for system mangement convergence function */ + CICC_PROTOCOL_DISC_IA5c4 , /* IA5 characters */ + + CICC_NUM_PROTOCOL_DISC /* Number of protocols discriminator defined */ + } _CiCcProtocolDisc; + +typedef UINT8 CiCcProtocolDisc ; +//ICAT EXPORTED STRUCT + typedef struct CiCCOptUUSInfo_struct { + CiBoolean UUSInfoValid ; /**< TRUE Indicates UUS information is valid \sa CCI API Ref Manual */ + CiCcProtocolDisc protocolDisc ; /**< Protocol discriminator as defined in 3 GPP TS 24.008000 section 10.500000 .4.25. This field is valid if UUSInfoValid == TRUE \sa CiCcProtocolDisc*/ + CiString userUserInfo ; /**< User-user information element as defined in 3 GPP TS 24.008000 appendix O2. This field is valid if UUSInfoValid == TRUE \sa CCI API Ref Manual */ + } CiCcOptUUSInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiCcCallInfo_struct { + CiCcCallId CallId ; /**< Unique call identifier \sa CiCcCallId */ + CiBoolean IsEmergency ; /**< If TRUE indicates emergency call \sa CCI API Ref Manual */ + CiBoolean IsMPTY ; /**< If TRUE indicates this call is part of a multiparty call \sa CCI API Ref Manual */ + CiCcCallDirection Direction ; /**< Call direction ( MT or MO ) indicator \sa CiCcCallDirection */ + CiCcCurrentCState State ; /**< Current call state \sa CiCcCurrentCState */ + CiCcCurrentCMode Mode ; /**< Current call mode \sa CiCcCurrentCMode */ + CiCallerInfo callerInfo ; /**< Caller information \sa CCI API Ref Manual */ + CiCcDataBsTypeInfo dataSvcInfo ; /**< Service information ( for data calls ) \sa CiCcDataBsTypeInfo_struct */ + CiBoolean IsAutoDial ; /**< If TRUE indicates an auto dial call \sa CCI API Ref Manual */ + + CiCcOptUUSInfo optUUSInfo ; /**< Optional user to user information \sa CiCCOptUUSInfo */ + + UINT8 LineID ; /**< Line ID ( ALS ) - 1 or 2 */ + // CQ105208 + // CiCcCliValidity CliValidity ; / **< CLI validity indicator* / + CiCcEmlppCallPriority emlppCallPriority ; /** calling-subscriber eMLPP call priority. coded according to 3 GPP TS 24.008000 section 10.500000 .1.11 */ + + } CiCcCallInfo; + +//ICAT EXPORTED ENUM + typedef enum CICC_CALLOPTIONS { + CICC_CALLOPTIONS_NONE = 0x00 , /**< CLIR as provisioned ; no CUG information */ + CICC_CALLOPTIONS_CLIR_ALLOW = 0x01 , /**< Allow CLI presentation on this call */ + CICC_CALLOPTIONS_CLIR_RESTRICT = 0x02 , /**< Restrict CLI presentation on this call */ + CICC_CALLOPTIONS_CUG_ENABLE = 0x04 /**< Enable CUG information on this call */ + } _CiCcCallOptions; + +typedef UINT8 CiCcCallOptions ; +//ICAT EXPORTED ENUM + typedef enum CICC_EMRGENCYCAT { + CICC_EMERGENCYCAT_POLICE = 0 , + CICC_EMERGENCYCAT_AMBULANCE , + CICC_EMERGENCYCAT_FIRE_BRIGADE , + CICC_EMERGENCYCAT_MARINE_GUARD , + CICC_EMERGENCYCAT_MOUNTAIN_RESCUE , + CICC_NUM_EMERGENCYCAT + } _CiCcEmergencyCat; + +typedef UINT8 CiCcEmergencyCat ; +//ICAT EXPORTED STRUCT + typedef struct CiCcMakeCallInfo_struct { + CiCcBasicCMode BasicCMode ; /**< Basic call mode ( if applicable ) \sa CiCcBasicCMode */ + CiCcCallOptions Options ; /**< Call options bitmap \sa CiCcCallOptions */ + CHAR dialString [ 40 ] ; + CiBoolean IsAutoDial ; /**< Is this an auto dial call? \sa CCI API Ref Manual */ + CiBoolean IsCtmCall ; /**< Is this call is CTM TTY MO call? \sa CCI API Ref Manual */ + CiBoolean IsEmergency ; /**< Indicates if the call is an emergency call \sa CCI API Ref Manual */ + CiBitRange ServiceCat ; /**< Bit mask indicating the required emergency call service category. coded according to 3 GPP TS 24.008000 [ 10 ] [ 15 ] section 10.500000 .4.33. This filed is valid if IsEmergency is TRUE \sa CCI API Ref Manual */ + // CQ105208 + CiCcEmlppCallPriority emlppCallPriority ; /** User chosen eMLPP call priority. Coded according to 3 GPP TS 24.008000 section 10.500000 .1.11. Might be above the maximum priority level for which the service subscriber has a subscription in the network */ + } CiCcMakeCallInfo; + +//ICAT EXPORTED ENUM + typedef enum CICC_CAUSE { + CICC_CAUSE_UNKNOWN = 0 , /**< Unknown cause ( includes " None " ) */ + CICC_CAUSE_UNASSIGNED_NUMBER , /**< Unassigned ( unallocated ) number */ + CICC_CAUSE_NO_ROUTE_TO_DEST , /**< No route to destination */ + CICC_CAUSE_CHAN_UNACCEPTABLE , /**< Channel unacceptable */ + CICC_CAUSE_OPERATOR_BARRING , /**< Operator determined barring */ + CICC_CAUSE_NORMAL_CLEARING , /**< Normal call clearing */ + CICC_CAUSE_USER_BUSY , /**< User busy */ + CICC_CAUSE_NO_USER_RESPONSE , /**< No user responding */ + CICC_CAUSE_ALERT_NO_ANSWER , /**< User alerting , no answer */ + CICC_CAUSE_CALL_REJECTED , /**< Call rejected */ + CICC_CAUSE_NUMBER_CHANGED = 10 , /**< Number changed */ + CICC_CAUSE_PREEMPTION , /**< Pre-emption */ + CICC_CAUSE_NONSELECTED_USER_CLEAR , /**< Non selected user clearing */ + CICC_CAUSE_DEST_OUT_OF_ORDER , /**< Destination out of order */ + CICC_CAUSE_INVALID_NUMFORMAT , /**< Invalid number format ( incomplete ) */ + CICC_CAUSE_FACILITY_REJECT , /**< Facility rejected */ + CICC_CAUSE_STATUSENQ_RESPONSE , /**< Response to STATUS ENQUIRY */ + CICC_CAUSE_NORMAL_UNSPECIFIED , /**< Normal , unspecified */ + CICC_CAUSE_NO_CCT_AVAILABLE , /**< No circuit / channel available */ + CICC_CAUSE_NETWORK_OUT_OF_ORDER , /**< Network out of order */ + CICC_CAUSE_TEMP_FAILURE = 20 , /**< Temporary failure */ + /*21-30*/ + CICC_CAUSE_CONGESTION , /**< Switching equipment congestion */ + CICC_CAUSE_ACCESSINFO_DISCARDED , /**< Access information discarded */ + CICC_CAUSE_CIRCUIT_UNAVAILABLE , /**< Requested circuit / channel unavailable */ + CICC_CAUSE_RESOURCES_UNAVAILABLE , /**< Resources unavailable , unspecified */ + CICC_CAUSE_QOS_UNAVAIL , /**< Quality of service ( QoS ) unavailable */ + CICC_CAUSE_FACILITY_NOTSUBSCRIBED , /**< Requested facility not subscribed */ + CICC_CAUSE_MT_CALLBARRING_IN_CUG , /**< Incoming ( MT ) calls barred within CUG */ + CICC_CAUSE_BEARERCAP_NOTAUTHORIZED , /**< Bearer capability not authorized */ + CICC_CAUSE_BEARERCAP_UNAVAILABLE , /**< Bearer capability not available */ + CICC_CAUSE_SVC_UNAVAILABLE = 30 , /**< Service or option not available */ + /*31-40*/ + CICC_CAUSE_BEARERSVC_NOT_IMPLEMENTED , /**< Bearer service not implemented */ + CICC_CAUSE_ACMMAX_REACHED , /**< ACM equal to , or greater than , ACMmax */ + CICC_CAUSE_FACILITY_NOT_IMPLEMENTED , /**< Requested facility not implemented */ + CICC_CAUSE_BEARERCAP_RDI_ONLY , /**< Only RDI bearer capability is available */ + CICC_CAUSE_SVC_NOT_IMPLEMENTED , /**< Service or option not implemented */ + CICC_CAUSE_INVALID_TRANSACTID , /**< Invalid transaction ID value */ + CICC_CAUSE_NOT_CUG_MEMBER , /**< User not member of CUG */ + CICC_CAUSE_DEST_INCOMPATIBLE , /**< Incompatible destination */ + CICC_CAUSE_INCORRECT_MESSAGE , /**< Semantically incorrect message */ + CICC_CAUSE_TRANSIT_NETWORK_INVALID = 40 , /**< Invalid transit network selection */ + /*41-50*/ + CICC_CAUSE_NO_SUCH_MSGTYPE , /**< Message type non-existent or not implemented */ + CICC_CAUSE_MSGTYPE_WRONG_STATE , /**< Message type incompatible with current protocol state */ + CICC_CAUSE_NO_SUCH_IE , /**< Information element non-existent or not implemented */ + CICC_CAUSE_CONDITIONAL_IE_ERROR , /**< Conditional IE error */ + CICC_CAUSE_MSG_WRONG_STATE , /**< Message incompatible with current protocol state */ + CICC_CAUSE_RECOVERY_AFTER_TIMEOUT , /**< Recovery after timer expiry */ + CICC_CAUSE_PROTOCOL_ERROR , /**< Protocol error , unspecified */ + CICC_CAUSE_INTERWORKING , /**< Interworking , unspecified */ + + /* Error codes originated locally */ + CICC_CAUSE_ABNORMAL , /**< Abnormal release */ + CICC_CAUSE_ERROR_REESTABLISHMENT_BARRED = 50 , /**< Reestablishment barred */ + /*51-60*/ + CICC_CAUSE_CELL_SELECTION_IN_PROGRESS , /**< Cell seection in progress */ + CICC_CAUSE_LOWER_LAYER_FAILURE , /**< Lower layer failure */ + CICC_CAUSE_RACH_FAIL , /**< Rach fail */ + + CICC_CAUSE_FDN_BLOCKED , /**< FDN Mismatch */ + + CICC_CAUSE_ACCESS_CLASS_BARRED , /**< Cell barred */ + + CICC_CAUSE_MAND_IE_ERROR , /**< Invalid mandatory information */ + + CICC_CAUSE_EMERGENCY_ONLY , /**< Only Emergency calls allowed */ + CICC_CAUSE_NO_CS_SERVICE , + CICC_CAUSE_DMM_DEDICATE , /**< other sim in dedicate mode */ + CICC_CAUSE_UNALLOCATED_TMSI = 60 , /**< unallocated TMSI */ + /*61-70*/ + CICC_CAUSE_ILLEGAL_MS , /**< Illegal MS */ + CICC_CAUSE_ILLEGAL_ME , /**< Illegal ME */ + CICC_CAUSE_NETWORK_FAILURE , /**< Network failure */ + CICC_CAUSE_SYNCH_FAILURE , /**< Synch failure */ + CICC_CAUSE_CALL_CANNOT_BE_IDENTIFIED , /**< Call cannot be identified */ + CICC_CAUSE_AUTH_FAILURE , /**< Authentication failure */ + + // 67 + + /*Added by cherryli@09.02.2014 for CQ69642 begin.*/ + CICC_RRC_REL_CAUSE_NORMAL = 68 , + CICC_RRC_REL_CAUSE_UNSPEC , + CICC_RRC_REL_CAUSE_PRE_EMPTIVE = 70 , + + /*71-80*/ + CICC_RRC_REL_CAUSE_CONGESTION , + CICC_RRC_REL_CAUSE_RE_ESTABLISH_REJECT , + CICC_RRC_REL_CAUSE_DIRECTED_SIGNALLING_REESTABLISHMENT , + CICC_RRC_REL_CAUSE_USER_INACTIVITY , + /*Added by cherryli@09.02.2014 for CQ69642 end.*/ + + /*Added by cherryli@06.28.2020 CQ00121837 begin.*/ + CICC_CAUSE_IN_REGISTER = 75 , + /*Added by cherryli@06.28.2020 CQ00121837 end.*/ + + /* This one must always be last in the list! */ + CICC_NUM_CAUSES /**< Number of cause codes defined */ + } _CiCcCause; + +typedef UINT8 CiCcCause ; +//ICAT EXPORTED STRUCT + typedef struct CiCcExtCallType_struct { + CiCcCallType CallType ; /**< Call type indicator \sa CiCcCallType */ + CiSubaddrInfo subaddress ; /**< Optional subaddress information \sa CCI API Ref Manual */ + } CiCcExtCallType; + +//ICAT EXPORTED STRUCT + typedef struct CiCcCdAddressInfo_struct { + CiBoolean Present ; /* Is Call Deflection info present? */ + CiAddressInfo number ; + CiSubaddrInfo subaddress ; + + } CiCcCdAddressInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiCcDtmfPacing_struct { + UINT16 Duration ; /**< DTMF tone duration ( ms ) */ + UINT16 Interval ; /**< Inter-digit interval ( ms ) */ + } CiCcDtmfPacing; + +//ICAT EXPORTED ENUM + typedef enum CICC_CLI_VALIDITY { + CLI_VALIDITY_VALID = 0 , /**< CLI information is valid */ + CLI_VALIDITY_WITHHELD , /**< CLI information withheld by caller */ + CLI_VALIDITY_UNAVAILABLE , /**< CLI information is unavailable */ + CLI_VALIDITY_NOT_PRESENT /**< CLI information is not present */ + } _CiCcCliValidity; + +typedef UINT8 CiCcCliValidity ; +//ICAT EXPORTED ENUM + typedef enum CICC_CauseOfNoCli { + + CLI_CAUSE_OF_NO_CLI_UNAVAILABLE = 0 , + CLI_CAUSE_OF_NO_CLI_REJECT_BY_USER = 1 , + CLI_CAUSE_OF_NO_CLI_INTERACTION_WITH_OTHER_SERVICE = 2 , + CLI_CAUSE_OF_NO_CLI_COIN_LINE_PAYPHONE = 3 + + } _CiCauseOfNoCli; + +typedef UINT8 CiCauseOfNoCli ; +//ICAT EXPORTED STRUCT + typedef struct CiCcClipInfo_struct { + CiCcCallId CallId ; /**< call identifier \sa CiCcCallId */ + CiCcCliValidity CliValidity ; /**< CLI validity indicator \sa CiCcCliValidity */ + CiCallerInfo callerInfo ; /**< Calling party ( caller ) information \sa CCI API Ref Manual */ + + + + } CiCcClipInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiCcCdipInfo_struct { + CiCcCallId CallId ; /**< call identifier \sa CiCcCallId */ + CiCcCliValidity CliValidity ; /**< CLI validity indicator \sa CiCcCliValidity */ + CiCallerInfo callerInfo ; /**< Called line Information \sa CCI API Ref Manual */ + } CiCcCdipInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiCcColpInfo_struct { + CiCcCallId CallId ; /**< call identifier \sa CiCcCallId */ + CiCcCliValidity CliValidity ; /**< CLI validity indicator \sa CiCcCliValidity */ + CiCallerInfo callerInfo ; /**< Connected party information \sa CCI API Ref Manual */ + } CiCcColpInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiCcCwInfo_struct { + CiCcCliValidity CliValidity ; /**< CLI validity indicator \sa CiCcCliValidity */ + CiCallerInfo callerInfo ; /**< Calling party ( caller ) information \sa CCI API Ref Manual */ + // CQ105208 + CiCcEmlppCallPriority emlppCallPriority ; /** calling-subscriber eMLPP call priority. coded according to 3 GPP TS 24.008000 section 10.500000 .1.11 */ + CiBoolean emlppAutoAnswer ; /**< Indicates whether it was decided by CP that the new incoming call should be auto-answered and on-going call shall be pre-empted */ + } CiCcCwInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPuctInfo_struct { + CHAR curr [ 3 ] ; /**< Currency string */ + UINT16 eppu ; /**< Extended price per unit */ + CiBoolean negExp ; /**< TRUE if exponent is negative \sa CCI API Ref Manual */ + UINT8 exp ; /**< Modulus of exponent */ + } CiCcPuctInfo; + +//ICAT EXPORTED ENUM + typedef enum CICCDATACOMPDIR_TAG { + CI_CC_DATACOMP_DIR_NONE = 0 , /**< Negotiated , no compression ( V.42 bis P0=0 ) */ + CI_CC_DATACOMP_DIR_TX , /**< Transmit only */ + CI_CC_DATACOMP_DIR_RX , /**< Receive only */ + CI_CC_DATACOMP_DIR_BOTH , /**< Both directions , accept any direction ( V.42 bis P0=11 ) */ + + /* This one must always be last in the list! */ + CI_CC_DATACOMPS_NUM_DIRS + } _CiCcDataCompDir; + +typedef UINT8 CiCcDataCompDir ; +//ICAT EXPORTED STRUCT + typedef struct CiCcDataCompInfo_struct { + CiCcDataCompDir dir ; /**< Data compression direction , default: CI_CC_DATACOMP_BOTH \sa CiCcDataCompDir */ + CiBoolean zNegRequired ; /**< Is compression negotiation required? Default: FALSE \sa CCI API Ref Manual */ + UINT16 maxDict ; /**< Maximum number of dictionary entries to be negotiated , [ 512 -65535 ] */ + UINT8 maxStrLen ; /**< Maximum string length to be negotiated ( V.42 bis P2 ) , [ 6 -250 ] , default: 6 */ + } CiCcDataCompInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiCcDataCompCap_struct { + CiBitRange bitsDir ; /**< Supported direction values \sa CCI API Ref Manual */ + CiBitRange bitsNegComp ; /**< Supported negotiation values \sa CCI API Ref Manual */ + CiNumericRange maxDictRange ; /**< Range of supported maximum number of dictionary entries \sa CCI API Ref Manual */ + CiNumericRange maxStrLenRange ; /**< Range of supported maximum string length to be negotiated \sa CCI API Ref Manual */ + } CiCcDataCompCap; + +//ICAT EXPORTED STRUCT + typedef struct CiCcRlpCfg_struct { + UINT8 winIWS ; /**< IWF-to-MS window size */ + UINT8 winMWS ; /**< MS-to-IWF window size */ + UINT8 ackTimer ; /**< Acknowledgement timer ( T1 ) , units of 10 ms */ + UINT8 reTxAttempts ; /**< Retransmission attempts ( N2 ) */ + UINT8 ver ; /**< RLP version number , [ 0 -2 ] , default: 0 , recommend: 2 */ + UINT8 reSeqPeriod ; /**< Resequencing period ( T4 ) , units of 10 ms */ + UINT8 initialT1 ; /**< Acknowledgement timer ( T1 ) , units of 10 ms */ + UINT8 initialN2 ; /**< Retransmission attempts ( N2 ) , units of 10 ms */ + } CiCcRlpCfg; + +//ICAT EXPORTED STRUCT + typedef struct CiCcRlpCap_struct { + CiNumericRange winIWSRange ; /**< Range of supported IWF-to-MS window size \sa CCI API Ref Manual. */ + CiNumericRange winMWSRange ; /**< Range of supported MS-to-IWF window size \sa CCI API Ref Manual. */ + CiNumericRange ackTimerRange ; /**< Range of supported acknowledgement timer \sa CCI API Ref Manual. */ + CiNumericRange reTxAttemptsRange ; /**< Range of supported retransmission attempts \sa CCI API Ref Manual. */ + CiBitRange bitsVer ; /**< Supported RLP version \sa CCI API Ref Manual. */ + CiNumericRange reSeqPeriodRange ; /**< Range of supported resequencing period \sa CCI API Ref Manual. */ + } CiCcRlpCap; + +//ICAT EXPORTED ENUM + typedef enum CICCCALLMANOP_TAG { + + CI_CC_MANOP_RLS_HELD_OR_UDUB = 0 , /**< " AT+CHLD=0 " - Release all held calls or set user determined user busy ( UDUB ) for a waiting call */ + CI_CC_MANOP_RLS_ACT_ACCEPT_OTHER , /**< " AT+CHLD=1 " - Release all active calls ( if any exist ) and accept the other ( held or waiting ) call*/ + CI_CC_MANOP_RLS_CALL , /**< " AT+CHLD=1X " - Releases a specific active call X*/ + CI_CC_MANOP_HOLD_ACT_ACCEPT_OTHER , /**< " AT+CHLD=2 " Places all active calls ( if any exist ) on hold and accepts the other ( held or waiting ) call.*/ + CI_CC_MANOP_HOLD_ALL_EXCEPT_ONE , /**< " AT+CHLD=2X " - Places all active calls on hold except call X with which communication shall be supported*/ + CI_CC_MANOP_ADD_HELD_TO_MPTY , /**< " AT+CHLD=3 " - Add a held call to the conversation ( multiparty ) */ + CI_CC_MANOP_ECT , /**< " AT+CHLD=4 " - Connects the two calls and disconnects the subscriber from both calls ( ECT ) */ + CI_CC_MANOP_CALL_REDIRECT , /**< " AT+CTFR " ( " 4 * " ) - Redirect an incoming or a waiting call to the specified number followed by SEND directory number */ + CI_CC_MANOP_CCBS , /**< " AT+CHLD=5 " - Activates the completion of calls when subscriber is busy */ + CI_CC_MANOP_NUM_OPS + + } _CiCcCallManOp; + +typedef UINT8 CiCcCallManOp ; +//ICAT EXPORTED ENUM + typedef enum CICC_RELEASE_WHICHCALLS + { + CICC_WHICHCALLS_ALL_ACTIVE = 0 , + CICC_WHICHCALLS_ALL_HELD , + CICC_WHICHCALLS_ALL_CALLS + + } _CiCcReleaseWhichCalls; + +typedef UINT8 CiCcReleaseWhichCalls ; +typedef CiEmptyPrim CiCcPrimGetNumberTypeReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetNumberTypeCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiAddressType numType ; /**< Type of number ( address type ) \sa CCI API Ref Manual */ + } CiCcPrimGetNumberTypeCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetNumberTypeReq_struct { + CiAddressType numType ; /**< Type of number ( address type ) \sa CCI API Ref Manual */ + } CiCcPrimSetNumberTypeReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetNumberTypeCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimSetNumberTypeCnf; + +typedef CiEmptyPrim CiCcPrimGetSupportedCallModesReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetSupportedCallModesCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + UINT8 NumModes ; /**< Number of supported call modes */ + CiCcCallMode Modes [ CICC_NUM_CMODES ] ; /**< Supported call modes \sa CiCcCallMode */ + } CiCcPrimGetSupportedCallModesCnf; + +typedef CiEmptyPrim CiCcPrimGetCallModeReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetCallModeCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcCallMode Mode ; /**< Current call mode \sa CiCcCallMode */ + } CiCcPrimGetCallModeCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetCallModeReq_struct { + CiCcCallMode Mode ; /**< Selected call mode \sa CiCcCallMode */ + } CiCcPrimSetCallModeReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetCallModeCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimSetCallModeCnf; + +typedef CiEmptyPrim CiCcPrimGetSupportedDataBsTypesReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetSupportedDataBsTypesCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcSuppDataBsTypes types ; /**< Supported data bearer service type parameter settings \sa CiCcSuppDataBsTypes_struct */ + } CiCcPrimGetSupportedDataBsTypesCnf; + +typedef CiEmptyPrim CiCcPrimGetDataBsTypeReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetDataBsTypeCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcDataBsTypeInfo info ; /**< Current data bearer service type information \sa CiCcDataBsTypeInfo_struct */ + } CiCcPrimGetDataBsTypeCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetDataBsTypeReq_struct { + CiCcDataBsTypeInfo info ; + } CiCcPrimSetDataBsTypeReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetDataBsTypeCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimSetDataBsTypeCnf; + +typedef CiEmptyPrim CiCcPrimGetAutoAnswerActiveReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetAutoAnswerActiveCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiBoolean Active ; + } CiCcPrimGetAutoAnswerActiveCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetAutoAnswerActiveReq_struct { + CiBoolean Active ; + } CiCcPrimSetAutoAnswerActiveReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetAutoAnswerActiveCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimSetAutoAnswerActiveCnf; + +typedef CiEmptyPrim CiCcPrimListCurrentCallsReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimListCurrentCallsCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + UINT8 NumCalls ; /**< Number of current calls */ + CiCcCallInfo callInfo [ 7 ] ; /**< Call information list \sa CiCcCallInfo_struct */ + } CiCcPrimListCurrentCallsCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetCallInfoReq_struct { + CiCcCallId CallId ; /**< Call identifier \sa CiCcCallId */ + } CiCcPrimGetCallInfoReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetCallInfoCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcCallInfo info ; /**< Current call information \sa CiCcCallInfo_struct */ + } CiCcPrimGetCallInfoCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimMakeCallReq_struct { + CiCcMakeCallInfo info ; /**< Outgoing ( make ) call information \sa CiCcMakeCallInfo_struct*/ + } CiCcPrimMakeCallReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimMakeCallCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcCallId CallId ; /**< Unique call identifier \sa CiCcCallId */ + } CiCcPrimMakeCallCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimCallProceedingInd_struct { + CiCcCallId CallId ; /**< Call identifier \sa CiCcCallId */ + CiBoolean InBandTones ; /**< Indicates if in-band tones are available from network \sa CCI API Ref Manual */ + // CQ105208 + CiCcEmlppCallPriority emlppCallPriorityGranted ; /** The eMLPP call priority granted by the network. coded according to 3 GPP TS 24.008000 section 10.500000 .1.11 */ + } CiCcPrimCallProceedingInd; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimMoCallFailedInd_struct { + CiCcCallId CallId ; /**< Call identifier \sa CiCcCallId */ + CiCcCause Cause ; /**< Cause code \sa CiCcCause */ + CiBoolean InBandTones ; /**< Indicates if in-band tones are available from network \sa CCI API Ref Manual */ + /* SCR #1255830 */ + } CiCcPrimMoCallFailedInd; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimAlertingInd_struct { + CiCcCallId CallId ; /**< Call identifier \sa CiCcCallId */ + CiBoolean InBandTones ; /**< Indicates if in-band tones are available from network \sa CCI API Ref Manual */ + } CiCcPrimAlertingInd; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimConnectInd_struct { + CiCcCallId CallId ; /**< Call identifier \sa CiCcCallId */ + } CiCcPrimConnectInd; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimDisconnectInd_struct { + CiCcCallId CallId ; /**< Call identifier \sa CiCcCallId */ + CiCcCause Cause ; /**< Disconnect cause code \sa CiCcCause */ + } CiCcPrimDisconnectInd; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimIncomingCallInd_struct { + CiCcCallId CallId ; /**< Incoming call identifier \sa CiCcCallId */ + CiCcExtCallType callType ; /**< Extended call type information \sa CiCcExtCallType_struct */ + // CQ105208 + CiCcEmlppCallPriority emlppCallPriority ; /** calling-subscriber eMLPP call priority. coded according to 3 GPP TS 24.008000 section 10.500000 .1.11 */ + CiBoolean emlppAutoAnswer ; /**< Indicates whether it was decided by CP that the new incoming call should be auto-answered and on-going call shall be pre-empted */ + } CiCcPrimIncomingCallInd; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimCallWaitingInd_struct { + CiCcCallId CallId ; /**< Waiting call identifier \sa CiCcCallId */ + CiCcCwInfo info ; /**< Call waiting information for incoming call \sa CiCcCwInfo_struct */ + } CiCcPrimCallWaitingInd; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimHeldCallInd_struct { + CiCcCallId CallId ; /**< Held call identifier \sa CiCcCallId */ + } CiCcPrimHeldCallInd; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimAnswerCallReq_struct { + CiCcCallId CallId ; /**< Call identifier \sa CiCcCallId */ + } CiCcPrimAnswerCallReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimAnswerCallCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcCallId CallId ; /**< Call identifier \sa CiCcCallId */ + } CiCcPrimAnswerCallCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimRefuseCallReq_struct { + CiCcCallId CallId ; /**< Call identifier \sa CiCcCallId */ + UINT16 Cause ; /**< Cause Code. */ + } CiCcPrimRefuseCallReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimRefuseCallCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimRefuseCallCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimMtCallFailedInd_struct { + CiCcCallId CallId ; /**< Call identifier \sa CiCcCallId */ + CiCcCause Cause ; /**< Cause of call failure \sa CiCcCause */ + /* SCR #1255830 */ + CiBoolean InBandTones ; /**< Indicates if in-band tones are available from network \sa CCI API Ref Manual */ + } CiCcPrimMtCallFailedInd; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimHoldCallReq_struct { + CiCcCallId CallId ; /**< Call identifier for the active call \sa CiCcCallId */ + } CiCcPrimHoldCallReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimHoldCallCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcCause Cause ; /**< Not in use */ + } CiCcPrimHoldCallCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimRetrieveCallReq_struct { + CiCcCallId CallId ; /**< Call identifier for the held call \sa CiCcCallId */ + } CiCcPrimRetrieveCallReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimRetrieveCallCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcCause Cause ; /**< Not in use */ + } CiCcPrimRetrieveCallCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSwitchActiveHeldReq_struct { + CiCcCallId Active ; /**< Call identifier for the active call \sa CiCcCallId */ + CiCcCallId Held ; /**< Call identifier for the held call \sa CiCcCallId*/ + } CiCcPrimSwitchActiveHeldReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSwitchActiveHeldCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcCause Cause ; /**< Not in use */ + } CiCcPrimSwitchActiveHeldCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimExplicitCallTransferReq_struct { + CiCcCallId ActiveCall ; /**< Call identifier for the active call \sa CiCcCallId */ + CiCcCallId HeldCall ; /**< Call identifier for the held call \sa CiCcCallId*/ + } CiCcPrimExplicitCallTransferReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimExplicitCallTransferCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimExplicitCallTransferCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimReleaseCallReq_struct { + CiCcCallId CallId ; /**< Call identifier \sa CiCcCallId */ + } CiCcPrimReleaseCallReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimReleaseCallCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimReleaseCallCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimReleaseAllCallsReq_struct { + UINT8 WhichCalls ; /**< Not in use */ + } CiCcPrimReleaseAllCallsReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimReleaseAllCallsCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimReleaseAllCallsCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSwitchCallModeReq_struct { + CiCcCallId CallId ; + } CiCcPrimSwitchCallModeReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSwitchCallModeCnf_struct { + CiCcResultCode Result ; + } CiCcPrimSwitchCallModeCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimEstablishMptyReq_struct { + CiCcCallId ActiveCall ; /**< Call identifier for the active call \sa CiCcCallId */ + CiCcCallId HeldCall ; /**< Call identifier for the held call \sa CiCcCallId */ + } CiCcPrimEstablishMptyReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimEstablishMptyCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcMptyId MptyId ; /**< MPTY identifier \sa CiCcMptyId */ + } CiCcPrimEstablishMptyCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimAddToMptyReq_struct { + CiCcMptyId MptyId ; /**< MPTY identifier for the conference \sa CiCcMptyId */ + CiCcCallId CallId ; /**< Call identifier for the new call \sa CiCcCallId */ + } CiCcPrimAddToMptyReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimAddToMptyCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimAddToMptyCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimHoldMptyReq_struct { + CiCcMptyId MptyId ; /**< MPTY Identifier \sa CiCcMptyId */ + } CiCcPrimHoldMptyReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimHoldMptyCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimHoldMptyCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimRetrieveMptyReq_struct { + CiCcMptyId MptyId ; /**< MPTY Identifier \sa CiCcMptyId */ + } CiCcPrimRetrieveMptyReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimRetrieveMptyCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimRetrieveMptyCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSplitFromMptyReq_struct { + CiCcMptyId MptyId ; /**< MPTY identifier for the conference \sa CiCcMptyId */ + CiCcCallId CallId ; /**< Call identifier for the call to be split out \sa CiCcCallId */ + } CiCcPrimSplitFromMptyReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSplitFromMptyCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimSplitFromMptyCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimShuttleMptyReq_struct { + CiCcMptyId MptyId ; /**< MPTY identifier for the conference \sa CiCcMptyId */ + CiCcCallId CallId ; /**< Call identifier for the single call \sa CiCcCallId */ + } CiCcPrimShuttleMptyReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimShuttleMptyCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimShuttleMptyCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimReleaseMptyReq_struct { + CiCcMptyId MptyId ; /**< MPTY identifier \sa CiCcMptyId */ + } CiCcPrimReleaseMptyReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimReleaseMptyCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimReleaseMptyCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimStartDtmfReq_struct { + CiCcCallId CallId ; /**< Call identifier \sa CiCcCallId */ + UINT8 Digit ; /**< DTMF digit */ + } CiCcPrimStartDtmfReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimStartDtmfCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimStartDtmfCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimStopDtmfReq_struct { + CiCcCallId CallId ; /**< Call identifier \sa CiCcCallId */ + } CiCcPrimStopDtmfReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimStopDtmfCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimStopDtmfCnf; + +typedef CiEmptyPrim CiCcPrimGetDtmfPacingReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetDtmfPacingCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcDtmfPacing Pacing ; /**< DTMF pacing configuration \sa CiCcDtmfPacing_struct */ + } CiCcPrimGetDtmfPacingCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetDtmfPacingReq_struct { + CiCcDtmfPacing Pacing ; /**< DTMF pacing configuration \sa CiCcDtmfPacing_struct */ + } CiCcPrimSetDtmfPacingReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetDtmfPacingCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimSetDtmfPacingCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSendDtmfStringReq_struct { + CiCcCallId CallId ; /**< Call identifier \sa CiCcCallId. */ + UINT8 digits [ 32 ] ; /**< DTMF digits */ + } CiCcPrimSendDtmfStringReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSendDtmfStringCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimSendDtmfStringCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimClipInfoInd_struct { + CiCcClipInfo info ; /**< CLIP information for incoming call \sa CiCcClipInfo_struct */ + } CiCcPrimClipInfoInd; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimCdipInfoInd_struct { + CiCcCdipInfo info ; /**< CDIP information for incoming call \sa CiCcCdipInfo_struct */ + } CiCcPrimCdipInfoInd; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimColpInfoInd_struct { + CiCcColpInfo info ; /**< CoLP information for incoming call \sa CiCcColpInfo_struct */ + } CiCcPrimColpInfoInd; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimCcmUpdateInd_struct { + UINT32 Ccm ; /**< Current CCM reading in Home units. Unsigned 24 -bit integer. */ + UINT32 Duration ; /**< Current call duration in seconds. Unsigned 24 -bit integer. */ + } CiCcPrimCcmUpdateInd; + +typedef CiEmptyPrim CiCcPrimGetCcmValueReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetCcmValueCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + UINT32 Ccm ; /**< Current CCM value in Home units. Unsigned 24 -bit integer. */ + UINT32 Duration ; /**< Current call duration in seconds. Unsigned 24 -bit integer. */ + } CiCcPrimGetCcmValueCnf; + +typedef CiEmptyPrim CiCcPrimAocWarningInd ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSsiNotifyInd_struct { + CiSsiNotifyInfo info ; /**< Supplementary service intermediate ( SSI ) notification information \sa CI SS Spec */ + } CiCcPrimSsiNotifyInd; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSsuNotifyInd_struct { + CiSsuNotifyInfo info ; /**< Supplementary service unsolicited ( SSU ) notification information \sa CI SS Spec */ + } CiCcPrimSsuNotifyInd; + +typedef CiEmptyPrim CiCcPrimGetAcmValueReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetAcmValueCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + UINT32 Acm ; /**< Current ACM value. Unsigned 24 -bit integer. */ + } CiCcPrimGetAcmValueCnf; + +typedef CiEmptyPrim CiCcPrimResetAcmValueReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimResetAcmValueCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimResetAcmValueCnf; + +typedef CiEmptyPrim CiCcPrimGetAcmMaxValueReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetAcmMaxValueCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + UINT32 AcmMax ; /**< Current ACMmax value. Unsigned 24 -bit integer */ + } CiCcPrimGetAcmMaxValueCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetAcmMaxValueReq_struct { + UINT32 AcmMax ; /**< New ACMmax value. Unsigned 24 -bit integer. */ + } CiCcPrimSetAcmMaxValueReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetAcmMaxValueCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + + } CiCcPrimSetAcmMaxValueCnf; + +typedef CiEmptyPrim CiCcPrimGetPuctInfoReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetPuctInfoCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcPuctInfo info ; /**< Current PUCT information \sa CiCcPuctInfo_struct */ + } CiCcPrimGetPuctInfoCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetPuctInfoReq_struct { + CiCcPuctInfo info ; /**< New PUCT information \sa CiCcPuctInfo_struct */ + } CiCcPrimSetPuctInfoReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetPuctInfoCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimSetPuctInfoCnf; + +typedef CiEmptyPrim CiCcPrimGetBasicCallModesReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetBasicCallModesCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + UINT8 NumModes ; /**< Number of supported basic call modes */ + CiCcBasicCMode Modes [ CICC_NUM_BASIC_CMODES ] ; /**< Supported basic call modes \sa CiCcBasicCMode */ + } CiCcPrimGetBasicCallModesCnf; + +typedef CiEmptyPrim CiCcPrimGetCallOptionsReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetCallOptionsCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcCallOptions Options ; /**< Supported call options bitmap \sa CiCcCallOptions */ + } CiCcPrimGetCallOptionsCnf; + +typedef CiEmptyPrim CiCcPrimGetDataCompCapReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetDataCompCapCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcDataCompCap cap ; /**< Data compression configuration capability \sa CiCcDataCompCap_struct */ + } CiCcPrimGetDataCompCapCnf; + +typedef CiEmptyPrim CiCcPrimGetDataCompReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetDataCompCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcDataCompInfo info ; /**< Data compression information \sa CiCcDataCompInfo_struct */ + } CiCcPrimGetDataCompCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetDataCompReq_struct { + CiCcDataCompInfo info ; /**< Data compression information \sa CiCcDataCompInfo_struct */ + } CiCcPrimSetDataCompReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetDataCompCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimSetDataCompCnf; + +typedef CiEmptyPrim CiCcPrimGetRlpCapReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetRlpCapCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcRlpCap cap ; /**< Data compression configuration capability \sa CiCcRlpCap_struct */ + } CiCcPrimGetRlpCapCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetRlpCfgReq_struct { + UINT8 ver ; /**< RLP version. */ + } CiCcPrimGetRlpCfgReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetRlpCfgCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcRlpCfg cfg ; /**< RLP configuration \sa CiCcRlpCfg_struct */ + } CiCcPrimGetRlpCfgCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetRlpCfgReq_struct { + CiCcRlpCfg cfg ; /**< RLP configuration \sa CiCcRlpCfg_struct */ + } CiCcPrimSetRlpCfgReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetRlpCfgCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimSetRlpCfgCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimDataServiceNegInd_struct { + CiBoolean isAsync ; /**< Sync / async indication \sa CCI API Ref Manual */ + CiBoolean isTransparent ; /**< Transparent / non-transparent indication \sa CCI API Ref Manual */ + } CiCcPrimDataServiceNegInd; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimEnableDataServiceNegIndReq_struct { + CiBoolean enable ; /**< TRUE: enable reporting ; FALSE: disable reporting , default \sa CCI API Ref Manual */ + } CiCcPrimEnableDataServiceNegIndReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimEnableDataServiceNegIndCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimEnableDataServiceNegIndCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetUDUBReq_struct { + CiCcCallId CallId ; /**< Call identifier \sa CiCcCallId */ + } CiCcPrimSetUDUBReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetUDUBCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimSetUDUBCnf; + +typedef CiEmptyPrim CiCcPrimGetSupportedCallManOpsReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetSupportedCallManOpsCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + UINT8 NumOps ; /**< Number of operation codes [ 0 ..CI_CC_MANOP_NUM_OPS - 1 ] */ + CiCcCallManOp OpCodes [ CI_CC_MANOP_NUM_OPS ] ; /**< Array of supported operation codes \sa CiCcCallManOp */ + } CiCcPrimGetSupportedCallManOpsCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimManipulateCallsReq_struct { + CiCcCallManOp OpCode ; /**< Call manipulation operation code \sa CiCcCallManOp */ + CiCcCallId CallId ; /**< Call identifier \sa CiCcCallId */ + } CiCcPrimManipulateCallsReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimManipulateCallsCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimManipulateCallsCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimListCurrentCallsInd_struct { + UINT8 NumCalls ; /**< Number of current calls [ 0 ..CICC_MAX_CURRENT_CALLS ] */ + CiCcCallInfo callInfo [ 7 ] ; /**< Call information list \sa CiCcCallInfo_struct */ + } CiCcPrimListCurrentCallsInd; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSrvccStatusReq_struct { + UINT8 NumCalls ; /**< Number of current calls [ 0 ..CICC_MAX_CURRENT_CALLS ] */ + CiCcCallInfo callInfo [ 7 ] ; /**< Call information list \sa CiCcCallInfo_struct */ + } CiCcPrimSrvccStatusReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSrvccStatusCnf_struct { + CiCcCallId CallId ; + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimSrvccStatusCnf; + +//ICAT EXPORTED ENUM + typedef enum CICC_TONESTATUS { + CICC_TONE_STARTED , /**< DTMF tone started */ + CICC_TONE_STOPPED , /**< DTMF tone stopped normally */ + CICC_TONE_ABORTED /**< DTMF tone aborted due to abnormal condition */ + } _CiCcToneStatus; + +typedef UINT8 CiCcToneStatus ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimDtmfEventInd_struct { + + CiCcCallId CallId ; /**< Identifier of the call for which a DTMF operation was required \sa CiCcCallId */ + UINT8 ToneDigit ; /**< Indicates the DTMF tone digit ; valid = " 123456789 *#ABCD " */ + CiBoolean SingleTone ; /**< Indicates a single DTMF tone or a tone sent as part of a DTMF string \sa CCI API Ref Manual */ + CiCcToneStatus ToneStatus ; /**< Indicates the DTMF tone status ( started , aborted , or stopped ) \sa CiCcToneStatus*/ + + } CiCcPrimDtmfEventInd; + +//ICAT EXPORTED STRUCT + typedef struct _CiCcDiagnosticInfo_struct { + + UINT16 Length ; /**< Number of bytes in diagnostic information */ + UINT8 Data [ 28 ] ; /**< Diagnostic information */ + + } CiCcDiagnosticInfo; + +//ICAT EXPORTED ENUM + typedef enum CiCcCodingStandardTag + { + CICC_CODING_CCITT_Q931 = 0 , /**< Coding as specified in ITU-T Rec. Q.931 */ + CICC_CODING_OTHER_INTERNATL = 1 , /**< Reserved for other international standards */ + CICC_CODING_NATIONAL = 2 , /**< National standard */ + CICC_CODING_GSM_NETWORK = 3 /**< Standard defined for the GSM PLMNS */ + } _CiCcCodingStandard; + +typedef UINT8 CiCcCodingStandard ; +//ICAT EXPORTED ENUM + typedef enum CiCcLocationTag + { + CICC_LOC_USER = 0 , /**< User */ + CICC_LOC_PRIV_LOCAL = 1 , /**< Private network serving the local user */ + CICC_LOC_PUB_LOCAL = 2 , /**< Public network serving the local user */ + CICC_LOC_TRANSIT = 3 , /**< Transit network */ + CICC_LOC_PUB_REMOTE = 4 , /**< Public network serving the remote user */ + CICC_LOC_PRIV_REMOTE = 5 , /**< Private network serving the remote user */ + CICC_LOC_INTERNATIONAL = 7 , /**< International network */ + CICC_LOC_BEYOND_IWF = 10 /**< Network beyond interworking point */ + } _CiCcLocation; + +typedef UINT8 CiCcLocation ; +//ICAT EXPORTED ENUM + typedef enum CiCcRecommendationTag + { + CICC_REC_Q931 = 0 , /**< Recommendation Q.931: " ISDN user-network interface layer 3 specification for basic control " */ + CICC_REC_GSM = 1 , /**< Recommendation GSM */ + CICC_REC_X21 = 3 , /**< Recommendation X.21: " Interface between data terminal equipment ( DTE ) and data circuit-terminating equipment ( DCE ) for synchronous operation on public data networks " */ + CICC_REC_X25 = 4 /**< Recommendation X.25: " Interface between data terminal equipment ( DTE ) and data circuit-terminating equipment ( DCE ) for terminals operating in the packet mode and connected to public data networks by dedicated circuit " */ + } _CiCcRecommendation; + +typedef UINT8 CiCcRecommendation ; +typedef CiCcCause CiCcCustCause ; +//ICAT EXPORTED STRUCT + typedef struct _CiCcDiagnostic_struct { + + CiBoolean InfoPresent ; /**< TRUE - is present ; FALSE - is not present \sa CCI API Ref Manual */ + CiCcCodingStandard Coding ; /**< Coding standard ( octet 3 of Cause Information Element ) as per 24.008000 10.500000 .4.11 \sa CiCcCodingStandard*/ + CiCcLocation Location ; /**< Location ( octet 3 of Cause Information Element ) as per 24.008000 10.500000 .4.11 \sa CiCcLocation */ + CiCcRecommendation Recommendation ; /**< Recommendation \sa CiCcRecommendation */ + CiCcCustCause Cause ; /**< Cause code \sa CiCcCustCause */ + CiCcDiagnosticInfo Info ; /**< Diagnostic information \sa _CiCcDiagnosticInfo_struct */ + + } CiCcDiagnostic; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimCallDiagnosticInd_struct { + + CiCcCallId CallId ; /**< Call identifier \sa CiCcCallId */ + CiCcDiagnostic Diagnostic1 ; /**< First diagnostic information field \sa _CiCcDiagnosticInfo_struct */ + CiCcDiagnostic Diagnostic2 ; /**< Second diagnostic information field \sa _CiCcDiagnosticInfo_struct */ + + } CiCcPrimCallDiagnosticInd; + +typedef CiEmptyPrim CiCcPrimClearBlackListReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimClearBlackListCnf_struct { + + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + + } CiCcPrimClearBlackListCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetCtmStatusReq_struct { + CiBoolean Active ; /**< Current CTM status \sa CCI API Ref Manual */ + } CiCcPrimSetCtmStatusReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetCtmStatuscnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimSetCtmStatusCnf; + +//ICAT EXPORTED ENUM + typedef enum CiCcCTMNegReportType_Tags { + CTM_STARTED=1 , /**< Started */ + CTM_SUCCEDED , /**< Succeeded */ + CTM_FAILED /**< Failed */ + } _CiCcCTMNegReportType; + +typedef UINT8 CiCcCTMNegReportType ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimCTMNegReportInd_struct { + CiCcCTMNegReportType CTMNegReport ; /**< Negotiation status result \sa CiCcCTMNegReportType */ + } CiCcPrimCTMNegReportInd; + +typedef CiEmptyPrim CiCcPrimSyncAudioReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSyncAudioCnf_struct { + CiCcResultCode Result ; /**< Result code. \sa CiCcResultCode */ + } CiCcPrimSyncAudioCnf; + +typedef CiEmptyPrim CiCcPrimGetLineIdReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetLineIdCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + UINT8 LineID ; /**< Line ID - 1 or 2 */ + } CiCcPrimGetLineIdCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetLineIdReq_struct { + UINT8 LineID ; /**< Line ID - 1 or 2 */ + } CiCcPrimSetLineIdReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetLineIdCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimSetLineIdCnf; + +//ICAT EXPORTED ENUM + typedef enum CICC_CD_CAUSE { + + CICC_CD_ERROR = 0 , /* NW responded with error to call deflection request */ + CICC_CD_REJECT , /* OSI higher layer protocol */ + CICC_CD_NO_NW_RESPONSE , /* X.244 */ + CICC_CD_CALL_RELEASED , /* Reserved for system mangement convergence function */ + + CICC_NUM_CD_CAUSE /* Number of protocols discriminator defined */ + } _CiCcCDCauseType; + +typedef UINT8 CiCcCDCauseType ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimCallDeflectReq_struct { + CiCcCallId CallId ; /**< Call identifier \sa CiCcCallId */ + CiAddressInfo DeflectedNumber ; /**< Call identifier \sa CiAddressInfo */ + CiSubaddrInfo DeflectedSubAddress ; /**< Call identifier \sa CiSubaddrInfo */ + } CiCcPrimCallDeflectReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimCallDeflectCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcCDCauseType CallDeflectionFailCause ; /**< Call deflection failure cause \sa CiCcCDCauseType */ + } CiCcPrimCallDeflectCnf; + +typedef CiEmptyPrim CiCcPrimReadyStateInd ; +//ICAT EXPORTED ENUM + typedef enum CI_CC_ECALL_TYPE { + CI_CC_ECALL_TYPE_TEST = 0 , /**< test call */ + CI_CC_ECALL_TYPE_RECONFIGURE = 1 , /**< reconfiguration call */ + CI_CC_ECALL_TYPE_MANUAL = 2 , /**< manually initiated */ + CI_CC_ECALL_TYPE_AUTOMATIC = 3 , /**< automatically initiated */ + CI_CC_ECALL_TYPE_NO_ACTIVE = 4 /**< no active eCall */ + } _CiCcECallTypeCode; + +typedef UINT16 CiCcECallTypeCode ; +typedef UINT16 CiCcECallBitMaskTypes ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetCeCallReq_struct { + CiCcECallTypeCode eCallType ; /**< eCall type */ + } CiCcPrimSetCeCallReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetCeCallCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimSetCeCallCnf; + +typedef CiEmptyPrim CiCcPrimGetCeCallReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetCeCallCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcECallTypeCode eCallType ; /**< eCall type */ + } CiCcPrimGetCeCallCnf; + +typedef CiEmptyPrim CiCcPrimGetCeCallCapReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetCeCallCapCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcECallBitMaskTypes eCallBitMaskSupportedTypes ; /**< eCall type */ + } CiCcPrimGetCeCallCapCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimAudioEcallToApInfoInd_struct + { + UINT16 Length ; + UINT8 RawData [ 128 ] ; + } CiCcPrimAudioEcallToApInfoInd; + +//ICAT EXPORTED ENUM + typedef enum CICC_CE_CAUSE { + + CICC_CE_CALL_END_UNDEFINE = 0 , /*default value.*/ + CICC_CE_CALL_END_NORMAL , /*according to 24.008000 . involved:User busy.No user responding.User alerting no answer. + user rejected.Destination out of order.Number changed.*/ + CICC_CE_CALL_END_RX_DISCONNECT , + CICC_CE_CALL_END_RX_RELEASE , + CICC_CE_CALL_END_UNRECOVERABLE , /*RLC Reset ( MaxRST or UL lost.Unrecoverable error in RLC on reset PDU ) . + Cell Update ( unrecoverable error ) .*/ + CICC_CE_CALL_END_RLF_OR_WEAK_SIGNAL , /*RL failure ( T313 Expire ) or phych est failure ( T312 expire.Sync start fail ) . + Cell Update ( RLF ) .*/ + CICC_CE_CALL_END_RX_RRC_CONNECTION_RELEASE , + CICC_CE_CALL_END_TX_DISCONNECT , /*User disconnect req from AP.*/ + CICC_CE_CALL_END_TX_RELEASE , /*No used now.*/ + CICC_CE_CALL_END_OTHERS , + + CICC_NUM_CE_CAUSE + } _CiCcCEEventType; + +typedef UINT8 CiCcCEEventType ; +//ICAT EXPORTED ENUM + typedef enum CICC_CE_MSG { + + CICC_CE_MSG_TYPE_UNDEFINE = 0 , + CICC_CE_MSG_TYPE_CELL_UPDATE , + CICC_CE_MSG_TYPE_DISCONNECT , + CICC_CE_MSG_TYPE_RELEASE , + CICC_CE_MSG_TYPE_RRC_CONNECTION_RELEASE , + + CICC_NUM_CE_MSG + } _CiCcCEMsgType; + +typedef UINT8 CiCcCEMsgType ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimCallEndInfoInd_struct { + CiCcCallId CallId ; /**< Call identifier \sa CiCcCallId */ + CiCcCurrentCState State ; /**< Current call state \sa CiCcCurrentCState */ + CiCcCEMsgType CallEndMsg ; + CiCcCEEventType CallEndType ; + CiCcCause CallEndCause ; + CiCcPrimCallDropCauseInfoInd + SacDevInfo ; + } CiCcPrimCallEndInfoInd; + +//ICAT EXPORTED STRUCT + typedef struct CiCCPrimEcallCfgReq_struct { + UINT16 time ; /**< The time interval for writing eCall elapsed time to the NVM */ + UINT16 intimer1 ; /**< The eCall inactivity timer value */ + UINT16 intimer2 ; /**< The eCall inactivity timer value */ + } CiCcPrimEcallCfgReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCCPrimEcallCfgCnf_struct { + CiCcResultCode result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimEcallCfgCnf; + +typedef CiEmptyPrim CiCcPrimGetEcallCfgReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCCPrimGetEcallCfgCnf_struct { + CiCcResultCode result ; /**< Result code \sa CiCcResultCode */ + UINT16 time ; /**< The interval to write to the NVM , the eCall elapsed time */ + UINT16 rtime ; /**< If an eCall was operated - the time elapsed since eCall was operated */ + UINT16 intimer1 ; /**< The eCall inactivity timer value */ + UINT16 intimer2 ; /**< The eCall inactivity timer value */ + } CiCcPrimGetEcallCfgCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimEcallOnlyReq_struct { + CiBoolean Activate ; /**< If set to TRUE , than UE will act as if the USIM is configured for eCall only mode. If set the FALSE , than the UE returns to normal mode of operation. */ + CHAR testnum [ 40 ] ; /**< The eCall test number */ + UINT8 testnumLen ; + CHAR reconfignum [ 40 ] ; /**< The eCall reconfiguration number */ + UINT8 reconfignumLen ; + } CiCcPrimEcallOnlyReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimEcallOnlyCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimEcallOnlyCnf; + +typedef CiEmptyPrim CiCcPrimGetEcallOnlyReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetEcallOnlyCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiBoolean Active ; /**< If set to TRUE , than the UE is configured to act as eCall only mode. If SIM support eCall only always return FALSE */ + UINT8 simEcall ; /**< 0 ?SIM does not support eCall ( service No. 89 is “not available?in the USIM ) ; 1 ?SIM supports eCall mode ( Service No. 89 and Service No. 4 are " available " ) ; 2 ?SIM supports eCall only mode ( Service No. 89 and Service No. 2 are " available " and FDN service is enabled in EFEST ) */ + CHAR testnum [ 40 ] ; /**< The eCall test number */ + UINT8 testnumLen ; + CHAR reconfignum [ 40 ] ; /**< The eCall reconfiguration number */ + UINT8 reconfignumLen ; + } CiCcPrimGetEcallOnlyCnf; + +//ICAT EXPORTED ENUM + typedef enum CICC_EMLPP_SUBSCRIPTIONS_INFO_TYPE { + CICC_EMLPP_CALL_SUBSCRIPTIONS_INFO_TYPE_ENABLED = 0x00 , /* Indicates the info type is enabled call priorities , only { 0 , 1 , .. , 4 } are valid */ + CICC_EMLPP_CALL_SUBSCRIPTIONS_INFO_TYPE_FAST_CALL_SETUP = 0x01 , /* Indicates the info type is fast call set-up enabled priorities ( and enabled ) , { 0 , 1 , .. , 4 } are valid */ + CICC_EMLPP_CALL_SUBSCRIPTIONS_INFO_TYPE_AUTO_ANSWER = 0x02 , /* Indicates the info type is auto-answer enabled priorities ( and enabled ) , all priorities are valid*/ + } _CiCcEmlppSubscriptionsInfoType; + +typedef UINT8 CiCcEmlppSubscriptionsInfoType ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetEmlppSubscriptionsInfoReq_struct { + CiCcEmlppSubscriptionsInfoType infoType ; /** Indicates which type of information is modified ( fast call setup OR automatic answer ) */ + CiCcEmlppCallPriority callPriority ; /** Indicates which call priority shall be modified */ + CiBoolean isEnabled ; /** Indicates whether the fast-call-set-up or auto-answer should be enabled / disabled */ + } CiCcPrimSetEmlppSubscriptionsInfoReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetEmlppSubscriptionsInfoCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcEmlppSubscriptionsInfoType infoType ; /** Indicates which type of information was modified*/ + } CiCcPrimSetEmlppSubscriptionsInfoCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetEmlppSubscriptionsInfoReq_struct { + CiCcEmlppSubscriptionsInfoType infoType ; /** Indicates which type of information is required*/ + } CiCcPrimGetEmlppSubscriptionsInfoReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetEmlppSubscriptionsInfoCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcEmlppSubscriptionsInfoType infoType ; /** Indicates which type of information is returned*/ + UINT8 numOfCallPriorities ; /** Indicates how many entries in the enabledCallPriorities array are valid*/ + CiCcEmlppCallPriority enabledCallPriorities [ CICC_EMLPP_NUM_OF_PRIORITIES ] ; /** List of enabled priorities , depending on the infoType. it can be enabled / enabled + fast-call-set-up enabled / enabled + auto-answer enabled */ + } CiCcPrimGetEmlppSubscriptionsInfoCnf; + +//ICAT EXPORTED ENUM + typedef enum CI_SIM_PRIM + { + CI_SIM_PRIM_EXECCMD_REQ = 1 , /**< \brief Requests to execute a SIM command \details */ + CI_SIM_PRIM_EXECCMD_CNF , /**< \brief Confirms the request to execute a SIM command \details */ + CI_SIM_PRIM_DEVICE_IND , /**< \brief Indicates that the current SIM status changed \details */ + CI_SIM_PRIM_PERSONALIZEME_REQ , /**< \brief Requests that ME personalization be activated , deactivated , disabled , or queried \details */ + CI_SIM_PRIM_PERSONALIZEME_CNF , /**< \brief Confirms the request to activate , deactivate , disable , or query ME personalization \details */ + CI_SIM_PRIM_OPERCHV_REQ , /**< \brief Requests that CHVs be verified , enabled , disabled , changed , unblocked , or queried \details */ + CI_SIM_PRIM_OPERCHV_CNF , /**< \brief Confirms the request to verify , enable , disable , change , unblock , or query CHVs \details */ + CI_SIM_PRIM_DOWNLOADPROFILE_REQ , /**< \brief Requests a download of the profile that shows ME capabilities relevant to SIM Application Toolkit functionality \details The functionality of this primitive is equivalent to using the SIM command TERMINAL PROFILE in the CI_SIM_PRIM_EXECCMD_REQ primitive. + * This primitive saves upper layer effort to build a header for the Terminal Profile SIM command. + * If the pProfile pointer is NULL for this request , the communications interface assumes that the application layer does not support + * SIM Application Toolkit operations. */ + CI_SIM_PRIM_DOWNLOADPROFILE_CNF , /**< \brief Confirms the request to download the profile that shows ME capabilities relevant to SIM Application Toolkit functionality \details */ + CI_SIM_PRIM_ENDATSESSION_IND , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_SIM_PRIM_PROACTIVE_CMD_IND , /**< \brief Indicates a SIMAT proactive command \details This primitive forwards the SIMAT proactive command with its original syntax. The primitive CI_SIM_PRIM_ENABLE_SIMAT_INDS_REQ enables and disables proactive command indication. */ + CI_SIM_PRIM_PROACTIVE_CMD_RSP , /**< \brief Responds to the SIMAT proactive command \details The primitive forwards a SIMAT proactive command response from the entity , such as DISPLAY or TERMINAL , that received the proactive command. */ + CI_SIM_PRIM_ENVELOPE_CMD_REQ , /**< \brief Requests that an ENVELOPE command be executed \details */ + CI_SIM_PRIM_ENVELOPE_CMD_CNF , /**< \brief Confirms the request to execute an ENVELOPE command \details */ + CI_SIM_PRIM_GET_SUBSCRIBER_ID_REQ , /**< \brief Requests the subscriber ID \details */ + CI_SIM_PRIM_GET_SUBSCRIBER_ID_CNF , /**< \brief Confirms the request for the subscriber ID \details */ + CI_SIM_PRIM_GET_PIN_STATE_REQ , /**< \brief Requests the current PIN state \details */ + CI_SIM_PRIM_GET_PIN_STATE_CNF , /**< \brief Confirms the request for the current PIN state \details */ + CI_SIM_PRIM_GET_TERMINALPROFILE_REQ , /**< \brief Requests the SIMAT terminal profile \details */ + CI_SIM_PRIM_GET_TERMINALPROFILE_CNF , /**< \brief Confirms the request and returns the SIMAT terminal profile \details */ + CI_SIM_PRIM_ENABLE_SIMAT_INDS_REQ , /**< \brief Requests that SIMAT related indications , such as the proactive SIM command indication and the SIMAT session ended indication , be enabled or disabled \details */ + CI_SIM_PRIM_ENABLE_SIMAT_INDS_CNF , /**< \brief Confirms the request to enable or disable SIMAT related indications \details */ + CI_SIM_PRIM_LOCK_FACILITY_REQ , /**< \brief Requests to lock , unlock , or query SIM-related ME \details */ + CI_SIM_PRIM_LOCK_FACILITY_CNF , /**< \brief Confirms a request to lock , unlock , or query SIM-related ME \details */ + CI_SIM_PRIM_GET_FACILITY_CAP_REQ , /**< \brief Requests the bitmask of supported SIM-related facility codes \details */ + CI_SIM_PRIM_GET_FACILITY_CAP_CNF , /**< \brief Confirms the request for the bitmask of supported SIM-related facility codes \details */ + CI_SIM_PRIM_GET_SIMAT_NOTIFY_CAP_REQ , /**< \brief Requests SIM Application Toolkit ( SIMAT ) notification capability information. \details */ + CI_SIM_PRIM_GET_SIMAT_NOTIFY_CAP_CNF , /**< \brief Confirms the request for SIM Application Toolkit ( SIMAT ) notification capability information \details */ + CI_SIM_PRIM_GET_CALL_SETUP_ACK_IND , /**< \brief Indicates that the SIM Application Toolkit ( SIMAT ) has initiated an outgoing CALL SETUP operation , and requests confirmation / acknowledgment from the mobile user \details The application returns the required acknowledgment in a CI_SIM_PRIM_GET_CALL_SETUP_ACK_RSP response. */ + CI_SIM_PRIM_GET_CALL_SETUP_ACK_RSP , /**< \brief Responds with an acknowledgment from the mobile user for an outgoing CALL SETUP indication \details The mobile user may accept ( allow ) or reject ( disallow ) the SIMAT initiated CALL SETUP operation. + * If the user allows the CALL SETUP , it proceeds. If the user disallows the CALL SETUP , it is aborted. + * If the CALL SETUP is allowed to proceed , the MO call progression is managed by the normal call control procedures. See the + * CI CC Service Group API definition for more information. */ + + /* service provider name */ + CI_SIM_PRIM_GET_SERVICE_PROVIDER_NAME_REQ , /**< \brief Requests the service provider name , as stored on SIM or USIM \details The PIN status is not required to read this information. */ + CI_SIM_PRIM_GET_SERVICE_PROVIDER_NAME_CNF , /**< \brief Confirms the request to get the service provider name , as stored on SIM or USIM \details The service provider name is coded as 7 -bit GSM characters , with the most-significant bit of each character set to zero. + * The service provider name pointer is NULL if the result code indicates an error. */ + + /* Message Waiting Information */ + CI_SIM_PRIM_GET_MESSAGE_WAITING_INFO_REQ , /**< \brief Requests to get message waiting information stored on SIM or USIM \details The PIN status is required to read this information. */ + CI_SIM_PRIM_GET_MESSAGE_WAITING_INFO_CNF , /**< \brief Confirms the request to get message waiting information stored on SIM or USIM \details If the result code indicates an error , the message waiting status information is not useful. + * There is a difference between the message categories defined for 2 G and 3 G SIM storage. This is rationalized by the CCI implementation. */ + CI_SIM_PRIM_SET_MESSAGE_WAITING_INFO_REQ , /**< \brief Requests to set message waiting information on SIM or USIM \details Requires PIN status to write this information. There is a difference between the message categories defined for 2 G and 3 G SIM storage. This is rationalized by the CCI implementation. */ + CI_SIM_PRIM_SET_MESSAGE_WAITING_INFO_CNF , /**< \brief Confirms a request to set the message waiting information on SIM or USIM \details */ + + /* SIM Service Table */ + CI_SIM_PRIM_GET_SIM_SERVICE_TABLE_REQ , /**< \brief Requests to get the SIM Service Table from SIM or USIM \details The PIN status is required to read this information. If CPHS features are not supported by the handset , this information is unavailable. */ + CI_SIM_PRIM_GET_SIM_SERVICE_TABLE_CNF , /**< \brief Confirms the request to get the SIM Service Table from SIM or USIM \details If CPHS features are not supported by the handset , this information is unavailable. */ + + /* CPHS Customer Service Profile */ + CI_SIM_PRIM_GET_CUSTOMER_SERVICE_PROFILE_REQ , /**< \brief Requests to get the CPHS customer service profile from SIM or USIM \details The PIN status is required to read this information. If CPHS features are not supported by the handset , this information is unavailable. */ + CI_SIM_PRIM_GET_CUSTOMER_SERVICE_PROFILE_CNF , /**< \brief Confirms the request and returns the CPHS customer service profile from SIM or USIM. \details If CPHS features are not supported by the handset , this information is unavailable. */ + + /* Display Alpha and Icon Identifiers */ + CI_SIM_PRIM_SIMAT_DISPLAY_INFO_IND , /**< \brief Indicates to the application that text and optionally an icon should be displayed. + * The text to be displayed results from a SAT transaction such as SS , SMS , USSD , SS , or send DTMF. \details */ + + /* Default Language */ + CI_SIM_PRIM_GET_DEFAULT_LANGUAGE_REQ , /**< \brief Requests the default language stored on the SIM / USIM card \details */ + CI_SIM_PRIM_GET_DEFAULT_LANGUAGE_CNF , /**< \brief Confirms the request to get the default language stored on the SIM / USIM card and returns the first entry in the EF_LP file \details Extract from ETSI TS 102.221000 : " the language code is a pair of alphanumeric characters , as defined in ISO 639 [ 30 ] . + * Each alphanumeric character shall be coded on one byte using the SMS default 7 -bit coded alphabet as defined in TS 23.038000 + * ( " Man-machine Interface ( MMI ) of the User Equipment " , revision 3.400000 .0 , Doc Number 3 GPP TS 22.030000 ) + * with bit 8 set to 0 . " . ' FF FF ' means undefined default language. */ + + /* Generic SIM commands */ + CI_SIM_PRIM_GENERIC_CMD_REQ , /**< \brief Requests to send a generic command to the SIM / USIM card + * \details The request reflects the structure of a SIM application protocol data unit ( APDU ) , + * as defined in ETSI 102.221000 . The ' class of instruction ' element is not controlled by the user , comm. use class 0x0 or 0xa depending on the command. + * Note that updating a file using this command only updates the file on the SIM ; it does not trigger a REFRESH of the ME memory. */ + CI_SIM_PRIM_GENERIC_CMD_CNF , /**< \brief Confirms a request to send a generic command to the SIM or USIM \details */ + + /* Indication of card type , status and PIN state */ + CI_SIM_PRIM_CARD_IND , /**< \brief Indicates that the current SIM / USIM status changed \details This indication is sent each time CI_SIM_PRIM_DEVICE_IND is sent. */ + + CI_SIM_PRIM_IS_EMERGENCY_NUMBER_REQ , /**< \brief Requests to determine if the specified dial number is an emergency call code \details */ + CI_SIM_PRIM_IS_EMERGENCY_NUMBER_CNF , /**< \brief Confirms the request to determine if the specified number is an emergency call code \details If a SIM card is present , the EF_ECC SIM card file is searched for the specified number. If a SIM card is not present , a default table of possible emergency call codes is searched for the specified number , as per TS 22.101000 . */ + + CI_SIM_PRIM_SIM_OWNED_IND , /**< \brief Indicates whether the SIM is owned + * \details This indication is sent each time a SIM-OK notification is received + * from the protocol stack and indicates that the SIM card can be accessed. SIM owned is TRUE if the IMSI did not change + * since the last SIM-OK notification. */ + CI_SIM_PRIM_SIM_CHANGED_IND , /**< \brief Indicates whether the IMSI on the current SIM has changed + * \details This indication is sent each time a SIM-OK notification is received + * from the protocol stack. */ + CI_SIM_PRIM_DEVICE_STATUS_REQ , /**< \brief Requests SIM status \details */ + CI_SIM_PRIM_DEVICE_STATUS_CNF , /**< \brief Confirms the request for the current SIM status \details */ + CI_SIM_PRIM_READ_MEP_CODES_REQ , /**< \brief Requests the MEP codes for a specified category \details This operation does not require a password.*/ + CI_SIM_PRIM_READ_MEP_CODES_CNF , /**< \brief Confirms the request and returns the MEP codes for the specified category \details */ + CI_SIM_PRIM_UDP_LOCK_REQ , /**< \brief Requests an activate , deactivate , or query UDP lock \details An operation can be done on only one category at a time. A password is required for an unlock operation. */ + CI_SIM_PRIM_UDP_LOCK_CNF , /**< \brief Confirms the UDP lock request \details */ + CI_SIM_PRIM_UDP_CHANGE_PASSWORD_REQ , /**< \brief Requests to set a new password for a UDP lock \details */ + CI_SIM_PRIM_UDP_CHANGE_PASSWORD_CNF , /**< \brief Confirms the request to set a new password for a UDP lock \details */ + CI_SIM_PRIM_UDP_ASL_REQ , /**< \brief Requests to manipulate the UDP authorized SIM list \details */ + CI_SIM_PRIM_UDP_ASL_CNF , /**< \brief Confirms the request to manipulate the UDP authorized SIM list \details */ + /* Michal Bukai - Virtual SIM support - START */ + CI_SIM_PRIM_SET_VSIM_REQ , /**< \brief Requests to enable virtual SIM + * \details Virtual SIM can be enabled if no SIM is inserted. + * An error is sent if the user tried to enable virtual SIM while a SIM is inserted. + * The application needs to reset the communication subsystem after receiving a confirmation. */ + CI_SIM_PRIM_SET_VSIM_CNF , /**< \brief Confirms setting virtual SIM + * \details Virtual SIM can be enabled if no SIM is inserted. + * An error is sent if the user tried to enable virtual SIM while a SIM is inserted. + * The application needs to reset the communication subsystem after receiving a confirmation. */ + CI_SIM_PRIM_GET_VSIM_REQ , /**< \brief Requests the current setting of the virtual SIM ( enabled / disabled ) \details*/ + CI_SIM_PRIM_GET_VSIM_CNF , /**< \brief Confirms the request and returns the current setting of the virtual SIM ( enabled / disabled ) \details*/ + /* Michal Bukai - Virtual SIM support - END */ + /*Michal Bukai - OTA support for AT&T - START*/ + CI_SIM_PRIM_CHECK_MMI_STATE_IND , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_SIM_PRIM_CHECK_MMI_STATE_RSP , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + /*Michal Bukai - OTA support for AT&T - END*/ + /*Michal Bukai - BT SAP support - START*/ + CI_SIM_PRIM_BTSAP_CONNECT_REQ , /**< \brief Requests to start a BT SAP session \details */ + CI_SIM_PRIM_BTSAP_CONNECT_CNF , /**< \brief Confirms the request to start a BT SAP session \details */ + CI_SIM_PRIM_BTSAP_DISCONNECT_REQ , /**< \brief Requests to disconnect from a BT SAP session \details */ + CI_SIM_PRIM_BTSAP_DISCONNECT_CNF , /**< \brief Confirms the request to disconnect from a BT SAP session \details */ + CI_SIM_PRIM_BTSAP_TRANSFER_APDU_REQ , /**< \brief Requests to transfer APDU to the SIM / USIM \details */ + CI_SIM_PRIM_BTSAP_TRANSFER_APDU_CNF , /**< \brief Confirms the request to transfer APDU to the SIM / USIM and may return a response APDU from the SIM / USIM \details */ + CI_SIM_PRIM_BTSAP_TRANSFER_ATR_REQ , /**< \brief Requests to get Answer To Reset data from SIM / USIM \details */ + CI_SIM_PRIM_BTSAP_TRANSFER_ATR_CNF , /**< \brief Confirms the request to get Answer To Reset data from SIM / USIM \details */ + CI_SIM_PRIM_BTSAP_SIM_CONTROL_REQ , /**< \brief Requests to control SIM / USIM status , this command can be used to power off , power on or reset the SIM / USIM \details */ + CI_SIM_PRIM_BTSAP_SIM_CONTROL_CNF , /**< \brief Confirms the SIM control request \details */ + CI_SIM_PRIM_BTSAP_STATUS_IND , /**< \brief indicates a change in the availably of the subscription module during BT SAP connection \details */ + CI_SIM_PRIM_BTSAP_STATUS_REQ , /**< \brief Requests the subscription module availability status during BT SAP connection \details */ + CI_SIM_PRIM_BTSAP_STATUS_CNF , /**< \brief Confirms the request and returns the status of the subscription module during BT SAP connection \details */ + CI_SIM_PRIM_BTSAP_SET_TRANSPORT_PROTOCOL_REQ , /**< \brief Requests to set transport protocol \details */ + CI_SIM_PRIM_BTSAP_SET_TRANSPORT_PROTOCOL_CNF , /**< \brief Confirms the request to set transport protocol \details */ + /*Michal Bukai - BT SAP support - END*/ + /*Michal Bukai - Add IMSI to MEP code group - START*/ + CI_SIM_PRIM_MEP_ADD_IMSI_REQ , /**< \brief Requests to add the current IMSI to MEP SIM / USIM code group + * \details This operation requires a password. + * This operation requires that SIM / USIM personalization is deactivated.*/ + CI_SIM_PRIM_MEP_ADD_IMSI_CNF , /**< \brief Confirms the request to add the current IMSI to MEP SIM / USIM code group. \details */ + /*Michal Bukai - Add IMSI to MEP code group - END*/ + /*Michal Bukai - SIM Logic CH - NFC\ISIM support - START*/ + CI_SIM_PRIM_OPEN_LOGICAL_CHANNEL_REQ , /**< \brief Requests to open a logical channel that will be used to access the UICC application identified by DFname. \details The UICC will open a new logical channel ; select the application identified by the DFname , and return a session ID that will be used to identify the new channel.*/ + CI_SIM_PRIM_OPEN_LOGICAL_CHANNEL_CNF , /**< \brief Confirms the request to open a logical channel and returns the session ID. \details */ + CI_SIM_PRIM_CLOSE_LOGICAL_CHANNEL_REQ , /**< \brief Requests to close a logical channel. \details */ + CI_SIM_PRIM_CLOSE_LOGICAL_CHANNEL_CNF , /**< \brief Confirms the request to close a logical channel. \details */ + /*Michal Bukai - SIM Logic CH - NFC\ISIM support support - END*/ + /*Michal Bukai - additional SIMAT primitives - START*/ + CI_SIM_PRIM_SIMAT_CC_STATUS_IND , /**< \brief Indicates the SIM Application Toolkit ( SIMAT ) call control status response + * \details If call control service in SIMAT is activated , all dialled digit strings , supplementary service control strings and USSD strings are passed to the UICC before the call setup request , + * the supplementary service operation or the USSD operation is sent to the network. + * The SIMAT has the ability to allow , bar or modify the request. + * In addition SIMAT has the ability to replace the request by another operation , for instance call request may be replaced by SS or USSD operation. + */ + CI_SIM_PRIM_SIMAT_SEND_CALL_SETUP_RSP_IND , /**< \brief Indicates the response sent to SIM Application Toolkit ( SIMAT ) after call setup. \details */ + CI_SIM_PRIM_SIMAT_SEND_SS_USSD_RSP_IND , /**< \brief Indicates the response sent to SIM Application Toolkit ( SIMAT ) after SS or USSD operation. \details */ + CI_SIM_PRIM_SIMAT_SM_CONTROL_STATUS_IND , /**< \brief Indicates the SIM Application Toolkit ( SIMAT ) short message control status response. + \details If SM control service in SIMAT is activated , all MO short messages are passed to the UICC before the short message is sent to the network. + * The SIMAT has the ability to allow , bar or modify the destination address. + */ + CI_SIM_PRIM_SIMAT_SEND_SM_RSP_IND , /**< \brief Indicates the response sent to SIM Application Toolkit ( SIMAT ) after SM operation. \details */ + /*Michal Bukai - additional SIMAT primitives - END*/ + + /*Michal Bukai - RSAP support - START*/ + CI_SIM_PRIM_RSAP_CONN_REQ_IND , /**< \brief Request to connect to a remote SIM received from the protocol stack \details */ + CI_SIM_PRIM_RSAP_CONN_REQ_RSP , /**< \Response to protocol stack request to connect to a remote SIM \details */ + CI_SIM_PRIM_RSAP_STAT_REQ , /**< \brief Request received from a SAP conversion module to update the RSAP card status. + * \details This request is actually an indication from a remote SAP conversion module indicating a status change in the remote connection or card status */ + CI_SIM_PRIM_RSAP_STAT_CNF , /**< \brief Confirms that the update of the remote card status was received by the protocol stack \details */ + CI_SIM_PRIM_RSAP_DISCONN_REQ_IND , /**< \brief Request to disconnect from a remote SIM received from the protocol stack \details */ + CI_SIM_PRIM_RSAP_DISCONN_REQ_RSP , /**< \Response to protocol stack request to disconnect from a remote SIM \details */ + CI_SIM_PRIM_RSAP_GET_ATR_IND , /**< \brief Request to get ATR from a remote SIM received from the protocol stack \details */ + CI_SIM_PRIM_RSAP_GET_ATR_RSP , /**< \brief Response from a remote SIM with the ATR APDU \details */ + CI_SIM_PRIM_RSAP_GET_STATUS_REQ_IND , /**< \brief Request from the protocol stack to get the RSAP connection status. + * \details The request is answered by CI_SIM_PRIM_RSAP_CONN_STAT_REQ */ + + CI_SIM_PRIM_RSAP_SET_TRAN_P_REQ_IND , /**< \brief Request from the protocol stack to change the transport protocol of the remote SIM \details */ + CI_SIM_PRIM_RSAP_SET_TRAN_P_REQ_RSP , /**< \brief Response to a protocol stack request to change the transport protocol of the remote SIM. + * \details If the requested transport protocol is supported by the remote SIM and by the SAP conversion module , + * the requested transport protocol is selected and the remote SIM is reset. If the requested transport protocol is not supported , + * SIM status is changed to CARD_NOT_ACC. The request is followed by CI_SIM_PRIM_RSAP_CONN_STAT_REQ , which indicates the new remote SIM status.*/ + CI_SIM_PRIM_RSAP_SIM_CONTROL_REQ_IND , /**< \brief Request from the protocol stack to control the remote SIM status. + * \details This command can be used to power off , power on , or reset the remote SIM */ + CI_SIM_PRIM_RSAP_SIM_CONTROL_REQ_RSP , /**< \brief Response to a protocol stack request to control the remote SIM status. + * \details The response is followed by CI_SIM_PRIM_RSAP_CONN_STAT_REQ , which indicates the new status of the remote SIM.*/ + CI_SIM_PRIM_RSAP_SIM_SELECT_REQ , /**< \brief Request to select the local or remote SIM \details */ + CI_SIM_PRIM_RSAP_SIM_SELECT_CNF , /**< \brief Confirms the request to select the local or remote SIM \details */ + CI_SIM_PRIM_RSAP_STATUS_IND , /**< \brief Indicates that the current SIM / USIM status changed during RSAP connection \details */ + CI_SIM_PRIM_RSAP_TRANSFER_APDU_IND , /**< \brief Request from the protocol stack to transfer APDU to the remote SIM \details */ + CI_SIM_PRIM_RSAP_TRANSFER_APDU_RSP , /**< \brief Request from the protocol stack to transfer APDU to the remote SIM. + * \details A response APDU is returned if the transfer of APDU is successful.*/ + /*Michal Bukai - RSAP support - END*/ + + CI_SIM_PRIM_DEVICE_RSP , /**< \brief Response to CI_SIM_PRIM_DEVICE_RSP. + * \details This response is confirms that the CI_SIM_PRIM_DEVICE_RSP has been received and handled. Specially the SIM clock stop level. This indicates the Comm that D2 can be enabled on SIM driver level.*/ + // ICC ID feature + CI_SIM_PRIM_ICCID_IND , /**< \brief Indicates the content of the EF-ICCID file. This indication is sent at init. The EF-ICCID can be accessed even if PIN is required.*/ + CI_SIM_PRIM_GET_ICCID_REQ , /**< \brief Request to get the content of the EF-ICCID file. Can be sent if ICC is ready. + * \details Can be sent when the SIM state is CI_SIM_ST_READY or CI_SIM_ST_INSERTED. Otherwise the request will fail.*/ + + CI_SIM_PRIM_GET_ICCID_CNF , /**< \brief Confirmation with the ICC id to the request to get the ICC Id.*/ + // ICC ID feature + CI_SIM_PRIM_EAP_AUTHENTICATION_REQ , /**< \brief Requests to exchange EAP packets with the UICC. */ + CI_SIM_PRIM_EAP_AUTHENTICATION_CNF , /**< \brief Confirms the EAP authentication request and returns the authentication response */ + + CI_SIM_EAP_RETRIEVE_PARAMETERS_REQ , /**< \brief Requests to retrieve EAP parameters from the UICC. */ + CI_SIM_EAP_RETRIEVE_PARAMETERS_CNF , /**< \brief Confirms the request to retrieve EAP parameters and returns the contents of the + * \elementary file corresponding to requested parameter.*/ + + CI_SIM_PRIM_GET_NUM_UICC_APPLICATIONS_REQ , /**< \brief Requests to get number of applications available on the UICC. */ + CI_SIM_PRIM_GET_NUM_UICC_APPLICATIONS_CNF , /**< \brief Confirms the request to get number of applications available on the UICC. */ + + CI_SIM_PRIM_GET_UICC_APPLICATIONS_INFO_REQ , /**< \brief Requests to get list of applications available on the UICC. */ + CI_SIM_PRIM_GET_UICC_APPLICATIONS_INFO_CNF , /**< \brief Confirms the request to get list of applications available on the UICC. */ + /* ADD NEW COMMON PRIMITIVES HERE , BEFORE ' CI_SIM_PRIM_LAST_COMMON_PRIM ' */ + /*2013.12.11 , added by Xili for CQ00051618 , begin*/ + CI_SIM_PRIM_ISIM_AID_IND , /**< \brief Indicates the content of the ISIM Aid. This indication is sent at init if it had one. */ + /*2013.12.11 , added by Xili for CQ00051618 , end*/ + + /* Add by jungle for CQ00057999 on 2014 -04-02 Begin */ + CI_SIM_PRIM_APP_PIN_REQ , + CI_SIM_PRIM_APP_PIN_CNF , + /* Add by jungle for CQ00057999 on 2014 -04-02 End*/ + + /*2014.05.08 , added by Xili for CQ00060947 , begin*/ + CI_SIM_PRIM_ADMIN_DATA_IND , + /*2014.05.08 , added by Xili for CQ00060947 , end*/ + + /*2015.03.19 , mod by Xili for adding ECC list indication , CQ00088196 begin*/ + CI_SIM_PRIM_ECC_LIST_IND , + /*2015.03.19 , mod by Xili for adding ECC list indication , CQ00088196 end*/ + + /* Mod by jungle for CQ00089692 on 2015 -04-08 Begin */ + CI_SIM_PRIM_EXEC_LARGE_CMD_CNF , + CI_SIM_PRIM_GENERIC_LARGE_CMD_CNF , + /* Mod by jungle for CQ00089692 on 2015 -04-08 End */ + + /*CQ00113882 , Cgliu , 2019 -02-26 , Begin*/ + CI_SIM_PRIM_UPDATE_COUNT_REQ , + CI_SIM_PRIM_UPDATE_COUNT_CNF , + /*CQ00113882 , Cgliu , 2019 -02-26 , End */ + /*CQ00116569 , Cgliu , 2019 -10-15 , Begin*/ + /*Add *SIMPOLL command...*/ + CI_SIM_PRIM_SET_POLL_REQ , + CI_SIM_PRIM_SET_POLL_CNF , + CI_SIM_PRIM_GET_POLL_REQ , + CI_SIM_PRIM_GET_POLL_CNF , + /*CQ00116569 , Cgliu , 2019 -10-15 , End */ + + /* END OF COMMON PRIMITIVES LIST */ + CI_SIM_PRIM_LAST_COMMON_PRIM + + /* The customer specific extension primitives are added starting from + * CI_SIM_PRIM_firstCustPrim = CI_SIM_PRIM_LAST_COMMON_PRIM as the first identifier. + * The actual primitive names and IDs are defined in the associated + * ' ci_sim_cust_xxx.h ' file. + */ + + /* DO NOT ADD ANY MORE PRIMITIVES HERE */ + + } _CiSimPrim; + +//ICAT EXPORTED STRUCT + typedef struct CiSimCmdReq_Struct { + UINT16 len ; /**< Length of SIM command [ 5 -CI_SIM_MAX_CMD_DATA_SIZE ] */ + UINT8 data [ 261 ] ; /**< SIM command data. The format is according to 3 GPP TS 11.110000 , v8.6.0 , 9 . */ + } CiSimCmdReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMepPassword_struct { + UINT8 len ; /* length of the password , [ CI_MIN_PASSWORD_LENGTH - CI_MAX_PASSWORD_LENGTH ] */ + + UINT8 data [ 32 ] ; + + } CiMepPassword; + +//ICAT EXPORTED STRUCT + typedef struct CiSimCmdRsp_Struct { + UINT16 len ; /**< Length of the SIM response , [ 2 -CI_SIM_MAX_CMD_DATA_SIZE ] */ + UINT8 data [ 261 ] ; /**< SIM response. The format is according to 3 GPP TS 11.110000 , v8.6.0 , 9 . */ + } CiSimCmdRsp; + +//ICAT EXPORTED STRUCT + typedef struct CiSimLargeCmdRsp_Struct { + UINT16 len ; + UINT8 data [ 2050 ] ; + } CiSimLargeCmdRsp; + +//ICAT EXPORTED ENUM + typedef enum CISIMSTATUS_TAG { + CI_SIM_ST_READY = 0 , /**< SIM is initialized / validated and can be accessed. */ + CI_SIM_ST_NOT_READY , /**< SIM is not inserted or has not been successfully initialized / validated. */ + + CI_SIM_ST_INSERTED , /**< SIM is inserted and is being initialized / validated. */ + CI_SIM_ST_ERROR , /**< SIM is inserted , but frame error happens */ + + CI_SIM_ST_SIM_PRESENT , /**< SIM1 / 2 is inserted , specially only for SIM2 detect first */ + CI_SIM_ST_SIM_ABSENT , /**< SIM1 / 2 is not inserted , specially only for SIM2 detect first */ + + CI_SIM_NUM_STATUSES + } _CiSimStatus; + +typedef UINT8 CiSimStatus ; +//ICAT EXPORTED ENUM + typedef enum CISIMPINSTATE_TAG { + CI_SIM_PIN_ST_READY , /**< SIM is ready */ + + CI_SIM_PIN_ST_CHV1_REQUIRED , /**< SIM is locked ; waiting for a CHV1 password */ + CI_SIM_PIN_ST_CHV2_REQUIRED , /**< SIM is locked ; waiting for a CHV2 password */ + CI_SIM_PIN_ST_UNBLOCK_CHV1_REQUIRED , /**< SIM is blocked ; CHV1 unblocking password is required */ + CI_SIM_PIN_ST_UNBLOCK_CHV2_REQUIRED , /**< SIM is blocked ; CHV2 unblocking password is required */ + + /* Note: the ' **CK ' states are not fully supported at this time */ + CI_SIM_PIN_ST_PCK_REQUIRED , /**< SIM is locked due to a SIM / USIM personalization check failure. + * SIM is waiting for a PCK control key to deactivate SIM / USIM personalization. */ + CI_SIM_PIN_ST_NCK_REQUIRED , /**< SIM is locked due to a network personalization check failure. + * SIM is waiting for a NCK control key to deactivate network personalization. */ + CI_SIM_PIN_ST_NSCK_REQUIRED , /**< SIM is locked due to a network subset personalization check failure. + * SIM is waiting for a NSCK control key to deactivate network subset personalization. */ + CI_SIM_PIN_ST_SPCK_REQUIRED , /**< SIM is locked due to a service provider personalization check failure. + * SIM is waiting for a SPCK control key to deactivate service provider personalization. */ + CI_SIM_PIN_ST_CCK_REQUIRED , /**< SIM is locked due to a corporate personalization check failure. + * SIM is waiting for a CCK control key to deactivate corporate personalization. */ + CI_SIM_PIN_ST_UNBLOCK_PCK_REQUIRED , /**< SIM is blocked due to an incorrect PCK ; an MEP unblocking password is required. */ + CI_SIM_PIN_ST_UNBLOCK_NCK_REQUIRED , /**< SIM is blocked due to an incorrect NCK ; an MEP unblocking password is required. */ + CI_SIM_PIN_ST_UNBLOCK_NSCK_REQUIRED , /**< SIM is blocked due to an incorrect NSCK ; an MEP unblocking password is required. */ + CI_SIM_PIN_ST_UNBLOCK_SPCK_REQUIRED , /**< SIM is blocked due to an incorrect SPCK ; an MEP unblocking password is required. */ + CI_SIM_PIN_ST_UNBLOCK_CCK_REQUIRED , /**< SIM is blocked due to an incorrect CCK ; an MEP unblocking password is required. */ + + /* note , according to 3 GPP TS 22.022000 , v3.4.0 , there is no standard way to unblock a locked */ + /* personalization key */ + + /* Note: the ' HIDDENKEY ' states are not supported at this time */ + CI_SIM_PIN_ST_HIDDENKEY_REQUIRED , /**< Expecting key for hidden phone book entries */ + CI_SIM_PIN_ST_UNBLOCK_HIDDENKEY_REQUIRED , /**< Expecting code to unblock the hidden key */ + + CI_SIM_PIN_ST_UNIVERSALPIN_REQUIRED , /**< Expecting the universal PIN */ + CI_SIM_PIN_ST_UNBLOCK_UNIVERSALPIN_REQUIRED , /**< Expecting code to unblock the universal PIN */ + + CI_SIM_PIN_ST_CHV1_BLOCKED , /**< Use of CHV1 is blocked */ + CI_SIM_PIN_ST_CHV2_BLOCKED , /**< Use of CHV2 is blocked */ + CI_SIM_PIN_ST_UNIVERSALPIN_BLOCKED , /**< Use of the universal PIN is blocked */ + CI_SIM_PIN_ST_UNBLOCK_CHV1_BLOCKED , /**< Use of code to unblock the CHV1 is blocked */ + CI_SIM_PIN_ST_UNBLOCK_CHV2_BLOCKED , /**< Use of code to unblock the CHV2 is blocked */ + CI_SIM_PIN_ST_UNBLOCK_UNIVERSALPIN_BLOCKED , /**< Use of code to unblock the universal PIN is blocked */ + + CI_SIM_PIN_ST_NETWORK_REJECTED , /**< SIM was rejected by the network. See GSM 3.220000 for possible reasons of network rejection. For example , IMSI is unknown in + * the HLR or the IMSI is on the blacklist. */ + CI_SIM_PIN_ST_WAIT_INITIALISATION , /**< SIM is being initialized ; waiting for completion */ + CI_SIM_PIN_ST_INIT_FAILED , /**< SIM initialization failed */ + CI_SIM_PIN_ST_REMOVED , /**< SIM was removed */ + CI_SIM_PIN_ST_WRONG_SIM , /**< SIM was inserted but was not accepted by the protocol stack */ + CI_SIM_PIN_ST_GENERAL_ERROR , /**< SIM access encountered a serious error */ + CI_SIM_PIN_ST_MEP_ERROR , /**< Error in checking or accessing ME personalization data */ + CI_SIM_PIN_ST_UDP_ERROR , /**< Error in checking or accessing UDP personalization data */ + CI_SIM_PIN_ST_CPHS_ERROR , /**< Error in accessing CPHS data */ + CI_SIM_PIN_ST_EMPTY_ESIM , /**< SIM is being initialized , but empty eSIM */ + + CI_SIM_PIN_NUM_STATES + } _CiSimPinState; + +typedef UINT8 CiSimPinState ; +//ICAT EXPORTED ENUM + typedef enum CISIMRC_TAG { + CIRC_SIM_OK = 0 , /**< Success */ + CIRC_SIM_FAILURE , /**< CME 13 - SIM failure */ + CIRC_SIM_MEM_PROBLEM , /**< CME 23 - Memory problem */ + CIRC_SIM_SIMAT_BUSY , /**< CME 14 - SIMAT busy */ + CIRC_SIM_INFO_UNAVAILABLE , /**< CME 100 - Requested information is unavailable */ + CIRC_SIM_NOT_INSERTED , /**< CME 10 - SIM not inserted */ + CIRC_SIM_PIN_REQUIRED , /**< CME 11 - SIM PIN ( CHV1 ) required */ + CIRC_SIM_PUK_REQUIRED , /**< CME 12 - SIM PUK required */ + CIRC_SIM_BUSY , /**< CME 14 - SIM busy */ + CIRC_SIM_WRONG , /**< CME 15 - SIM wrong */ + CIRC_SIM_INCORRECT_PASSWORD , /**< CME 16 - Incorrect password */ + CIRC_SIM_PIN2_REQUIRED , /**< CME 17 - SIM PIN2 ( CHV2 ) required */ + CIRC_SIM_PUK2_REQUIRED , /**< CME 18 - SIM PUK2 required */ + CIRC_SIM_OPERATION_NOT_ALLOWED , /**< CME 3 - Operation not allowed */ + CIRC_SIM_MEMORY_FULL , /**< CME 20 - Memory full */ + CIRC_SIM_UNKNOWN , /**< CME 100 - General error */ + CIRC_SIM_PERSONALISATION_DISABLED , /**< CME 3 - Operation failed since personalization is disabled */ + CIRC_SIM_PERSONALISATION_BLOCKED , /**< CME 41 , CME 43 , CME 45 or CME 47 - Operation failed since personalization is blocked */ + CIRC_SIM_PERSONALISATION_UNKNOWN , /**< CME 100 - Operation failed since personalization database is not available */ + CIRC_SIM_PERSONALISATION_NOT_SUPPORTED , /**< CME 4 - Operation failed since personalization is not supported */ + CI_SIM_BTSAP_RC_ERR_CARD_NOT_ACC , /**< Error , card not accessible */ + CI_SIM_BTSAP_RC_ERR_CARD_POWERED_OFF , /**< Error , card ( already ) powered off */ + CI_SIM_BTSAP_RC_ERR_CARD_REMOVED , /**< Error , card removed */ + CI_SIM_BTSAP_RC_ERR_CARD_POWERED_ON , /**< Error , card ( already ) powered on */ + CI_SIM_BTSAP_RC_ERR_DATA_NOT_AVAILABLE , /**< Error , data not available */ + CI_SIM_BTSAP_RC_ERR_NOT_SUPPORTED , /**< Error , not supported */ + CIRC_SIM_INVALID_PARAMETER , /**< Generic error - the requested service primitive has invalid parameters */ + CIRC_SIM_INVALID_REQ , /**< Generic error - the requested service primitive can not be handled at current state */ + CIRC_SIM_SIM_NOT_READY , /**< Generic error - the requested service primitive fails because SIM is not ready */ + CIRC_SIM_ACCESS_DENIED , /**< Generic error - the requested service primitive fails because access is denied */ + CIRC_SIM_LONG_STR , /**< Generic error - the requested service primitive has an invalid parameter with string too long */ + + + CIRC_SIM_NUM_RESCODES + } _CiSimRc; + +typedef UINT16 CiSimRc ; +//ICAT EXPORTED ENUM + typedef enum CISIMMMISTATE_TAG { + CI_SIM_MMI_IDLE = 0 , /**< MMI is in idle screen and user did not enter any keys */ + CI_SIM_MMI_BUSY , /**< There is an acitve menu or the user entered keys on the idle screen */ + + CI_SIM_MMI_NUM_STATE + } _CiSimMMIState; + +typedef UINT8 CiSimMMIState ; +//ICAT EXPORTED ENUM + typedef enum CISIMCHVNO_TAG { + CI_SIM_CHV_1 = 1 , /**< CHV1 */ + CI_SIM_CHV_2 , /**< CHV2 */ + + CI_SIM_CHV_NEXT_FREE + } _CiSimChvNo; + +typedef UINT8 CiSimChvNo ; +//ICAT EXPORTED ENUM + typedef enum CISIMCHVOPER_TAG { + CI_SIM_CHV_VERIFY = 0 , /**< Verify CHV value */ + CI_SIM_CHV_CHANGE , /**< Change CHV value */ + CI_SIM_CHV_DISABLE , /**< Disable the need for CHV verification , only applied to CHV1 */ + CI_SIM_CHV_ENABLE , /**< Enable the need for CHV verification , only applied to CHV1 */ + CI_SIM_CHV_UNBLOCK , /**< Unblock CHV */ + CI_SIM_CHV_QUERY , /**< Query CHV enable / disable status , only applied to CHV1 */ + + CI_SIM_CHV_NUM_OPERS + } _CiSimChvOper; + +typedef UINT8 CiSimChvOper ; +//ICAT EXPORTED ENUM + typedef enum CISIMPERSMEOPER_TAG { + CI_SIM_PERSME_ACTIVATE_PERSONALISATION , /**< Activates MEP. This operation requires the SIM pin state to be CI_SIM_PIN_ST_READY. */ + CI_SIM_PERSME_DEACTIVATE_PERSONALISATION , /**< Deactivates MEP. This operation can be done in any SIM pin state and requires an MEP category password. */ + CI_SIM_PERSME_DISABLE_PERSONALISATION , /**< Disables MEP. This operation permanently deactivates the requested MEP category and can be done in any SIM pin state. The operation requires an MEP category password. */ + CI_SIM_PERSME_READ_PERSONALIZATION_STATUS , /**< Reads MEP status. This operation can be done in any SIM pin state. */ + CI_SIM_PERSME_UNBLOCK_PERSONALISATION , /**< Unblocks the SIM. This operation requires an MEP unblocking password. */ + CI_SIM_PERSME_NUM_OPERS + } _CiSimPersOper; + +typedef UINT8 CiSimPersOper ; +//ICAT EXPORTED ENUM + typedef enum CISIMPERSCAT_TAG { + CI_SIM_PERS_CAT_SIM , /**< SIM MEP category */ + CI_SIM_PERS_CAT_NETWORK , /**< Network MEP category */ + CI_SIM_PERS_CAT_NETWORKSUBSET , /**< Sub network MEP category */ + CI_SIM_PERS_CAT_SERVICEPROVIDER , /**< Service provider MEP category */ + CI_SIM_PERS_CAT_CORPORATE , /**< Corporate MEP category */ + + CI_SIM_PERS_NUM_CATS + } _CiSimPersCat; + +typedef UINT8 CiSimPersCat ; +typedef UINT8 CiSimMEP_BCD ; +//ICAT EXPORTED STRUCT + typedef struct CiSimMEP_IMSI_Tag + { + UINT8 length ; /**< Number of bytes */ + UINT8 contents [ 8 ] ; /**< IMSI value represented as an array of bytes ; each byte contains 2 digits */ + } CiSimMEP_IMSI; + +typedef UINT16 CiSimMEP_MNC ; +typedef UINT16 CiSimMEP_MCC ; +typedef UINT16 CiSimMEP_AccessTechnologyId ; +//ICAT EXPORTED STRUCT + typedef struct CiSimMEP_PLMN_Tag + { + CiSimMEP_MCC mcc ; /**< Mobile country code \sa CiSimMEP_MCC */ + CiSimMEP_MNC mnc ; /**< Mobile network code \sa CiSimMEP_MNC */ + CiSimMEP_AccessTechnologyId accessTechnology ; /**< Access technology \sa CiSimMEP_AccessTechnologyId */ + } CiSimMEP_PLMN; + +//ICAT EXPORTED STRUCT + typedef struct CiSimMEPCodeType_PLMN_Tag + { + CiSimMEP_PLMN plmn ; /**< PLMN \sa CiSimMEP_PLMN_Tag */ + CiBoolean mncThreeDigitsDecoding ; /**< If TRUE indicates 3 digit coding is used else 4 digit coding is used \sa CCI API Ref Manual */ + } CiSimMEPCodeType_PLMN; + +//ICAT EXPORTED STRUCT + typedef struct CiSimMEPCodeType_NS_Tag + { + CiSimMEP_BCD networkSubsetId ; /**< Bits 0 -3 = IMSI digit 6 , Bits 4 -7 = IMSI digit 7 . \sa CiSimMEP_BCD */ + } CiSimMEPCodeType_NS; + +//ICAT EXPORTED STRUCT + typedef struct CiSimMEPCodeType_SP_Tag + { + UINT8 serviceproviderId ; /**< Service provider ID */ + } CiSimMEPCodeType_SP; + +//ICAT EXPORTED STRUCT + typedef struct CiSimMEPCodeType_CP_Tag + { + UINT8 corporateId ; /**< Corporate ID */ + } CiSimMEPCodeType_CP; + +//ICAT EXPORTED STRUCT + typedef struct CiSimMEPCodeType_SIMUSIM_Tag + { + CiSimMEP_IMSI simId ; /**< IMSI \sa CiSimMEP_IMSI_Tag */ + } CiSimMEPCodeType_SIMUSIM; + +//ICAT EXPORTED UNION + typedef union CiSimMEPCodeType_Tag + { + CiSimMEPCodeType_PLMN Network ; /**< Network code - PLMN \sa CiSimMEPCodeType_PLMN_Tag */ + CiSimMEPCodeType_NS NetworkSubset ; /**< Network subset code - IMSI bits 6 and 7 \sa CiSimMEPCodeType_NS_Tag */ + CiSimMEPCodeType_SP SP ; /**< Service provider code \sa CiSimMEPCodeType_SP_Tag */ + CiSimMEPCodeType_CP Corporate ; /**< Corporate code \sa CiSimMEPCodeType_CP_Tag */ + CiSimMEPCodeType_SIMUSIM SimUsim ; /**< SIM / USIM code - IMSI \sa CiSimMEPCodeType_SIMUSIM_Tag */ + } CiSimMEPCodeType; + +//ICAT EXPORTED ENUM + typedef enum CISIMUDPOPER { + CI_SIM_UDP_OPER_ACTIVATE_PERSONALISATION , /**< Activate */ + CI_SIM_UDP_OPER_DEACTIVATE_PERSONALISATION , /**< Deactivate - this operation requires a password */ + CI_SIM_UDP_READ_PERSONALIZATION_STATUS , /**< Read UDP lock status */ + CI_SIM_UDP_OPER_NUM + } _CiSimUDPOper; + +typedef UINT8 CiSimUDPOper ; +//ICAT EXPORTED ENUM + typedef enum CISIMUDPCAT { + CI_SIM_UDP_CAT_UNAUTHERIZED_SIM_DETECTION , /**< Unauthorized SIM detection - SIM is unauthorized if its ICCID does not match any of the values stored in the authorized SIM list */ + CI_SIM_UDP_CAT_INVALID_SIM_DETECTION , /**< Invalid SIM detection - SIM is invalid if it is rejected by the network */ + CI_SIM_UDP_CAT_NUM + } _CiSimUDPCat; + +typedef UINT8 CiSimUDPCat ; +//ICAT EXPORTED ENUM + typedef enum CiSIMUDPSTATUS_TAG { + CI_SIM_UDP_UNKNOWN , /**< Data based was not read */ + CI_SIM_UDP_INACTIVE , /**< UDP lock is not active */ + CI_SIM_UDP_ACTIVE , /**< UDP lock is active */ + CI_SIM_UDP_IS_NOT_SUPPORTED , /**< UDP lock feature is not supported */ + CI_SIM_UDP_STATUS_NUM + } _CiSimUDPStatus; + +typedef UINT8 CiSimUDPStatus ; +//ICAT EXPORTED STRUCT + typedef struct CiSimIccid_Tag + { + UINT8 data [ 10 ] ; + } CiSimIccid; + +//ICAT EXPORTED ENUM + typedef enum CiSIMUDPASLOPER_Tag { + CI_SIM_UDP_ASL_ADD_CURRENT_SIM , /**< Add ICCID of current SIM to authorized SIM list */ + CI_SIM_UDP_ASL_DELETE , /**< Delete specified ICCID from authorized SIM list */ + CI_SIM_UDP_ASL_DELETE_ALL , /**< Delete all values from authorized SIM list */ + CI_SIM_UDP_ASL_READ_ALL , /**< Read authorized SIM list */ + CI_SIM_UDP_ASL_OPER_NUM + } _CiSimUDPASLOper; + +typedef UINT8 CiSimUDPASLOper ; +//ICAT EXPORTED STRUCT + typedef struct CiRtcDate_Tag + { + UINT16 year ; /**< RTC year */ + UINT8 month ; /**< RTC month ( 1 -12 ) */ + UINT8 day ; /**< RTC day of month ( 1 -31 ) */ + } CiRtcDate; + +//ICAT EXPORTED STRUCT + typedef struct CiSimUDPASLEntry_Tag + { + CiSimIccid iccid ; /**< \sa CiSimIccid_Tag */ + CiRtcDate updateTime ; /**< \sa CiRtcDate_Tag */ + } CiSimUDPASLEntry; + +//ICAT EXPORTED ENUM + typedef enum CISIMPERSSTATUS_TAG { + CI_SIM_MEP_ACTIVATED , /**< Activated */ + CI_SIM_MEP_DEACTIVATED , /**< Deactivated */ + CI_SIM_MEP_DISABLED , /**< Disabled - permanently deactivated */ + CI_SIM_MEP_BLOCKED , /**< Blocked */ + CI_SIM_MEP_UNKNOWN , /**< Unknown - database not read or corrupted */ + CI_SIM_PERS_ST_IS_NOT_SUPPORTED , /**< Personalization not supported */ + + CI_SIM_PERS_NUM_STATUSES + } _CiSimPersStatus; + +typedef UINT8 CiSimPersStatus ; +//ICAT EXPORTED STRUCT + typedef struct CiSimTermProfile_Struct { + UINT8 len ; /**< Length of the terminal profile [ 1 - CI_SIM_MAX_ME_PROFILE_SIZE ] */ + UINT8 data [ 64 ] ; /**< Terminal profile data. + * Content conforms to 3 GPP TS 11.140000 , v3.10.0 , 5.200000 ; if empty , communication + * subsystem assumes ME doesn ' t support SIMAT. */ + } CiSimTermProfile; + +//ICAT EXPORTED ENUM + typedef enum CISIMFACLCKMODE_TAG { + CI_SIM_FACLCK_MODE_UNLOCK = 0 , /**< Unlock */ + CI_SIM_FACLCK_MODE_LOCK , /**< Lock */ + CI_SIM_FACLCK_MODE_QUERY , /**< Query */ + + CI_SIM_FACLCK_NUM_MODES + } _CiSimFacLckMode; + +typedef UINT8 CiSimFacLckMode ; +//ICAT EXPORTED ENUM + typedef enum CISIMFACCODE_TAG { + CI_SIM_FAC_CODE_SIM = 0 , /**< Locks SIM , needs to be unlocked with CHV1 */ + CI_SIM_FAC_CODE_FDN , /**< Enables FDN feature , needs CHV2 verification , + * refer to 3 GPP 11.110000 and 3 GPP 11.140000 */ + + /* The following facility codes are related to personalization. Refer to 3 GPP TS 22.022000 */ + CI_SIM_FAC_CODE_PERS_FSIM , /**< SIM personalization , lock phone with the first inserted SIM. Not supported */ + + CI_SIM_FAC_CODE_P2 , /* Add by jungle for CQ00055548 on 2014 -03-04 */ + + CI_SIM_FAC_NUM_CODES + } _CiSimFacCode; + +typedef UINT8 CiSimFacCode ; +//ICAT EXPORTED ENUM + typedef enum CISIMFACSTATUS_TAG { + CI_SIM_FACLCK_ST_DEACTIVE = 0 , /**< Not active */ + CI_SIM_FACLCK_ST_ACTIVE , /**< Active */ + + CI_SIM_FACLCK_NUM_STS + } _CiSimFacStatus; + +typedef UINT8 CiSimFacStatus ; +//ICAT EXPORTED ENUM + typedef enum CISIMATNOTIFYSUPPORT_TAG { + CI_SIMATNOT_NOT_IMPLEMENTED = 0 , /**< Not implemented */ + CI_SIMATNOT_APP_IMPLEMENTS , /**< Implemented in the application */ + CI_SIMATNOT_SIMAT_IMPLEMENTS_NO_NOTIFY , /**< Implemented in the communication subsystem without notifying the application */ + CI_SIMATNOT_SIMAT_IMPLEMENTS_NOTIFY , /**< Implemented in the communication subsystem and the application is notified */ + CI_SIMATNOT_SIMAT_IMPLEMENTS_WITH_APP_INPUT , /**< Implemented in the communication subsystem but requires input from the application */ + + CI_NUM_SIMATNOT_SUPPORT_OPTIONS + } _CiSimatNotifySupport; + +typedef UINT8 CiSimatNotifySupport ; +//ICAT EXPORTED STRUCT + typedef struct CiSimatNotifyCap_struct { + CiSimatNotifySupport capDisplayText ; /**< DISPLAY TEXT , which displays text or an icon on the screen. \sa CiSimatNotifySupport */ + CiSimatNotifySupport capGetInkey ; /**< GET INKEY , which sends text or an icon to the display and requests a single character response in return. It is intended to allow a dialog between the SIM and the user , particularly for selecting an option from a menu. \sa CiSimatNotifySupport*/ + CiSimatNotifySupport capGetInput ; /**< GET INPUT , which sends text or an icon to the display and requests a response in return. It is intended to allow a dialog between the SIM and the user. \sa CiSimatNotifySupport*/ + CiSimatNotifySupport capMoreTime ; /**< MORE TIME , which does not request any action from the ME. The ME is required to respond with TERMINAL RESPONSE ( OK ) as normal. The purpose of the MORE TIME command is to provide a mechanism for the SIM Application Toolkit task in the SIM to request more processing time. \sa CiSimatNotifySupport */ + CiSimatNotifySupport capPlayTone ; /**< PLAY TONE , which requests the ME to play a tone in its earpiece , ringer , or other appropriate loudspeaker. \sa CiSimatNotifySupport */ + CiSimatNotifySupport capPollInterval ; /**< POLL INTERVAL , which negotiates how often the ME sends STATUS commands to the SIM during idle mode. Polling is disabled with POLLING OFF. Use of STATUS for the proactive SIM is described in TS 11.110000 . \sa CiSimatNotifySupport */ + CiSimatNotifySupport capRefresh ; /**< REFRESH , which requests the ME to carry out a SIM initialization according to TS 11.110000 subclause 12.200000 .1 , and / or advises the ME that the contents or structure of EFs on the SIM have been changed. The command also makes it possible to restart a card session by resetting the SIM. \sa CiSimatNotifySupport */ + CiSimatNotifySupport capSetupMenu ; /**< SETUP MENU: The SIM shall supply a set of menu items , which shall be integrated with the menu system ( or other MMI facility ) to give the user the opportunity to choose one of these menu items at his own discretion. Each item comprises a short identifier ( used to indicate the selection ) , a text string , and optionally an icon identifier , contained in an item icon identifier list data object located at the end of the list of items. \sa CiSimatNotifySupport*/ + CiSimatNotifySupport capSelectItem ; /**< SELECT ITEM , where the SIM supplies a list of items , and the user is expected to choose one. The ME presents the list in an implementation-dependent way. \sa CiSimatNotifySupport */ + CiSimatNotifySupport capSendSMS ; /**< SEND DATA , which requests the ME to send data on the specified channel provided by the SIM ( if class " e " is supported ) . \sa CiSimatNotifySupport */ + CiSimatNotifySupport capSendSS ; /**< SEND SS , which sends an SS request to the network. \sa CiSimatNotifySupport */ + CiSimatNotifySupport capSendUSSD ; /**< SEND USSD , which sends a USSD string to the network. \sa CiSimatNotifySupport */ + CiSimatNotifySupport capSetupCall ; /**< SET UP CALL , of which there are three types: + * set up a call , but only if not currently busy on another call ; + * set up a call , putting all other calls ( if any ) on hold ; + * set up a call , disconnecting all other calls ( if any ) \sa CiSimatNotifySupport*/ + CiSimatNotifySupport capPollingOff ; /**< POLLING OFF - This command disables the Proactive Polling ( defined in TS 11.110000 [ 20 ] ) . SIM Presence Detection ( defined in TS 11.110000 [ 20 ] ) is not affected by this command. \sa CiSimatNotifySupport */ + CiSimatNotifySupport capSetupIdleModeText ; /**< SETUP IDLE MODE TEXT \sa CiSimatNotifySupport */ + CiSimatNotifySupport capProvideLocalInfo ; /**< Provide local information - + * This command requests the ME to send current local information to the SIM. + * At present , this information is restricted to + * location information ( the mobile country code ( MCC ) , mobile network code ( MNC ) , location area code ( LAC ) and cell ID of the current serving cell ) ; + * the IMEI of the ME ; + * the network measurement results and the BCCH channel list ; + * the current date , time and time zone ; + * the current ME language setting ; + * the timing advance \sa CiSimatNotifySupport*/ + CiSimatNotifySupport capSetupEventList ; /**< SET UP EVENT LIST - The SIM shall use this command to supply a set of events. This set of events shall become the current list of events that the ME is to monitor. \sa CiSimatNotifySupport */ + CiSimatNotifySupport capLaunchBrowser ; /**< LAUNCH BROWSER , which requests a browser inside a browser enabled ME to interpret the content corresponding to a URL. \sa CiSimatNotifySupport */ + + /*Mason BIP support - START*/ + CiSimatNotifySupport capOpenChannel ; /**< OPEN CHANNEL realted to GPRS. \sa CiSimatNotifySupport */ + CiSimatNotifySupport capCloseChannel ; /**< CLOSE CHANNEL. \sa CiSimatNotifySupport */ + CiSimatNotifySupport capReceiveData ; /**< RECEIVE DATA. \sa CiSimatNotifySupport */ + CiSimatNotifySupport capSendData ; /**< SEND DATA. \sa CiSimatNotifySupport */ + CiSimatNotifySupport capGetChannelStatus ; /**< GET CHANNEL STATUS. \sa CiSimatNotifySupport */ + /*Mason BIP support - END*/ + } CiSimatNotifyCap; + +//ICAT EXPORTED STRUCT + typedef struct CiSimatAlphaTag_struct { + UINT16 len ; /**< Length */ + UINT8 tag [ 241 ] ; /**< Tag data */ + } CiSimatAlphaTag; + +//ICAT EXPORTED ENUM + typedef enum CI_SIM_MSGWAITING_FLAGS_TAG + { + CI_SIM_MSG_WAITING_VOICE = 0x01 , /**< Voice mail messages waiting */ + CI_SIM_MSG_WAITING_FAX = 0x02 , /**< Fax messages waiting */ + CI_SIM_MSG_WAITING_EMAIL = 0x04 , /**< Email messages waiting */ + CI_SIM_MSG_WAITING_OTHER = 0x08 /**< Other messages waiting */ + } _CiSimMsgWaitingFlags; + +typedef UINT8 CiSimMsgWaitingFlags ; +//ICAT EXPORTED STRUCT + typedef struct CiSimMsgWaitingInfo_struct + { + UINT8 flags ; /**< Bit mask indicating message waiting status. A set bit indicates there is a message waiting in the specified group. Bit 0 - Voice mail ; Bit 1 - Fax ; Bit 2 - Email ; Bit 3 - other */ + /*If " flags " == TRUE : next values contains message numbers ( for MWIS file ) + If FALSE: Next value are only flags: 0 - No Msg , Else Msg Exist ( for VMWF file ) */ + UINT8 numVoice ; /**< Number of voice mail messages waiting */ + UINT8 numFax ; /**< Number of fax messages waiting */ + UINT8 numEmail ; /**< Number of email messages waiting */ + UINT8 numOther ; /**< Number of other messages waiting */ + } CiSimMsgWaitingInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiSimServiceTable_struct + { + UINT8 size ; /**< Actual number of bytes used in services [ ] array */ + UINT8 services [ ( ( 56 + 7 ) / 8 ) ] ; /**< SIM service table */ + } CiSimServiceTable; + +//ICAT EXPORTED STRUCT + typedef struct CiSimCustServiceProfile_struct + { + UINT8 cspCallOffering ; /**< Bitmap: Call offering services */ + UINT8 cspCallRestriction ; /**< Bitmap: Call restriction services */ + UINT8 cspOtherSuppServices ; /**< Bitmap: Other supplementary services */ + UINT8 cspCallCompletion ; /**< Bitmap: Call completion services */ + UINT8 cspTeleServices ; /**< Bitmap: Teleservices */ + UINT8 cspCphsTeleServices ; /**< Bitmap: CPHS teleservices */ + UINT8 cspCphsFeatures ; /**< Bitmap: CPHS features */ + UINT8 cspNumberIdent ; /**< Bitmap: Number identification services */ + UINT8 cspPhase2PlusServices ; /**< Bitmap: Phase 2 + services */ + UINT8 cspValueAddedServices ; /**< Bitmap: Value added services */ + UINT8 cspInformationNumbers ; /**< Bitmap: CPHS information numbers */ + } CiSimCustServiceProfile; + +//ICAT EXPORTED ENUM + typedef enum CISIMATDISPLAYCMDTYPE_TAG { + CI_SIMAT_DISPLAYCMD_SMS = 0 , /**< SMS */ + CI_SIMAT_DISPLAYCMD_USSD , /**< USSD */ + CI_SIMAT_DISPLAYCMD_SS , /**< SS */ + CI_SIMAT_DISPLAYCMD_SD , /**< SEND DTMF */ + CI_NUM_SIMAT_NUM_DISPLAYCMD_TYPES + } _CiSimatDisplayCmdType; + +typedef UINT8 CiSimatDisplayCmdType ; +//ICAT EXPORTED ENUM + typedef enum CISIMATICONDISPLAY_TAG { + CI_SIMAT_DISPLAY_ICONID_ONLY = 0 , /**< Display only icons */ + CI_SIMAT_DISPLAY_ICONID_WITH_ALPHAID , /**< Display icons and text */ + CI_NUM_SIMAT_NUM_DISPLAY_ICON_TYPES + } _CiSimatIconDisplay; + +typedef UINT8 CiSimatIconDisplay ; +//ICAT EXPORTED STRUCT + typedef struct CiSimatIconTag_struct { + CiSimatIconDisplay display ; /**< Icon display \sa CiSimatIconDisplay */ + UINT8 tag ; /**< Icon tag data */ + } CiSimatIconTag; + +//ICAT EXPORTED ENUM + typedef enum CISIMGENERICCMDTYPE_TAG + { + CI_SIM_SELECT = 0xa4 , + CI_SIM_STATUS = 0xf2 , + + CI_SIM_READ_BINARY = 0xb0 , + CI_SIM_UPDATE_BINARY = 0xd6 , + CI_SIM_READ_RECORD = 0xb2 , + CI_SIM_UPDATE_RECORD = 0xdc , + + CI_SIM_SEARCH_RECORD = 0xa2 , /**< Named as in ETSI TS 102.221000 sec 10.100000 .2 */ + CI_SIM_SEEK = 0xa2 , /**< Named as in 3 gpp TS 11.110000 sec 9.200000 */ + CI_SIM_INCREASE = 0x32 , + + CI_SIM_VERIFY = 0x20 , /**< Named as in ETSI TS 102.221000 sec 10.100000 .2 */ + CI_SIM_VERIFY_CHV = 0x20 , /**< Named as in 3 gpp TS 11.110000 sec 9.200000 */ + + CI_SIM_CHANGE_PIN = 0x24 , /**< Named as in ETSI TS 102.221000 sec 10.100000 .2 */ + CI_SIM_CHANGE_CHV = 0x24 , /**< Named as in 3 gpp TS 11.110000 sec 9.200000 */ + + CI_SIM_DISABLE_PIN = 0x26 , /**< Named as in ETSI TS 102.221000 sec 10.100000 .2 */ + CI_SIM_DISABLE_CHV = 0x26 , /**< Named as in 3 gpp TS 11.110000 sec 9.200000 */ + + CI_SIM_ENABLE_PIN = 0x28 , /**< Named as in ETSI TS 102.221000 sec 10.100000 .2 */ + CI_SIM_ENABLE_CHV = 0x28 , /**< Named as in 3 gpp TS 11.110000 sec 9.200000 */ + + CI_SIM_UNBLOCK_PIN = 0x2c , /**< Named as in ETSI TS 102.221000 sec 10.100000 .2 */ + CI_SIM_UNBLOCK_CHV = 0x2c , /**< Named as in 3 gpp TS 11.110000 sec 9.200000 */ + + CI_SIM_DEACTIVATE_FILE = 0x04 , /**< Named as in ETSI TS 102.221000 sec 10.100000 .2 */ + CI_SIM_INVALIDATE = 0x04 , /**< Named as in 3 gpp TS 11.110000 sec 9.200000 */ + + CI_SIM_ACTIVATE_FILE = 0x44 , /**< Named as in ETSI TS 102.221000 sec 10.100000 .2 */ + CI_SIM_REHABILITATE = 0x44 , /**< Named as in 3 gpp TS 11.110000 sec 9.200000 */ + + CI_SIM_AUTHENTICATE = 0x88 , /**< Named as in ETSI TS 102.221000 sec 10.100000 .2 */ + CI_SIM_RUN_GSM_ALGORITHM = 0x88 , /**< Named as in 3 gpp TS 11.110000 sec 9.200000 */ + + CI_SIM_SLEEP = 0xfa , /**< Only defined in 3 gpp TS 11.110000 sec 9.200000 */ + CI_SIM_GET_RESPONSE = 0xc0 , /**< Only defined in 3 gpp TS 11.110000 sec 9.200000 */ + + CI_SIM_TERMINAL_PROFILE = 0x10 , + CI_SIM_ENVELOPE = 0xC2 , + CI_SIM_FETCH = 0x12 , + CI_SIM_TERMINAL_RESPONSE = 0x14 , + + CI_SIM_MANAGE_CHANNEL = 0x70 , /**< Only defined in ETSI TS 102.221000 */ + + /* this should always be the last entry */ + CI_SIM_INVALID_CMD = 0x00 + + } _CiSimGenericCmdType; + +typedef UINT8 CiSimGenericCmdType ; +//ICAT EXPORTED ENUM + typedef enum CISIMGENERICRWMODETYPE_TAG + { + CI_SIM_NEXT_REC = 0x02 , + CI_SIM_PREVIOUS_REC = 0x03 , + CI_SIM_CURRENT_ABSOLUTE = 0x04 + } _CiSimGenericRwModeType; + +typedef UINT8 CiSimGenericRwModeType ; +//ICAT EXPORTED ENUM + typedef enum CISIMGENERICSELECTMODETYPE_TAG + { + CI_SIM_SELECT_BY_FILE_ID = 0x00 , + CI_SIM_SELECT_CHILD_DF = 0x01 , + CI_SIM_SELECT_PARENT_DF = 0x03 , + CI_SIM_SELECT_BY_DF_NAME = 0x04 , + CI_SIM_SELECT_BY_PATH_FROM_MF = 0x08 , + CI_SIM_SELECT_BY_PATH_FROM_DF = 0x09 + + } _CiSimGenericSelectModeType; + +typedef UINT8 CiSimGenericSelectModeType ; +typedef CiString CiSimFilePath ; +//ICAT EXPORTED ENUM + typedef enum CISIMGENERICRESPONSETYPE_TAG + { + CI_SIM_RETURN_FCP = 0x04 , + CI_SIM_RETURN_NO_DATA = 0x0C + + /* NOTE: more to be defined as needed */ + } _CiSimGenericResponseType; + +typedef UINT8 CiSimGenericResponseType ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimExecCmdReq_struct { + /*Michal Bukai - SIM Logic CH - NFC\ISIM support*/ + UINT16 SessionId ; /**< A session Id to be used in order to target a specific application on the smart card using logical channel mechanism. */ + CiSimCmdReq cmd ; /**< SIM Command. \sa CiSimCmdReq_Struct */ + } CiSimPrimExecCmdReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimExecCmdCnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + CiSimCmdRsp cnf ; /**< Confirmation of last SIM command request ; if rc is CI_SIM_CMDREQ_FAILURE , this field is optional. \sa CiSimCmdRsp */ + /*Michal Bukai - SIM Logic CH - NFC\ISIM support*/ + UINT16 SessionId ; /**< A session Id to be used in order to target a specific application on the smart card using logical channel mechanism. */ + } CiSimPrimExecCmdCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimExecLargeCmdCnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + CiSimLargeCmdRsp cnf ; /**< Confirmation of last SIM command request ; if rc is CI_SIM_CMDREQ_FAILURE , this field is optional. \sa CiSimCmdRsp */ + UINT16 SessionId ; /**< A session Id to be used in order to target a specific application on the smart card using logical channel mechanism. */ + } CiSimPrimExecLargeCmdCnf; + +//ICAT EXPORTED ENUM + typedef enum CI_SIM_CLOCK_STOP_LEVEL_TAG { + CI_SIM_CLOCK_STOP_NONE = 0 , /**< Clock Stop No Level Preferred */ + CI_SIM_CLOCK_STOP_LOW , /**< Clock Stop Low Level Preferred */ + CI_SIM_CLOCK_STOP_HIGH , /**< Clock Stop High Level Preferred */ + CI_SIM_CLOCK_STOP_NUM + } _CiSimClockStopLevel; + +typedef UINT8 CiSimClockStopLevel ; +//ICAT EXPORTED ENUM + typedef enum CI_SIM_ECALL_SUPPORT_TYPE_TAG { + CI_SIM_ECALL_NONE = 0 , + CI_SIM_ECALL_SUPPORTED , + CI_SIM_ECALL_ONLY , + CI_SIM_ECALL_NUM + } _CiSimEcallSuppurtType; + +typedef UINT8 CiSimEcallSuppurtType ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimDeviceInd_struct { + CiSimStatus status ; /**< SIM Status.\sa CiSimStatus */ + CiSimPinState pinState ; /**< PIN state when SIM becomes ready , ignored if status is NOT CI_SIM_ST_ READY. \sa CiSimPinState */ + /*Michal Bukai - OTA support for AT&T*/ + CiBoolean ProactiveSessionStatus ; /**< Indicates if in proactive session or not. \sa CCI API Ref Manual */ + /*merged by cherryli@04.26.2016 CQ105208 begin.*/ + CiBoolean EcallData ; /**< TRUE if service 48 is enabled on SIM and this SIM support eCall \sa */ + CiBoolean EcallOnlyMode ; /**< TRUE if the SIM works in eCall only mode \sa */ + /*merged by cherryli@04.26.2016 CQ105208 end.*/ + } CiSimPrimDeviceInd; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimPersonalizeMEReq_struct { + CiSimPersOper oper ; /**< Operation on ME personalization \sa CiSimPersOper */ + CiSimPersCat cat ; /**< Personalization category \sa CiSimPersCat */ + CiMepPassword pass ; /**< this field is optional if oper is CI_SIM_PERS_OPER_DISABLE or CI_SIM_PERS_OPER_QUERY. \sa CCI API Ref Manual */ + } CiSimPrimPersonalizeMEReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimPersonalizeMECnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + CiSimPersStatus status ; /**< Personalization indicator status \sa CiSimPersStatus */ + } CiSimPrimPersonalizeMECnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimReadMEPCodesReq_struct { + CiSimPersCat MEPCategory ; /**< Personalization category \sa CiSimPersCat */ + } CiSimPrimReadMEPCodesReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimReadMEPCodesCnf_struct { + CiSimRc rc ; /**< Result code \sa _CiSimRc */ + CiSimPersCat MEPCategory ; /**< Personalization category \sa CiSimPersCat */ + UINT8 NumberOfcodes ; /**< Number of codes stored in ME */ + CiSimMEPCodeType Codes [ 100 ] ; /**< MEP personalization codes \sa CiSimMEPCodeType_Tag */ + } CiSimPrimReadMEPCodesCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimUDPLockReq_struct { + CiSimUDPOper oper ; /**< Operation on UDP lock \sa CiSimUDPOper */ + CiSimUDPCat UDPCategory ; /**< UDP category \sa CiSimUDPCat */ + CiPassword Pass ; /**< This is the password required to deactivate the UDP lock. This field is optional in activate or read status operations. \sa CCI API Ref Manual */ + } CiSimPrimUDPLockReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimUDPLockCnf_struct { + CiSimRc rc ; /**< Result code. Note that the following values are not valid for UDP: CIR_SIM_ PERSONALISATION_DISABLED and CIRC_SIM_ PERSONALISATION_BLOCKED. \sa _CiSimRc */ + CiSimUDPStatus status ; /**< UDP lock status \sa CiSimUDPStatus */ + } CiSimPrimUDPLockCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimUDPChangePasswordReq_struct { + CiPassword oldPassword ; /**< This is the current password required to unlock the UE. \sa CCI API Ref Manual */ + CiPassword newPassword ; /**< This is the new password. \sa CCI API Ref Manual */ + } CiSimPrimUDPChangePasswordReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimUDPChangePasswordCnf_struct { + CiSimRc rc ; /**< Result code. Note that the following values are not valid for UDP: CIRC_SIM_ PERSONALISATION_DISABLED and CIRC_SIM_ PERSONALISATION_BLOCKED. \sa _CiSimRc */ + } CiSimPrimUDPChangePasswordCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimUDPASLReq_struct { + CiSimUDPASLOper Oper ; /**< Operation that should be performed on ASL \sa CiSimUDPASLOper */ + CiSimIccid Iccid ; /**< Required only for delete operation \sa CiSimIccid_Tag */ + } CiSimPrimUDPASLReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimUDPASLCnf_struct { + CiSimRc rc ; /**< Result code. Note that the following values are not valid for UDP: CIRC_SIM_ PERSONALISATION_DISABLED and CIRC_SIM_ PERSONALISATION_BLOCKED. \sa _CiSimRc */ + UINT8 num ; /**< Number of entries in ASL. Valid if operation was READ_ALL. 0 means there are no entries in ASL [ range: 0 - max number of ASL elements ] . */ + CiSimUDPASLEntry TypeAutherizedSIMlist [ 10 ] ; /**< Valid if operation was READ_ALL. Reports the ICCID of all SIMs in the authorized list and the date they were added. \sa CiSimUDPASLEntry_Tag */ + } CiSimPrimUDPASLCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimOperChvReq_struct { + CiSimChvOper oper ; /**< \sa CiSimChvOper */ + CiSimChvNo chvNo ; /**< \sa CiSimChvNo */ + CiPassword chvVal ; /**< \sa CCI API Ref Manual */ + CiPassword newChvVal ; /**< \sa CCI API Ref Manual */ + } CiSimPrimOperChvReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimOperChvCnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + CiBoolean enabled ; /**< Not optional if operation is CI_SIM_CHV_QUERY. TRUE: CHV1 is enabled ; FALSE: CHV1 is disabled. \sa CCI API Ref Manual */ + } CiSimPrimOperChvCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimDownloadProfileReq_struct { + CiSimTermProfile profile ; /**< Terminal profile structure \sa CiSimTermProfile_Struct */ + } CiSimPrimDownloadProfileReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimDownloadProfileCnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + } CiSimPrimDownloadProfileCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimEndAtSessionInd_struct { + UINT8 fetchSize ; + } CiSimPrimEndAtSessionInd; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimProactiveCmdInd_struct { + UINT16 len ; /**< Length of the proactive command data [ 1 -255 ] */ + UINT8 data [ 261 ] ; /**< Proactive command data */ + } CiSimPrimProactiveCmdInd; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimProactiveCmdRsp_struct { + UINT16 len ; /**< Length of the terminal response command data [ 1 -255 ] */ + UINT8 data [ 261 ] ; /**< Terminal response command data */ + } CiSimPrimProactiveCmdRsp; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimEnvelopeCmdReq_struct { + UINT16 len ; /**< Length of the envelope command data [ 1 -255 ] */ + UINT8 data [ 261 ] ; /**< Envelope command data */ + } CiSimPrimEnvelopeCmdReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimEnvelopeCmdCnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + CiSimCmdRsp cnf ; /**< Confirmation to an ENVELOPE command request ; if rc is CI_SIM_CMDREQ_FAILURE , this field is optional. \sa CiSimCmdRsp_Struct */ + } CiSimPrimEnvelopeCmdCnf; + +typedef CiEmptyPrim CiSimPrimGetSubscriberIdReq ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGetSubscriberIdCnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + CiString subscriberStr ; /**< Subscriber ID string \sa CCI API Ref Manual */ + } CiSimPrimGetSubscriberIdCnf; + +typedef CiEmptyPrim CiSimPrimGetPinStateReq ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGetPinStateCnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + CiSimPinState state ; /**< Current PIN state \sa CiSimPinState */ + UINT8 chv1NumRetrys ; /**< Pin1 status - number of remaining retries */ + UINT8 chv2NumRetrys ; /**< Pin2 status - number of remaining retries */ + UINT8 puk1NumRetrys ; /**< Unblock pin1 status - number of remaining retries */ + UINT8 puk2NumRetrys ; /**< Unblock pin2 status - number of remaining retries */ + UINT8 MEPSimNumRetrys ; /**< SIM MEP category - number of remaining retries */ + UINT8 MEPNwNumRetrys ; /**< Network MEP category - number of remaining retries */ + UINT8 MEPNwsubNumRetrys ; /**< Sub Network MEP category - number of remaining retries */ + UINT8 MEPSPNumRetrys ; /**< Service provider MEP category - number of remaining retries */ + UINT8 MEPCorpNumRetrys ; /**< Corporate MEP category - number of remaining retries */ + + } CiSimPrimGetPinStateCnf; + +typedef CiEmptyPrim CiSimPrimGetTerminalProfileReq ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGetTerminalProfileCnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + CiSimTermProfile profile ; /**< The terminal profile structure ; optional if rc is not CIRC_SIM_OK. \sa CiSimTermProfile_Struct */ + } CiSimPrimGetTerminalProfileCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimEnableSimatIndsReq_struct { + CiBoolean enable ; /**< TRUE: enable the indication report ; FALSE: disable the indication report , default \sa CCI API Ref Manual */ + } CiSimPrimEnableSimatIndsReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimEnableSimatIndsCnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + } CiSimPrimEnableSimatIndsCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimLockFacilityReq_struct { + CiSimFacLckMode mode ; /**< Facility setting mode \sa CiSimFacLckMode */ + CiSimFacCode fac ; /**< Facility code \sa CiSimFacCode */ + CiPassword pass ; /**< Password , optional if mode is CI_SIM_FACLCK_MODE_QUERY \sa CCI API Ref Manual */ + } CiSimPrimLockFacilityReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimLockFacilityCnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + CiSimFacStatus status ; /**< Optional if rc is not CIRC_SIM_OK \sa CiSimFacStatus */ + } CiSimPrimLockFacilityCnf; + +typedef CiEmptyPrim CiSimPrimGetFacilityCapReq ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGetFacilityCapCnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + CiBitRange bitsFac ; /**< Optional if rc is not CIRC_SIM_OK \sa CCI API Ref Manual */ + } CiSimPrimGetFacilityCapCnf; + +typedef CiEmptyPrim CiSimPrimGetSimatNotifyCapReq ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGetSimatNotifyCapCnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + CiSimatNotifyCap caps ; /**< SIMAT notification capability information \sa CiSimatNotifyCap_struct */ + } CiSimPrimGetSimatNotifyCapCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGetCallSetupAckInd_struct { + CiBoolean alphaIdPresent ; /**< Indicates whether the CALL SETUP has an accompanying alphanumeric ID string \sa CCI API Ref Manual */ + CiSimatAlphaTag alphaId ; /**< Optional alphanumeric ID \sa CiSimatAlphaTag_struct */ + } CiSimPrimGetCallSetupAckInd; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGetCallSetupAckRsp_struct { + CiBoolean accept ; /**< CALL SETUP response \sa CCI API Ref Manual */ + } CiSimPrimGetCallSetupAckRsp; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGetServiceProviderNameReq_struct { + UINT8 type ; /**< SPN type: 0 -GSM_SPN , 1 -USIM_SPN. \sa CCI API Ref Manual */ + } CiSimPrimGetServiceProviderNameReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGetServiceProviderNameCnf_struct + { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + UINT8 dispRplmn ; /**< Display RPLMN: 0 -no display , 1 -display , 99 -invalid. \sa CCI API Ref Manual */ + CiNameInfo spName ; /**< Service provider name ; NULL pointer if name is not available \sa CCI API Ref Manual */ + } CiSimPrimGetServiceProviderNameCnf; + +typedef CiEmptyPrim CiSimPrimGetMessageWaitingInfoReq ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGetMessageWaitingInfoCnf_struct + { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + CiSimMsgWaitingInfo info ; /**< Message waiting information \sa CiSimMsgWaitingInfo_struct */ + } CiSimPrimGetMessageWaitingInfoCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimSetMessageWaitingInfoReq_struct + { + CiSimMsgWaitingInfo info ; /**< Message waiting information \sa CiSimMsgWaitingInfo_struct */ + } CiSimPrimSetMessageWaitingInfoReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimSetMessageWaitingInfoCnf_struct + { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + } CiSimPrimSetMessageWaitingInfoCnf; + +typedef CiEmptyPrim CiSimPrimGetSimServiceTableReq ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGetSimServiceTableCnf_struct + { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + CiBoolean sstPresent ; /**< Indicates whether SIM Service Table is present \sa CCI API Ref Manual */ + CiSimServiceTable sst ; /**< SIM Service Table ( if available ) \sa CiSimServiceTable_struct */ + } CiSimPrimGetSimServiceTableCnf; + +typedef CiEmptyPrim CiSimPrimGetCustomerServiceProfileReq ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGetCustomerServiceProfileCnf_struct + { + CiSimRc rc ; /**< Result code \sa CiSimRc. */ + CiBoolean cspPresent ; /**< Indicates whether Customer Service Profile is present \sa CCI API Ref Manual */ + CiSimCustServiceProfile csp ; /**< Customer Service Profile ( if available ) \sa CiSimCustServiceProfile_struct */ + } CiSimPrimGetCustomerServiceProfileCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimSimatDisplayInfoInd_struct { + CiSimatDisplayCmdType type ; /**< Type of SIMAT proactive command that triggered the display info indication \sa CiSimatDisplayCmdType */ + CiBoolean alphaIdPresent ; /**< Indicates whether alpha identifier is present \sa CCI API Ref Manual */ + CiBoolean iconIdPresent ; /**< Indicates whether icon identifier is present \sa CCI API Ref Manual */ + CiSimatAlphaTag alphaId ; /**< Alpha ID ( if available ) \sa CiSimatAlphaTag_struct */ + CiSimatIconTag iconId ; /**< Icon ID ( if available ) \sa CiSimatIconTag_struct */ + } CiSimPrimSimatDisplayInfoInd; + +typedef CiEmptyPrim CiSimPrimGetDefaultLanguageReq ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGetDefaultLanguageCnf_struct + { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + UINT16 language ; /**< One byte for each alphanumeric character */ + + } CiSimPrimGetDefaultLanguageCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGenericCmdReq_struct + { + CiSimFilePath path ; /**< Path of the elementary file \sa CiSimFilePath */ + CiSimGenericCmdType instruction ; /**< Instruction code \sa CiSimGenericCmdType */ + UINT8 param1 ; /**< Instruction parameter 1 for the instruction */ + UINT8 param2 ; /**< Instruction parameter 2 for the instruction*/ + UINT8 length ; /**< Number of bytes in the command data string */ + UINT8 data [ 255 ] ; /**< Command data string */ + CiBoolean responseExpected ; /**< Indicates if a response is expected by the application \sa CCI API Ref Manual */ + UINT8 responseLength ; /**< Number of bytes expected in the response data string */ + /*Michal Bukai - SIM Logic CH - NFC\ISIM support*/ + UINT16 SessionId ; /**< A session Id to be used in order to target a specific application on the smart card using logical channel mechanism. */ + } CiSimPrimGenericCmdReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGenericCmdCnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + CiSimCmdRsp cnf ; /**< SIM generic command response \sa CiSimCmdRsp_Struct */ + UINT8 sw1 ; /**< Status byte 1 as returned from the card */ + UINT8 sw2 ; /**< Status byte 2 as returned from the card */ + /*Michal Bukai - SIM Logic CH - NFC\ISIM support*/ + UINT16 SessionId ; /**< A session Id to be used in order to target a specific application on the smart card using logical channel mechanism. */ + } CiSimPrimGenericCmdCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGenericLargeCmdCnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + CiSimLargeCmdRsp cnf ; /**< SIM generic command response \sa CiSimCmdRsp_Struct */ + UINT16 SessionId ; /**< A session Id to be used in order to target a specific application on the smart card using logical channel mechanism. */ + } CiSimPrimGenericLargeCmdCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimSetPollReq_struct { + UINT8 mode ; /*0: disable polling ; 1 : enable polling ( Default ) ; others RFU*/ + UINT8 pollingConfig ; /*0: use UE default inverval , 28 s , ( Default ) ; 1 : enable polling config value ; others RFU*/ + UINT8 stkPolling ; /*0: don ' t use stk polling interval ; 1 : use the stk polling interval ( default ) ; others RFU*/ + UINT32 interval ; /*unit: second*/ + } CiSimPrimSetPollReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimSetPollCnf_struct { + CiSimRc result ; /**< Result code \sa CiSimRc */ + } CiSimPrimSetPollCnf; + +typedef CiEmptyPrim CiSimPrimGetPollReq ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGetPollCnf_struct { + CiSimRc result ; /**< Result code \sa CiSimRc */ + UINT8 mode ; /*0: disable polling ; 1 : enable polling ( Default ) ; others RFU*/ + UINT8 pollingConfig ; /*0: use UE default inverval , 28 s , ( Default ) ; 1 : enable polling config value ; others RFU*/ + UINT8 stkPolling ; /*0: don ' t use stk polling interval ; 1 : use the stk polling interval ( default ) ; others RFU*/ + UINT32 interval ; /*unit: second*/ + } CiSimPrimGetPollCnf; + +typedef CiEmptyPrim CiSimPrimDeviceRsp ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimCardInd_struct { + CiSimStatus status ; /**< SIM Status. \sa CiSimStatus */ + CiSimPinState pinState ; /**< PIN state when SIM becomes ready , ignored if status is NOT CI_SIM_ST_READY. \sa CiSimPinState */ + CiBoolean cardIsUicc ; /**< TRUE if USIM card ; FALSE if SIM card. \sa CCI API Ref Manual */ + + CiBoolean isTestCard ; /**< TRUE if Test card ; FALSE if normal / special card. \sa CCI API Ref Manual */ + /*2015.01.13 , mod by Xili for #517213 , CQ00081907 begin*/ + /*mod for CQ00085367 by yunhail 2015 2 13 begin*/ + /*delete the SS_IPC_SUPPORT*/ + /*mod for CQ00085367 by yunhail 2015 2 13 end*/ + CiString ImsiStr ; /**< Subscriber ID ( IMSI ) string. The value is valid + only if SIM status is CI_SIM_ST_READY and pin state is CI_SIM_PIN_ST_READY \sa */ + /*mod for CQ00085367 by yunhail 2015 2 13 begin*/ + /*delete the SS_IPC_SUPPORT*/ + /*mod for CQ00085367 by yunhail 2015 2 13 end*/ + /*2015.01.13 , mod by Xili for #517213 , CQ00081907 end*/ + } CiSimPrimCardInd; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimIsEmergencyNumberReq_struct { + CHAR eccDigitsStr [ 7 ] ; /**< Null-terminated dial string \sa CCI API Ref Manual */ + } CiSimPrimIsEmergencyNumberReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimIsEmergencyNumberCnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + CiBoolean isEmergency ; /**< TRUE = number is an emergency call code ; FALSE = otherwise \sa CCI API Ref Manual */ + } CiSimPrimIsEmergencyNumberCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimSimOwnedInd_struct { + + CiBoolean isOwned ; /**< TRUE = the SIM is owned ; FALSE = the SIM is not owned \sa CCI API Ref Manual */ + + } CiSimPrimSimOwnedInd; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimSimChangedInd_struct { + + CiBoolean isChanged ; /**< TRUE = the current SIM card has changed ; FALSE = the current SIM card has not changed \sa CCI API Ref Manual */ + + } CiSimPrimSimChangedInd; + +typedef CiEmptyPrim CiSimPrimDeviceStatusReq ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimDeviceStatusCnf_struct { + + CiSimRc rc ; /**< Result code \sa CiSimRc */ + CiSimStatus SIMstatus ; /**< SIM status \sa CiSimStatus */ + CiSimPinState pinState ; /**< Not in use \sa CiSimPinState */ + } CiSimPrimDeviceStatusCnf; + +typedef CiEmptyPrim CiSimPrimSetVSimReq ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimSetVSimCnf_struct { + CiSimRc result ; /**< Result code \sa CiSimRc */ + } CiSimPrimSetVSimCnf; + +typedef CiEmptyPrim CiSimPrimGetVSimReq ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGetVSimCnf_struct { + CiSimRc result ; /**< Result code \sa CiSimRc */ + CiBoolean status ; /**< Virtual SIM status: TRUE = enabled ; FALSE = disabled \sa CCI API Ref Manual */ + } CiSimPrimGetVSimCnf; + +typedef CiEmptyPrim CiSimPrimCheckMMIStateInd ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimCheckMMIStateRsp_struct { + CiSimMMIState MMIState ; /**< Indicates if MMI state is IDLE or BUSY. \sa CiSimPinState */ + } CiSimPrimCheckMMIStateRsp; + +//ICAT EXPORTED ENUM + typedef enum CI_SIM_BTSAP_CONN_STAT_TAG { + CI_SIM_BTSAP_OK = 0 , /**< OK , Server can fulfill requirements */ + CI_SIM_BTSAP_UNABLE_TO_ESTABLISH_CONNECTION , /**< Error , Server unable to establish connection */ + CI_SIM_BTSAP_MAX_MESSAGE_SIZE_NOT_SUPPORTED , /**< SIM personalization , lock phone with the first */ + CI_SIM_BTSAP_MAX_MESSAGE_SIZE_TOO_SMALL , /**< Error , maximum message size by Client is too small */ + CI_SIM_BTSAP_ONGOING_CALL , /**< OK , ongoing call */ + CI_SIM_BTSAP_NUM_STATE + } _CiSimBTSapConnectionStatus; + +typedef UINT8 CiSimBTSapConnectionStatus ; +//ICAT EXPORTED ENUM + typedef enum CI_SIM_BTSAP_STATUS_TAG { + CI_SIM_BTSAP_STAT_ERR = 0 , /**< Unknown error */ + CI_SIM_BTSAP_STAT_CARD_RESET , /**< Card reset */ + CI_SIM_BTSAP_STAT_CARD_NOT_ACC , /**< Card not accessible */ + CI_SIM_BTSAP_STAT_CARD_REMOVED , /**< Card removed */ + CI_SIM_BTSAP_STAT_CARD_INSERTED , /**< Card inserted */ + CI_SIM_BTSAP_STAT_CARD_RECOVERED , /**< Card recovered */ + CI_SIM_BTSAP_STAT_NUM_STATE + } _CiSimBTSapStatus; + +typedef UINT8 CiSimBTSapStatus ; +//ICAT EXPORTED ENUM + typedef enum CI_SIM_BTSAP_TP_TAG { + CI_SIM_BTSAP_TP_T0 = 0 , /**< T=0 */ + CI_SIM_BTSAP_TP_T1 , /**< T=1 */ + CI_SIM_BTSAP_TP_NUM_STATE + + } _CiSimTransportProtocol; + +typedef UINT8 CiSimTransportProtocol ; +//ICAT EXPORTED ENUM + typedef enum CI_SIM_BTSAP_CONTROL_TAG { + CI_SIM_BTSAP_POWER_OFF = 0 , /**< Power off the SIM / USIM */ + CI_SIM_BTSAP_POWER_ON , /**< Power on the SIM / USIM */ + CI_SIM_BTSAP_RESET , /**< Reset the SIM / USIM */ + CI_SIM_BTSAP_NUM_CONTROL + + } _CiSimBTSapControl; + +typedef UINT8 CiSimBTSapControl ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimBTSAPConnectReq_struct { + UINT16 maxMsgSize ; /**< Maximum message size requested by the Client */ + } CiSimPrimBTSAPConnectReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimBTSAPConnectCnf_struct { + CiSimBTSapConnectionStatus ConnectionStatus ; /**< Connection status. \sa CiSimBTSapConnectionStatus */ + UINT16 maxMsgSize ; /**< Maximum message size supported by comm. subsystem */ + CiSimRc ResultCode ; /**< result code. \sa CiSimRc */ + } CiSimPrimBTSAPConnectCnf; + +typedef CiEmptyPrim CiSimPrimBTSAPDisconnectReq ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimBTSAPDisconnectCnf_struct { + CiSimRc ResultCode ; /**< result code. \sa CiSimRc */ + } CiSimPrimBTSAPDisconnectCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimBTSAPTransferApduReq_struct { + CiSimCmdReq CommandAPDU ; /**< SIM command ; If command type is not APDU7816 it is coded according to Referenced Documents [ 12 ] ; If command type is APDU7816 it is coded according to Referenced Documents [ 25 ] . \sa CiSimCmdReq */ + } CiSimPrimBTSAPTransferApduReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimBTSAPTransferApduCnf_struct { + CiSimCmdRsp ResponseAPDU ; /**< SIM response is optional and will be present only if command was processed without errors. + Coding of the response depends on the APDU that was sent to the SIM / USIM + If command type is not APDU7816 it is coded according to Referenced Documents [ 12 ] + If command type is APDU7816 it is coded according to Referenced Documents [ 25 ] . \sa CiSimCmdRsp */ + CiSimRc ResultCode ; /**< result code. \sa CiSimRc */ + } CiSimPrimBTSAPTransferApduCnf; + +typedef CiEmptyPrim CiSimPrimBTSAPTransferAtrReq ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimBTSAPTransferAtrCnf_struct { + CiSimCmdRsp ATRData ; /**< ATR will be present only if there are no errors ATR is coded according to Referenced Documents [ 25 ] \sa CiSimCmdRsp */ + CiSimRc ResultCode ; /**< result code. \sa CiSimRc */ + } CiSimPrimBTSAPTransferAtrCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimBTSAPSimControlReq_struct { + CiSimBTSapControl Control ; /**< SIM control operation. \sa CiSimBTSapControl */ + } CiSimPrimBTSAPSimControlReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimBTSAPSimControlCnf_struct { + CiSimRc ResultCode ; /**< result code. \sa CiSimRc */ + } CiSimPrimBTSAPSimControlCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimBTSAPStatusInd_struct { + CiSimBTSapStatus StatusChange ; /**< Subscription module availability status. \sa CiSimBTSapStatus */ + } CiSimPrimBTSAPStatusInd; + +typedef CiEmptyPrim CiSimPrimBTSAPStatusReq ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimBTSAPStatusCnf_struct { + CiSimBTSapStatus Status ; /**< Status of the subscription module availability \sa CiSimBTSapStatus */ + CiSimRc ResultCode ; /**< result code. \sa CiSimRc */ + } CiSimPrimBTSAPStatusCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimBTSAPSetTransportProtocolReq_struct { + CiSimTransportProtocol TransportProtocol ; /**< Transport Protocol type T=0 or T=1 \sa CiSimTransportProtocol */ + } CiSimPrimBTSAPSetTransportProtocolReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimBTSAPSetTransportProtocolCnf_struct { + CiSimRc ResultCode ; /**< result code. \sa CiSimRc */ + } CiSimPrimBTSAPSetTransportProtocolCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimMEPAddIMSIReq_struct { + + /* # Start Contiguous Code Section # */ + CiPassword pass ; /**< The password is the personalization control key PCK. \sa CCI API Ref Manual */ + /* # End Contiguous Code Section # */ + } CiSimPrimMEPAddIMSIReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimMEPAddIMSICnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + } CiSimPrimMEPAddIMSICnf; + +//ICAT EXPORTED ENUM + typedef enum CISIMUICCEXTAUTHTYPE_TAG { + CI_SIM_UICC_AUTH_IMS_AKA = 0 , /**< See 3 GPP TS 31.103000 section 7.100000 .2.1 */ + CI_SIM_UICC_AUTH_GBA_BOOT , /**< See 3 GPP TS 31.103000 section 7.100000 .2.3 */ + CI_SIM_UICC_AUTH_GBA_NAF , /**< See 3 GPP TS 31.103000 section 7.100000 .2.4 */ + CI_SIM_UICC_AUTH_HTTP_DIGEST , /**< See 3 GPP TS 31.103000 section 7.100000 .2.2 */ + + CI_SIM_UICC_AUTH_NUM_TYPES + } _CiSimUiccExtAuthType; + +typedef UINT8 CiSimUiccExtAuthType ; +//ICAT EXPORTED STRUCT + typedef struct CISIMDfName_struct { + UINT8 len ; /**< Length */ + UINT8 data [ 16 ] ; /**< Array of 1 to 16 bytes in hexadecimal format representing the AID of the UICC application */ + } CISIMDfName; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimOpenLogicalChannelReq_struct + { + CISIMDfName DFname ; /**< DFName is the AID. All selectable applications are represented in the UICC by an AID coded on 1 to 16 hexadecimal bytes. \sa CISIMDfName_struct */ + } CiSimPrimOpenLogicalChannelReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimOpenLogicalChannelCnf_struct + { + CiSimRc rc ; /**< result code. \sa CiSimRc */ + UINT16 SessionId ; /**< A session ID to be used to target a specific application on the smart card using the logical channel mechanism. */ + } CiSimPrimOpenLogicalChannelCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimCloseLogicalChannelReq_struct + { + UINT16 SessionId ; /**< A session ID to be used to target a specific application on the smart card using the logical channel mechanism. */ + } CiSimPrimCloseLogicalChannelReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimCloseLogicalChannelCnf_struct + { + CiSimRc rc ; /**< result code. \sa CiSimRc */ + } CiSimPrimCloseLogicalChannelCnf; + +typedef CiEmptyPrim CiSimPrimAppPinReq ; +//ICAT EXPORTED STRUCT + typedef struct AppPinInfoArrTag + { + UINT8 AIDlength ; + UINT8 AIDdata [ 16 ] ; + + CiBoolean isPIN1Enabled ; + UINT8 PIN1RetryCount ; + UINT8 PUK1RetryCount ; + + CiBoolean isPIN2Enabled ; + UINT8 PIN2RetryCount ; + UINT8 PUK2RetryCount ; + } AppPinInfoArr; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimAppPinCnf_struct + { + CiSimRc rc ; + UINT8 AIDnum ; + AppPinInfoArr appPinInfo [ 8 ] ; + } CiSimPrimAppPinCnf; + +//ICAT EXPORTED ENUM + typedef enum CISIMSIMATCCSTATUS_TAG { + CI_SIM_SIMAT_CC_STATUS_NO_CHANGE = 0 , /**< The request was not modified by SIMAT CC */ + CI_SIM_SIMAT_CC_STATUS_CALL_CHANGED , /**< SIMAT CC changed a call setup request */ + CI_SIM_SIMAT_CC_STATUS_CALL_BARRED , /**< SIMAT CC barred a call setup request */ + CI_SIM_SIMAT_CC_STATUS_CALL_REPLACED_BY_SS , /**< SIMAT CC replaced a call setup request with an SS operation */ + CI_SIM_SIMAT_CC_STATUS_SS_CHANGED , /**< SIMAT CC changed an SS operation */ + CI_SIM_SIMAT_CC_STATUS_SS_BARRED , /**< SIMAT CC barred an SS operation */ + CI_SIM_SIMAT_CC_STATUS_SS_REPLACED_BY_CALL , /**< SIMAT CC replaced an SS operation request with call setup */ + CI_SIM_SIMAT_CC_STATUS_SS_FAILED , /**< SIMAT CC changed an SS operation or replaced a call setup request or a USSD operation with an SS operation and SS operation failed */ + CI_SIM_SIMAT_CC_STATUS_CALL_FAILED , /**< SIMAT CC changed a call setup request or replaced an SS operation or a USSD operation with a call setup request and call setup failed */ + CI_SIM_SIMAT_CC_STATUS_SS_OK , /**< SIMAT CC changed an SS operation or replaced a call setup request or a USSD operation with an SS operation and SS operation is OK */ + CI_SIM_SIMAT_CC_STATUS_USSD_FAILED , /**< SIMAT CC changed a USSD operation or replaced a call setup request or an SS operation with a USSD operation and USSD operation failed */ + CI_SIM_SIMAT_CC_STATUS_USSD_OK , /**< SIMAT CC changed a USSD operation or replaced a call setup request or an SS operation with a USSD operation and USSD operation is OK */ + CI_SIM_SIMAT_CC_STATUS_CALL_REPLACED_BY_USSD , /**< SIMAT CC replaced a call setup request with a USSD operation */ + CI_SIM_SIMAT_CC_STATUS_SS_REPLACED_BY_USSD , /**< SIMAT CC replaced an SS operation request with a USSD operation */ + CI_SIM_SIMAT_CC_STATUS_USSD_CHANGED , /**< SIMAT CC changed a USSD operation */ + CI_SIM_SIMAT_CC_STATUS_USSD_BARRED , /**< SIMAT CC barred a USSD operation */ + CI_SIM_SIMAT_CC_STATUS_USSD_REPLACED_BY_CALL , /**< SIMAT CC replaced a USSD operation with call setup */ + CI_SIM_SIMAT_CC_STATUS_USSD_REPLACED_BY_SS , /**< SIMAT CC replaced a USSD operation with an SS operation */ + + CI_SIM_SIMAT_CC_STATUS_NUM_TYPES + } _CiSimSIMATCcStatus; + +typedef UINT8 CiSimSIMATCcStatus ; +//ICAT EXPORTED ENUM + typedef enum CISIMSIMATCCOPERATION_TAG { + CI_SIM_SIMAT_CC_CALL_SET_UP = 0 , /**< Call setup */ + CI_SIM_SIMAT_CC_SS_OPERATION , /**< SS operation */ + CI_SIM_SIMAT_CC_USSD_OPERATION , /**< USSD operation */ + + CI_SIM_SIMAT_CC_OPERATION_NUM_TYPES + } _CiSimSIMATCcOperation; + +typedef UINT8 CiSimSIMATCcOperation ; +//ICAT EXPORTED ENUM + typedef enum CISIMSIMATSMSTATUS_TAG { + CI_SIM_SIMAT_SM_STATUS_NO_CHANGE = 0 , /**< SIMAT SM did not modify an SMS request */ + CI_SIM_SIMAT_SM_STATUS_CHANGED , /**< SIMAT SM changed an SMS destination address */ + CI_SIM_SIMAT_SM_STATUS_BARRED , /**< SIMAT CC barred a call setup request */ + + CI_SIM_SIMAT_SM_STATUS_NUM_TYPES + } _CiSimSIMATSmStatus; + +typedef UINT8 CiSimSIMATSmStatus ; +//ICAT EXPORTED ENUM + typedef enum CISIMCCCONTROLRESULT_TAG { + CI_SIM_CC_NO_CONTROL , /**< SIMAT CC did not allow a request */ + CI_SIM_CC_ALLOWED_NO_MOD , /**< SIMAT CC did allow a request without modifications */ + CI_SIM_CC_NOT_ALLOWED , /**< SIMAT CC barred a request */ + CI_SIM_CC_ALLOWED_WITH_MOD , /**< SIMAT CC did allow a request with modifications */ + + CI_SIM_CC_NUM_TYPES + } _CiSimCcControlResult; + +typedef UINT8 CiSimCcControlResult ; +//ICAT EXPORTED ENUM + typedef enum CISIMCCCALLTYPE_TAG { + CI_SIM_CC_CALL_TYPE_MO_VOICE , /**< SIMAT CC original call type is MO voice */ + CI_SIM_CC_CALL_TYPE_MO_SMS , /**< SIMAT CC original call type is MO SMS */ + CI_SIM_CC_CALL_TYPE_MO_SS , /**< SIMAT CC original call type is MO SS */ + CI_SIM_CC_CALL_TYPE_MO_USSD , /**< SIMAT CC original call type is MO USSD */ + CI_SIM_CC_CALL_PDP_CTXT , /**< SIMAT CC original call type is PDP context ( not supported ) */ + + CI_SIM_CC_CALL_TYPE_NUM_TYPES + } _CiSimCcCallType; + +typedef UINT8 CiSimCcCallType ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimSIMATCcStatusInd_struct { + CiSimSIMATCcStatus status ; /**< SIMAT CC status response \sa CiSimSIMATCcStatus */ + CiSimSIMATCcOperation OperationType ; /**< The operation type that was passed to USIM \sa CiSimSIMATCcOperation */ + CiBoolean alphaIdPresent ; /**< Indicates whether the SIMAT CC status response has an accompanying alphanumeric ID string \sa CCI API Ref Manual */ + CiSimatAlphaTag alphaId ; /**< Optional alphanumeric ID \sa CiSimatAlphaTag_struct */ + + CiBoolean addressPresent ; /**< Indicates whether the SIMAT CC status response has a changed called number \sa CCI API Ref Manual */ + CiAddressInfo AddressInfo ; /**< Optional changed called number \sa CiAddressInfo_struct */ + + /* Add by jungle for CQ00057794 on 2014 -03-31 Begin */ + UINT8 ccRawDataLen ; + UINT8 ccRawData [ 255 ] ; + /* Add by jungle for CQ00057794 on 2014 -03-31 End */ + } CiSimPrimSIMATCcStatusInd; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimSIMATSendCallSetupRspInd_struct { + CiBoolean status ; /**< Response sent to SIMAT ; TRUE: call setup is OK ; FALSE: call setup failed. \sa CCI API Ref Manual */ + + UINT8 generalResult ; /** If status is set to FALSE , will fill general result to notify AP if it is ME ( 0x20 ) or NET ( 0x21 ) failed */ + UINT8 additionResult ; /** If addtion result is present will fill it , else set it to 0x00 */ + } CiSimPrimSIMATSendCallSetupRspInd; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimSIMATSendSsUssdRspInd_struct { + CiBoolean status ; /**< Response sent to SIMAT ; TRUE: SS or USSD operation is OK ; FALSE: SS or USSD operation failed. \sa CCI API Ref Manual */ + CiSimSIMATCcOperation OperationType ; /**< The operation type that was passed to USIM \sa CiSimSIMATCcOperation */ + } CiSimPrimSIMATSendSsUssdRspInd; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimSIMATSmControlStatusInd_struct { + CiSimSIMATSmStatus status ; /**< SIMAT SM status response \sa CiSimSIMATSmStatus */ + CiBoolean alphaIdPresent ; /**< Indicates whether the SIMAT SM status response has an accompanying alphanumeric ID string \sa CCI API Ref Manual */ + CiSimatAlphaTag alphaId ; /**< Optional alphanumeric ID \sa CiSimatAlphaTag_struct */ + /* Add by jungle for CQ00057794 on 2014 -03-31 Begin */ + UINT8 ccRawDataLen ; + UINT8 ccRawData [ 255 ] ; + /* Add by jungle for CQ00057794 on 2014 -03-31 End */ + } CiSimPrimSIMATSmControlStatusInd; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimSIMATSendSmRspInd_struct { + CiBoolean status ; /**< Response sent to SIMAT ; TRUE: SM operation is OK ; FALSE: SM operation failed. \sa CCI API Ref Manual */ + + UINT8 generalResult ; /** If status is set to FALSE , will fill general result to notify AP if it is ME ( 0x20 ) or RP-ERR ( 0x35 ) or SMS control ( 0x39 ) failed */ + UINT8 additionResult ; /** If addtion result is present will fill it , else set it to 0x00 */ + } CiSimPrimSIMATSendSmRspInd; + +//ICAT EXPORTED ENUM + typedef enum CISIMRSAPSERVICETYPE_TAG { + CI_SIM_RSAP_SERVICE_RECONNECT = 0 , /**< Reconnect to local or remote SIM */ + CI_SIM_RSAP_SERVICE_DISCONNECT , /**< Disconnect from local or remote SIM */ + CI_SIM_RSAP_SERVICE_NUM_TYPES + } _CiSimRsapServiceType; + +typedef UINT8 CiSimRsapServiceType ; +typedef CiEmptyPrim CiSimPrimRsapConnReqInd ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimRsapConnReqRsp_struct { + CiSimRc ResultCode ; /**< Result code \sa CiSimRc */ + CiSimBTSapConnectionStatus ConnecitonStatus ; /**< RSAP connection status \sa CiSimBTSapConnectionStatus */ + } CiSimPrimRsapConnReqRsp; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimRsapStatReq_struct { + CiSimBTSapStatus status ; /**< RSAP connection status \sa CiSimBTSapStatus */ + } CiSimPrimRsapStatReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimRsapStatCnf_struct { + CiSimRc ResultCode ; /**< Result code \sa CiSimRc */ + } CiSimPrimRsapStatCnf; + +typedef CiEmptyPrim CiSimPrimRsapDisconnReqInd ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimRsapDisconnReqRsp_struct { + CiSimRc ResultCode ; /**< Result code \sa CiSimRc */ + } CiSimPrimRsapDisconnReqRsp; + +typedef CiEmptyPrim CiSimPrimRsapGetAtrInd ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimRsapGetAtrRsp_struct { + CiSimRc ResultCode ; /**< Result code \sa CiSimRc */ + CiSimCmdRsp ATRData ; /**< ATR will be present only if there are no errors.\sa CiSimCmdRsp */ + } CiSimPrimRsapGetAtrRsp; + +typedef CiEmptyPrim CiSimPrimRsapGetStatusInd ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimRsapSetTranPReqInd_struct { + CiSimTransportProtocol TransportProtocol ; /**< Transport Protocol type T=0 or T=1 \sa CiSimTransportProtocol */ + } CiSimPrimRsapSetTranPReqInd; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimRsapSetTranPReqRsp_struct { + CiSimRc ResultCode ; /**< Result code \sa CiSimRc */ + } CiSimPrimRsapSetTranPReqRsp; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimRsapSimControlReqInd_struct { + CiSimBTSapControl Control ; /**< SIM control operation. \sa CiSimBTSapControl */ + } CiSimPrimRsapSimControlReqInd; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimRsapSimControlReqRsp_struct { + CiSimRc ResultCode ; /**< Result code \sa CiSimRc */ + } CiSimPrimRsapSimControlReqRsp; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimRsapSimSelectReq_struct { + CiSimRsapServiceType ServiceType ; /**< Type of operation required: reconnect or disconnect \sa CiSimRsapServiceType */ + CiBoolean RemoteSIM ; /**< TRUE - Select remote SIM ; FALSE - Select local SIM \sa CCI API Ref Manual */ + } CiSimPrimRsapSimSelectReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimRsapSimSelectCnf_struct { + CiSimRc ResultCode ; /**< Result code \sa CiSimRc */ + } CiSimPrimRsapSimSelectCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimRsapStatusInd_struct { + CiSimBTSapStatus status ; /**< RSAP connection status \sa CiSimBTSapStatus */ + } CiSimPrimRsapStatusInd; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimRsapTransferAPDUInd_struct { + CiSimCmdReq CommandAPDU ; /**< SIM command.\sa CiSimCmdReq */ + } CiSimPrimRsapTransferAPDUInd; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimRsapTransferAPDURsp_struct { + CiSimRc ResultCode ; /**< Result code \sa CiSimRc */ + CiSimCmdRsp ResponseAPDU ; /**< SIM response is optional and is only sent if the command was processed without errors.\sa CiSimCmdRsp */ + } CiSimPrimRsapTransferAPDURsp; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimIccidInd_struct { + CiSimIccid iccid ; /**< ICC Id value \sa CiSimIccid */ + } CiSimPrimIccidInd; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimIsimAidInd_struct { + CiSimPinState isimPinState ; + UINT8 isimAIDlength ; + UINT8 isimAIDdata [ 16 ] ; /**< ISIM Aid value \sa CiSimIsimAid */ + } CiSimPrimIsimAidInd; + +//ICAT EXPORTED ENUM + typedef enum EfAdMsOperationModeTag + { + EF_AD_MS_OPERN_NORMAL = 0x00 , /* normal operation */ + EF_AD_MS_OPERN_TA = 0x80 , /* type approval operation */ + EF_AD_MS_OPERN_NORMAL_PLUS_SPECIFIC = 0x01 , /* normal + specific operation */ + EF_AD_MS_OPERN_TA_PLUS_SPECIFIC = 0x81 , /* type approval + specific operation */ + EF_AD_MS_OPERN_MAINTENANCE = 0x02 , /* maintenance operation */ + EF_AD_MS_OPERN_CELL_TEST = 0x04 /* cell test operation */ + } _EfAdMsOperationMode; + +typedef UINT8 EfAdMsOperationMode ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimAdminDataInd_struct + { + EfAdMsOperationMode efadmsOperationMode ; + /* MSB is byte 1 2 of AD file */ + UINT8 mncLength ; + UINT32 additionalInfo ; + } CiSimPrimAdminDataInd; + +//ICAT EXPORTED STRUCT + typedef struct CiSimEmergencyCallCode_struct + { + UINT8 serviceCategory ; + CHAR EmergencyCallCode [ 7 ] ; + } CiSimEmergencyCallCode; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimEccListInd_struct + { + UINT8 numEccsOnSim ; + CiSimEmergencyCallCode eccList [ 20 ] ; + } CiSimPrimEccListInd; + +typedef CiEmptyPrim CiSimPrimGetIccidReq ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGetIccidCnf_struct { + CiSimRc ResultCode ; /**< Result code \sa CiSimRc */ + CiSimIccid iccid ; /**< ICC Id value \sa CiSimIccid */ + } CiSimPrimGetIccidCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimEAPAuthenticationReq_struct { + CISIMDfName DFname ; + UINT8 EAPMethod [ 8 ] ; + UINT8 length ; + UINT8 EAPPacketData [ 256 ] ; + UINT16 DFeap ; + } CiSimPrimEAPAuthenticationReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimEAPAuthenticationCnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + UINT8 length ; + UINT8 EAPPacketResponse [ 256 ] ; + UINT32 EAPSessionID ; + } CiSimPrimEAPAuthenticationCnf; + +//ICAT EXPORTED ENUM + typedef enum CISIMACTAPPYPE_TAG { + CI_SIM_ACT_APP_NONE = 0 , /**< no SIM or USIM active */ + CI_SIM_ACT_APP_SIM , /**< active application is SIM */ + CI_SIM_ACT_APP_USIM , /**< active application is USIM , followed by */ + CI_SIM_ACT_APP_NUM_TYPES + } _CiSimActAppType; + +typedef UINT8 CiSimActAppType ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGetNumUiccApplicationsReq_struct { + UINT8 option ; + } CiSimPrimGetNumUiccApplicationsReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGetNumUiccApplicationsCnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + UINT16 NumUiccApplication ; + CiSimActAppType active_application ; + CISIMDfName aid ; + } CiSimPrimGetNumUiccApplicationsCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGetUiccApplicationsInfoReq_struct { + UINT8 index ; + } CiSimPrimGetUiccApplicationsInfoReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGetUiccApplicationsInfoCnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + UINT8 responseLen ; + UINT8 response [ 127 ] ; + UINT8 index ; + } CiSimPrimGetUiccApplicationsInfoCnf; + +typedef UINT8 CiSimEapParameters ; +//ICAT EXPORTED STRUCT + typedef struct CiSimEapRetrieveParametersReq_struct { + UINT32 EAPSessionID ; + CiSimEapParameters EAPParameters ; + } CiSimEapRetrieveParametersReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimEapRetrieveParametersCnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + UINT8 length ; + UINT8 EAPParamResp [ 256 ] ; + } CiSimEapRetrieveParametersCnf; + +typedef CiEmptyPrim CiSimPrimUpdateCountReq ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimUpdateCountCnf_struct + { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + UINT32 totalCount ; + UINT16 startHfn ; + UINT32 updateStartHfnCount ; + UINT16 keyps ; + UINT32 updateKeypsCount ; + UINT16 kc ; + UINT32 updateKcCount ; + UINT16 psloci ; + UINT32 updatePsLociCount ; + UINT16 kcGprs ; + UINT32 updateKcGprsCount ; + UINT16 loci ; + UINT32 updateLociCount ; + UINT16 keys ; + UINT32 updateKeysCount ; + /*CQ00113882 , Cgliu , 2019 -11-27 , Begin*/ + UINT16 epsloci ; /*6FE3*/ + UINT32 updateEpslociCount ; + UINT16 epsnsc ; /*6FE4*/ + UINT32 updateEpsnscCount ; + /*CQ00113882 , Cgliu , 2019 -11-27 , End */ + } CiSimPrimUpdateCountCnf; + +typedef void ( *quec_soc_event_cb ) ( int sockfd , uint32 event_mask , int err_no , void * user_data ) ; +typedef int ( * callback_t ) ( void * user_argv , void * argv ) ; +typedef UINT32 Attribs_Mmu ; +typedef void ( * mmuNotifyEventFunc ) ( MMU_ERROR_STATUS mmuErrorHandle ) ; +typedef union { + rw_region_item compress_rw_region_list [ 5 ] ; + + UINT8 filer [ 224 ] ; + } LOADTABLE_AREA_RW_CPZ_INFO ; +typedef unsigned char BYTE ; +typedef unsigned short int WORD ; +typedef unsigned long DWORD ; +typedef WORD * WORD_PTR ; +typedef DWORD * DWORD_PTR ; +typedef BYTE BYTE_BITMASK ; +typedef VOID_PTR * VOID_PTR_PTR ; +typedef WORD FLASH_DATA_WIDTH ; +typedef char FDI_TCHAR ; +typedef OSASemaRef SEM_ID ; +typedef int SEM_STATUS ; +typedef SEM_MTX * SEM_MTX_ID ; +typedef WORD IDTYPE ; +typedef DATA_LOOKUP * DATA_LOOKUP_PTR ; +typedef DATA_LOCATION * DATA_LOC_PTR ; +typedef OPEN_PARAM * OPEN_STREAM_PTR ; +typedef COMMAND * COMMAND_PTR ; +typedef UNIT_HEADER * UNIT_HDR_PTR ; +typedef MULTI_INSTANCE * MULTI_INST_PTR ; +typedef BLOCK_INFO * BLK_INFO_PTR ; +typedef COMMAND_CONTROL * CMD_CNTRL_PTR ; +typedef unsigned short FILE_ID ; +typedef UINT8 MEP_BCD ; +//ICAT EXPORTED STRUCT + typedef struct + { + UINT8 number [ 32 ] ; + UINT8 length ; + } MEP_PASSWORD; + +//ICAT EXPORTED STRUCT + typedef struct + { + UINT16 year ; + UINT8 month ; + UINT8 day ; + } MEP_DATE; + +typedef UINT16 MEP_MNC ; +typedef UINT16 MEP_MCC ; +typedef UINT16 MEP_AccessTechnologyId ; +typedef UINT8 MEP_Boolean ; +//ICAT EXPORTED STRUCT + typedef struct + { + UINT8 serviceproviderId [ 4 ] ; + } MEP_CODE_SP; + +//ICAT EXPORTED STRUCT + typedef struct + { + UINT8 corporateId [ 4 ] ; + } MEP_CODE_CP; + +//ICAT EXPORTED STRUCT + typedef struct + { + MEP_SIMPLMN networkIds [ 100 ] ; + MEP_CODE_NS lockNS [ 100 ] ; + MEP_CODE_SP lockSP [ 100 ] ; + MEP_CODE_CP lockCP [ 100 ] ; + MEP_CODE_SIMUSIM SimUsim ; + } MEP_CODE; + +//ICAT EXPORTED STRUCT + typedef struct + { + MEP_CODE code ; + UINT8 DefaultSiActivated ; + UINT8 DefaultSiEnabled ; + } MEP_CAT_DATA; + +//ICAT EXPORTED STRUCT + typedef struct + { + MEP_PASSWORD CatPsw [ MEP_MAX_CAT ] ; + MEP_PASSWORD UnblockPsw ; + // #if defined ( SS_IPC_SUPPORT ) && defined ( EXTENED_TRIAL_LIMIT_MEP ) + + + UINT8 TrialLimit [ MEP_MAX_CAT ] ; + + + + } MEP_BLOCK_DATA; + +//ICAT EXPORTED STRUCT + typedef struct + { + /*modified for #499867 2014.031800 by yunhail begin*/ + UINT32 VersionSize ; + /*modified for #499867 2014.031800 by yunhail end*/ + MEP_CAT_DATA data ; // !!! Run F8 And F9 on this field + MEP_BLOCK_DATA blocking ; // !!! Run F8 And F9 on this field + UINT8 signature [ 20 ] ; // This is the output of the F9 function + UINT8 DataIsEncrypted ; // Should be set to FALSE or TRUE -- do not run F8 | F9 + } MEP_FIX; + +//ICAT EXPORTED STRUCT + typedef struct + { + UINT8 SiActivated ; + UINT8 SiEnabled ; + UINT8 TrialCounter [ MEP_MAX_CAT ] ; + UINT8 padding [ 15 ] ; + UINT8 signature [ 20 ] ; + } MEP_CHANGEABLE; + +//ICAT EXPORTED STRUCT + typedef struct + { + UINT8 iccid [ 10 ] ; + MEP_DATE date ; + } UDP_ASL_DATA; + +//ICAT EXPORTED STRUCT + typedef struct + { + UDP_ASL_DATA data [ 10 ] ; + UINT8 NumAslEntries ; + } UDP_ASL; + +//ICAT EXPORTED STRUCT + typedef struct + { + MEP_PASSWORD psw ; + UDP_ASL asl ; + UINT8 si ; + UINT8 padding [ 15 ] ; + UINT8 signature [ 20 ] ; + } UDP_CHANGEABLE; + +typedef void ( *MEP_Callback ) ( MEP_UDP_RC* ) ; +typedef union + { + void ( *MEP_PutTC_Callback ) ( MEP_UDP_RC* ) ; + void ( *MEP_PutSI_Callback ) ( MEP_UDP_RC* ) ; + void ( *UDP_PutSI_Callback ) ( MEP_UDP_RC* ) ; + void ( *UDP_PutASL_Callback ) ( MEP_UDP_RC* ) ; + void ( *UDP_PutPassword_Callback ) ( MEP_UDP_RC* ) ; + } MEP_UDP_CallBackFuncS ; +//ICAT EXPORTED STRUCT + typedef struct + { + UINT32 ulDebugInfoTag ; + UINT32 ulMrdInfo ; + UINT32 ulMepInfo ; + } MRD_DEBUG_INFO; + +typedef void ( * ql_data_call_event_cb_t ) ( int profile_idx , int state ) ; +typedef void ( * nw_status_cb ) ( int profile_idx , int nw_status ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\oem_dsp.ppp +//PPL Source File Name : src\\oem_dsp.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( * pfn_hal_looper_user_free ) ( void* user ) ; +typedef void ( *pfn_looper_event_destroy ) ( hal_looper_event_t* event ) ; +typedef void ( * pfn_hal_looper_event_processer ) ( hal_looper_t* looper , hal_looper_event_t* event , void* user ) ; +typedef void ( * pfn_hal_looper_timer_callback ) ( hal_looper_t* looper , hal_time_t now , void* user ) ; +typedef int ( * pfn_hal_looper_routine ) ( hal_looper_t* looper , void* user ) ; +typedef void ( *hal_device_alarm_timer_cb_t ) ( void* user ) ; +typedef void ( *pfn_ini_parser ) ( void* user , const char* section , const char* name , const char* value ) ; +typedef void ( *oem_notify_cb_t ) ( void* user ) ; +typedef void ( *oem_stream_dB_cb_t ) ( int dB , void* user ) ; +typedef void ( *oem_stream_has_data_cb_t ) ( const void* data , size_t size , void* user ) ; +typedef void ( *oem_tone_cb_t ) ( void* user ) ; +typedef int oem_socket_t ; +typedef void * oem_thread_id_t ; +typedef void* ( *oem_thread_function_t ) ( void* arg ) ; +typedef void* oem_semaphore_t ; +typedef void* oem_mutex_t ; +typedef int ( *pfn_play_type_cb ) ( int status ) ; +typedef int ( *pfn_record_cb ) ( int result , unsigned char *pBuf , unsigned int len ) ; +typedef unsigned int size_t ; +typedef char CHAR ; +typedef unsigned char UCHAR ; +typedef int INT ; +typedef unsigned int UINT ; +typedef long LONG ; +typedef unsigned long ULONG ; +typedef short SHORT ; +typedef unsigned short USHORT ; +typedef unsigned char BOOL ; +typedef unsigned char UINT8 ; +typedef unsigned short UINT16 ; +typedef unsigned long UINT32 ; +typedef char CHAR ; +typedef signed char INT8 ; +typedef signed short INT16 ; +typedef signed long INT32 ; +typedef unsigned char Bool ; +typedef UINT8 BYTE ; +typedef UINT8 UBYTE ; +typedef UINT16 UWORD ; +typedef UINT16 WORD ; +typedef INT16 SWORD ; +typedef UINT32 DWORD ; +typedef unsigned long long UINT64 ; +typedef void* VOID_PTR ; +//ICAT EXPORTED ENUM + typedef enum + { + OSA_TASK_READY , + OSA_TASK_COMPLETED , + OSA_TASK_TERMINATED , + OSA_TASK_SUSPENDED , + OSA_TASK_SLEEP , + OSA_TASK_QUEUE_SUSP , + OSA_TASK_SEMAPHORE_SUSP , + OSA_TASK_EVENT_FLAG , + OSA_TASK_BLOCK_MEMORY , + OSA_TASK_MUTEX_SUSP , + OSA_TASK_STATE_UNKNOWN , + } OSA_TASK_STATE; + +//ICAT EXPORTED STRUCT + typedef struct OSA_TASK_STRUCT + { + char *task_name ; /* Pointer to thread ' s name */ + unsigned int task_priority ; /* Priority of thread ( 0 -255 ) */ + unsigned long task_stack_def_val ; /* default vaule of thread */ + OSA_TASK_STATE task_state ; /* Thread ' s execution state */ + unsigned long task_stack_ptr ; /* Thread ' s stack pointer */ + unsigned long task_stack_start ; /* Stack starting address */ + unsigned long task_stack_end ; /* Stack ending address */ + unsigned long task_stack_size ; /* Stack size */ + unsigned long task_run_count ; /* Thread ' s run counter */ + + } OSA_TASK; + +typedef void *OsaRefT ; +typedef UINT8 OSA_STATUS ; +typedef void* OSATaskRef ; +typedef void* OSAHISRRef ; +typedef void* OSAMsgQRef ; +typedef void* OSAMailboxQRef ; +typedef void* OSAPartitionPoolRef ; +typedef UINT8 OS_STATUS ; +typedef UINT8 OS_STATUS ; +typedef void* OS_HISR ; +typedef unsigned long UNSIGNED ; +typedef long SIGNED ; +typedef unsigned char DATA_ELEMENT ; +typedef DATA_ELEMENT OPTION ; +typedef DATA_ELEMENT BOOLEAN ; +typedef int STATUS ; +typedef unsigned char UNSIGNED_CHAR ; +typedef unsigned int UNSIGNED_INT ; +typedef int INT ; +typedef unsigned long * UNSIGNED_PTR ; +typedef unsigned char * BYTE_PTR ; +typedef void* OSATaskRef ; +typedef void* OSAHISRRef ; +typedef void* OSASemaRef ; +typedef void* OSAMutexRef ; +typedef void* OSAMsgQRef ; +typedef void* OSAMailboxQRef ; +typedef void* OSAPoolRef ; +typedef void* OSATimerRef ; +typedef void* OSAFlagRef ; +typedef void* OSAPartitionPoolRef ; +typedef void* OSTaskRef ; +typedef void* OSSemaRef ; +typedef void* OSMutexRef ; +typedef void* OSMsgQRef ; +typedef void* OSMailboxQRef ; +typedef void* OSPoolRef ; +typedef void* OSTimerRef ; +typedef void* OSFlagRef ; +typedef UINT8 OS_STATUS ; +typedef OsaTimerStatusParamsT OSATimerStatus ; +typedef unsigned int size_t ; +typedef volatile UINT8 *V_UINT8_PTR ; +typedef volatile UINT16 *V_UINT16_PTR ; +typedef volatile UINT32 *V_UINT32_PTR ; +typedef unsigned int U32Bits ; +typedef BOOL BOOLEAN ; +typedef const char * SwVersion ; +typedef void ( *CommandAddress ) ( void ) ; +typedef char* CommandProto ; +typedef const char * DiagDBVersion ; +//ICAT EXPORTED ENUM + typedef enum + { + PROTOCOL_TYPE_0 = 0 , + MAX_PROTOCOL_TYPES + } ProtocolType; + +//ICAT EXPORTED STRUCT + typedef struct + { + BOOL bEnabled ; // enable / disable the trace logging feature + ProtocolType eProtocolType ; // protocol type for communication with ICAT , currently only protocol type 0 is supported + UINT16 nMaxDataPerTrace ; // for each trace , what is the maximum data length to accompany the trace , in protocol type 0 , this is relevant only to DSP messages + } DiagLoggerDefs; + +typedef void ( *TIMER_CALLBACK_FUNCTION ) ( UINT8 ) ; +typedef void ( *ACC_TIMER_CALLBACK ) ( UINT32 ) ; +typedef int TIMER_STATUS ; +typedef int TIMER_ID ; +//ICAT EXPORTED ENUM + typedef enum + { + PM_RC_OK = 0 , + PM_RC_FAIL , // General Failure + PM_RC_ALREADY_EXISTS // Exit function since required target alrteady exists + } PM_ReturnCodeE; + +typedef void ( *PM_CallbackFuncDDRstateT ) ( BOOL b_DDR_ready ) ; +typedef unsigned long long UINT64 ; +typedef unsigned long TimeIn32KhzUnit ; +typedef void ( *TickCallbackPtr ) ( UINT32 ) ; +typedef TimeIn32KhzUnit ( *SuspendCallbackPtr ) ( void ) ; +typedef void ( *PrepareTimeCallbackPtr ) ( void ) ; +typedef void ( *GPIOCallback ) ( void ) ; +//ICAT EXPORTED ENUM + typedef enum + { + GPIO_PIN_NOT_ASSIGNED = -1 , + + GPIO_PIN_0=0 , GPIO_PIN_1 , GPIO_PIN_2 , GPIO_PIN_3 , GPIO_PIN_4 , GPIO_PIN_5 , GPIO_PIN_6 , GPIO_PIN_7 , + GPIO_PIN_8 , GPIO_PIN_9 , GPIO_PIN_10 , GPIO_PIN_11 , GPIO_PIN_12 , GPIO_PIN_13 , GPIO_PIN_14 , GPIO_PIN_15 , + GPIO_PIN_16 , GPIO_PIN_17 , GPIO_PIN_18 , GPIO_PIN_19 , GPIO_PIN_20 , GPIO_PIN_21 , GPIO_PIN_22 , GPIO_PIN_23 , + GPIO_PIN_24 , GPIO_PIN_25 , GPIO_PIN_26 , GPIO_PIN_27 , GPIO_PIN_28 , GPIO_PIN_29 , GPIO_PIN_30 , GPIO_PIN_31 , + GPIO_PIN_32 , + // #ifndef SILICON_PV2 + GPIO_PIN_33 , GPIO_PIN_34 , GPIO_PIN_35 , GPIO_PIN_36 , GPIO_PIN_37 , GPIO_PIN_38 , GPIO_PIN_39 , + GPIO_PIN_40 , GPIO_PIN_41 , GPIO_PIN_42 , GPIO_PIN_43 , GPIO_PIN_44 , GPIO_PIN_45 , GPIO_PIN_46 , GPIO_PIN_47 , + GPIO_PIN_48 , GPIO_PIN_49 , GPIO_PIN_50 , GPIO_PIN_51 , GPIO_PIN_52 , GPIO_PIN_53 , GPIO_PIN_54 , GPIO_PIN_55 , + GPIO_PIN_56 , GPIO_PIN_57 , GPIO_PIN_58 , GPIO_PIN_59 , GPIO_PIN_60 , GPIO_PIN_61 , GPIO_PIN_62 , GPIO_PIN_63 , + // #endif // _TAVOR_HARBELL_ + + // #if 1 // quectel define for build defined ( GPIO_128_ENTRIES ) + GPIO_PIN_64 , GPIO_PIN_65 , GPIO_PIN_66 , GPIO_PIN_67 , GPIO_PIN_68 , GPIO_PIN_69 , GPIO_PIN_70 , GPIO_PIN_71 , + GPIO_PIN_72 , GPIO_PIN_73 , GPIO_PIN_74 , GPIO_PIN_75 , GPIO_PIN_76 , GPIO_PIN_77 , GPIO_PIN_78 , GPIO_PIN_79 , + GPIO_PIN_80 , GPIO_PIN_81 , GPIO_PIN_82 , GPIO_PIN_83 , GPIO_PIN_84 , GPIO_PIN_85 , GPIO_PIN_86 , GPIO_PIN_87 , + GPIO_PIN_88 , GPIO_PIN_89 , GPIO_PIN_90 , GPIO_PIN_91 , GPIO_PIN_92 , GPIO_PIN_93 , GPIO_PIN_94 , GPIO_PIN_95 , + GPIO_PIN_96 , GPIO_PIN_97 , GPIO_PIN_98 , GPIO_PIN_99 , GPIO_PIN_100 , GPIO_PIN_101 , GPIO_PIN_102 , GPIO_PIN_103 , + GPIO_PIN_104 , GPIO_PIN_105 , GPIO_PIN_106 , GPIO_PIN_107 , GPIO_PIN_108 , GPIO_PIN_109 , GPIO_PIN_110 , GPIO_PIN_111 , + GPIO_PIN_112 , GPIO_PIN_113 , GPIO_PIN_114 , GPIO_PIN_115 , GPIO_PIN_116 , GPIO_PIN_117 , GPIO_PIN_118 , GPIO_PIN_119 , + GPIO_PIN_120 , GPIO_PIN_121 , GPIO_PIN_122 , GPIO_PIN_123 , GPIO_PIN_124 , GPIO_PIN_125 , GPIO_PIN_126 , GPIO_PIN_127 , + // #endif // INTEL_2CHIP_PLAT_BVD + GPIO_MAX_AMOUNT_OF_PINS + + + + } GPIO_PinNumbers; + +//ICAT EXPORTED ENUM + typedef enum + { + GPIO_RC_OK = 1 , + + GPIO_RC_INVALID_PORT_HANDLE = -100 , + GPIO_RC_NOT_OUTPUT_PORT , + GPIO_RC_NO_TIMER , + GPIO_RC_NO_FREE_HANDLE , + GPIO_RC_AMOUNT_OUT_OF_RANGE , + GPIO_RC_INCORRECT_PORT_SIZE , + GPIO_RC_PORT_NOT_ON_ONE_REG , + GPIO_RC_INVALID_PIN_NUM , + GPIO_RC_PIN_USED_IN_PORT , + GPIO_RC_PIN_NOT_FREE , + GPIO_RC_PIN_NOT_LOCKED , + GPIO_RC_NULL_POINTER , + GPIO_RC_PULLED_AND_OUTPUT , + GPIO_RC_INCORRECT_PORT_TYPE , + GPIO_RC_INCORRECT_TRANSITION_TYPE , + GPIO_RC_INCORRECT_DEBOUNCE , + GPIO_RC_INCORRECT_DIRECTION , + GPIO_RC_INCORRECT_INIT_VALUE , + GPIO_RC_INTC_ERROR , + GPIO_RC_PRM_ERROR , + GPIO_RC_PIN_LOCKED , + } GPIO_ReturnCode; + +//ICAT EXPORTED ENUM + typedef enum + { + GPIO_PIN_FREE_FOR_USE = 0 , + GPIO_PIN_USE_IN_PORT , + GPIO_PIN_USE_IN_INTERRUPT , + GPIO_PIN_USE_IN_PORT_WITH_INTERRUPT , + GPIO_PIN_LOCKED + } GPIO_PinUsage; + +//ICAT EXPORTED STRUCT + typedef struct + { + GPIO_PinUsage pinUsage ; + GPIOPinDirection direction ; + } GPIO_PinStatus; + +//ICAT EXPORTED ENUM + typedef enum + { + GPIO_INITIAL_VALUE_NO_CHANGE = 0 , + GPIO_INITIAL_VALUE_LOW=0 , + GPIO_INITIAL_VALUE_HIGH + } GPIO_BitInitialValue; + +//ICAT EXPORTED ENUM + typedef enum + { + GPIO_PULL_UP_DOWN_DISABLE = 0 , + GPIO_PULL_UP_ENABLE , + GPIO_PULL_DOWN_ENABLE + } GPIO_PullUpDown; + +//ICAT EXPORTED STRUCT + typedef struct + { + GPIO_PinNumbers pinNumber ; + GPIOPinDirection direction ; + GPIOTransitionType transitionType ; + GPIO_Debounce debounce ; + GPIOPullUpDown pullUpDown ; + GPIO_BitInitialValue initialValue ; + } GPIO_PinConfiguration; + +typedef void ( *GPIO_ISR ) ( void ) ; +typedef UINT32 INTC_InterruptPriorityTable [ MAX_INTERRUPT_CONTROLLER_SOURCES ] ; +typedef UINT32 INTC_InterruptInfo ; +typedef void ( *INTC_ISR ) ( INTC_InterruptInfo interruptInfo ) ; +typedef void ( *PMCNotifyEventFunc ) ( UINT64 eventRegs ) ; +typedef void ( *PMCGetStatusNotifyFunc ) ( UINT16 status ) ; +typedef void ( *PMCReadCallback ) ( UINT8 *dataBuffPtr , UINT16 dataSize , UINT16 userId ) ; +typedef void ( *PMCWriteCallback ) ( UINT16 dataBuffPtr ) ; +typedef void ( *PMCGetGPADCValueNotifyFunc ) ( PMC_adc_reg_t reg , UINT16 value ) ; +typedef void ( * ReadingCallback ) ( int ) ; +typedef void ( * LTETempReadingCallback ) ( unsigned short , unsigned short ) ; +typedef void ( * ReadingCallbackBoth ) ( BOOL , int , int ) ; +typedef union + { + UINT8 autoControl ; + UINT8 autoControl2 ; + UINT8 manControl ; + } adcModeCntrl_t ; +typedef union + { + UINT64 all ; + Registers_ts regs ; + } PMCEvents ; +//ICAT EXPORTED ENUM + typedef enum + { + SHD_POWER_DOWN , + SHD_RESET , + SHD_GHOST , + SHD_SW_ERROR /* EEHandler triggered the reset */ + } ShutDownType_te; + +//ICAT EXPORTED ENUM + typedef enum + { + RR_NORMAL_POWER_ON = 0x00 , // default , not combined with others + RR_WATCH_DOG_TIMEOUT = 0x01 , + RR_SOFTWARE_GENERATED = 0x02 , + RR_CHARGING_BATTERY = 0x04 , + RR_LOW_BATTERY = 0x08 , + RR_ALARM_POWER_ON = 0x10 , + RR_EXT_POWER_ON = 0x20 + } + StartupReason_te; + +//ICAT EXPORTED ENUM + typedef enum + { + RE_RTC_ALARM = 0x01 + } StartupExtInd_te; + +typedef BOOL ( *DiagPSisRunningFn ) ( void ) ; +//ICAT EXPORTED ENUM + typedef enum { + HEAD_PHONE_INIT = 0 , + HEAD_PHONE_OUT , // 1 + HEAD_TYPE_UNKNOWN , // 2 + HEAD_PHONE_TYPE3 , // 3 + HEAD_PHONE_TYPE4 , // 4 + + HEAD_PHONE_ERROR = 0xFFFF + } HEADPHONE_STATE; + +//ICAT EXPORTED ENUM + typedef enum { + HOOK_KEY_EVENT_NULL = 0 , + VOL_UP_PRESS , // 1 + VOL_DOWN_PRESS , // 2 + HOOK_KEY_PRESS , // 3 + VOL_UP_RELEASE , // 4 + VOL_DOWN_RELEASE , // 5 + HOOK_KEY_RELEASE , // 6 + + HEADPHONE_EVENT_ERROR = 0xFFFF + } HEADPHONE_EVENT; + +//ICAT EXPORTED ENUM + typedef enum + { + AUDIOHAL_ERR_NO = 0 , // No error + AUDIOHAL_ERR_RESOURCE_RESET , + AUDIOHAL_ERR_RESOURCE_BUSY , + AUDIOHAL_ERR_RESOURCE_TIMEOUT , + AUDIOHAL_ERR_RESOURCE_NOT_ENABLED , + AUDIOHAL_ERR_BAD_PARAMETER , + + AUDIOHAL_ERR_UART_RX_OVERFLOW , + AUDIOHAL_ERR_UART_TX_OVERFLOW , + AUDIOHAL_ERR_UART_PARITY , + AUDIOHAL_ERR_UART_FRAMING , + AUDIOHAL_ERR_UART_BREAK_INT , + + AUDIOHAL_ERR_TIM_RTC_NOT_VALID , + AUDIOHAL_ERR_TIM_RTC_ALARM_NOT_ENABLED , + AUDIOHAL_ERR_TIM_RTC_ALARM_NOT_DISABLED , + + AUDIOHAL_ERR_COMMUNICATION_FAILED , + + /* Must be at the end */ + AUDIOHAL_ERR_QTY , + + + AUDIOHAL_ERR_ENUM_32_BIT = 0x7FFFFFFF // 32 bit enum compiling enforcement + } AUDIOHAL_ERR_T; + +//ICAT EXPORTED ENUM + typedef enum + { + AUDIOHAL_ITF_RECEIVER = 0 , + AUDIOHAL_ITF_EARPIECE , + AUDIOHAL_ITF_HEADPHONE = AUDIOHAL_ITF_EARPIECE , + AUDIOHAL_ITF_LOUDSPEAKER , + AUDIOHAL_ITF_LOUDSPEAKER_AND_HEADPHONE , + // AUDIOHAL_ITF_LOUDSPEAKER_AND_HEADPHONE = AUDIOHAL_ITF_LOUDSPEAKER_AND_EARPIECE , + AUDIOHAL_ITF_BLUETOOTH , + AUDIOHAL_ITF_FM , + AUDIOHAL_ITF_FM2SPK , + AUDIOHAL_ITF_TV , + AUDIOHAL_ITF_BLUETOOTH_WB , + + AUDIOHAL_ITF_QTY , + AUDIOHAL_ITF_NONE = 255 , + } AUDIOHAL_ITF_T; + +//ICAT EXPORTED ENUM + typedef enum + { + AUDIOHAL_SPK_RECEIVER = 0 , + AUDIOHAL_SPK_EARPIECE , + AUDIOHAL_SPK_LOUDSPEAKER , + AUDIOHAL_SPK_LOUDSPEAKER_EARPIECE , // Output on both hands-free loud speaker and earpiece + + AUDIOHAL_SPK_QTY , + AUDIOHAL_SPK_DISABLE = 255 , + } AUDIOHAL_SPK_T; + +//ICAT EXPORTED ENUM + typedef enum + { + AUDIOHAL_SPEAKER_STEREO = 0 , + AUDIOHAL_SPEAKER_MONO_RIGHT , + AUDIOHAL_SPEAKER_MONO_LEFT , + AUDIOHAL_SPEAKER_STEREO_NA , // Output is mono only + + AUDIOHAL_SPEAKER_QTY , + AUDIOHAL_SPEAKER_DISABLE = 255 , + } AUDIOHAL_SPEAKER_TYPE_T; + +//ICAT EXPORTED ENUM + typedef enum + { + AUDIOHAL_MIC_RECEIVER = 0 , + AUDIOHAL_MIC_EARPIECE , + AUDIOHAL_MIC_LOUDSPEAKER , + + AUDIOHAL_MIC_QTY , + AUDIOHAL_MIC_DISABLE = 255 , + } AUDIOHAL_MIC_T; + +//ICAT EXPORTED ENUM + typedef enum + { + AUDIOHAL_SPK_MUTE = 0 , + AUDIOHAL_SPK_VOL_1 , + AUDIOHAL_SPK_VOL_2 , + AUDIOHAL_SPK_VOL_3 , + AUDIOHAL_SPK_VOL_4 , + AUDIOHAL_SPK_VOL_5 , + AUDIOHAL_SPK_VOL_6 , + AUDIOHAL_SPK_VOL_7 , + AUDIOHAL_SPK_VOL_8 , + AUDIOHAL_SPK_VOL_9 , + AUDIOHAL_SPK_VOL_10 , + AUDIOHAL_SPK_VOL_11 , // 11 + + AUDIOHAL_SPK_VOL_QTY // 12 + } AUDIOHAL_SPK_LEVEL_T; + +//ICAT EXPORTED ENUM + typedef enum + { + AUDIOHAL_MIC_MUTE = 0 , + AUDIOHAL_MIC_ENABLE , + + AUDIOHAL_MIC_VOL_QTY , + } AUDIOHAL_MIC_LEVEL_T; + +//ICAT EXPORTED ENUM + typedef enum + { + AUDIOHAL_SIDE_MUTE = 0 , + AUDIOHAL_SIDE_VOL_1 , + AUDIOHAL_SIDE_VOL_2 , + AUDIOHAL_SIDE_VOL_3 , + AUDIOHAL_SIDE_VOL_4 , + AUDIOHAL_SIDE_VOL_5 , + AUDIOHAL_SIDE_VOL_6 , + AUDIOHAL_SIDE_VOL_7 , + AUDIOHAL_SIDE_VOL_TEST , + AUDIOHAL_SIDE_VOL_QTY , + } AUDIOHAL_SIDE_LEVEL_T; + +//ICAT EXPORTED ENUM + typedef enum + { + AUDIOHAL_FREQ_8000HZ = 8000 , + AUDIOHAL_FREQ_11025HZ = 11025 , + AUDIOHAL_FREQ_12000HZ = 12000 , + AUDIOHAL_FREQ_16000HZ = 16000 , + AUDIOHAL_FREQ_22050HZ = 22050 , + AUDIOHAL_FREQ_24000HZ = 24000 , + AUDIOHAL_FREQ_32000HZ = 32000 , + AUDIOHAL_FREQ_44100HZ = 44100 , + AUDIOHAL_FREQ_48000HZ = 48000 , + AUDIOHAL_FREQ_64000HZ = 64000 , + AUDIOHAL_FREQ_88200HZ = 88200 , + AUDIOHAL_FREQ_96000HZ = 96000 , + } AUDIOHAL_FREQ_T; + +//ICAT EXPORTED ENUM + typedef enum + { + AUDIOHAL_MONO = 1 , + AUDIOHAL_STEREO = 2 , + } AUDIOHAL_CH_NB_T; + +//ICAT EXPORTED ENUM + typedef enum + { + AUDIOHAL_DTMF_0 = 0 , + AUDIOHAL_DTMF_1 , + AUDIOHAL_DTMF_2 , + AUDIOHAL_DTMF_3 , + AUDIOHAL_DTMF_4 , + AUDIOHAL_DTMF_5 , + AUDIOHAL_DTMF_6 , + AUDIOHAL_DTMF_7 , + AUDIOHAL_DTMF_8 , + AUDIOHAL_DTMF_9 , + AUDIOHAL_DTMF_A , + AUDIOHAL_DTMF_B , + AUDIOHAL_DTMF_C , + AUDIOHAL_DTMF_D , + AUDIOHAL_DTMF_S , // * key + AUDIOHAL_DTMF_P , // # key + AUDIOHAL_COMFORT_425 , + AUDIOHAL_COMFORT_950 , + AUDIOHAL_COMFORT_1400 , + AUDIOHAL_COMFORT_1800 , + } AUDIOHAL_TONE_TYPE_T; + +//ICAT EXPORTED ENUM + typedef enum + { + AUDIOHAL_TONE_0DB = 0 , + AUDIOHAL_TONE_M3DB , // -3 dB + AUDIOHAL_TONE_M9DB , // -9 dB + AUDIOHAL_TONE_M15DB , // -15 dB + AUDIOHAL_TONE_QTY + } AUDIOHAL_TONE_ATTENUATION_T; + +//ICAT EXPORTED ENUM + typedef enum { + AUDIOHAL_HEADPHONE_PLUG_OUT = 0 , + AUDIOHAL_HEADPHONE_PLUG_IN = 1 + } AUDIOHAL_HEADPHONE_PLUG_T; + +//ICAT EXPORTED ENUM + typedef enum { + AUDIOHAL_HEADPHONE_TYPE_NULL = 0 , + AUDIOHAL_HEADPHONE_TYPE_UNKNOWN = 1 , + + AUDIOHAL_HEADPHONE_TYPE_3 = 3 , // HEAD_PHONE_TYPE3 + AUDIOHAL_HEADPHONE_TYPE_4 = 4 // HEAD_PHONE_TYPE4 + } AUDIOHAL_HEADPHONE_TYPE_T; + +//ICAT EXPORTED ENUM + typedef enum { + AUDIOHAL_HEADPHONE_EVENT_NULL = 0 , + AUDIOHAL_HEADPHONE_EVENT_VOLUME_UP = 1 , + AUDIOHAL_HEADPHONE_EVENT_VOLUME_DOWN= 2 , + AUDIOHAL_HEADPHONE_EVENT_HOOK_KEY = 3 + } AUDIOHAL_HEADPHONE_EVENT_T; + +typedef void ( *AUDIOHAL_HANDLER_T ) ( void ) ; +typedef void ( *AUDIOHAL_HeadsetReport_T ) ( UINT32 plug , UINT32 type , UINT32 event ) ; +typedef void ( *AUDIOHAL_SpeakerPA_T ) ( UINT32 on ) ; +typedef void ( *AUDIOHAL_Codec_T ) ( UINT32 on ) ; +//ICAT EXPORTED STRUCT + typedef struct { + UINT32 * startAddress ; + UINT16 length ; + + AUDIOHAL_FREQ_T sampleRate ; + AUDIOHAL_CH_NB_T channelNb ; + // BOOL voiceQuality ; + // BOOL playSyncWithRecord ; + INT voiceQuality ; + INT playSyncWithRecord ; + + AUDIOHAL_HANDLER_T halfHandler ; + AUDIOHAL_HANDLER_T endHandler ; + } AUDIOHAL_STREAM_T; + +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned char uint8 ; +typedef signed char int8 ; +typedef unsigned short int uint16 ; +typedef signed short int int16 ; +typedef unsigned int uint32 ; +typedef signed int int32 ; +typedef unsigned long long uint64 ; +typedef signed long long int64 ; +typedef int QuecOSStatus ; +typedef uint8 data_t ; +typedef uint32 datasize_t ; +typedef uint32 node_cnt_t ; +typedef int32 linklist_id_t ; +typedef linklist_t * linklist_handler_t ; +typedef uint32 quec_tcb_id_t ; +typedef linklist_handler_t QuecTCBLinklist_t ; +typedef OSTaskRef quec_task_t ; +typedef OSSemaRef quec_sem_t ; +typedef OSMutexRef quec_mutex_t ; +typedef OSMsgQRef quec_queue_t ; +typedef OSMailboxQRef quec_mailbox_t ; +typedef OSFlagRef quec_flag_t ; +typedef OSTimerRef quec_timer_t ; +typedef OSATimerStatus quec_timer_status_t ; +typedef void ( * task_delete_work_cb_t ) ( task_delete_result_t * task_delete_result ) ; +//ICAT EXPORTED ENUM + typedef enum + { + PMU_POR = 1 , + PMU_EMR , + PMU_WDTR = ( PMU_EMR+2 ) + } PMU_LastResetStatus; + +//ICAT EXPORTED STRUCT + typedef struct + { + UINT32 dbID ; + UINT32 filterBitLength ; + UINT32 reserved [ 6 ] ; + } DIAG_Nvm_Filter_File_Header_t; + +//ICAT EXPORTED ENUM + typedef enum + { + LOG_DISABLE = 0x0 , + UART_LOG_ENABLE = 0x1 , + ACAT_LOG_ENABLE = 0x2 + } Log_ConfigE; + +//ICAT EXPORTED ENUM + typedef enum + { + MSG_DISABLE = 0x0 , + ACAT_MSG_ENABLE = 0x1 + } Msg_ConfigE; + +//ICAT EXPORTED ENUM + typedef enum + { + RTI_LOG_DISABLE = 0x0 , + RTI_DUMP_ENABLE = 0x1 , + RTI_TASK_ENABLE = 0x2 , + RTI_MIPS_ENABLE = 0x3 + } RTI_ConfigE; + +//ICAT EXPORTED ENUM + typedef enum + { + SD_ACAT_LOG_DISABLE = 0x0 , + SD_ACAT_LOG_ENABLE = 0x1 + } SD_ACAT_LOG_ConfigE; + +//ICAT EXPORTED ENUM + typedef enum + { + SD_DUMP_BIN_DISABLE = 0x0 , + SD_DUMP_BIN_ENABLE = 0x1 + } SD_Dump_bin_ConfigE; + +//ICAT EXPORTED STRUCT + typedef struct { + Log_ConfigE log_cfg ; + Msg_ConfigE msg_cfg ; + RTI_ConfigE rti_cfg ; + } Log_ConfigS; + +//ICAT EXPORTED STRUCT + typedef struct { + SD_ACAT_LOG_ConfigE log_cfg ; + SD_Dump_bin_ConfigE dump_cfg ; + } SD_ConfigS; + +//ICAT EXPORTED ENUM + typedef enum + { + YMODEM_DISABLE = 0x0 , + YMODEM_ENABLE = 0x1 + } Ymodem_Dump_config; + +//ICAT EXPORTED STRUCT + typedef struct { + Ymodem_Dump_config config ; + } Ymodem_Dump_type; + +//ICAT EXPORTED ENUM + typedef enum { + DIAG_DEV_USB , + DIAG_DEV_SD , + DIAG_DEV_FS , + DIAG_DEV_UART , + DIAG_DEV_SPI , + DIAG_DEV_SHM , + DIAG_DEV_NONE + } DIAG_DEV_TYPE; + +typedef UINT8 UART_Activity ; +//ICAT EXPORTED STRUCT + typedef struct /* This is structure of the UART Configuration */ + { + UART_OpMode opMode ; /* fifo mode , non fifo mode or DMA for basic interface*/ + UART_TriggerLevel triggerLevel ; /* the trigger level interrupt on 1 , 8 , 16 , 32 */ + UART_BaudRates baudRate ; /* the rate of the transmit and the receive up to 111520 ( default - 9600 ) .*/ + UART_WordLen numDataBits ; /* 5 , 6 , 7 , or 8 number of data bits in the UART data frame ( default - 8 ) . */ + UART_StopBits stopBits ; /* 1 , 1.500000 or 2 stop bits in the UART data frame ( default - 1 ) . */ + UART_ParityTBits parityBitType ; /* Even , Odd or no-parity bit type in the UART data frame ( default - Non ) . */ + UART_InterfaceType interfaceType ; /* number of interface that the UART driver supplies ( default - UART_IF_TYPE_L2 ) */ + BOOL modemSignal ; /* enable operate modem - TRUE , disable modem - FALSE */ + BOOL flowControl ; /* enable Auto flow Control - TRUE , disable Auto flow Control - FALSE */ + UINT8 sleepMode ; /* enable sleep mode - TRUE , more fine control - see UARTSleepMode enum */ + BOOL auto_baud ; /* enable auto_baud , auto-baud-rate detection within the UART ( default - FALSE ) */ + UART_SIRConfigure sirIrDA ; + } UARTConfiguration; + +//ICAT EXPORTED ENUM + typedef enum // change the order -1 to + + { + UART_RC_OK = 1 , /* 1 - no errors */ + + UART_RC_PORT_NUM_ERROR = -100 , /* -100 - Error in the UART port number */ + UART_RC_NO_DATA_TO_READ , /* -99 - Eror no data to read from the FIFO UART */ + UART_RC_ILLEGAL_BAUD_RATE , /* -98 - Error in the UART Bayd Rate */ + UART_RC_UART_PARITY_BITS_ERROR , /* -97 - Error in parity bit */ + UART_RC_UART_ONE_STOP_BIT_ERROR , /* -96 - Error in one stop bit */ + UART_RC_ONE_HALF_OR_TWO_STOP_BIT_ERROR , /* -95 - Error in two stop bit */ + UART_RC_BAD_INTERFACE_TYPE , /* -94 - Error in the Interface Type */ + UART_RC_UART_NOT_AVAILABLE , /* -93 - Error in try to open UART that is open */ + UART_RC_NO_DATA_TO_WRITE , /* -92 - Error No data to writ the len = 0 */ + UART_RC_NOT_ALL_BYTE_WRITTEN , /* -91 - Error Not all the Byte write to the UART FIFO */ + UART_RC_ISR_ALREADY_BIND , /* -90 - Error try to bind ISR for Basic Interface */ + UART_RC_WRONG_ISR_UNBIND , /* -89 - Error in the UnBind ISR for Basic Interface */ + UART_RC_FIFO_NOT_EMPTY , /* -88 - Error , the UART FIFO not empty */ + UART_RC_UART_OPEN , /* -87 - Error try chance the configurr when the UART open */ + UART_RC_GPIO_ERR , /* -86 - Error in the Configure of the GPIO */ + UART_RC_IRDA_CONFIG_ERR , /* -85 - Illegal IrDA configuration */ + UART_RC_TX_DMA_ERR /* -84 - DMA TX Error */ + + } UART_ReturnCode; + +typedef void ( *UARTNotifyInterrupt ) ( UART_Port ) ; +//ICAT EXPORTED STRUCT + typedef struct { + UINT32 product_id ; + UINT8 data [ 20 ] ; + } InfoForBoardTracking_t; + +typedef UINT32 lfs_size_t ; +typedef UINT32 lfs_off_t ; +typedef int lfs_ssize_t ; +typedef int lfs_soff_t ; +typedef UINT32 lfs_block_t ; +typedef int ( *cb_on_player ) ( char *p_data , int len , enum_aud_player_state state ) ; +typedef int ( *cb_on_record ) ( char *p_data , int len , enum_aud_record_state state ) ; +typedef void ( *cb_headset_state ) ( UINT32 plug , UINT32 type , UINT32 event ) ; +typedef void *PCM_HANDLE_T ; +typedef void ( *cb_on_speakerpa ) ( UINT32 on ) ; +typedef unsigned char u8 ; +typedef signed char s8 ; +typedef unsigned short u16 ; +typedef short s16 ; +typedef unsigned int u32 ; +typedef int s32 ; +typedef unsigned long long u64 ; +typedef long long s64 ; +typedef unsigned int ticks ; +typedef unsigned int size_t ; +typedef unsigned char uint8_t ; +typedef u8 UINT8 ; +typedef s8 INT8 ; +typedef u16 UINT16 ; +typedef s16 INT16 ; +typedef int INT ; +typedef u64 UINT64 ; +typedef s64 INT64 ; +typedef char CHAR ; +typedef int QlOSStatus ; +typedef void * ql_task_t ; +typedef void * ql_sem_t ; +typedef void * ql_mutex_t ; +typedef void * ql_queue_t ; +typedef void * ql_timer_t ; +typedef void * ql_flag_t ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\oem_event.ppp +//PPL Source File Name : src\\oem_event.c +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef unsigned int size_t ; +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( * pfn_hal_looper_user_free ) ( void* user ) ; +typedef void ( *pfn_looper_event_destroy ) ( hal_looper_event_t* event ) ; +typedef void ( * pfn_hal_looper_event_processer ) ( hal_looper_t* looper , hal_looper_event_t* event , void* user ) ; +typedef void ( * pfn_hal_looper_timer_callback ) ( hal_looper_t* looper , hal_time_t now , void* user ) ; +typedef int ( * pfn_hal_looper_routine ) ( hal_looper_t* looper , void* user ) ; +typedef void ( *oem_notify_cb_t ) ( void* user ) ; +typedef void ( *oem_stream_dB_cb_t ) ( int dB , void* user ) ; +typedef void ( *oem_stream_has_data_cb_t ) ( const void* data , size_t size , void* user ) ; +typedef void ( *oem_tone_cb_t ) ( void* user ) ; +typedef int oem_socket_t ; +typedef void * oem_thread_id_t ; +typedef void* ( *oem_thread_function_t ) ( void* arg ) ; +typedef void* oem_semaphore_t ; +typedef void* oem_mutex_t ; +typedef unsigned char u8 ; +typedef signed char s8 ; +typedef unsigned short u16 ; +typedef short s16 ; +typedef unsigned int u32 ; +typedef int s32 ; +typedef unsigned long long u64 ; +typedef long long s64 ; +typedef unsigned int ticks ; +typedef unsigned int size_t ; +typedef unsigned char uint8_t ; +typedef u8 UINT8 ; +typedef s8 INT8 ; +typedef u16 UINT16 ; +typedef s16 INT16 ; +typedef int INT ; +typedef u64 UINT64 ; +typedef s64 INT64 ; +typedef char CHAR ; +typedef char CHAR ; +typedef unsigned char UCHAR ; +typedef int INT ; +typedef unsigned int UINT ; +typedef long LONG ; +typedef unsigned long ULONG ; +typedef short SHORT ; +typedef unsigned short USHORT ; +typedef unsigned char BOOL ; +typedef unsigned char UINT8 ; +typedef unsigned short UINT16 ; +typedef unsigned long UINT32 ; +typedef char CHAR ; +typedef signed char INT8 ; +typedef signed short INT16 ; +typedef signed long INT32 ; +typedef unsigned char Bool ; +typedef UINT8 BYTE ; +typedef UINT8 UBYTE ; +typedef UINT16 UWORD ; +typedef UINT16 WORD ; +typedef INT16 SWORD ; +typedef UINT32 DWORD ; +typedef unsigned long long UINT64 ; +typedef void* VOID_PTR ; +//ICAT EXPORTED ENUM + typedef enum + { + OSA_TASK_READY , + OSA_TASK_COMPLETED , + OSA_TASK_TERMINATED , + OSA_TASK_SUSPENDED , + OSA_TASK_SLEEP , + OSA_TASK_QUEUE_SUSP , + OSA_TASK_SEMAPHORE_SUSP , + OSA_TASK_EVENT_FLAG , + OSA_TASK_BLOCK_MEMORY , + OSA_TASK_MUTEX_SUSP , + OSA_TASK_STATE_UNKNOWN , + } OSA_TASK_STATE; + +//ICAT EXPORTED STRUCT + typedef struct OSA_TASK_STRUCT + { + char *task_name ; /* Pointer to thread ' s name */ + unsigned int task_priority ; /* Priority of thread ( 0 -255 ) */ + unsigned long task_stack_def_val ; /* default vaule of thread */ + OSA_TASK_STATE task_state ; /* Thread ' s execution state */ + unsigned long task_stack_ptr ; /* Thread ' s stack pointer */ + unsigned long task_stack_start ; /* Stack starting address */ + unsigned long task_stack_end ; /* Stack ending address */ + unsigned long task_stack_size ; /* Stack size */ + unsigned long task_run_count ; /* Thread ' s run counter */ + + } OSA_TASK; + +typedef void *OsaRefT ; +typedef UINT8 OSA_STATUS ; +typedef UINT8 OS_STATUS ; +typedef void* OS_HISR ; +typedef void* OSATaskRef ; +typedef void* OSAHISRRef ; +typedef void* OSASemaRef ; +typedef void* OSAMutexRef ; +typedef void* OSAMsgQRef ; +typedef void* OSAMailboxQRef ; +typedef void* OSAPoolRef ; +typedef void* OSATimerRef ; +typedef void* OSAFlagRef ; +typedef void* OSAPartitionPoolRef ; +typedef void* OSTaskRef ; +typedef void* OSSemaRef ; +typedef void* OSMutexRef ; +typedef void* OSMsgQRef ; +typedef void* OSMailboxQRef ; +typedef void* OSPoolRef ; +typedef void* OSTimerRef ; +typedef void* OSFlagRef ; +typedef UINT8 OS_STATUS ; +typedef OsaTimerStatusParamsT OSATimerStatus ; +typedef void* OSATaskRef ; +typedef void* OSAHISRRef ; +typedef void* OSAMsgQRef ; +typedef void* OSAMailboxQRef ; +typedef void* OSAPartitionPoolRef ; +typedef UINT8 OS_STATUS ; +typedef unsigned long UNSIGNED ; +typedef long SIGNED ; +typedef unsigned char DATA_ELEMENT ; +typedef DATA_ELEMENT OPTION ; +typedef DATA_ELEMENT BOOLEAN ; +typedef int STATUS ; +typedef unsigned char UNSIGNED_CHAR ; +typedef unsigned int UNSIGNED_INT ; +typedef int INT ; +typedef unsigned long * UNSIGNED_PTR ; +typedef unsigned char * BYTE_PTR ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\oem_file.ppp +//PPL Source File Name : src\\oem_file.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( *oem_notify_cb_t ) ( void* user ) ; +typedef void ( *oem_stream_dB_cb_t ) ( int dB , void* user ) ; +typedef void ( *oem_stream_has_data_cb_t ) ( const void* data , size_t size , void* user ) ; +typedef void ( *oem_tone_cb_t ) ( void* user ) ; +typedef unsigned int size_t ; +typedef char CHAR ; +typedef unsigned char UCHAR ; +typedef int INT ; +typedef unsigned int UINT ; +typedef long LONG ; +typedef unsigned long ULONG ; +typedef short SHORT ; +typedef unsigned short USHORT ; +typedef unsigned char BOOL ; +typedef unsigned char UINT8 ; +typedef unsigned short UINT16 ; +typedef unsigned long UINT32 ; +typedef char CHAR ; +typedef signed char INT8 ; +typedef signed short INT16 ; +typedef signed long INT32 ; +typedef unsigned char Bool ; +typedef UINT8 BYTE ; +typedef UINT8 UBYTE ; +typedef UINT16 UWORD ; +typedef UINT16 WORD ; +typedef INT16 SWORD ; +typedef UINT32 DWORD ; +typedef unsigned long long UINT64 ; +typedef void* VOID_PTR ; +//ICAT EXPORTED ENUM + typedef enum + { + OSA_TASK_READY , + OSA_TASK_COMPLETED , + OSA_TASK_TERMINATED , + OSA_TASK_SUSPENDED , + OSA_TASK_SLEEP , + OSA_TASK_QUEUE_SUSP , + OSA_TASK_SEMAPHORE_SUSP , + OSA_TASK_EVENT_FLAG , + OSA_TASK_BLOCK_MEMORY , + OSA_TASK_MUTEX_SUSP , + OSA_TASK_STATE_UNKNOWN , + } OSA_TASK_STATE; + +//ICAT EXPORTED STRUCT + typedef struct OSA_TASK_STRUCT + { + char *task_name ; /* Pointer to thread ' s name */ + unsigned int task_priority ; /* Priority of thread ( 0 -255 ) */ + unsigned long task_stack_def_val ; /* default vaule of thread */ + OSA_TASK_STATE task_state ; /* Thread ' s execution state */ + unsigned long task_stack_ptr ; /* Thread ' s stack pointer */ + unsigned long task_stack_start ; /* Stack starting address */ + unsigned long task_stack_end ; /* Stack ending address */ + unsigned long task_stack_size ; /* Stack size */ + unsigned long task_run_count ; /* Thread ' s run counter */ + + } OSA_TASK; + +typedef void *OsaRefT ; +typedef UINT8 OSA_STATUS ; +typedef UINT8 OS_STATUS ; +typedef void* OS_HISR ; +typedef void* OSATaskRef ; +typedef void* OSAHISRRef ; +typedef void* OSASemaRef ; +typedef void* OSAMutexRef ; +typedef void* OSAMsgQRef ; +typedef void* OSAMailboxQRef ; +typedef void* OSAPoolRef ; +typedef void* OSATimerRef ; +typedef void* OSAFlagRef ; +typedef void* OSAPartitionPoolRef ; +typedef void* OSTaskRef ; +typedef void* OSSemaRef ; +typedef void* OSMutexRef ; +typedef void* OSMsgQRef ; +typedef void* OSMailboxQRef ; +typedef void* OSPoolRef ; +typedef void* OSTimerRef ; +typedef void* OSFlagRef ; +typedef UINT8 OS_STATUS ; +typedef OsaTimerStatusParamsT OSATimerStatus ; +typedef void* OSATaskRef ; +typedef void* OSAHISRRef ; +typedef void* OSAMsgQRef ; +typedef void* OSAMailboxQRef ; +typedef void* OSAPartitionPoolRef ; +typedef UINT8 OS_STATUS ; +typedef unsigned long UNSIGNED ; +typedef long SIGNED ; +typedef unsigned char DATA_ELEMENT ; +typedef DATA_ELEMENT OPTION ; +typedef DATA_ELEMENT BOOLEAN ; +typedef int STATUS ; +typedef unsigned char UNSIGNED_CHAR ; +typedef unsigned int UNSIGNED_INT ; +typedef int INT ; +typedef unsigned long * UNSIGNED_PTR ; +typedef unsigned char * BYTE_PTR ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef unsigned char uint8 ; +typedef signed char int8 ; +typedef unsigned short int uint16 ; +typedef signed short int int16 ; +typedef unsigned int uint32 ; +typedef signed int int32 ; +typedef unsigned long long uint64 ; +typedef signed long long int64 ; +typedef int QuecOSStatus ; +typedef uint8 data_t ; +typedef uint32 datasize_t ; +typedef uint32 node_cnt_t ; +typedef int32 linklist_id_t ; +typedef linklist_t * linklist_handler_t ; +typedef uint32 quec_tcb_id_t ; +typedef linklist_handler_t QuecTCBLinklist_t ; +typedef OSTaskRef quec_task_t ; +typedef OSSemaRef quec_sem_t ; +typedef OSMutexRef quec_mutex_t ; +typedef OSMsgQRef quec_queue_t ; +typedef OSMailboxQRef quec_mailbox_t ; +typedef OSFlagRef quec_flag_t ; +typedef OSTimerRef quec_timer_t ; +typedef OSATimerStatus quec_timer_status_t ; +typedef void ( * task_delete_work_cb_t ) ( task_delete_result_t * task_delete_result ) ; +typedef volatile UINT8 *V_UINT8_PTR ; +typedef volatile UINT16 *V_UINT16_PTR ; +typedef volatile UINT32 *V_UINT32_PTR ; +typedef unsigned int U32Bits ; +typedef BOOL BOOLEAN ; +typedef const char * SwVersion ; +//ICAT EXPORTED ENUM + typedef enum + { + PMU_POR = 1 , + PMU_EMR , + PMU_WDTR = ( PMU_EMR+2 ) + } PMU_LastResetStatus; + +//ICAT EXPORTED STRUCT + typedef struct + { + UINT32 dbID ; + UINT32 filterBitLength ; + UINT32 reserved [ 6 ] ; + } DIAG_Nvm_Filter_File_Header_t; + +//ICAT EXPORTED ENUM + typedef enum + { + LOG_DISABLE = 0x0 , + UART_LOG_ENABLE = 0x1 , + ACAT_LOG_ENABLE = 0x2 + } Log_ConfigE; + +//ICAT EXPORTED ENUM + typedef enum + { + MSG_DISABLE = 0x0 , + ACAT_MSG_ENABLE = 0x1 + } Msg_ConfigE; + +//ICAT EXPORTED ENUM + typedef enum + { + RTI_LOG_DISABLE = 0x0 , + RTI_DUMP_ENABLE = 0x1 , + RTI_TASK_ENABLE = 0x2 , + RTI_MIPS_ENABLE = 0x3 + } RTI_ConfigE; + +//ICAT EXPORTED ENUM + typedef enum + { + SD_ACAT_LOG_DISABLE = 0x0 , + SD_ACAT_LOG_ENABLE = 0x1 + } SD_ACAT_LOG_ConfigE; + +//ICAT EXPORTED ENUM + typedef enum + { + SD_DUMP_BIN_DISABLE = 0x0 , + SD_DUMP_BIN_ENABLE = 0x1 + } SD_Dump_bin_ConfigE; + +//ICAT EXPORTED STRUCT + typedef struct { + Log_ConfigE log_cfg ; + Msg_ConfigE msg_cfg ; + RTI_ConfigE rti_cfg ; + } Log_ConfigS; + +//ICAT EXPORTED STRUCT + typedef struct { + SD_ACAT_LOG_ConfigE log_cfg ; + SD_Dump_bin_ConfigE dump_cfg ; + } SD_ConfigS; + +//ICAT EXPORTED ENUM + typedef enum + { + YMODEM_DISABLE = 0x0 , + YMODEM_ENABLE = 0x1 + } Ymodem_Dump_config; + +//ICAT EXPORTED STRUCT + typedef struct { + Ymodem_Dump_config config ; + } Ymodem_Dump_type; + +//ICAT EXPORTED ENUM + typedef enum { + DIAG_DEV_USB , + DIAG_DEV_SD , + DIAG_DEV_FS , + DIAG_DEV_UART , + DIAG_DEV_SPI , + DIAG_DEV_SHM , + DIAG_DEV_NONE + } DIAG_DEV_TYPE; + +typedef UINT8 UART_Activity ; +//ICAT EXPORTED STRUCT + typedef struct /* This is structure of the UART Configuration */ + { + UART_OpMode opMode ; /* fifo mode , non fifo mode or DMA for basic interface*/ + UART_TriggerLevel triggerLevel ; /* the trigger level interrupt on 1 , 8 , 16 , 32 */ + UART_BaudRates baudRate ; /* the rate of the transmit and the receive up to 111520 ( default - 9600 ) .*/ + UART_WordLen numDataBits ; /* 5 , 6 , 7 , or 8 number of data bits in the UART data frame ( default - 8 ) . */ + UART_StopBits stopBits ; /* 1 , 1.500000 or 2 stop bits in the UART data frame ( default - 1 ) . */ + UART_ParityTBits parityBitType ; /* Even , Odd or no-parity bit type in the UART data frame ( default - Non ) . */ + UART_InterfaceType interfaceType ; /* number of interface that the UART driver supplies ( default - UART_IF_TYPE_L2 ) */ + BOOL modemSignal ; /* enable operate modem - TRUE , disable modem - FALSE */ + BOOL flowControl ; /* enable Auto flow Control - TRUE , disable Auto flow Control - FALSE */ + UINT8 sleepMode ; /* enable sleep mode - TRUE , more fine control - see UARTSleepMode enum */ + BOOL auto_baud ; /* enable auto_baud , auto-baud-rate detection within the UART ( default - FALSE ) */ + UART_SIRConfigure sirIrDA ; + } UARTConfiguration; + +//ICAT EXPORTED ENUM + typedef enum // change the order -1 to + + { + UART_RC_OK = 1 , /* 1 - no errors */ + + UART_RC_PORT_NUM_ERROR = -100 , /* -100 - Error in the UART port number */ + UART_RC_NO_DATA_TO_READ , /* -99 - Eror no data to read from the FIFO UART */ + UART_RC_ILLEGAL_BAUD_RATE , /* -98 - Error in the UART Bayd Rate */ + UART_RC_UART_PARITY_BITS_ERROR , /* -97 - Error in parity bit */ + UART_RC_UART_ONE_STOP_BIT_ERROR , /* -96 - Error in one stop bit */ + UART_RC_ONE_HALF_OR_TWO_STOP_BIT_ERROR , /* -95 - Error in two stop bit */ + UART_RC_BAD_INTERFACE_TYPE , /* -94 - Error in the Interface Type */ + UART_RC_UART_NOT_AVAILABLE , /* -93 - Error in try to open UART that is open */ + UART_RC_NO_DATA_TO_WRITE , /* -92 - Error No data to writ the len = 0 */ + UART_RC_NOT_ALL_BYTE_WRITTEN , /* -91 - Error Not all the Byte write to the UART FIFO */ + UART_RC_ISR_ALREADY_BIND , /* -90 - Error try to bind ISR for Basic Interface */ + UART_RC_WRONG_ISR_UNBIND , /* -89 - Error in the UnBind ISR for Basic Interface */ + UART_RC_FIFO_NOT_EMPTY , /* -88 - Error , the UART FIFO not empty */ + UART_RC_UART_OPEN , /* -87 - Error try chance the configurr when the UART open */ + UART_RC_GPIO_ERR , /* -86 - Error in the Configure of the GPIO */ + UART_RC_IRDA_CONFIG_ERR , /* -85 - Illegal IrDA configuration */ + UART_RC_TX_DMA_ERR /* -84 - DMA TX Error */ + + } UART_ReturnCode; + +typedef void ( *UARTNotifyInterrupt ) ( UART_Port ) ; +//ICAT EXPORTED STRUCT + typedef struct { + UINT32 product_id ; + UINT8 data [ 20 ] ; + } InfoForBoardTracking_t; + +typedef UINT32 lfs_size_t ; +typedef UINT32 lfs_off_t ; +typedef int lfs_ssize_t ; +typedef int lfs_soff_t ; +typedef UINT32 lfs_block_t ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\oem_log.ppp +//PPL Source File Name : src\\oem_log.c +typedef unsigned int size_t ; +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( *oem_notify_cb_t ) ( void* user ) ; +typedef void ( *oem_stream_dB_cb_t ) ( int dB , void* user ) ; +typedef void ( *oem_stream_has_data_cb_t ) ( const void* data , size_t size , void* user ) ; +typedef void ( *oem_tone_cb_t ) ( void* user ) ; +typedef unsigned char u8 ; +typedef signed char s8 ; +typedef unsigned short u16 ; +typedef short s16 ; +typedef unsigned int u32 ; +typedef int s32 ; +typedef unsigned long long u64 ; +typedef long long s64 ; +typedef unsigned int ticks ; +typedef unsigned int size_t ; +typedef unsigned char uint8_t ; +typedef u8 UINT8 ; +typedef s8 INT8 ; +typedef u16 UINT16 ; +typedef s16 INT16 ; +typedef int INT ; +typedef u64 UINT64 ; +typedef s64 INT64 ; +typedef char CHAR ; +typedef unsigned char BOOL ; +typedef unsigned char UINT8 ; +typedef unsigned short UINT16 ; +typedef unsigned long UINT32 ; +typedef char CHAR ; +typedef signed char INT8 ; +typedef signed short INT16 ; +typedef signed long INT32 ; +typedef unsigned char Bool ; +typedef UINT8 BYTE ; +typedef UINT8 UBYTE ; +typedef UINT16 UWORD ; +typedef UINT16 WORD ; +typedef INT16 SWORD ; +typedef UINT32 DWORD ; +typedef unsigned long long UINT64 ; +typedef void* VOID_PTR ; +typedef volatile UINT8 *V_UINT8_PTR ; +typedef volatile UINT16 *V_UINT16_PTR ; +typedef volatile UINT32 *V_UINT32_PTR ; +typedef unsigned int U32Bits ; +typedef BOOL BOOLEAN ; +typedef const char * SwVersion ; +//ICAT EXPORTED ENUM + typedef enum + { + PMU_POR = 1 , + PMU_EMR , + PMU_WDTR = ( PMU_EMR+2 ) + } PMU_LastResetStatus; + +//ICAT EXPORTED STRUCT + typedef struct + { + UINT32 dbID ; + UINT32 filterBitLength ; + UINT32 reserved [ 6 ] ; + } DIAG_Nvm_Filter_File_Header_t; + +//ICAT EXPORTED ENUM + typedef enum + { + LOG_DISABLE = 0x0 , + UART_LOG_ENABLE = 0x1 , + ACAT_LOG_ENABLE = 0x2 + } Log_ConfigE; + +//ICAT EXPORTED ENUM + typedef enum + { + MSG_DISABLE = 0x0 , + ACAT_MSG_ENABLE = 0x1 + } Msg_ConfigE; + +//ICAT EXPORTED ENUM + typedef enum + { + RTI_LOG_DISABLE = 0x0 , + RTI_DUMP_ENABLE = 0x1 , + RTI_TASK_ENABLE = 0x2 , + RTI_MIPS_ENABLE = 0x3 + } RTI_ConfigE; + +//ICAT EXPORTED ENUM + typedef enum + { + SD_ACAT_LOG_DISABLE = 0x0 , + SD_ACAT_LOG_ENABLE = 0x1 + } SD_ACAT_LOG_ConfigE; + +//ICAT EXPORTED ENUM + typedef enum + { + SD_DUMP_BIN_DISABLE = 0x0 , + SD_DUMP_BIN_ENABLE = 0x1 + } SD_Dump_bin_ConfigE; + +//ICAT EXPORTED STRUCT + typedef struct { + Log_ConfigE log_cfg ; + Msg_ConfigE msg_cfg ; + RTI_ConfigE rti_cfg ; + } Log_ConfigS; + +//ICAT EXPORTED STRUCT + typedef struct { + SD_ACAT_LOG_ConfigE log_cfg ; + SD_Dump_bin_ConfigE dump_cfg ; + } SD_ConfigS; + +//ICAT EXPORTED ENUM + typedef enum + { + YMODEM_DISABLE = 0x0 , + YMODEM_ENABLE = 0x1 + } Ymodem_Dump_config; + +//ICAT EXPORTED STRUCT + typedef struct { + Ymodem_Dump_config config ; + } Ymodem_Dump_type; + +//ICAT EXPORTED ENUM + typedef enum { + DIAG_DEV_USB , + DIAG_DEV_SD , + DIAG_DEV_FS , + DIAG_DEV_UART , + DIAG_DEV_SPI , + DIAG_DEV_SHM , + DIAG_DEV_NONE + } DIAG_DEV_TYPE; + +typedef UINT8 UART_Activity ; +//ICAT EXPORTED STRUCT + typedef struct /* This is structure of the UART Configuration */ + { + UART_OpMode opMode ; /* fifo mode , non fifo mode or DMA for basic interface*/ + UART_TriggerLevel triggerLevel ; /* the trigger level interrupt on 1 , 8 , 16 , 32 */ + UART_BaudRates baudRate ; /* the rate of the transmit and the receive up to 111520 ( default - 9600 ) .*/ + UART_WordLen numDataBits ; /* 5 , 6 , 7 , or 8 number of data bits in the UART data frame ( default - 8 ) . */ + UART_StopBits stopBits ; /* 1 , 1.500000 or 2 stop bits in the UART data frame ( default - 1 ) . */ + UART_ParityTBits parityBitType ; /* Even , Odd or no-parity bit type in the UART data frame ( default - Non ) . */ + UART_InterfaceType interfaceType ; /* number of interface that the UART driver supplies ( default - UART_IF_TYPE_L2 ) */ + BOOL modemSignal ; /* enable operate modem - TRUE , disable modem - FALSE */ + BOOL flowControl ; /* enable Auto flow Control - TRUE , disable Auto flow Control - FALSE */ + UINT8 sleepMode ; /* enable sleep mode - TRUE , more fine control - see UARTSleepMode enum */ + BOOL auto_baud ; /* enable auto_baud , auto-baud-rate detection within the UART ( default - FALSE ) */ + UART_SIRConfigure sirIrDA ; + } UARTConfiguration; + +//ICAT EXPORTED ENUM + typedef enum // change the order -1 to + + { + UART_RC_OK = 1 , /* 1 - no errors */ + + UART_RC_PORT_NUM_ERROR = -100 , /* -100 - Error in the UART port number */ + UART_RC_NO_DATA_TO_READ , /* -99 - Eror no data to read from the FIFO UART */ + UART_RC_ILLEGAL_BAUD_RATE , /* -98 - Error in the UART Bayd Rate */ + UART_RC_UART_PARITY_BITS_ERROR , /* -97 - Error in parity bit */ + UART_RC_UART_ONE_STOP_BIT_ERROR , /* -96 - Error in one stop bit */ + UART_RC_ONE_HALF_OR_TWO_STOP_BIT_ERROR , /* -95 - Error in two stop bit */ + UART_RC_BAD_INTERFACE_TYPE , /* -94 - Error in the Interface Type */ + UART_RC_UART_NOT_AVAILABLE , /* -93 - Error in try to open UART that is open */ + UART_RC_NO_DATA_TO_WRITE , /* -92 - Error No data to writ the len = 0 */ + UART_RC_NOT_ALL_BYTE_WRITTEN , /* -91 - Error Not all the Byte write to the UART FIFO */ + UART_RC_ISR_ALREADY_BIND , /* -90 - Error try to bind ISR for Basic Interface */ + UART_RC_WRONG_ISR_UNBIND , /* -89 - Error in the UnBind ISR for Basic Interface */ + UART_RC_FIFO_NOT_EMPTY , /* -88 - Error , the UART FIFO not empty */ + UART_RC_UART_OPEN , /* -87 - Error try chance the configurr when the UART open */ + UART_RC_GPIO_ERR , /* -86 - Error in the Configure of the GPIO */ + UART_RC_IRDA_CONFIG_ERR , /* -85 - Illegal IrDA configuration */ + UART_RC_TX_DMA_ERR /* -84 - DMA TX Error */ + + } UART_ReturnCode; + +typedef void ( *UARTNotifyInterrupt ) ( UART_Port ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\oem_memory.ppp +//PPL Source File Name : src\\oem_memory.c +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef unsigned int size_t ; +typedef va_list __gnuc_va_list ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\oem_network.ppp +//PPL Source File Name : src\\oem_network.c +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef unsigned char u8 ; +typedef signed char s8 ; +typedef unsigned short u16 ; +typedef short s16 ; +typedef unsigned int u32 ; +typedef int s32 ; +typedef unsigned long long u64 ; +typedef long long s64 ; +typedef unsigned int ticks ; +typedef unsigned int size_t ; +typedef unsigned char uint8_t ; +typedef u8 UINT8 ; +typedef s8 INT8 ; +typedef u16 UINT16 ; +typedef s16 INT16 ; +typedef int INT ; +typedef u64 UINT64 ; +typedef s64 INT64 ; +typedef char CHAR ; +typedef unsigned char BOOL ; +typedef unsigned char UINT8 ; +typedef unsigned short UINT16 ; +typedef unsigned long UINT32 ; +typedef char CHAR ; +typedef signed char INT8 ; +typedef signed short INT16 ; +typedef signed long INT32 ; +typedef unsigned char Bool ; +typedef UINT8 BYTE ; +typedef UINT8 UBYTE ; +typedef UINT16 UWORD ; +typedef UINT16 WORD ; +typedef INT16 SWORD ; +typedef UINT32 DWORD ; +typedef unsigned long long UINT64 ; +typedef void* VOID_PTR ; +typedef volatile UINT8 *V_UINT8_PTR ; +typedef volatile UINT16 *V_UINT16_PTR ; +typedef volatile UINT32 *V_UINT32_PTR ; +typedef unsigned int U32Bits ; +typedef BOOL BOOLEAN ; +typedef const char * SwVersion ; +//ICAT EXPORTED ENUM + typedef enum + { + PMU_POR = 1 , + PMU_EMR , + PMU_WDTR = ( PMU_EMR+2 ) + } PMU_LastResetStatus; + +//ICAT EXPORTED STRUCT + typedef struct + { + UINT32 dbID ; + UINT32 filterBitLength ; + UINT32 reserved [ 6 ] ; + } DIAG_Nvm_Filter_File_Header_t; + +//ICAT EXPORTED ENUM + typedef enum + { + LOG_DISABLE = 0x0 , + UART_LOG_ENABLE = 0x1 , + ACAT_LOG_ENABLE = 0x2 + } Log_ConfigE; + +//ICAT EXPORTED ENUM + typedef enum + { + MSG_DISABLE = 0x0 , + ACAT_MSG_ENABLE = 0x1 + } Msg_ConfigE; + +//ICAT EXPORTED ENUM + typedef enum + { + RTI_LOG_DISABLE = 0x0 , + RTI_DUMP_ENABLE = 0x1 , + RTI_TASK_ENABLE = 0x2 , + RTI_MIPS_ENABLE = 0x3 + } RTI_ConfigE; + +//ICAT EXPORTED ENUM + typedef enum + { + SD_ACAT_LOG_DISABLE = 0x0 , + SD_ACAT_LOG_ENABLE = 0x1 + } SD_ACAT_LOG_ConfigE; + +//ICAT EXPORTED ENUM + typedef enum + { + SD_DUMP_BIN_DISABLE = 0x0 , + SD_DUMP_BIN_ENABLE = 0x1 + } SD_Dump_bin_ConfigE; + +//ICAT EXPORTED STRUCT + typedef struct { + Log_ConfigE log_cfg ; + Msg_ConfigE msg_cfg ; + RTI_ConfigE rti_cfg ; + } Log_ConfigS; + +//ICAT EXPORTED STRUCT + typedef struct { + SD_ACAT_LOG_ConfigE log_cfg ; + SD_Dump_bin_ConfigE dump_cfg ; + } SD_ConfigS; + +//ICAT EXPORTED ENUM + typedef enum + { + YMODEM_DISABLE = 0x0 , + YMODEM_ENABLE = 0x1 + } Ymodem_Dump_config; + +//ICAT EXPORTED STRUCT + typedef struct { + Ymodem_Dump_config config ; + } Ymodem_Dump_type; + +//ICAT EXPORTED ENUM + typedef enum { + DIAG_DEV_USB , + DIAG_DEV_SD , + DIAG_DEV_FS , + DIAG_DEV_UART , + DIAG_DEV_SPI , + DIAG_DEV_SHM , + DIAG_DEV_NONE + } DIAG_DEV_TYPE; + +typedef UINT8 UART_Activity ; +//ICAT EXPORTED STRUCT + typedef struct /* This is structure of the UART Configuration */ + { + UART_OpMode opMode ; /* fifo mode , non fifo mode or DMA for basic interface*/ + UART_TriggerLevel triggerLevel ; /* the trigger level interrupt on 1 , 8 , 16 , 32 */ + UART_BaudRates baudRate ; /* the rate of the transmit and the receive up to 111520 ( default - 9600 ) .*/ + UART_WordLen numDataBits ; /* 5 , 6 , 7 , or 8 number of data bits in the UART data frame ( default - 8 ) . */ + UART_StopBits stopBits ; /* 1 , 1.500000 or 2 stop bits in the UART data frame ( default - 1 ) . */ + UART_ParityTBits parityBitType ; /* Even , Odd or no-parity bit type in the UART data frame ( default - Non ) . */ + UART_InterfaceType interfaceType ; /* number of interface that the UART driver supplies ( default - UART_IF_TYPE_L2 ) */ + BOOL modemSignal ; /* enable operate modem - TRUE , disable modem - FALSE */ + BOOL flowControl ; /* enable Auto flow Control - TRUE , disable Auto flow Control - FALSE */ + UINT8 sleepMode ; /* enable sleep mode - TRUE , more fine control - see UARTSleepMode enum */ + BOOL auto_baud ; /* enable auto_baud , auto-baud-rate detection within the UART ( default - FALSE ) */ + UART_SIRConfigure sirIrDA ; + } UARTConfiguration; + +//ICAT EXPORTED ENUM + typedef enum // change the order -1 to + + { + UART_RC_OK = 1 , /* 1 - no errors */ + + UART_RC_PORT_NUM_ERROR = -100 , /* -100 - Error in the UART port number */ + UART_RC_NO_DATA_TO_READ , /* -99 - Eror no data to read from the FIFO UART */ + UART_RC_ILLEGAL_BAUD_RATE , /* -98 - Error in the UART Bayd Rate */ + UART_RC_UART_PARITY_BITS_ERROR , /* -97 - Error in parity bit */ + UART_RC_UART_ONE_STOP_BIT_ERROR , /* -96 - Error in one stop bit */ + UART_RC_ONE_HALF_OR_TWO_STOP_BIT_ERROR , /* -95 - Error in two stop bit */ + UART_RC_BAD_INTERFACE_TYPE , /* -94 - Error in the Interface Type */ + UART_RC_UART_NOT_AVAILABLE , /* -93 - Error in try to open UART that is open */ + UART_RC_NO_DATA_TO_WRITE , /* -92 - Error No data to writ the len = 0 */ + UART_RC_NOT_ALL_BYTE_WRITTEN , /* -91 - Error Not all the Byte write to the UART FIFO */ + UART_RC_ISR_ALREADY_BIND , /* -90 - Error try to bind ISR for Basic Interface */ + UART_RC_WRONG_ISR_UNBIND , /* -89 - Error in the UnBind ISR for Basic Interface */ + UART_RC_FIFO_NOT_EMPTY , /* -88 - Error , the UART FIFO not empty */ + UART_RC_UART_OPEN , /* -87 - Error try chance the configurr when the UART open */ + UART_RC_GPIO_ERR , /* -86 - Error in the Configure of the GPIO */ + UART_RC_IRDA_CONFIG_ERR , /* -85 - Illegal IrDA configuration */ + UART_RC_TX_DMA_ERR /* -84 - DMA TX Error */ + + } UART_ReturnCode; + +typedef void ( *UARTNotifyInterrupt ) ( UART_Port ) ; +typedef unsigned int size_t ; +typedef va_list __gnuc_va_list ; +typedef char CHAR ; +typedef unsigned char UCHAR ; +typedef int INT ; +typedef unsigned int UINT ; +typedef long LONG ; +typedef unsigned long ULONG ; +typedef short SHORT ; +typedef unsigned short USHORT ; +//ICAT EXPORTED ENUM + typedef enum + { + OSA_TASK_READY , + OSA_TASK_COMPLETED , + OSA_TASK_TERMINATED , + OSA_TASK_SUSPENDED , + OSA_TASK_SLEEP , + OSA_TASK_QUEUE_SUSP , + OSA_TASK_SEMAPHORE_SUSP , + OSA_TASK_EVENT_FLAG , + OSA_TASK_BLOCK_MEMORY , + OSA_TASK_MUTEX_SUSP , + OSA_TASK_STATE_UNKNOWN , + } OSA_TASK_STATE; + +//ICAT EXPORTED STRUCT + typedef struct OSA_TASK_STRUCT + { + char *task_name ; /* Pointer to thread ' s name */ + unsigned int task_priority ; /* Priority of thread ( 0 -255 ) */ + unsigned long task_stack_def_val ; /* default vaule of thread */ + OSA_TASK_STATE task_state ; /* Thread ' s execution state */ + unsigned long task_stack_ptr ; /* Thread ' s stack pointer */ + unsigned long task_stack_start ; /* Stack starting address */ + unsigned long task_stack_end ; /* Stack ending address */ + unsigned long task_stack_size ; /* Stack size */ + unsigned long task_run_count ; /* Thread ' s run counter */ + + } OSA_TASK; + +typedef void *OsaRefT ; +typedef UINT8 OSA_STATUS ; +typedef UINT8 OS_STATUS ; +typedef void* OS_HISR ; +typedef void* OSATaskRef ; +typedef void* OSAHISRRef ; +typedef void* OSASemaRef ; +typedef void* OSAMutexRef ; +typedef void* OSAMsgQRef ; +typedef void* OSAMailboxQRef ; +typedef void* OSAPoolRef ; +typedef void* OSATimerRef ; +typedef void* OSAFlagRef ; +typedef void* OSAPartitionPoolRef ; +typedef void* OSTaskRef ; +typedef void* OSSemaRef ; +typedef void* OSMutexRef ; +typedef void* OSMsgQRef ; +typedef void* OSMailboxQRef ; +typedef void* OSPoolRef ; +typedef void* OSTimerRef ; +typedef void* OSFlagRef ; +typedef UINT8 OS_STATUS ; +typedef OsaTimerStatusParamsT OSATimerStatus ; +typedef void* OSATaskRef ; +typedef void* OSAHISRRef ; +typedef void* OSAMsgQRef ; +typedef void* OSAMailboxQRef ; +typedef void* OSAPartitionPoolRef ; +typedef UINT8 OS_STATUS ; +typedef unsigned long UNSIGNED ; +typedef long SIGNED ; +typedef unsigned char DATA_ELEMENT ; +typedef DATA_ELEMENT OPTION ; +typedef DATA_ELEMENT BOOLEAN ; +typedef int STATUS ; +typedef unsigned char UNSIGNED_CHAR ; +typedef unsigned int UNSIGNED_INT ; +typedef int INT ; +typedef unsigned long * UNSIGNED_PTR ; +typedef unsigned char * BYTE_PTR ; +typedef void ( *CommandAddress ) ( void ) ; +typedef char* CommandProto ; +typedef const char * DiagDBVersion ; +//ICAT EXPORTED ENUM + typedef enum + { + PROTOCOL_TYPE_0 = 0 , + MAX_PROTOCOL_TYPES + } ProtocolType; + +//ICAT EXPORTED STRUCT + typedef struct + { + BOOL bEnabled ; // enable / disable the trace logging feature + ProtocolType eProtocolType ; // protocol type for communication with ICAT , currently only protocol type 0 is supported + UINT16 nMaxDataPerTrace ; // for each trace , what is the maximum data length to accompany the trace , in protocol type 0 , this is relevant only to DSP messages + } DiagLoggerDefs; + +typedef void ( *TIMER_CALLBACK_FUNCTION ) ( UINT8 ) ; +typedef void ( *ACC_TIMER_CALLBACK ) ( UINT32 ) ; +typedef int TIMER_STATUS ; +typedef int TIMER_ID ; +//ICAT EXPORTED ENUM + typedef enum + { + PM_RC_OK = 0 , + PM_RC_FAIL , // General Failure + PM_RC_ALREADY_EXISTS // Exit function since required target alrteady exists + } PM_ReturnCodeE; + +typedef void ( *PM_CallbackFuncDDRstateT ) ( BOOL b_DDR_ready ) ; +typedef unsigned long long UINT64 ; +typedef unsigned long TimeIn32KhzUnit ; +typedef void ( *TickCallbackPtr ) ( UINT32 ) ; +typedef TimeIn32KhzUnit ( *SuspendCallbackPtr ) ( void ) ; +typedef void ( *PrepareTimeCallbackPtr ) ( void ) ; +typedef void ( *GPIOCallback ) ( void ) ; +//ICAT EXPORTED ENUM + typedef enum + { + GPIO_PIN_NOT_ASSIGNED = -1 , + + GPIO_PIN_0=0 , GPIO_PIN_1 , GPIO_PIN_2 , GPIO_PIN_3 , GPIO_PIN_4 , GPIO_PIN_5 , GPIO_PIN_6 , GPIO_PIN_7 , + GPIO_PIN_8 , GPIO_PIN_9 , GPIO_PIN_10 , GPIO_PIN_11 , GPIO_PIN_12 , GPIO_PIN_13 , GPIO_PIN_14 , GPIO_PIN_15 , + GPIO_PIN_16 , GPIO_PIN_17 , GPIO_PIN_18 , GPIO_PIN_19 , GPIO_PIN_20 , GPIO_PIN_21 , GPIO_PIN_22 , GPIO_PIN_23 , + GPIO_PIN_24 , GPIO_PIN_25 , GPIO_PIN_26 , GPIO_PIN_27 , GPIO_PIN_28 , GPIO_PIN_29 , GPIO_PIN_30 , GPIO_PIN_31 , + GPIO_PIN_32 , + // #ifndef SILICON_PV2 + GPIO_PIN_33 , GPIO_PIN_34 , GPIO_PIN_35 , GPIO_PIN_36 , GPIO_PIN_37 , GPIO_PIN_38 , GPIO_PIN_39 , + GPIO_PIN_40 , GPIO_PIN_41 , GPIO_PIN_42 , GPIO_PIN_43 , GPIO_PIN_44 , GPIO_PIN_45 , GPIO_PIN_46 , GPIO_PIN_47 , + GPIO_PIN_48 , GPIO_PIN_49 , GPIO_PIN_50 , GPIO_PIN_51 , GPIO_PIN_52 , GPIO_PIN_53 , GPIO_PIN_54 , GPIO_PIN_55 , + GPIO_PIN_56 , GPIO_PIN_57 , GPIO_PIN_58 , GPIO_PIN_59 , GPIO_PIN_60 , GPIO_PIN_61 , GPIO_PIN_62 , GPIO_PIN_63 , + // #endif // _TAVOR_HARBELL_ + + // #if 1 // quectel define for build defined ( GPIO_128_ENTRIES ) + GPIO_PIN_64 , GPIO_PIN_65 , GPIO_PIN_66 , GPIO_PIN_67 , GPIO_PIN_68 , GPIO_PIN_69 , GPIO_PIN_70 , GPIO_PIN_71 , + GPIO_PIN_72 , GPIO_PIN_73 , GPIO_PIN_74 , GPIO_PIN_75 , GPIO_PIN_76 , GPIO_PIN_77 , GPIO_PIN_78 , GPIO_PIN_79 , + GPIO_PIN_80 , GPIO_PIN_81 , GPIO_PIN_82 , GPIO_PIN_83 , GPIO_PIN_84 , GPIO_PIN_85 , GPIO_PIN_86 , GPIO_PIN_87 , + GPIO_PIN_88 , GPIO_PIN_89 , GPIO_PIN_90 , GPIO_PIN_91 , GPIO_PIN_92 , GPIO_PIN_93 , GPIO_PIN_94 , GPIO_PIN_95 , + GPIO_PIN_96 , GPIO_PIN_97 , GPIO_PIN_98 , GPIO_PIN_99 , GPIO_PIN_100 , GPIO_PIN_101 , GPIO_PIN_102 , GPIO_PIN_103 , + GPIO_PIN_104 , GPIO_PIN_105 , GPIO_PIN_106 , GPIO_PIN_107 , GPIO_PIN_108 , GPIO_PIN_109 , GPIO_PIN_110 , GPIO_PIN_111 , + GPIO_PIN_112 , GPIO_PIN_113 , GPIO_PIN_114 , GPIO_PIN_115 , GPIO_PIN_116 , GPIO_PIN_117 , GPIO_PIN_118 , GPIO_PIN_119 , + GPIO_PIN_120 , GPIO_PIN_121 , GPIO_PIN_122 , GPIO_PIN_123 , GPIO_PIN_124 , GPIO_PIN_125 , GPIO_PIN_126 , GPIO_PIN_127 , + // #endif // INTEL_2CHIP_PLAT_BVD + GPIO_MAX_AMOUNT_OF_PINS + + + + } GPIO_PinNumbers; + +//ICAT EXPORTED ENUM + typedef enum + { + GPIO_RC_OK = 1 , + + GPIO_RC_INVALID_PORT_HANDLE = -100 , + GPIO_RC_NOT_OUTPUT_PORT , + GPIO_RC_NO_TIMER , + GPIO_RC_NO_FREE_HANDLE , + GPIO_RC_AMOUNT_OUT_OF_RANGE , + GPIO_RC_INCORRECT_PORT_SIZE , + GPIO_RC_PORT_NOT_ON_ONE_REG , + GPIO_RC_INVALID_PIN_NUM , + GPIO_RC_PIN_USED_IN_PORT , + GPIO_RC_PIN_NOT_FREE , + GPIO_RC_PIN_NOT_LOCKED , + GPIO_RC_NULL_POINTER , + GPIO_RC_PULLED_AND_OUTPUT , + GPIO_RC_INCORRECT_PORT_TYPE , + GPIO_RC_INCORRECT_TRANSITION_TYPE , + GPIO_RC_INCORRECT_DEBOUNCE , + GPIO_RC_INCORRECT_DIRECTION , + GPIO_RC_INCORRECT_INIT_VALUE , + GPIO_RC_INTC_ERROR , + GPIO_RC_PRM_ERROR , + GPIO_RC_PIN_LOCKED , + } GPIO_ReturnCode; + +//ICAT EXPORTED ENUM + typedef enum + { + GPIO_PIN_FREE_FOR_USE = 0 , + GPIO_PIN_USE_IN_PORT , + GPIO_PIN_USE_IN_INTERRUPT , + GPIO_PIN_USE_IN_PORT_WITH_INTERRUPT , + GPIO_PIN_LOCKED + } GPIO_PinUsage; + +//ICAT EXPORTED STRUCT + typedef struct + { + GPIO_PinUsage pinUsage ; + GPIOPinDirection direction ; + } GPIO_PinStatus; + +//ICAT EXPORTED ENUM + typedef enum + { + GPIO_INITIAL_VALUE_NO_CHANGE = 0 , + GPIO_INITIAL_VALUE_LOW=0 , + GPIO_INITIAL_VALUE_HIGH + } GPIO_BitInitialValue; + +//ICAT EXPORTED ENUM + typedef enum + { + GPIO_PULL_UP_DOWN_DISABLE = 0 , + GPIO_PULL_UP_ENABLE , + GPIO_PULL_DOWN_ENABLE + } GPIO_PullUpDown; + +//ICAT EXPORTED STRUCT + typedef struct + { + GPIO_PinNumbers pinNumber ; + GPIOPinDirection direction ; + GPIOTransitionType transitionType ; + GPIO_Debounce debounce ; + GPIOPullUpDown pullUpDown ; + GPIO_BitInitialValue initialValue ; + } GPIO_PinConfiguration; + +typedef void ( *GPIO_ISR ) ( void ) ; +typedef UINT32 INTC_InterruptPriorityTable [ MAX_INTERRUPT_CONTROLLER_SOURCES ] ; +typedef UINT32 INTC_InterruptInfo ; +typedef void ( *INTC_ISR ) ( INTC_InterruptInfo interruptInfo ) ; +typedef void ( *PMCNotifyEventFunc ) ( UINT64 eventRegs ) ; +typedef void ( *PMCGetStatusNotifyFunc ) ( UINT16 status ) ; +typedef void ( *PMCReadCallback ) ( UINT8 *dataBuffPtr , UINT16 dataSize , UINT16 userId ) ; +typedef void ( *PMCWriteCallback ) ( UINT16 dataBuffPtr ) ; +typedef void ( *PMCGetGPADCValueNotifyFunc ) ( PMC_adc_reg_t reg , UINT16 value ) ; +typedef void ( * ReadingCallback ) ( int ) ; +typedef void ( * LTETempReadingCallback ) ( unsigned short , unsigned short ) ; +typedef void ( * ReadingCallbackBoth ) ( BOOL , int , int ) ; +typedef union + { + UINT8 autoControl ; + UINT8 autoControl2 ; + UINT8 manControl ; + } adcModeCntrl_t ; +typedef union + { + UINT64 all ; + Registers_ts regs ; + } PMCEvents ; +//ICAT EXPORTED ENUM + typedef enum + { + SHD_POWER_DOWN , + SHD_RESET , + SHD_GHOST , + SHD_SW_ERROR /* EEHandler triggered the reset */ + } ShutDownType_te; + +//ICAT EXPORTED ENUM + typedef enum + { + RR_NORMAL_POWER_ON = 0x00 , // default , not combined with others + RR_WATCH_DOG_TIMEOUT = 0x01 , + RR_SOFTWARE_GENERATED = 0x02 , + RR_CHARGING_BATTERY = 0x04 , + RR_LOW_BATTERY = 0x08 , + RR_ALARM_POWER_ON = 0x10 , + RR_EXT_POWER_ON = 0x20 + } + StartupReason_te; + +//ICAT EXPORTED ENUM + typedef enum + { + RE_RTC_ALARM = 0x01 + } StartupExtInd_te; + +typedef BOOL ( *DiagPSisRunningFn ) ( void ) ; +typedef UINT8 u8_t ; +typedef UINT16 u16_t ; +typedef UINT32 u32_t ; +typedef UINT64 u64_t ; +typedef INT8 s8_t ; +typedef INT16 s16_t ; +typedef INT32 s32_t ; +typedef void* msg_t ; +typedef u32_t mem_ptr_t ; +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef union { + ip_addr_t ip4 ; + ip6_addr_t ip6 ; + } ipX_addr_t ; +typedef s8_t err_t ; +typedef size_t mem_size_t ; +typedef UINT32 sys_prot_t ; +typedef void * sys_mutex_t ; +typedef void * sys_sem_t ; +typedef void * sys_mbox_t ; +typedef void * sys_thread_t ; +typedef void ( *printCallback ) ( char *printstr ) ; +typedef void ( *lwip_thread_fn ) ( void *pArgs ) ; +typedef err_t ( *lwip_run_entry ) ( void *pArgs ) ; +typedef void ( * socket_callback ) ( int s , int evt , u16_t len ) ; +typedef u32_t socklen_t ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef unsigned char uint8 ; +typedef signed char int8 ; +typedef unsigned short int uint16 ; +typedef signed short int int16 ; +typedef unsigned int uint32 ; +typedef signed int int32 ; +typedef unsigned long long uint64 ; +typedef signed long long int64 ; +typedef int QuecOSStatus ; +typedef uint8 data_t ; +typedef uint32 datasize_t ; +typedef uint32 node_cnt_t ; +typedef int32 linklist_id_t ; +typedef linklist_t * linklist_handler_t ; +typedef uint32 quec_tcb_id_t ; +typedef linklist_handler_t QuecTCBLinklist_t ; +typedef OSTaskRef quec_task_t ; +typedef OSSemaRef quec_sem_t ; +typedef OSMutexRef quec_mutex_t ; +typedef OSMsgQRef quec_queue_t ; +typedef OSMailboxQRef quec_mailbox_t ; +typedef OSFlagRef quec_flag_t ; +typedef OSTimerRef quec_timer_t ; +typedef OSATimerStatus quec_timer_status_t ; +typedef void ( * task_delete_work_cb_t ) ( task_delete_result_t * task_delete_result ) ; +typedef union + { + / / quec_ioctl_default_type pin_state ; / / dcd , ri state + quec_pin_level_value_e pin_level ; + } quec_ioctl_param ; +typedef unsigned char BOOL ; +typedef unsigned char UINT8 ; +typedef unsigned short UINT16 ; +typedef signed char INT8 ; +typedef signed short INT16 ; +typedef unsigned short WORD ; +typedef int HANDLE ; +typedef HANDLE* LPHANDLE ; +typedef unsigned char* PUINT8 ; +typedef long LONG ; +typedef char* LPCTSTR ; +typedef char* LPTSTR ; +typedef void* LPVOID ; +typedef unsigned int* LPDWORD ; +typedef unsigned int* PDWORD ; +typedef unsigned int* PUINT32 ; +typedef unsigned short TCHAR ; +typedef unsigned int UINT ; +typedef INT16 *PINT16 ; +typedef UINT16 *PUINT16 ; +typedef INT8 *PINT8 ; +typedef UINT8 *PUINT8 ; +typedef int utlReturnCode_T , *utlReturnCode_P ; +typedef const utlReturnCode_T *utlReturnCode_P2c ; +typedef unsigned int utlDataId_T , *utlDataId_P ; +typedef unsigned int size_t , ssize_t ; +typedef const utlDataId_T *utlDataId_P2c ; +typedef const utlLinkedListNode_T *utlLinkedListNode_P2c ; +typedef unsigned int utlNodeCount_T ; +typedef const utlLinkedList_T *utlLinkedList_P2c ; +typedef int utlSecond_T ; +typedef int utlNanosecond_T ; +typedef const utlRelativeTime_T *utlRelativeTime_P2c ; +typedef const utlAbsoluteTime_T *utlAbsoluteTime_P2c ; +typedef const utlVString_T *utlVString_P2c ; +typedef signed long utlTimerId_T ; +typedef unsigned long utlTimeOutCount_T , *utlTimeOutCount_P ; +typedef utlReturnCode_T ( *utlTimerFunction_P ) ( const utlTimerId_T id , + const utlTimeOutCount_T time_out_count , + void *arg_p , + const utlAbsoluteTime_P2c curr_time_p ) ; +typedef unsigned int utlMutexAttributes_T , *utlMutexAttributes_P ; +typedef unsigned int utlSemaphoreAttributes_T , *utlSemaphoreAttributes_P ; +typedef int utlStateMachineStateId_T , *utlStateMachineStateId_P ; +typedef int utlStateMachineEventId_T , *utlStateMachineEventId_P ; +typedef utlReturnCode_T ( *utlStateMachineStateFunction_P ) ( const utlStateMachine_P state_machine_p , + const utlStateMachineStateId_T state , + const utlAbsoluteTime_P2c curr_time_p , + void *arg_p ) ; +typedef utlReturnCode_T ( *utlStateMachineEventFunction_P ) ( const utlStateMachine_P state_machine_p , + const utlStateMachineStateId_T state , + const utlStateMachineEventId_T event , + const utlAbsoluteTime_P2c curr_time_p , + void *arg_p , + va_list va_arg_p ) ; +typedef const utlStateMachineEvent_T *utlStateMachineEvent_P2c ; +typedef const utlStateMachineState_T *utlStateMachineState_P2c ; +typedef unsigned int utlStateMachineFlags_T ; +typedef const utlStateMachine_T *utlStateMachine_P2c ; +//ICAT EXPORTED ENUM + typedef enum + { + MAT_E , + MAT_I , + MAT_L , + MAT_M , + MAT_O , + MAT_P , + MAT_Q , + MAT_T , + MAT_V , + MAT_X , + MAT_Z , + MAT_ampC , + MAT_ampD , + MAT_ampF , + MAT_ampS , + MAT_ampZ , + MAT_ampM , + MAT_CGMI , + MAT_CGMM , + MAT_CGMR , + MAT_CGSN , + MAT_CSCS , + MAT_CIMI , + MAT_ASTO , + MAT_GMI , + MAT_GMM , + MAT_GMR , + MAT_GSN , + MAT_GOI , + MAT_GCAP , + MAT_GCI , + MAT_IPR , + MAT_ICF , + MAT_IFC , + MAT_IDSR , + MAT_EXAMPLE , + MAT_RawAT , + MAT_A , + MAT_D , + MAT_H , + MAT_CMOD , + MAT_CBST , + MAT_CVHU , + MAT_CRLP , + MAT_CMUT , + MAT_ECHUPVT , + MAT_CREG , + MAT_CIND , + MAT_COPS , + MAT_CPOL , + MAT_CLCK , + MAT_CPWD , + MAT_CLIP , + MAT_CLIR , + MAT_COLP , + MAT_COLR , + MAT_CNAP , + MAT_CCFC , + MAT_CCWA , + MAT_CHLD , + MAT_CUSD , + MAT_CAOC , + MAT_VTS , + MAT_VTD , + MAT_CSSN , + MAT_CLCC , + MAT_CEER , + MAT_PEER , + MAT_CSQ , + MAT_starREJCUSE , + MAT_CMUX , + MAT_CPAS , + MAT_CFUN , + MAT_starCFUN , + MAT_CPIN , + MAT_CPIN2 , + MAT_EPIN , + MAT_starSIMDETEC , + MAT_CPOFF , + MAT_CTZR , + MAT_CTZU , + MAT_starCTZR , + MAT_CPBS , + MAT_CPBR , + MAT_CPBW , + MAT_CPBF , + MAT_CSIM , + MAT_CRSM , + MAT_CGLA , + MAT_CRLA , + MAT_CCHO , + MAT_CCHC , + MAT_MSTK , + MAT_starEUICC , + MAT_CACM , + MAT_CAMM , + MAT_CCWE , + MAT_CGREG , + MAT_CGATT , + MAT_CGACT , + MAT_CGDATA , + MAT_CGDCONT , + MAT_CGDSCONT , + MAT_CGQMIN , + MAT_CGQREQ , + MAT_CGEQREQ , + MAT_CGEQMIN , + MAT_GETIP , + MAT_starTGSINK , + MAT_CGSEND , + MAT_starICSSINK , + MAT_starAUTHReq , + + MAT_starCHAPAUTH , + + MAT_FCLASS , + MAT_CMGF , + MAT_starCMGF , + MAT_CMSS , + MAT_CMGS , + MAT_CMGR , + MAT_CMGW , + MAT_CSCA , + MAT_CSCB , + MAT_CNMI , + MAT_CGSMS , + MAT_CMMS , + MAT_CMGD , + MAT_CMGL , + MAT_CSMS , + MAT_CPMS , + MAT_CNMA , + MAT_CSMP , + MAT_CSDH , + MAT_CGCI , + MAT_CGOI , + MAT_VDUMP , + MAT_VPDUS , + MAT_VHDL , + MAT_VECHO , + MAT_ATDB , + MAT_starCCIREG , + MAT_CPUC , + MAT_CHUP , + MAT_CSTA , + MAT_CRC , + MAT_CMEE , + MAT_CDIP , + MAT_CPLS , + MAT_CGCMOD , + MAT_CNUM , + MAT_DS , + MAT_CGTFT , + MAT_starBAND , + MAT_starBANDIND , + MAT_starCLCK , + MAT_starMEPCG , + MAT_starENVSIM , + MAT_starCNMA , + MAT_starRSTMEMFULL , + MAT_starPOWERIND , + MAT_starFASTDORM , + MAT_starCellLock , + MAT_EEMOPT , + MAT_EEMGINFO , + MAT_ERGA , + MAT_ERTCA , + MAT_LPNWUL , + MAT_LPLOCVR , + MAT_starSYSSLEEP , + MAT_starCam_I2C , + MAT_starISP_REG , + MAT_starMRD_CDF , + MAT_starMRD_IMEI , + MAT_starMRD_MEP , + MAT_starMRD_CalInfo , + MAT_starMRD_SN , + MAT_starMRD_ITEM , + // #ifdef AT_PRODUCTION_CMNDS + MAT_starGSMTR , + // #endif + MAT_OFF , + MAT_starCGSN , + MAT_starMODEMTYPE , + MAT_dollarVTS , + MAT_starHTCCTO , + MAT_CMEMFULL , + MAT_starEHSDPA , + + + + + MAT_starFDY , + MAT_xorSYSINFO , + MAT_starDIALE , + MAT_starCPBC , + MAT_starFDNBYPASS , + MAT_starCSCB , + MAT_starCBMCS , + MAT_starNASCHK , + MAT_CGEQOS , + MAT_CEREG , + MAT_CGCONTRDP , + MAT_CGSCONTRDP , + MAT_CGTFTRDP , + MAT_CGEQOSRDP , + MAT_CGEREP , + MAT_CVMOD , + MAT_CEMODE , + MAT_CGPADDR , + MAT_xorCACAP , + MAT_CGCLASS , + MAT_CESQ , + MAT_BGLTEPLMN , + MAT_STARCGDFAUTH , + MAT_VZWRSRP , + MAT_VZWRSRQ , + MAT_starCGDFLT , + + MAT_STARNETACT , + MAT_STARNETREF , + MAT_STARNETDNS , + MAT_STARNETIF , + MAT_STARNETIFCM , + MAT_STARMPSAPN , + + + MAT_starMODEMRESET , + + MAT_starVZWTESTAPP , + MAT_VZWAPNE , + MAT_COPN , + MAT_starGATR , + MAT_starGRIP , + MAT_playMP3 , + MAT_starCGMR , + MAT_starCOMCFG , + MAT_starRFTEMP , + MAT_TEMPTEST , + MAT_BANSELCT , + MAT_SYSSLEEP , + MAT_PSSDC , + MAT_starCGATT , + MAT_CGPIAF , + MAT_CIREG , + MAT_starUSBT , + MAT_starLTECOEX , + MAT_LTEPOWER , + MAT_LTETR , + MAT_starCSQ , + MAT_MAXPOWER , + MAT_SIMDETEC , + MAT_APPPIN , + MAT_CPLMNS , + MAT_starMOBILEDATA , + MAT_MCCMNCCC , + MAT_WS46 , + MAT_starCELL , + MAT_CISRVCC , + MAT_CEVDP , + MAT_CEUS , + /* add for BT SAP */ + MAT_BTSCNCT , + MAT_BTSDISSCNCT , + MAT_BTSTAPDU , + MAT_BTSTATR , + MAT_BTSCTRL , + MAT_BTSCRSTAT , + MAT_BTSTP , + MAT_starWBAMR , + MAT_CNMPSD , + MAT_starREGMODE , + MAT_starIMLCONFIG , + MAT_CCLK , + MAT_starURSLCT , + MAT_starCBRAT , + MAT_starSECCAP , + MAT_starLTEBAND , + MAT_starPSTHRESHOLD , + MAT_CACL , + MAT_LPECID , + MAT_LPOTDOAABORT , + MAT_LPOTDOAREQ , + MAT_starCISCC , + MAT_CIREP , + MAT_CSC , + MAT_OPERCFG , + MAT_starPSDC , + MAT_starCIIND , + MAT_CEN , + MAT_CNEM , + MAT_CAVIMS , + MAT_CASIMS , + MAT_CMMIVT , + MAT_starIMSSRV , + MAT_CPSMS , + MAT_CEDRXS , + MAT_CEDRXRDP , + MAT_CCIOTOPT , + MAT_CRCES , + MAT_CSCON , + MAT_CIPCA , + MAT_CABTSR , + MAT_CABTRDP , + MAT_CGAPNRC , + MAT_MPBK , + MAT_CSODCP , + MAT_CRTDCP , + + MAT_LOG , + MAT_starDIALMODE , + MAT_starAPNMODE , + MAT_starAGDCONT , + MAT_starAGACT , + MAT_starLWIPCTRL , + MAT_starNTP , + MAT_starCGDCONT , + MAT_starMTU , + MAT_plusSWITCHSIM , + MAT_plusQDSIM , + + + + + MAT_startECCLIST , + MAT_starISIMAID , + MAT_CSSAC , + MAT_MEDCR , + + MAT_STARREADVER , + MAT_RESET , + MAT_RSTSET , + + MAT_DNS , + MAT_dollarMYPOWEROFF , + MAT_dollarMYSOCKETLED , + MAT_dollarMYGMR , + MAT_dollarMYCCID , + MAT_dollarMYNETURC , + MAT_dollarMYTYPE , + MAT_dollarMYNETCON , + MAT_dollarMYNETACT , + MAT_dollarMYIPFILTER , + MAT_dollarMYNETSRV , + MAT_dollarMYNETOPEN , + MAT_dollarMYNETREAD , + MAT_dollarMYNETWRITE , + MAT_dollarMYNETCLOSE , + MAT_dollarMYNETACK , + MAT_dollarMYNETACCEPT , + MAT_dollarMYNETCREATE , + MAT_dollarMYFTPOPEN , + MAT_dollarMYFTPCLOSE , + MAT_dollarMYFTPSIZE , + MAT_dollarMYFTPGET , + MAT_dollarMYFTPPUT , + MAT_dollarMYBCCH , + MAT_dollarMYBAND , + MAT_dollarMYTIMEUPDATE , + MAT_dollarMYLACID , + MAT_dollarMYGPSPOS , + + MAT_QFOTA , + + + + MAT_dollarMYGETKEY , + MAT_dollarMYSETINFO , + MAT_dollarMYSYSINFO , + MAT_dollarMYSYSINFOURC , + MAT_dollarMYDOWNLOAD , + MAT_QICSGP , + MAT_QIACT , + MAT_QIDEACT , + MAT_QIOPEN , + MAT_QICLOSE , + MAT_QISTATE , + MAT_QISEND , + MAT_QIRD , + MAT_QISENDEX , + MAT_QISWTMD , + MAT_QIGETERROR , + MAT_QISDE , + MAT_QICFG , + MAT_QFTPCFG , + MAT_QFTPOPEN , + MAT_QFTPCLOSE , + MAT_QFTPCWD , + MAT_QFTPPWD , + MAT_QFTPPUT , + MAT_QFTPGET , + MAT_QFTPSIZE , + MAT_QFTPDEL , + MAT_QFTPMKDIR , + MAT_QFTPRMDIR , + MAT_QFTPMDTM , + MAT_QFTPRENAME , + MAT_QFTPLIST , + MAT_QFTPNLST , + MAT_QFTPMLSD , + MAT_QFTPLEN , + MAT_QFTPSTAT , + MAT_TCPKEEPALIVE , + + + + + MAT_xorHVER , + MAT_CDU , + MAT_starPROD , + MAT_NVMFLUSH , + MAT_starSLT , + MAT_starPMICREG , + MAT_starREGRW , + MAT_ZDON , + MAT_starASRCOPS , + MAT_starICCID , + MAT_CEN1 , + MAT_CEN2 , + MAT_starSULOGCFG , + + MAT_starWIFICTRL , + + MAT_starSIMPOLL , + MAT_cellinfo , + MAT_starEPIN , + MAT_starVER , + + + + MAT_starMRDBACKUP , + MAT_starSPN , + MAT_CMRSS , + MAT_CMGSS , + MAT_CMSMS , + MAT_CMGMS , + MAT_UNKNOWN , + MAT_CMD_UNKNOWN = MAT_UNKNOWN , + + /* response type for MAT */ + MAT_RSP_UNKNOWN = 1000 , + MAT_RSP_OK , + MAT_RSP_ERROR , + MAT_RSP_CME_ERROR , + MAT_RSP_CMS_ERROR , + MAT_RSP_BUSY , + + /* indication type for MAT */ + MAT_IND_CONNECT , + MAT_IND_NO_CARRIER , + MAT_IND_RING , + MAT_IND_NO_ANSWER , + MAT_IND_NO_DIALTONE , + + /* CC Indication */ + MAT_IND_CRING , + MAT_IND_CCCM , + MAT_IND_CSSU , + MAT_IND_CSSI , + MAT_IND_CR , + MAT_IND_CEI , + + /* DEV Indication */ + MAT_IND_SYSCONFIG , + MAT_IND_EEMGINFOBASIC , + MAT_IND_EEMGINFOSVC , + MAT_IND_EEMGINFOPS , + MAT_IND_EEMGINFONC , + MAT_IND_EEMGINBFTM , + MAT_IND_EEMUMTSSVC , + MAT_IND_EEMUMTSINTRA , + MAT_IND_EEMUMTSINTER , + MAT_IND_EEMUMTSINTERRAT , + MAT_IND_EEMLTESVC , + MAT_IND_EEMLTEINTRA , + MAT_IND_EEMLTEINTER , + MAT_IND_EEMLTEINTERRAT , + MAT_IND_SNETIND , + MAT_IND_LPNWDL , + MAT_IND_LPSTATE , + MAT_IND_LPMEAST , + MAT_IND_LPRESET , + MAT_IND_DIP , + MAT_IND_LPOTDOAMEAS , + /* MM Indication */ + MAT_IND_CACAP , + MAT_IND_MODE , + MAT_IND_COPN , + MAT_IND_NITZ , + MAT_IND_MSRI , + MAT_IND_HOME_ZONE , + + /* MSG Indication */ + MAT_IND_MMSG , + MAT_IND_CMTI , + MAT_IND_CBM , + MAT_IND_CDS , + MAT_IND_CMT , + + /* PB Indication */ + MAT_IND_SCPBR , + MAT_IND_MPBK , + + /* PS Indication */ + MAT_IND_CGEQNEG , + MAT_IND_CGEV , + + /* SIM Indication */ + MAT_IND_COTA , + MAT_IND_REFRESH , + MAT_IND_SIM_RESET , + MAT_IND_CARDMODE , + MAT_IND_SPN , + + /* SS Indication */ + MAT_IND_LPLOC , + MAT_IND_SSRC , + + /* DAT Indication */ + MAT_IND_PSSDC , + + /* the change of sim / usim availability status report */ + MAT_IND_BTSSTAT , + + MAT_IND_DSAC , + MAT_IND_ADMINDATA , + MAT_IND_CIMI , + MAT_IND_PSLOAD , + MAT_IND_RBLOOP , + MAT_IND_CELL , + MAT_IND_CIREPI , + MAT_IND_CIREPH , + MAT_IND_DATASTATUS , + MAT_IND_CEDRXP , + MAT_IND_CCIOTOPTI , + MAT_IND_CABTSRI , + MAT_IND_CIREGU , + MAT_IND_AMRCODEC , + MAT_IND_CNEC_ESM , + MAT_IND_ATREADY , + MAT_IND_PLMNLIST , + MAT_IND_WIFICELLINFO , + + MAT_CWRITESIM , + MAT_Q_QPOWD , + MAT_Q_I , + MAT_Q_E , + MAT_Q_Z , + MAT_Q_AMP_F , + MAT_Q_AMP_C , + MAT_Q_AMP_D , + MAT_Q_QPPPDROP , + MAT_Q_QDIAGPORT , + MAT_Q_DATAMODE , + MAT_Q_QPDPTIMER , + MAT_Q_QDEBOUNCE , + MAT_Q_QSPN , + MAT_Q_QSCLKCFG , + MAT_Q_IPR , + MAT_Q_IFC , + MAT_Q_QSCLK , + MAT_Q_CMUX , + MAT_Q_QNETDEVCTL , + MAT_Q_QDBGCFG , + MAT_Q_EGMR , + MAT_Q_QGMR , + + + + + + MAT_Q_CVERSION , + MAT_Q_CSUB , + MAT_Q_QINF , + MAT_Q_QURCCFG , + MAT_Q_AMP_V , + MAT_Q_AMP_W , + MAT_Q_CMEE , + MAT_Q_CFUN , + MAT_Q_CSCS , + MAT_Q_CGMI , + MAT_Q_CGMM , + MAT_Q_CGMR , + MAT_Q_CGSN , + MAT_Q_GSN , + MAT_Q_QGSN , + MAT_Q_QCCID , + MAT_Q_CCID , + MAT_Q_ICCID , + MAT_Q_GMI , + MAT_Q_GMM , + MAT_Q_GMR , + MAT_Q_QCFG , + MAT_Q_QINDCFG , + MAT_Q_QNWINFO , + MAT_Q_CSQ , + MAT_Q_QCSQ , + MAT_Q_CGREG , + MAT_Q_CEREG , + MAT_Q_CREG , + MAT_Q_CGEREP , + MAT_Q_CTZR , + MAT_Q_QENG , + MAT_Q_QLTS , + MAT_Q_QGDCNT , + MAT_Q_QAUGDCNT , + MAT_Q_QOEM , + MAT_Q_SMONC , + MAT_Q_QGPAPN , + MAT_Q_QRFTESTMODE , + MAT_Q_QRFTEST , + MAT_Q_QRXFTM , + MAT_Q_QICSGP , + MAT_Q_QIACT , + + + + MAT_Q_QIDEACT , + + MAT_Q_QPING , + + MAT_Q_MRDBACKUP , + + + + + MAT_Q_QINISTAT , + MAT_Q_QPINC , + MAT_Q_QSIMDET , + MAT_Q_QSIMSTAT , + MAT_Q_QAUDLOOP , + MAT_Q_QTTS , + MAT_Q_QAUDPLAY , + MAT_Q_QAUDSTOP , + MAT_Q_QAUDRD , + MAT_Q_QSIDET , + MAT_Q_QMIC , + MAT_Q_CLVL , + MAT_Q_QAUDMOD , + MAT_Q_QAUDPATH , + MAT_Q_QRXGAIN , + MAT_Q_QSPKPAURC , + MAT_Q_QHSDET , + MAT_Q_QSMIC , + MAT_Q_QEQTABLE , + MAT_Q_QTTSVOLUME , + MAT_Q_QCODECTABLE , + MAT_Q_QTXCODECTABLE , + MAT_Q_QDSPTABLE , + MAT_Q_QTTSDIGITMODE , + MAT_Q_QDTMF , + MAT_Q_QIIC , + MAT_Q_QTTSETUP , + MAT_Q_QDAI , + + MAT_Q_QDUMPCFG , + MAT_Q_QFLASH , + + MAT_Q_QWSETMAC , + + MAT_Q_CINDCFG , + + NUM_OF_MAT_CMD + } MATCmdType , MATRspType; + +//ICAT EXPORTED ENUM + typedef enum + { + MAT_SVC_0 , + MAT_SVC_1 , + MAT_SVC_2 , + MAT_SVC_3 , + MAT_SVC_4 , + MAT_SVC_5 , + MAT_SVC_6 , + MAT_SVC_7 , + MAT_SVC_8 , + MAT_SVC_9 , + MAT_SVC_10 , + MAT_SVC_11 , + MAT_SVC_12 , + MAT_SVC_13 , + MAT_SVC_14 , + MAT_SVC_15 , + MAT_SVC_16 , + MAT_SVC_17 , + MAT_SVC_18 , + MAT_SVC_19 , + MAT_SVC_20 , + MAT_SVC_21 , + MAT_SVC_22 , + MAT_SVC_23 , + MAT_SVC_24 , + MAT_SVC_25 , + MAT_SVC_26 , + MAT_SVC_27 , + MAT_SVC_28 , + MAT_SVC_29 , + MAT_SVC_30 , + MAT_SVC_31 , + MAT_SVC_32 , + MAT_SVC_33 , + MAT_SVC_34 , + MAT_SVC_35 , + MAT_SVC_36 , + MAT_SVC_37 , + MAT_SVC_38 , + MAT_SVC_39 , + MAT_SVC_40 , + MAT_SVC_41 , + MAT_SVC_42 , + MAT_SVC_43 , + MAT_SVC_44 , + MAT_SVC_45 , + MAT_SVC_46 , + MAT_SVC_47 , + MAT_SVC_48 , + MAT_SVC_49 , + MAT_SVC_50 , + MAT_SVC_51 , + MAT_SVC_52 , + MAT_SVC_53 , + MAT_SVC_54 , + MAT_SVC_55 , + MAT_SVC_56 , + MAT_SVC_57 , + MAT_SVC_58 , + MAT_SVC_59 , + MAT_SVC_60 , + MAT_SVC_61 , + MAT_SVC_62 , + MAT_SVC_63 , + NUM_OF_MAT_SVC + } MATSvcId; + +//ICAT EXPORTED ENUM + typedef enum + { + MAT_SIM_0 , + MAT_SIM_1 , + NUM_OF_MAT_SIM + } MATSimId; + +//ICAT EXPORTED ENUM + typedef enum { + MAT_DATA_TYPE_DECIMAL , + MAT_DATA_TYPE_STRING , + MAT_DATA_TYPE_SET , + MAT_DATA_TYPE_RANGE , + } MATDataType; + +//ICAT EXPORTED STRUCT + struct MATParameterRange + { + int min ; + int max ; + }; + +//ICAT EXPORTED STRUCT + struct MATParameterItem_T ; + // ICAT EXPORTED STRUCT + typedef union MATDataValue_U { + unsigned int decimal ; + char *string_p ; + struct MATParameterItem_T *set_p ; + struct MATParameterRange range ; + } MATDataValue; + +//ICAT EXPORTED STRUCT + typedef struct MATParameter_T + { + MATDataType type ; + BOOL is_default ; + MATDataValue value ; + } MATParameter; + +//ICAT EXPORTED ENUM + typedef enum + { + MAT_RC_NULL , + MAT_RC_OK , // OK will be sent + MAT_RC_ERROR , // ERROR will be sent + MAT_RC_CME_ERROR , // CME ERROR will be sent + MAT_RC_CMS_ERROR , // CMS ERROR will be sent + MAT_RC_RESERVED + } MATResultCode; + +//ICAT EXPORTED STRUCT + typedef struct MATParameterItem_T + { + UINT16 max_para_number ; + UINT16 num_Retparameters ; + MATParameter* RetPara ; + } MATParameterItem , MATParameterSet; + +//ICAT EXPORTED ENUM + typedef enum + { + MAT_RET_CONFIRM , + MAT_RET_INDICATION + } MATRetType; + +//ICAT EXPORTED ENUM + typedef enum + { + MAT_PAR_RESULT_CODE_OK , + MAT_PAR_RESULT_CODE_ERROR + } MATParseResultCode; + +//ICAT EXPORTED ENUM + typedef enum + { + MAT_RET_SUCCESS , + MAT_RET_TOO_MANY_PARAMETERS , + MAT_RET_CURRENT_CH_HAS_CMD_PROCESSING , + MAT_RET_PARA_TYPE_UNSUPPORT , + MAT_RET_NULL_CLINET_TAG_POINTER , + MAT_RET_NUM_PARA_ERROR , + MAT_RET_PARA_TYPE_ERROR , + MAT_RET_HANDLER_FAILURE , + MAT_RET_FIND_FREE_CHANNEL_ERROR + } MATRecvRetType; + +//ICAT EXPORTED STRUCT + typedef struct MATReturnPara_T + { + MATResultCode resultCode ; + UINT16 numItems ; + MATParameterItem* RetParaItems ; + MATRspType cmd_type ; + } MATReturnPara; + +typedef union utlAtDataValue_U { + unsigned int decimal ; + unsigned int hexadecimal ; + unsigned int binary ; + char *string_p ; + char *qstring_p ; + char *dial_string_p ; + } utlAtDataValue_T , *utlAtDataValue_P ; +typedef const utlAtParameterValue_T *utlAtParameterValue_P2c ; +typedef const utlAtParameter_T *utlAtParameter_P2c ; +typedef const utlAtDceIoConfig_T *utlAtDceIoConfig_P2c ; +typedef const utlAtSoundConfig_T *utlAtSoundConfig_P2c ; +typedef utlReturnCode_T ( *utlAtGetParameterFunction_P ) ( const utlAtParameterOp_T op , const char *command_name_p , const utlAtParameterValue_P2c parameter_values_p , const size_t num_parameters , const char *info_text_p , unsigned int *xid_p , void *arg_p ) ; +typedef utlReturnCode_T ( *utlAtSetParameterFunction_P ) ( const utlAtParameterOp_T op , const char *command_name_p , const utlAtParameterValue_P2c parameter_values_p , const size_t num_parameters , const char *info_text_p , unsigned int *xid_p , void *arg_p ) ; +typedef utlReturnCode_T ( *utlAtDceIoConfigFunction_P ) ( const utlAtDceIoConfig_P2c dce_io_config_p , void *arg_p ) ; +typedef utlReturnCode_T ( *utlAtSoundConfigFunction_P ) ( const utlAtSoundConfig_P2c sound_config_p , void *arg_p ) ; +typedef utlReturnCode_T ( *utlAtSParameterFunction_P ) ( const unsigned int parameter_num , const unsigned int parameter_value , void *arg_p ) ; +typedef utlReturnCode_T ( *utlAtSaveDialStringFunction_P ) ( const char *location_name_p , const char *dial_string_p , void *arg_p ) ; +typedef utlReturnCode_T ( *utlAtRetrieveDialStringFunction_P ) ( const char **location_name_pp , const char **dial_string_pp , void *arg_p ) ; +typedef utlReturnCode_T ( *utlAtReplyFunction_P ) ( const char *string_p , void *arg_p ) ; +typedef utlReturnCode_T ( *utlAtTxLineDataFunction_P ) ( const unsigned char *octets_p , const size_t n , void *arg_p ) ; +typedef utlReturnCode_T ( *utlAtDriverRequestFunction_P ) ( const utlAtParser_P parser_p , const utlAtDriverRequest_T request , void *arg_p , ... ) ; +typedef utlReturnCode_T ( *utlAtCommandSyntaxFunction_P ) ( const utlAtParameterOp_T op , const char *command_name_p , const utlAtParameterValue_P2c parameter_values_p , const size_t num_parameters , const char *info_text_p , unsigned int *xid_p , void *arg_p ) ; +typedef unsigned int ( *utlAtGetAtcmdTimeoutValueFunction_P ) ( const utlAtCommand_P2c cmd_p , const utlAtAsyncOp_T op ) ; +typedef int ( *utlAtcmdTimeoutErrorFunction_P ) ( unsigned int atHandle ) ; +typedef void ( *utlAtcmdContinuousTimeoutFunction_P ) ( void ) ; +typedef int ( *utlAtParserTriggerFunction_P ) ( const utlAtParser_P parser_p ) ; +typedef void ( *utlSetAutoAnswerDelay_P ) ( void *arg_p , unsigned int delay_seconds ) ; +typedef void ( *utlGetAutoAnswerDelay_P ) ( void *arg_p , unsigned short *delay_seconds ) ; +typedef utlReturnCode_T ( *utlSendToProxy_P ) ( const char *command_name_p , const utlAtParameterOp_T op , const char *parameters_string_p , unsigned int *xid_p , void *arg_p ) ; +typedef unsigned int ( *utlIsProxyReq_P ) ( const char *cmdName , utlAtParameterOp_T cmdOp , unsigned int parserId ) ; +typedef void ( *utlIncProxyTOCounter_P ) ( unsigned int incValue ) ; +typedef const utlAtCommand_T *utlAtCommand_P2c ; +typedef const utlAtDialStringOptions_T *utlAtDialStringOptions_P2c ; +typedef const utlAtAsyncResponse_T *utlAtAsyncResponse_P2c ; +typedef const utlAtAsyncResponses_T *utlAtAsyncResponses_P2c ; +typedef const utlAtParser_T *utlAtParser_P2c ; +typedef void ( *StateChangedCb ) ( UINT8 , INT32 , void * ) ; +//ICAT EXPORTED ENUM + enum + { + SIM_0 , + SIM_1 , + NUM_OF_SIM + }; + +//ICAT EXPORTED ENUM + typedef enum + { + CHANNEL_MMI , + CHANNEL_IMS , + NUM_OF_CHANNEL_TYPE + } AT_CHANNEL_TYPE; + +//ICAT EXPORTED STRUCT + typedef struct _TelAtpCtrl + { + void *taskRef ; + UINT32 iFd ; + char *path ; + UINT32 index ; + TelMsgDataMode smsDataEntryMode ; + BOOL bEnable ; + BOOL bIsSinkMode ; + + TelAtpPdpCtx pdpCtx ; + TelAtpTftCtx tftCtx ; + + UINT32 reqHandle ; + UINT32 cnmaReply ; /* used in +CNMA */ + // +CMGS and +CMGW refer to gAtSmsMessage + + Quec_TelAtpDataEntry pTelAtpDataEntry ; + + } TelAtpCtrl; + +typedef union + { + char *filename ; + __QUEC_CONFIG_ENUM config_num ; + } quec_baudrate_info_u ; +typedef void ( *WATCHDOG_Handler ) ( void ) ; +//ICAT EXPORTED ENUM + typedef enum CISGID { + CI_SG_ID_FIRST=1 , + CI_SG_ID_CC = CI_SG_ID_FIRST , + CI_SG_ID_SS , + CI_SG_ID_MM , + CI_SG_ID_PB , + CI_SG_ID_SIM , + CI_SG_ID_MSG , + CI_SG_ID_PS , + CI_SG_ID_DAT , + CI_SG_ID_DEV , + CI_SG_ID_HSCSD , + CI_SG_ID_DEB , + CI_SG_ID_ATPI , + CI_SG_ID_PL , + CI_SG_ID_OAM , + CI_SG_ID_NEXTAVAIL /* This must always be the last entry in the list */ + } _CiServiceGroupId; + +//ICAT EXPORTED ENUM + typedef enum CIRC { + CIRC_SUCCESS=0 , + CIRC_FAIL , + CIRC_INTERLINK_FAIL , /* the link between application subsystem and communication subsystem is broken */ + CIRC_SH_NULL_CONFIRM_CB , + CIRC_SH_NULL_FREEREQMEM_CB , + CIRC_SH_INVALID_HANDLE , + CIRC_SH_INVALID_OPER , + CIRC_SH_NULL_REQPARAS , + CIRC_SG_INVALID_HANDLE , + CIRC_SG_RESERVED_PRIMID , + CIRC_SG_NULL_REQPARAS , + CIRC_SG_NULL_RSPPARAS , + CIRC_NUM_RESCODES + } _CiReturnCode; + +typedef UINT16 CiReturnCode ; +//ICAT EXPORTED ENUM + typedef enum CISHOPER { + CI_SH_OPER_REGISTERSH = 0 , + CI_SH_OPER_DEREGISTERSH , + CI_SH_OPER_GETVERSION , + CI_SH_OPER_REGISTERSG , + CI_SH_OPER_DEREGISTERSG , + CI_SH_OPER_REGISTERDEFSG , + CI_SH_OPER_DEREGISTERDEFSG , + CI_SH_QUERYEXTENDED , + CI_SH_QUERYEXTENDEDSERVICEPRIM , + CI_SH_QUERYEXTENDEDSERVICEGROUP , + CI_SH_OPER_CIVERSION_NEGO_REQ , + CI_SH_OPER_CIVERSION_NEGO_CNF , + CI_SH_NUMOPERS + } CiShOper; + +typedef UINT8 CiBoolean ; +typedef unsigned char Boolean ; +typedef UINT8 CiServiceGroupID ; +typedef UINT16 CiPrimitiveID ; +typedef UINT32 CiServiceHandle ; +typedef UINT32 CiRequestHandle ; +typedef UINT32 CiIndicationHandle ; +typedef UINT32 CiShHandle ; +typedef UINT32 CiShOpaqueHandle ; +typedef UINT32 CiShRequestHandle ; +typedef UINT32 CiSgOpaqueHandle ; +typedef void ( *CiShConfirm ) ( CiShOpaqueHandle opShHandle , CiShOper oper , void* cnfParas , CiShRequestHandle opHandle ) ; +typedef void ( *CiConfirm ) ( CiSgOpaqueHandle opSgOpaqueHandle , CiServiceGroupID id , CiPrimitiveID primId , CiRequestHandle reqHandle , void* paras ) ; +typedef void ( *CiIndicate ) ( CiSgOpaqueHandle opSgOpaqueHandle , CiServiceGroupID id , CiPrimitiveID primId , CiIndicationHandle indHandle , void* paras ) ; +typedef void ( *CiShFreeReqMem ) ( CiShOpaqueHandle opShFreeHandle , CiShOper oper , void* reqParas ) ; +typedef void ( *CiShFreeCnfMem ) ( CiShOpaqueHandle opShFreeHandle , CiShOper oper , void* cnfParas ) ; +typedef void ( *CiSgFreeReqMem ) ( CiSgOpaqueHandle opSgFreeHandle , CiServiceGroupID id , CiPrimitiveID primId , void* reqParas ) ; +typedef void ( *CiSgFreeRspMem ) ( CiSgOpaqueHandle opSgFreeHandle , CiServiceGroupID id , CiPrimitiveID primId , void* rspParas ) ; +typedef void ( *CiSgFreeCnfMem ) ( CiSgOpaqueHandle opSgFreeHandle , CiServiceGroupID id , CiPrimitiveID primId , void* cnfParas ) ; +typedef void ( *CiSgFreeIndMem ) ( CiSgOpaqueHandle opSgFreeHandle , CiServiceGroupID id , CiPrimitiveID primId , void* indParas ) ; +//ICAT EXPORTED STRUCT + typedef struct CiPrimList_struct { + UINT16 size ; /* actual number of primitive IDs that are held in the pList */ + CiPrimitiveID primId [ 156 ] ; + } CiPrimitiveList; + +//ICAT EXPORTED STRUCT + typedef struct CiShOperRegisterShCnf_struct { + CiReturnCode rc ; + CiShHandle handle ; + CiShOpaqueHandle opShFreeHandle ; + CiShFreeCnfMem ciShFreeCnfMem ; + } CiShOperRegisterShCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiShOperDeregisterShCnf_struct { + CiReturnCode rc ; + } CiShOperDeregisterShCnf; + +//ICAT EXPORTED STRUCTURE + typedef struct CiShOperGetVersionReq_struct { + CiServiceGroupID id ; + } CiShOperGetVersionReq; + +//ICAT EXPORTED STRUCT + typedef struct CiShOperGetVersionCnf_struct { + CiReturnCode rc ; + CiServiceGroupID id ; + UINT8 major ; + UINT8 minor ; + } CiShOperGetVersionCnf; + +//ICAT EXPORTED STRUCTURE + typedef struct CiShOperRegisterDefaultSgReq_struct { + CiSgOpaqueHandle opSgDefCnfHandle ; + CiConfirm ciCnfDef ; + CiIndicate ciIndDef ; + CiSgOpaqueHandle opSgDefIndHandle ; + } CiShOperRegisterDefaultSgReq; + +//ICAT EXPORTED STRUCT + typedef struct CiShOperRegisterDefaultSgCnf_struct { + CiReturnCode rc ; + CiServiceHandle defHandle ; + CiSgOpaqueHandle opSgFreeDefCnfHandle ; + CiSgFreeCnfMem ciSgFreeDefCnfMem ; + CiSgOpaqueHandle opSgFreeDefIndHandle ; + CiSgFreeIndMem ciSgFreeDefIndMem ; + } CiShOperRegisterDefaultSgCnf; + +//ICAT EXPORTED STRUCTURE + typedef struct CiShOperDeregisterDefaultSgReq_struct { + CiServiceHandle defHandle ; + } CiShOperDeregisterDefaultSgReq; + +//ICAT EXPORTED STRUCT + typedef struct CiShOperDeregisterDefaultSgCnf_struct { + CiReturnCode rc ; + } CiShOperDeregisterDefaultSgCnf; + +//ICAT EXPORTED STRUCTURE + typedef struct CiShOperRegisterSgReq_struct { + CiServiceGroupID id ; + CiSgOpaqueHandle opSgCnfHandle ; + CiConfirm ciConfirm ; + CiSgOpaqueHandle opSgIndHandle ; + CiIndicate ciIndicate ; + CiSgOpaqueHandle opSgFreeReqHandle ; + CiSgFreeReqMem ciSgFreeReqMem ; + CiSgOpaqueHandle opSgFreeRspHandle ; + CiSgFreeRspMem ciSgFreeRspMem ; + } CiShOperRegisterSgReq; + +//ICAT EXPORTED STRUCT + typedef struct CiShOperRegisterSgCnf_struct { + CiReturnCode rc ; + CiServiceGroupID id ; + CiServiceHandle handle ; + CiSgOpaqueHandle opSgFreeCnfHandle ; + CiSgFreeCnfMem ciSgFreeCnfMem ; + CiSgOpaqueHandle opSgFreeIndHandle ; + CiSgFreeIndMem ciSgFreeIndMem ; + } CiShOperRegisterSgCnf; + +//ICAT EXPORTED STRUCTURE + typedef struct CiShOperDeregisterSgReq_struct { + CiServiceHandle handle ; + } CiShOperDeregisterSgReq; + +//ICAT EXPORTED STRUCT + typedef struct CiShOperDeregisterSgCnf_struct { + CiReturnCode rc ; + CiServiceGroupID id ; + } CiShOperDeregisterSgCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiShQueryExtendedReq_struct { + CiServiceGroupID id ; + } CiShQueryExtendedReq; + +//ICAT EXPORTED STRUCT + typedef struct CiShQueryExtendedCnf_struct { + CiReturnCode rc ; + CiServiceGroupID id ; + UINT16 mSize ; + CiPrimitiveList ciPrimList ; + } CiShQueryExtendedCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiShQueryExtendedServicePrimReq_struct { + CiServiceGroupID id ; + CiPrimitiveID primId ; + } CiShQueryExtendedServicePrimReq; + +//ICAT EXPORTED STRUCT + typedef struct CiShQueryExtendedServicePrimCnf_struct { + CiReturnCode rc ; + CiServiceGroupID id ; + CiPrimitiveID primId ; + CiBoolean supported ; + } CiShQueryExtendedServicePrimCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiShQueryExtendedServiceGroupReq_struct { + CiServiceGroupID id ; + } CiShQueryExtendedServiceGroupReq; + +//ICAT EXPORTED STRUCT + typedef struct CiShQueryExtendedServiceGroupCnf_struct { + CiReturnCode rc ; + CiServiceGroupID id ; + CiBoolean supported ; + } CiShQueryExtendedServiceGroupCnf; + +typedef UINT16 CiVersion ; +//ICAT EXPORTED STRUCT + typedef struct CiShOperCIVersionNegoReq_struct + { + UINT8 ccSuppVerNum ; + UINT8 ssSuppVerNum ; + UINT8 mmSuppVerNum ; + UINT8 pbSuppVerNum ; + UINT8 simSuppVerNum ; + UINT8 msgSuppVerNum ; + UINT8 psSuppVerNum ; + UINT8 datSuppVerNum ; + UINT8 devSuppVerNum ; + UINT8 hscsdSuppVerNum ; + UINT8 debSuppVerNum ; + UINT8 atpiSuppVerNum ; + UINT8 plSuppVerNum ; + UINT8 oamSuppVerNum ; + CiVersion ccSuppVer [ 10 ] ; + CiVersion ssSuppVer [ 10 ] ; + CiVersion mmSuppVer [ 10 ] ; + CiVersion pbSuppVer [ 10 ] ; + CiVersion simSuppVer [ 10 ] ; + CiVersion msgSuppVer [ 10 ] ; + CiVersion psSuppVer [ 10 ] ; + CiVersion datSuppVer [ 10 ] ; + CiVersion devSuppVer [ 10 ] ; + CiVersion hscsdSuppVer [ 10 ] ; + CiVersion debSuppVer [ 10 ] ; + CiVersion atpiSuppVer [ 10 ] ; + CiVersion plSuppVer [ 10 ] ; + CiVersion oamSuppVer [ 10 ] ; + } CiShOperCIVersionNegoReq; + +//ICAT EXPORTED STRUCT + typedef struct CiShOperCIVersionNegoCnf_struct + { + CiReturnCode rc ; + CiVersion ccVer ; + CiVersion ssVer ; + CiVersion mmVer ; + CiVersion pbVer ; + CiVersion simVer ; + CiVersion msgVer ; + CiVersion psVer ; + CiVersion datVer ; + CiVersion devVer ; + CiVersion hscsdVer ; + CiVersion debVer ; + CiVersion atpiVer ; + CiVersion plVer ; + CiVersion oamVer ; + } CiShOperCIVersionNegoCnf; + +//ICAT EXPORTED ENUM + typedef enum CI_ADDR_NUMTYPE { + CI_NUMTYPE_UNKNOWN = 0x00 , /* Unknown */ + CI_NUMTYPE_INTERNATIONAL= 0x01 , /* International Number */ + CI_NUMTYPE_NATIONAL = 0x02 , /* National Number */ + CI_NUMTYPE_NETWORK = 0x03 , /* Network Specific ( e.g. Operator Access ) */ + CI_NUMTYPE_DEDICATED = 0x04 , /* Dedicated Access Number , Short Code */ + CI_NUMTYPE_EXTENSION = 0x07 /* Reserved for Extension */ + /* << All other codes are reserved >> */ + } _CiAddrNumType; + +typedef UINT8 CiAddrNumType ; +//ICAT EXPORTED ENUM + typedef enum CI_ADDR_NUMPLAN { + CI_NUMPLAN_UNKNOWN = 0x00 , /* Unknown */ + CI_NUMPLAN_E164_E163 = 0x01 , /* ISDN / Telephony ( E.164 / E.163 ) */ + CI_NUMPLAN_DATA_X121 = 0x03 , /* Data Numbering Plan ( X.121 ) */ + CI_NUMPLAN_TELEX_F69 = 0x04 , /* Telex Numbering Plan ( F.69 ) */ + CI_NUMPLAN_NATIONAL = 0x08 , /* National Numbering Plan */ + CI_NUMPLAN_PRIVATE = 0x09 , /* Private Numbering Plan */ + CI_NUMPLAN_RSVD_CTS = 0x0b , /* Reserved for CTS */ + CI_NUMPLAN_EXTENSION = 0x0f /* Reserved for Extension */ + /* << All other codes are reserved >> */ + } _CiAddrNumPlan; + +typedef UINT8 CiAddrNumPlan ; +//ICAT EXPORTED STRUCT + typedef struct CiAddressType_struct { + CiAddrNumType NumType ; /* TON: Type of Number */ + CiAddrNumPlan NumPlan ; /* NPI: Numbering Plan Identification */ + } CiAddressType; + +//ICAT EXPORTED STRUCT + typedef struct CiAddressInfo_struct { + CiAddressType AddrType ; /* Address Type Information */ + UINT8 Length ; /* Address Length in digits */ + UINT8 Digits [ 40 ] ; /* Address Digits */ + + } CiAddressInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiOptAddressInfo_struct { + CiBoolean Present ; /* Address Info present? */ + CiAddressInfo AddressInfo ; /* Address Info */ + } CiOptAddressInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiSubaddrInfo_struct { + CiBoolean Present ; /* Subaddress Info present? */ + UINT8 Type ; /* Subaddress Type */ + UINT8 Length ; /* Subaddress Length in characters */ + UINT8 Digits [ 40 ] ; /* Subaddress Digits */ + } CiSubaddrInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiNameInfo_struct { + /*Added by cherryli@02.02.2015 for CQ84004 begin.*/ + + + + /*Added by cherryli@02.02.2015 for CQ84004 end.*/ + UINT8 Length ; /* Name Length in characters */ + UINT8 Name [ 40 ] ; /* Alphanumeric Name */ + } CiNameInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiOptNameInfo_struct { + CiBoolean Present ; /* Name Info present? */ + CiNameInfo NameInfo ; /* Name Info */ + } CiOptNameInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiCallerInfo_struct { + CiOptAddressInfo OptCallerNumber ; /* Optional Caller Phone Number */ + CiSubaddrInfo OptCallerSubaddr ; /* Optional Caller Subaddress */ + CiOptNameInfo OptCallerName ; /* Optional Caller Name ( Alpha Tag ) */ + } CiCallerInfo; + +//ICAT EXPORTED ENUM + typedef enum SSI_CALL_STATUS { + SSI_CS_CFU_ACTIVE = 0 , /* Unconditional Call Forwarding active */ + SSI_CS_CCF_ACTIVE , /* Conditional CF trigger ( s ) active */ + SSI_CS_FORWARDED , /* Call has been forwarded */ + SSI_CS_WAITING , /* Call is waiting */ + SSI_CS_CUG_CALL , /* Outgoing CUG call ( Index also present ) */ + SSI_CS_MO_BARRED , /* Outgoing ( MO ) calls are barred */ + SSI_CS_MT_BARRED , /* Incoming ( MT ) calls are barred */ + SSI_CS_CLIR_REJECTED , /* CLIR suppression rejected */ + SSI_CS_DEFLECTED , /* Call has been deflected */ + /* This one must always be last in the list! */ + SSI_NUM_CS /* Number of SSI Call Status values */ + } _CiSsiCallStatus; + +typedef UINT8 CiSsiCallStatus ; +//ICAT EXPORTED STRUCT + typedef struct CiSsiNotifyInfo_struct { + CiSsiCallStatus Status ; /* Call Status indicator */ + UINT8 CugIndex ; /* CUG Index ( if applicable ) */ + } CiSsiNotifyInfo; + +//ICAT EXPORTED ENUM + typedef enum SSU_CALL_STATUS { + SSU_CS_FORWARDED = 0 , /* Call has been forwarded */ + SSU_CS_CUG_CALL , /* Incoming CUG call ( Index also present ) */ + SSU_CS_HELD , /* Call held ( Voice Call ) */ + SSU_CS_UNHELD , /* Call retrieved ( Voice Call ) */ + SSU_CS_ENTERED_MPTY , /* Multiparty call entered ( Voice call ) */ + SSU_CS_RELEASED_HELD , /* Held call released ( Voice call ) */ + SSU_CS_FORWARD_CHECK , /* Forward Check SS message received */ + SSU_CS_ECT_ALERTING , /* Connecting with remote party in ECT */ + SSU_CS_ECT_CONNECTED , /* Connected with remote party in ECT */ + /* ( Caller Information may also be present ) */ + SSU_CS_DEFLECTED , /* Call has been deflected */ + SSU_CS_INCOMING_FORWARDED , /* Additional incoming call forwarded */ + /* This one must always be last in the list! */ + SSU_NUM_CS /* Number of SSU Call Status values */ + } _CiSsuCallStatus; + +typedef UINT8 CiSsuCallStatus ; +//ICAT EXPORTED STRUCT + typedef struct CiSsuNotifyInfo_struct { + CiSsuCallStatus Status ; /* Call Status indicator */ + UINT8 CugIndex ; /* CUG Index ( if applicable ) */ + CiCallerInfo CallerInfo ; /* Optional Caller Information */ + /* ( Caller Name info is never present ) */ + } CiSsuNotifyInfo; + +//ICAT EXPORTED ENUM + typedef enum CI_BSTYPE_SPEED { + CI_BSTYPE_SPEED_AUTOBAUD = 0 , /* Autobauding for 3.100000 kHz Non-Transparent */ + + /* 3.100000 kHz Audio definitions */ + CI_BSTYPE_SPEED_300_V21 , /* 300 bps ( V.21 ) */ + CI_BSTYPE_SPEED_1200_V22 , /* 1200 bps ( V.22 ) */ + CI_BSTYPE_SPEED_1200_75_V23 , /* 1200 / 75 bps ( V.23 ) */ + CI_BSTYPE_SPEED_2400_V22BIS , /* 2400 bps ( V.22bis ) */ + CI_BSTYPE_SPEED_2400_V26TER , /* 2400 bps ( V.26ter ) */ + CI_BSTYPE_SPEED_4800_V32 , /* 4800 bps ( V.32 ) */ + CI_BSTYPE_SPEED_9600_V32 , /* 9600 bps ( V.32 ) */ + + /* V.34 definitions */ + CI_BSTYPE_SPEED_9600_V34 , /* 9600 bps */ + CI_BSTYPE_SPEED_14400_V34 , /* 14400 bps */ + CI_BSTYPE_SPEED_19200_V34 , /* 19200 bps */ + CI_BSTYPE_SPEED_28800_V34 , /* 28800 bps */ + CI_BSTYPE_SPEED_33600_V34 , /* 33600 bps */ + + /* V.34 definitions */ + CI_BSTYPE_SPEED_1200_V120 , /* 1200 bps */ + CI_BSTYPE_SPEED_2400_V120 , /* 2400 bps */ + CI_BSTYPE_SPEED_4800_V120 , /* 4800 bps */ + CI_BSTYPE_SPEED_9600_V120 , /* 9600 bps */ + CI_BSTYPE_SPEED_14400_V120 , /* 14.400000 kbps */ + CI_BSTYPE_SPEED_19200_V120 , /* 19.200000 kbps */ + CI_BSTYPE_SPEED_28800_V120 , /* 28.800000 kbps */ + CI_BSTYPE_SPEED_38400_V120 , /* 38.400000 kbps */ + CI_BSTYPE_SPEED_48000_V120 , /* 48.000000 kbps */ + CI_BSTYPE_SPEED_56000_V120 , /* 56.000000 kbps */ + + /* V.110 or X.31 Flag Stuffing UDI definitions */ + CI_BSTYPE_SPEED_300_V110 , /* 300 bps */ + CI_BSTYPE_SPEED_1200_V110 , /* 1200 bps */ + CI_BSTYPE_SPEED_2400_V110_X31 , /* 2400 bps */ + CI_BSTYPE_SPEED_4800_V110_X31 , /* 4800 bps */ + CI_BSTYPE_SPEED_9600_V110_X31 , /* 9600 bps */ + CI_BSTYPE_SPEED_14400_V110_X31 , /* 14.400000 kbps */ + CI_BSTYPE_SPEED_19200_V110_X31 , /* 19.200000 kbps */ + CI_BSTYPE_SPEED_28800_V110_X31 , /* 28.800000 kbps */ + CI_BSTYPE_SPEED_38400_V110_X31 , /* 38.400000 kbps */ + CI_BSTYPE_SPEED_48000_V110_X31 , /* 48.000000 kbps */ + CI_BSTYPE_SPEED_56000_V110_X31 , /* 56.000000 kbps ( can also get FTM ) */ + CI_BSTYPE_SPEED_64000_X31 , /* 64.000000 kbps ( can also get FTM ) */ + + /* Bit Transparent Mode definitions */ + CI_BSTYPE_SPEED_56000_BTM , /* 56 kbps */ + CI_BSTYPE_SPEED_64000_BTM , /* 64 kbps */ + + /* PIAFS ( Personal Internet Access Forum Standard ) definitions */ + CI_BSTYPE_SPEED_32000_PIAFS , /* 56.000000 kbps ( PIAFS32k ) */ + CI_BSTYPE_SPEED_64000_PIAFS , /* 64.000000 kbps ( PIAFS64k ) */ + + /* Multimedia Call definitions */ + CI_BSTYPE_SPEED_28800_MM , /* 28.800000 kbps */ + CI_BSTYPE_SPEED_32000_MM , /* 32.000000 kbps */ + CI_BSTYPE_SPEED_33600_MM , /* 33.600000 kbps */ + CI_BSTYPE_SPEED_56000_MM , /* 56 kbps */ + CI_BSTYPE_SPEED_64000_MM , /* 64 kbps */ + + /* This one must always be last in the list! */ + CI_NUM_BSTYPE_SPEEDS /* Number of Bearer Service Speeds defined */ + } _CiBsTypeSpeed; + +typedef UINT8 CiBsTypeSpeed ; +//ICAT EXPORTED STRUCT + typedef struct CiPassword_struct { + UINT8 len ; /* length of the password , [ CI_MIN_PASSWORD_LENGTH - CI_MAX_PASSWORD_LENGTH ] */ + UINT8 data [ 16 ] ; + } CiPassword; + +//ICAT EXPORTED STRUCT + typedef struct CiString_struct { + UINT16 len ; + CHAR valStr [ 100 ] ; + } CiString; + +//ICAT EXPORTED STRUCT + typedef struct CiStringExt_struct { + UINT16 len ; + CHAR valStr [ 200 ] ; + } CiStringExt; + +//ICAT EXPORTED STRUCT + typedef struct CiNumericRange_struct { + UINT32 min ; /* lower limit */ + UINT32 max ; /* upper limit */ + } CiNumericRange; + +typedef UINT32 CiBitRange ; +//ICAT EXPORTED STRUCT + typedef struct CiNumericList_struct { + CiBoolean hasRange ; /* range of numbers are included */ + CiBoolean hasIndvNums ; /* individual numbers are included */ + UINT16 rangeLstSize ; /* actual number of CiNumericRange structures held in the range list , + ignored if hasRange is FALSE */ + CiNumericRange rangeLst [ 20 ] ; + UINT16 indvLstSize ; /* actual number of numbers held in the individual number list , + ignored if hasIndNums is FALSE */ + UINT32 indvList [ 50 ] ; + } CiNumericList; + +//ICAT EXPORTED ENUM + typedef enum CIERRACCTYPE { + CIERR_ACC_TYPE_CHV1 , /* CHV1 password */ + CIERR_ACC_TYPE_CHV2 , /* CHV2 password */ + CIERR_ACC_TYPE_UNBLOCK_CHV1 , /* Unblock CHV1 password */ + CIERR_ACC_TYPE_UNBLOCK_CHV2 , /* Unblock CHV2 password */ + CIERR_ACC_TYPE_ADMIN , /* Administrate access right */ + CIERR_ACC_TYPE_CB , /* call barring password */ + CIERR_ACC_TYPE_INTERNAL /* internal access type */ + } _CiErrAccType; + +typedef UINT8 CiErrAccType ; +//ICAT EXPORTED ENUM + typedef enum CIERRACCCAUSE { + CIERR_ACC_PRIV_REQUIRED , /* access privilege ( e.g. password ) is required to gain access right */ + CIERR_ACC_PW_NOT_INIT , /* password is not initialized or registered */ + CIERR_ACC_PW_BLOCKED , /* password was blocked because of a series of unsuccessful verification attempts */ + CIERR_ACC_RES_UNAVAIL , /* required resource is unavailable */ + CIERR_ACC_UNKNOWN /* unknown error access cause */ + } _CiErrAccCause; + +typedef UINT8 CiErrAccCause ; +//ICAT EXPORTED ENUM + typedef enum CIERRINPUTCODE { + /* wrong inputs */ + CIRC_ERR_WRONG_PASSWORD=0xF000 , /* wrong password */ + CIRC_ERR_BAD_PARAMETER , /* parameter invalid or out of range */ + CIRC_ERR_WRONG_INDEX , /* invalid index */ + CIRC_ERR_LONG_STR , /* string too long */ + CIRC_ERR_WRONG_CHAR , /* invalid characters in text string */ + CIRC_ERR_LONG_DIALSTR /* dial string too long */ + } _CiErrInputCode; + +typedef UINT16 CiErrInputCode ; +//ICAT EXPORTED ENUM + typedef enum CIERRINTERLINKCAUSE { + CIERR_INTERLINK_DOWN , /* interlink broken , receiver ' s action TBD */ + CIERR_INTERLINK_MEM_OVERFLOW /* memory overflow in the link , receiver ' s action TBD */ + } _CiErrInterLinkCause; + +typedef UINT8 CiErrInterLinkCause ; +typedef UINT8 CiEmptyPrim ; +//ICAT EXPORTED STRUCT + typedef struct CiLongAdrInfo_tag { + UINT8 Length ; /* Name Length in characters */ + UINT8 Name [ 50 ] ; /* Alphanumeric Name */ + } CiLongAdrInfo; + +//ICAT EXPORTED ENUM + typedef enum CI_EDIT_CMD_ACTION { + CIED_ADD=0 , + CIED_DELETE=1 , + CIED_REPLACE=2 , + } _CiEditCmdType; + +typedef UINT8 CiEditCmdType ; +//ICAT EXPORTED ENUM + typedef enum CICC_EMLPP_CALL_PRIORITY { + CICC_EMLPP_CALL_PRIORITY_NONE = 0x00 , + CICC_EMLPP_CALL_PRIORITY_4 = 0x01 , + CICC_EMLPP_CALL_PRIORITY_3 = 0x02 , + CICC_EMLPP_CALL_PRIORITY_2 = 0x03 , + CICC_EMLPP_CALL_PRIORITY_1 = 0x04 , + CICC_EMLPP_CALL_PRIORITY_0 = 0x05 , + CICC_EMLPP_CALL_PRIORITY_B = 0x06 , + CICC_EMLPP_CALL_PRIORITY_A = 0x07 , + CICC_EMLPP_NUM_OF_PRIORITIES = 0x07 + } _CiCcEmlppCallPriority; + +typedef UINT8 CiCcEmlppCallPriority ; +//ICAT EXPORTED ENUM + typedef enum CI_ERR_PRIM { + CI_ERR_PRIM_HASNOSUPPORT_CNF = 0xF000 , + CI_ERR_PRIM_HASINVALIDPARAS_CNF , + CI_ERR_PRIM_ISINVALIDREQUEST_CNF , + CI_ERR_PRIM_SIMNOTREADY_CNF , + CI_ERR_PRIM_ACCESSDENIED_CNF , + CI_ERR_PRIM_INTERLINKDOWN_IND , + CI_ERR_PRIM_INTERLINKDOWN_RSP , + CI_ERR_PRIM_INTERLINKUP_IND , + + /* This should always be the last enum entry */ + CI_ERR_PRIM_NEXTAVAIL + } _CiErrPrim; + +typedef UINT16 CiErrPrim ; +typedef CiEmptyPrim CiErrPrimHasNoSupportCnf ; +//ICAT EXPORTED STRUCT + typedef struct CiErrPrimHasInvalidParasCnf_struct { + CiErrInputCode err ; + } CiErrPrimHasInvalidParasCnf; + +typedef CiEmptyPrim CiErrPrimIsInvalidRequestCnf ; +typedef CiEmptyPrim CiErrPrimSimNotReadyCnf ; +//ICAT EXPORTED STRUCT + typedef struct CiErrPrimAccessDeniedCnf_struct { + CiErrAccType type ; + CiErrAccCause cause ; + } CiErrPrimAccessDeniedCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiErrPrimInterlinkDownInd_struct { + CiErrInterLinkCause cause ; + } CiErrPrimInterlinkDownInd; + +//ICAT EXPORTED STRUCT + typedef struct CiErrPrimInterlinkDownRsp_struct { + CiErrInterLinkCause cause ; + } CiErrPrimInterlinkDownRsp; + +typedef CiEmptyPrim CiErrPrimInterlinkUpInd ; +typedef void ( *free_fn ) ( pmsg* ) ; +//ICAT EXPORTED ENUM + typedef enum CI_PS_PRIM + { + CI_PS_PRIM_SET_ATTACH_STATE_REQ = 1 , /**< \brief Requests to attach ME to , or detach ME from , the packet domain service \details */ + CI_PS_PRIM_SET_ATTACH_STATE_CNF , /**< \brief Confirms a request and attaches ME to , or detaches ME from , the packet domain service \details */ + CI_PS_PRIM_GET_ATTACH_STATE_REQ , /**< \brief Requests to get the current packet domain service state \details */ + CI_PS_PRIM_GET_ATTACH_STATE_CNF , /**< \brief Confirms a request and returns the current packet domain service state \details */ + CI_PS_PRIM_DEFINE_PDP_CTX_REQ , /**< \brief Requests to define a PDP context for a specified CID \details */ + CI_PS_PRIM_DEFINE_PDP_CTX_CNF , /**< \brief Confirms a request to define a PDP context for a specified CID + * \details If the PDP context address field is NULL , a dynamic address is requested. */ + CI_PS_PRIM_DELETE_PDP_CTX_REQ , /**< \brief Requests to delete a PDP context \details */ + CI_PS_PRIM_DELETE_PDP_CTX_CNF , /**< \brief Confirms a request to delete a PDP context \details */ + CI_PS_PRIM_GET_PDP_CTX_REQ , /**< \brief Requests to get a PDP context definition \details */ + CI_PS_PRIM_GET_PDP_CTX_CNF = 10 , /**< \brief Confirms a request and returns the PDP context setting \details */ + CI_PS_PRIM_GET_PDP_CTX_CAPS_REQ , /**< \brief Requests the PDP context capabilities supported by the cellular subsystem \details */ + CI_PS_PRIM_GET_PDP_CTX_CAPS_CNF , /**< \brief Confirms a request and returns the PDP context capabilities supported by the cellular subsystem \details */ + CI_PS_PRIM_SET_PDP_CTX_ACT_STATE_REQ , /**< \brief Requests to activate ( or deactivate ) one or all PDP contexts \details */ + CI_PS_PRIM_SET_PDP_CTX_ACT_STATE_CNF , /**< \brief Confirms a request and activates ( or deactivates ) one or all PDP contexts \details */ + CI_PS_PRIM_GET_PDP_CTXS_ACT_STATE_REQ , /**< \brief Requests to get the current activation state of all defined PDP contexts \details */ + CI_PS_PRIM_GET_PDP_CTXS_ACT_STATE_CNF , /**< \brief Confirms a request and returns the current activation state of all defined PDP contexts \details */ + CI_PS_PRIM_ENTER_DATA_STATE_REQ , /**< \brief Requests to notify the cellular subsystem that the application subsystem is entering a data state , which means it is now going to send or receive packet data + * \details This request triggers a PDP attach procedure and / or a PDP context activation procedure if they have not already been generated. + * The parameter optimizedData enables the optimized ACI data plane. + * This parameter must be set to TRUE to use the optimized DATA service group primitives. + * Note that the option not to use the ACI optimized data plane is supported for backward compatibility. */ + CI_PS_PRIM_ENTER_DATA_STATE_CNF , /**< \brief Confirms a request and notifies the cellular subsystem that the application subsystem has entered a data state + * \details Now , the cellular subsystem can start using the DATA service group + * primitives to send and receive data over the packet service domain. */ + CI_PS_PRIM_MT_PDP_CTX_ACT_MODIFY_IND , /**< \brief Indicates that a network initiated the activation or modification of a PDP context \details */ + CI_PS_PRIM_MT_PDP_CTX_ACT_MODIFY_RSP = 20 , /**< \brief Responds to a mobile terminated PDP context indication \details */ + CI_PS_PRIM_MT_PDP_CTX_ACTED_IND , /**< \brief Indicates the mobile terminated PDP context is activated after manual or auto answer + * \details The cellular subsystem assigns the CID ( context ID ) for the MT PDP context. */ + CI_PS_PRIM_SET_GSMGPRS_CLASS_REQ , /**< \brief Requests to set the mobile class for GSM / GPRS \details This primitive only applies to GSM / GPRS networks. */ + CI_PS_PRIM_SET_GSMGPRS_CLASS_CNF , /**< \brief Confirms the request and sets the mobile class for GSM / GPRS \details This primitive only applies to GSM / GPRS networks. */ + CI_PS_PRIM_GET_GSMGPRS_CLASS_REQ , /**< \brief Requests the current setting of the GSM / GPRS mobile class \details This primitive only applies to GSM / GPRS networks. */ + CI_PS_PRIM_GET_GSMGPRS_CLASS_CNF , /**< \brief Confirms a request and gets the current GSM / GPRS mobile class \details This only applies to GSM / GPRS networks. */ + CI_PS_PRIM_GET_GSMGPRS_CLASSES_REQ , /**< \brief Requests the supported GSM / GPRS mobile classes \details */ + CI_PS_PRIM_GET_GSMGPRS_CLASSES_CNF , /**< \brief Confirms a request and returns the supported GSM / GPRS mobile classes \details This only applies to GSM / GPRS networks. */ + CI_PS_PRIM_ENABLE_NW_REG_IND_REQ , /**< \brief Requests to enable or disable GPRS network registration status reports \details */ + CI_PS_PRIM_ENABLE_NW_REG_IND_CNF , /**< \brief Confirms a request and enables or disables GPRS network registration status reports \details */ + CI_PS_PRIM_NW_REG_IND = 30 , /**< \brief Indicates the GPRS network registration status \details GPRS network indications may be enabled or disabled by CI_PS_PRIM_ENABLE_NW_REG_IND_REQ. + * This indication is disabled by default. No explicit response is required. */ + CI_PS_PRIM_SET_QOS_REQ , /**< \brief Requests to set the QoS profile for a PDP context + * \details The ME checks the minimum acceptable profile against the negotiated profile returned in the Activate PDP Context Accept message. + * The required quality of service profile is used when the ME sends an Activate PDP Context Request message to the network. + * This is only used for 2.500000 G ( R97 ) QoS profile parameters. + * Use CI_PS_PRIM_GET_3G_QOS_REQ for 3 G ( R99 ) QoS profile parameters.*/ + CI_PS_PRIM_SET_QOS_CNF , /**< \brief Confirms a request and sets the QoS profile + * \details This is only used for 2.500000 G ( R97 ) QoS profile parameters. + * Use CI_PS_PRIM_GET_3G_QOS_CNF for 3 G ( R99 ) QoS profile parameters. */ + CI_PS_PRIM_DEL_QOS_REQ , /**< \brief Requests to delete the QoS profile for a PDP context + * \details If a PDP context does not have a minimum or required + * QoS profile , the QoS is determined by the network on PDP context activation. + * This is only used for 2.500000 G ( R97 ) QoS profile parameters. + * Use CI_PS_PRIM_DEL_3G_QOS_REQ for 3 G ( R99 ) QoS profile parameters.*/ + CI_PS_PRIM_DEL_QOS_CNF , /**< \brief Confirms a request and deletes the QoS profile setting + * \details This is only used for 2.500000 G ( R97 ) QoS profile parameters. + * Use CI_PS_PRIM_DEL_3G_QOS_CNF for 3 G ( R99 ) QoS profile parameters.*/ + CI_PS_PRIM_GET_QOS_REQ , /**< \brief Requests the QoS profile for a PDP context + * \details This is only used for 2.500000 G ( R97 ) QoS profile parameters. + * Use CI_PS_PRIM_GET_3G_QOS_REQ for 3 G ( R99 ) QoS profile parameters.*/ + CI_PS_PRIM_GET_QOS_CNF , /**< \brief Confirms a request and gets the QoS profile for a PDP context + * \details This is only used for 2.500000 G ( R97 ) QoS profile parameters. + * Use CI_PS_PRIM_GET_3G_QOS_CNF for 3 G ( R99 ) QoS profile parameters.*/ + /*Michal Bukai - AutoAttach Configuration - Samsung - START*/ + CI_PS_PRIM_ENABLE_POWERON_AUTO_ATTACH_REQ , /**< \brief Configure auto attach to PS domain on power up + * \details The configuration will be saved in NVM and will be effective in the next power up. */ + CI_PS_PRIM_ENABLE_POWERON_AUTO_ATTACH_CNF , /**< \brief Confirms the request and updates NVM auto attach configuration \details */ + /*Michal Bukai - AutoAttach Configuration - Samsung - End*/ + CI_PS_PRIM_MT_PDP_CTX_REJECTED_IND , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_PS_PRIM_PDP_CTX_DEACTED_IND = 40 , /**< \brief Indicates that the PDP context has been deactivated + * \details This indication is sent if PS event reports are enabled ; see CI_PS_PRIM_ENABLE_EVENTS_REPORTING_REQ.*/ + CI_PS_PRIM_PDP_CTX_REACTED_IND , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_PS_PRIM_DETACHED_IND , /**< \brief Indicates that the ME has detached from the packet service domain + * \details The indication is sent if PS event reports are enabled ; see CI_PS_PRIM_ENABLE_EVENTS_REPORTING_REQ. */ + CI_PS_PRIM_GPRS_CLASS_CHANGED_IND , /**< \brief Indicates that the GSM / GPRS mobile class has changed \details */ + CI_PS_PRIM_GET_DEFINED_CID_LIST_REQ , /**< \brief Requests the defined PDP context identifiers list \details */ + CI_PS_PRIM_GET_DEFINED_CID_LIST_CNF , /**< \brief Confirms a request and returns the defined PDP context identifiers list \details */ + CI_PS_PRIM_GET_NW_REG_STATUS_REQ , /**< \brief Requests the GPRS network registration status \details */ + CI_PS_PRIM_GET_NW_REG_STATUS_CNF , /**< \brief Confirms a request and returns the GPRS network registration status \details */ + CI_PS_PRIM_GET_QOS_CAPS_REQ , /**< \brief Requests the QoS capabilities + * \details This is only used for 2.500000 G ( R97 ) QoS profile parameters. + * Use CI_PS_PRIM_GET_3G_QOS_CAPS_REQ for 3 G ( R99 ) QoS profile parameters.*/ + CI_PS_PRIM_GET_QOS_CAPS_CNF , /**< \brief Confirms a request and returns the QoS capabilities + * \details This is only used for 2.500000 G ( R97 ) QoS profile parameters. + * Use CI_PS_PRIM_GET_3G_QOS_CAPS_CNF for 3 G ( R99 ) QoS profile parameters.*/ + CI_PS_PRIM_ENABLE_EVENTS_REPORTING_REQ = 50 , /**< \brief Requests to enable or disable PS event reports + * \details By default , event reporting indications are enabled. + * Event indications include the following: \n + * CI_PS_PRIM_PDP_CTX_DEACTED_IND \n + * CI_PS_PRIM_DETACHED_IND */ + CI_PS_PRIM_ENABLE_EVENTS_REPORTING_CNF , /**< \brief Confirms a request and enables or disables PS event reports \details */ + + /* SCR #1401348: 3 G Quality of Service ( QoS ) primitives */ + CI_PS_PRIM_GET_3G_QOS_REQ , /**< \brief Requests the 3 G QoS profile for a PDP context + * \details This is only used for 3 G ( R99 ) QoS profile parameters. + * Use CI_PS_PRIM_GET_QOS_REQ for 2.500000 G ( R97 ) QoS profile parameters.*/ + CI_PS_PRIM_GET_3G_QOS_CNF , /**< \brief Confirms a request and returns the 3 G QoS profile for a PDP context + * \details This is only used for 3 G ( R99 ) QoS profile parameters. + * Use CI_PS_PRIM_GET_QOS_CNF for 2.500000 G ( R97 ) QoS profile parameters.*/ + CI_PS_PRIM_SET_3G_QOS_REQ , /**< \brief Requests to set a 3 G QoS profile for PDP context activation + * \details The negotiated QoS profile cannot be written by this request. + * If the qosType parameter is set to CI_PS_3G_QOSTYPE_NEG , CCI returns an error indication. + * The required and minimum quality of service profiles are used when the MT sends an Activate PDP Context Request for a primary or + * secondary PDP context or a Modify PDP Context Request to the network. + * This primitive is used to set 3 G ( R99 ) QoS profile parameters + * Use CI_PS_PRIM_SET_QOS_REQ to set the 2.500000 G ( R97 ) QoS profile parameters.*/ + CI_PS_PRIM_SET_3G_QOS_CNF , /**< \brief Confirms a request and sets a 3 G QoS profile for a PDP context + * \details This is only used for 3 G ( R99 ) QoS profile parameters. + * Use CI_PS_PRIM_SET_QOS_CNF for 2.500000 G ( R97 ) QoS profile parameters.*/ + CI_PS_PRIM_DEL_3G_QOS_REQ , /**< \brief Requests to delete the 3 G QoS profile for a PDP context + * \details The negotiated QoS profile cannot be deleted by this request. + * If the qosType parameter is set to CI_PS_3G_QOSTYPE_NEG , CCI returns an error indication. + * If a PDP context does not have a minimum or required QoS profile , + * the QoS is determined by the network on PDP context activation. + * This is only used for 3 G ( R99 ) QoS profile parameters. + * Use CI_PS_PRIM_DEL_QOS_REQ for 2.500000 G ( R97 ) QoS profile parameters.*/ + CI_PS_PRIM_DEL_3G_QOS_CNF , /**< \brief Confirms a request and deletes the 3 G QoS profile + * \details This is only used for 3 G ( R99 ) QoS profile parameters. + * Use CI_PS_PRIM_DEL_QOS_CNF for 2.500000 G ( R97 ) QoS profile parameters. */ + + CI_PS_PRIM_GET_3G_QOS_CAPS_REQ , /**< \brief Requests the 3 G QoS capabilities + * \details This is only used for the 3 G ( R99 ) QoS profile parameters. + * Use CI_PS_PRIM_GET_QOS_CAPS_REQ for 2.500000 G ( R97 ) QoS profile parameters.*/ + CI_PS_PRIM_GET_3G_QOS_CAPS_CNF , /**< \brief Confirms a request and gets the 3 G QoS capabilities + * \details This is only used for 3 G ( R99 ) QoS profile parameters. + * Use CI_PS_PRIM_GET_QOS_CAPS_CNF for 2.500000 G ( R97 ) QoS profile parameters. */ + + /* SCR #1438547: Secondary PDP Context primitives */ + CI_PS_PRIM_DEFINE_SEC_PDP_CTX_REQ = 60 , /**< \brief Requests to define a secondary PDP context \details */ + CI_PS_PRIM_DEFINE_SEC_PDP_CTX_CNF , /**< \brief Confirms a request to define a secondary PDP context \details */ + CI_PS_PRIM_DELETE_SEC_PDP_CTX_REQ , /**< \brief Requests to delete a secondary PDP context + * \details An error is returned if the secondary PDP context does not exist. */ + CI_PS_PRIM_DELETE_SEC_PDP_CTX_CNF , /**< \brief Confirms a request to delete a secondary PDP context \details */ + CI_PS_PRIM_GET_SEC_PDP_CTX_REQ , /**< \brief Requests a secondary PDP context definition + * \details An error is returned if the secondary PDP context does not exist. */ + CI_PS_PRIM_GET_SEC_PDP_CTX_CNF , /**< \brief Confirms a request and returns the secondary PDP context definition \details An error is returned if the secondary PDP context does not exist. */ + + /* SCR #1438547: traffic flow template ( TFT ) primitives */ + CI_PS_PRIM_DEFINE_TFT_FILTER_REQ , /**< \brief Requests to define a traffic flow template ( TFT ) packet filter + * \details Traffic flow templates are described in 3 GPP TS 23.060000 section 15.300000 . + * Each PDP context connected to a particular PDP address and APN may be associated with a traffic flow template ( TFT ) . ( TFTs enable + * filtering of downlink IP packets. ) + * A TFT contains one to eight packet filters. + * The use of traffic flow templates allows multiple PDP contexts + * ( each with a different quality of service ) to share the same PDP address. + * The TFT packet filters are used to route incoming IP packets to their appropriate PDP contexts. + * Only one PDP context may exist without an associated TFT , and this PDP context + * is considered the default + * PDP context. The network routes downlink packets + * to this PDP context if none of the TFT packet filters apply. + * A TFT , if one exists , is always associated with a PDP context during secondary PDP context activation. + * A TFT may be added to an activated PDP context ( either a primary or a secondary context ) + * using the MS-initiated PDP context modify procedure , which is initiated by a CI_PS_PRIM_MODIFY_PDP_CTX_REQ request. + * The packet filter contents field encoding is specified in 3 GPP TS 24.008000 Table 10.500000 .162 ( Section 10.500000 .6.12 ) . + * An error is returned if no more TFT packet filters are allowed. */ + CI_PS_PRIM_DEFINE_TFT_FILTER_CNF , /**< \brief Confirms a request and defines a TFT packet filter \details */ + CI_PS_PRIM_DELETE_TFT_REQ , /**< \brief Requests to delete the traffic flow template ( TFT ) associated with a PDP context \details All packet filters that comprise the indicated TFT are deleted. + * An error is returned when: \n + * No TFT exists for the indicated PDP context. \n + * The PDP context itself ( either primary or secondary ) is not defined. \n + * More than one PDP context is using a single PDP address , and deleting this TFT would violate the rule that only one PDP + * context using a particular PDP address may exist without a TFT associated with it. \n + * See 3 GPP TS 23.060000 section 15.300000 .1 ( Rules for Operations on TFTs ) . */ + CI_PS_PRIM_DELETE_TFT_CNF , /**< \brief Confirms a request and deletes the traffic flow template \details */ + CI_PS_PRIM_GET_TFT_REQ = 70 , /**< \brief Requests to get the traffic flow template ( TFT ) associated with a PDP context \details Requests a list of all packet filters that comprise the TFT for the specified PDP context. + * An error is returned if a TFT does not exist for the indicated PDP context , or if the PDP context ( either primary or secondary ) is not + * defined. */ + CI_PS_PRIM_GET_TFT_CNF , /**< \brief Confirms a request and gets the traffic flow template ( TFT ) associated with a PDP context \details */ + + /* SCR TBD: PDP context modify primitives */ + CI_PS_PRIM_MODIFY_PDP_CTX_REQ , /**< \brief Requests to modify one PDP context or all active PDP contexts \details Allows the quality of service ( QoS ) and / or the traffic flow template ( TFT ) to be modified for a PDP context that has already been + * activated. This request can be used for either primary or secondary PDP contexts. + * Before issuing this request , set up or modify the QoS and / or TFT , using the appropriate CI requests. */ + CI_PS_PRIM_MODIFY_PDP_CTX_CNF , /**< \brief Confirms a request and modifies one PDP context or all active PDP contexts \details */ + CI_PS_PRIM_GET_ACTIVE_CID_LIST_REQ , /**< \brief Requests to get a list of context identifiers for all active PDP contexts \details This request is similar to CI_PS_PRIM_GET_DEFINED_CID_LIST_REQ except that it only returns information for active PDP contexts. + * It is provided to support the same functionality as the " AT+CGCMOD=? " command. See 3 GPP TS 27.007000 section 10.100000 .11. */ + CI_PS_PRIM_GET_ACTIVE_CID_LIST_CNF , /**< \brief Confirms a request and returns a list of context identifiers for all active PDP contexts \details */ + CI_PS_PRIM_REPORT_COUNTER_REQ , /**< \brief Requests to configure the PDP Context Data Counter report + * \details Data counters are maintained by the protocol stack for all active PDP contexts. + * Data counter values are reported to the application subsystem using CI_PS_PRIM_COUNTER_IND. + * This request is rejected if the control plane has not been attached to packet domain services or there are no active PDP contexts. */ + CI_PS_PRIM_REPORT_COUNTER_CNF , /**< \brief Confirms a request and configures the PDP Context Data Counter report \details */ + CI_PS_PRIM_RESET_COUNTER_REQ , /**< \brief Requests to reset PDP context data counters + * \details Data counters are maintained by the protocol stack for all active PDP contexts. + * Depending on the parameter settings , this request resets the data counters to zero for one or all active PDP contexts. + * This request is rejected if: \n + * The Control Plane is not attached to Packet Domain services. \n + * There are no active PDP contexts. \n + * The doAll parameter is FALSE and the CID parameter is invalid or does not specify an active PDP context. */ + CI_PS_PRIM_RESET_COUNTER_CNF , /**< \brief Confirms a request and resets PDP context data counters \details */ + CI_PS_PRIM_COUNTER_IND = 80 , /**< \brief Indicates a PDP context data counter report \details CCI sends this indication on request or periodically , as configured by CI_PS_PRIM_REPORT_COUNTER_REQ. If a periodic report cycle + * is stopped , this indication is disabled. + * The totals indicate the number of bytes ( octets ) sent and received since the data counters were last reset. \n + * The totalULBytes counter is the total number of uplink data octets before compression ( if any ) . \n + * The totalDLBytes counter is the total number of downlink data octets after decompression ( if any ) . \n + * See also CI_PS_PRIM_RESET_COUNTER_REQ. */ + + CI_PS_PRIM_SEND_DATA_REQ , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + + CI_PS_PRIM_SEND_DATA_CNF , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + + /* Michal Bukai & Boris Tsatkin AT&T Smart Card support - Start*/ + /*** AT&T- Smart Card CI_PS_PRIM_ ACL SERVICE: LIST , SET , EDIT -BT6 */ + CI_PS_PRIM_SET_ACL_SERVICE_REQ , /**< \brief Requests to enable or disable APN control list ( ACL ) service + * \details PIN2 must be verified ( using CI_SIM_PRIM_OPERCHV_REQ ) before using this request */ + CI_PS_PRIM_SET_ACL_SERVICE_CNF , /**< \brief Confirms the request to enable or disable APN control list ( ACL ) service + * \details */ + CI_PS_PRIM_GET_ACL_SIZE_REQ , /**< \brief Requests the size of the ACL list + * \details */ + CI_PS_PRIM_GET_ACL_SIZE_CNF , /**< \brief Confirms the request and returns the size of the ACL list + * \details */ + CI_PS_PRIM_READ_ACL_ENTRY_REQ , /**< \brief Requests to read an entry from the ACL list + * \details */ + CI_PS_PRIM_READ_ACL_ENTRY_CNF , /**< \brief Confirms the request and returns the requested ACL entry + * \details */ + CI_PS_PRIM_EDIT_ACL_ENTRY_REQ , /**< \brief Requests to edit an entry in the ACL list + * \details PIN2 must be verified ( using CI_SIM_PRIM_OPERCHV_REQ ) before using this request. */ + CI_PS_PRIM_EDIT_ACL_ENTRY_CNF = 90 , /**< \brief Confirms the request to edit an entry in the ACL list */ + /* ADD NEW COMMON PRIMITIVES HERE , BEFORE ' CI_PS_PRIM_LAST_COMMON_PRIM ' */ + /* Michal Bukai & Boris Tsatkin AT&T Smart Card support - End*/ + + /* Michal Bukai C PDP authentication - Start*/ + CI_PS_PRIM_AUTHENTICATE_REQ , /**< \brief Requests to add authentication parameters to a defined PDP context. + * \details The command must be sent after the PDP context was defined and before the PDP context is activated. + * The authentication parameters will be sent to the GGSN in a protocol configuration information entry , when PDP context is activated. + * In case authentication parameters are already defined for this PDP context the new authentication parameters will replace the existing parameters. + * AuthenticationType = NONE , will delete authentication parameters defined for this PDP context. */ + CI_PS_PRIM_AUTHENTICATE_CNF , /**< \brief Confirms the authentication request. \details */ + /* Michal Bukai C PDP authentication - End*/ + /* Michal Bukai C Fast Dormancy - Start*/ + CI_PS_PRIM_FAST_DORMANT_REQ , /**< \brief Requests to release data radio bearers , in order to speed entry to DRX mode. + * \details The application should use this request for offline applications such as push mail , + * in cases that it knows that data transition is complete and there is no anticipated data transmission in the next minute. + * The PS will send " Signalling connection release indication " to the NW requesting to release data radio bearers. */ + CI_PS_PRIM_FAST_DORMANT_CNF , /**< \brief Confirms the fast dormancy request. + * \details The following result codes can be received: + * CIRC_PS_SUCCESS - Indicates " Signalling connection release indication " was sent to the NW + * CIRC_PS_FAILURE Indicates " Signalling connection release indication " was not sent to the NW due to one of the following reasons: + * Active RAT is not UMTS + * There no active PDP contexts + * There is an active CS connection + * RRC state is not CELL DCH or CELL FACH + * CIRC_PS SRVOPT_NOT_SUPPORTED -Indicates fast dormancy is not supported. */ + /* Michal Bukai C Fast Dormancy - End*/ + + CI_PS_PRIM_GET_CURRENT_JOB_REQ , /**< \brief Requests current ongoing request for PS service group. */ + CI_PS_PRIM_GET_CURRENT_JOB_CNF , /**< \brief Confirms the current job request. */ + + CI_PS_PRIM_SET_FAST_DORMANCY_CONFIG_REQ , /**< \brief Requests to set configuration of fast dormancy. */ + CI_PS_PRIM_SET_FAST_DORMANCY_CONFIG_CNF , /**< \brief Confirms the configuration of fast dormancy. */ + + CI_PS_PRIM_PDP_ACTIVATION_REJECT_CAUSE_IND , /**< \brief Indicates SM cause code for PDP activation reject. */ + + CI_PS_PRIM_SET_PS_PAGING_CONFIG_REQ = 100 , /**< \brief Requests to set activation / deactvation of DSDS PS+Paging. */ + CI_PS_PRIM_SET_PS_PAGING_CONFIG_CNF , /**< \brief Confirms the configuration of DSDS PS+Paging */ + + /*Michal Bukai - AutoAttach Configuration - Samsung - START*/ + CI_PS_PRIM_GET_POWERON_AUTO_ATTACH_STATUS_REQ , /**< \brief Requests to read the configuration status of auto attach to PS domain on power up \details */ + CI_PS_PRIM_GET_POWERON_AUTO_ATTACH_STATUS_CNF , /**< \brief Confirms the request and returns auto attach configuration status \details */ + /*Michal Bukai - AutoAttach Configuration - Samsung - END*/ + CI_PS_PRIM_READ_4G_PDP_CTX_DYN_PARA_REQ , /**< \brief Gets a PDP context definition. \details */ + CI_PS_PRIM_READ_4G_PDP_CTX_DYN_PARA_CNF , /**< \brief Gets a PDP context definition. \details */ + CI_PS_PRIM_READ_4G_PDP_CTXS_ACT_DYN_PARA_REQ , /**< \brief Gets all defined PDP contexts current activation state. \details */ + CI_PS_PRIM_READ_4G_PDP_CTXS_ACT_DYN_PARA_CNF , /**< \brief Reports the current activation state of all defined PDP contexts. \details */ + CI_PS_PRIM_ENABLE_4G_NW_REG_IND_REQ , /**< \brief Enables / disables EPS network registration status reports. \details */ + CI_PS_PRIM_ENABLE_4G_NW_REG_IND_CNF , /**< \brief Confirms request to enable / disable EPS network registration status reports. \details */ + CI_PS_PRIM_4G_NW_REG_IND = 110 , + CI_PS_PRIM_GET_4G_NW_REG_STATUS_REQ , /**< \brief Requests the EPS network registration status. \details */ + CI_PS_PRIM_GET_4G_NW_REG_STATUS_CNF , /**< \brief Reports the EPS network registration status. \details */ + CI_PS_PRIM_GET_4G_QOS_REQ , + CI_PS_PRIM_GET_4G_QOS_CNF , + CI_PS_PRIM_SET_4G_QOS_REQ , + CI_PS_PRIM_SET_4G_QOS_CNF , + CI_PS_PRIM_DEL_4G_QOS_REQ , + CI_PS_PRIM_DEL_4G_QOS_CNF , + CI_PS_PRIM_GET_4G_QOS_CAPS_REQ , + CI_PS_PRIM_GET_4G_QOS_CAPS_CNF = 120 , + + CI_PS_PRIM_GET_4G_MODE_REQ , + CI_PS_PRIM_GET_4G_MODE_CNF , + CI_PS_PRIM_SET_4G_MODE_REQ , + CI_PS_PRIM_SET_4G_MODE_CNF , + CI_PS_PRIM_GET_4G_MODE_CAPS_REQ , + CI_PS_PRIM_GET_4G_MODE_CAPS_CNF , + CI_PS_PRIM_GET_PDP_ADDR_REQ , + CI_PS_PRIM_GET_PDP_ADDR_CNF , + CI_PS_PRIM_GET_PDP_ADDR_LIST_REQ , + CI_PS_PRIM_GET_PDP_ADDR_LIST_CNF = 130 , + CI_PS_PRIM_READ_4G_SEC_PDP_CTX_DYN_PARA_REQ , /**< \brief Requests a Secondary PDP Context Read Dynamic Parameters . + * \details Returns an error if the Secondary PDP Context does not exist. */ + CI_PS_PRIM_READ_4G_SEC_PDP_CTX_DYN_PARA_CNF , /**< \brief Reports a Secondary PDP Context Dynamic Parameters . Indicates an error if the Secondary PDP Context does not exist. \details */ + CI_PS_PRIM_READ_4G_SEC_PDP_CTXS_ACT_DYN_PARA_REQ , + CI_PS_PRIM_READ_4G_SEC_PDP_CTXS_ACT_DYN_PARA_CNF , + CI_PS_PRIM_READ_4G_QOS_DYN_PARA_REQ , + CI_PS_PRIM_READ_4G_QOS_DYN_PARA_CNF , + CI_PS_PRIM_READ_4G_QOS_DYN_PARA_CAPS_REQ , + CI_PS_PRIM_READ_4G_QOS_DYN_PARA_CAPS_CNF , + CI_PS_PRIM_GET_4G_EVET_REP_REQ , + CI_PS_PRIM_GET_4G_EVET_REP_CNF = 140 , + CI_PS_PRIM_SET_4G_EVET_REP_REQ , + CI_PS_PRIM_SET_4G_EVET_REP_CNF , + CI_PS_PRIM_GET_4G_EVET_REP_CAPS_REQ , + CI_PS_PRIM_GET_4G_EVET_REP_CAPS_CNF , + + + CI_PS_PRIM_GET_4G_VOICE_CALL_MODE_REQ , + CI_PS_PRIM_GET_4G_VOICE_CALL_MODE_CNF , + CI_PS_PRIM_SET_4G_VOICE_CALL_MODE_REQ , + CI_PS_PRIM_SET_4G_VOICE_CALL_MODE_CNF , + CI_PS_PRIM_GET_4G_VOICE_CALL_MODE_CAPS_REQ , + CI_PS_PRIM_GET_4G_VOICE_CALL_MODE_CAPS_CNF = 150 , + + CI_PS_PRIM_READ_4G_TRAFFIC_FLOW_TEMP_DYN_PARA_REQ , // Traffic Flow Template Read Dynamic Parameters +CGTFTRDP + CI_PS_PRIM_READ_4G_TRAFFIC_FLOW_TEMP_DYN_PARA_CNF , // Traffic Flow Template Read Dynamic Parameters +CGTFTRDP + CI_PS_PRIM_READ_4G_TRAFFIC_FLOW_TEMP_DYN_PARA_CAPS_REQ , // Traffic Flow Template Read Dynamic Parameters +CGTFTRDP + CI_PS_PRIM_READ_4G_TRAFFIC_FLOW_TEMP_DYN_PARA_CAPS_CNF , // Traffic Flow Template Read Dynamic Parameters +CGTFTRDP + + CI_PS_PRIM_DATACOMP_REPORTING_REQ , /**< \brief Sets data compression reporting to on or off. Also used to read current setting of data + compression reporting. Data compression + reporting is used when AT+DR AT command is + executed. If enabled , than sending of + CI_PS_PRIM_DATACOMP_IND is enabled */ + CI_PS_PRIM_DATACOMP_REPORTING_CNF , /**< \brief Confirmation to the sets data compression + reporting request. Returns the current setting + of the data compression reporting. */ + CI_PS_PRIM_DATACOMP_IND , /**< \brief Indicates the status of the data compression. */ + + CI_PS_PRIM_SET_IMS_VOICE_CALL_AVAILABILITY_REQ , /**< \brief Set command informs the MT whether the UE is currently available for voice calls with the IMS ( see 3 GPP TS 24.229000 ) + * \details The information can be used by the MT to determine " IMS voice not available " as defined in 3 GPP TS 24.301000 , + * and for mobility management for IMS voice termination , see 3 GPP TS 24.008000 */ + CI_PS_PRIM_SET_IMS_VOICE_CALL_AVAILABILITY_CNF , /**< \brief Confirmation to the setting of whether the UE is currently available for voice calls with the IMS */ + CI_PS_PRIM_GET_IMS_VOICE_CALL_AVAILABILITY_REQ = 160 , /**< \brief Gets the stored setting of the IMS voice call availability */ + CI_PS_PRIM_GET_IMS_VOICE_CALL_AVAILABILITY_CNF , /**< \brief Confirmation to the request to get the stored setting of the IMS voice call availability */ + CI_PS_PRIM_SET_IMS_SMS_AVAILABILITY_REQ , /**< \brief Set command informs the MT whether the UE is currently available for SMS using IMS ( see 3 GPP TS 24.229000 ) + * \details The information can be used by the MT to determine the need to remain attached for non-EPS services , + * as defined in 3 GPP TS 24.301000 */ + CI_PS_PRIM_SET_IMS_SMS_AVAILABILITY_CNF , /**< \brief Confirmation to the setting of whether the UE is currently available for SMS with the IMS */ + CI_PS_PRIM_GET_IMS_SMS_AVAILABILITY_REQ , /**< \brief Gets the stored setting of the IMS SMS availability */ + CI_PS_PRIM_GET_IMS_SMS_AVAILABILITY_CNF , /**< \brief Confirmation to the request to get the stored setting of the IMS SMS availability */ + CI_PS_PRIM_SET_MM_IMS_VOICE_TERMINATION_REQ , /**< \brief Sets the Mobility Management for IMS Voice Termination to support terminating access domain selection by the network */ + CI_PS_PRIM_SET_MM_IMS_VOICE_TERMINATION_CNF , /**< \brief Confirmation to the request to set the MM for IMS Voice Termination */ + CI_PS_PRIM_GET_MM_IMS_VOICE_TERMINATION_REQ , /**< \brief Gets the setting of the Mobility Management for IMS Voice Termination */ + CI_PS_PRIM_GET_MM_IMS_VOICE_TERMINATION_CNF , /**< \brief Confirmation to the request to get the stored setting of the MM for IMS Voice Termination */ + + CI_PS_PRIM_DEFINE_DEFAULT_PDP_CTX_REQ = 170 , /** AT*CGDFLT , set the default PDP info */ + CI_PS_PRIM_DEFINE_DEFAULT_PDP_CTX_CNF , + CI_PS_PRIM_GET_DEFAULT_PDP_CTX_REQ , /** AT*CGDFLT? , get the default PDP info */ + CI_PS_PRIM_GET_DEFAULT_PDP_CTX_CNF , + + CI_PS_PRIM_SET_APN_REQ , /** AT+VZWAPNE= , used to set APN info */ + CI_PS_PRIM_SET_APN_CNF , + CI_PS_PRIM_GET_APN_REQ , /** AT+VZWAPNE? , used to get APN info */ + CI_PS_PRIM_GET_APN_CNF , + + CI_PS_PRIM_SET_IMS_REG_STATE_REQ , /** used to notify CP the IMS register state , as IMS on AP side now , when IMS register state changes , should notify CP */ + CI_PS_PRIM_SET_IMS_REG_STATE_CNF , + CI_PS_PRIM_UE_EVENT_TO_IMS_IND = 180 , /** used by CP to notify the IMS module some UE event , such as: UICC removed , APN changed , etc */ + + CI_PS_PRIM_SET_IMS_REG_INFO_IND_REQ , /** AT+CIREG= [ ] , set whether need to report IMS register state. As IMS on AP side now , this CI do not need to be processed in CP side by now*/ + CI_PS_PRIM_SET_IMS_REG_INFO_IND_CNF , + CI_PS_PRIM_IMS_REG_INFO_IND , /** +CIREGU: [ , ] . IMS module report the IMS state*/ + CI_PS_PRIM_GET_IMS_REG_INFO_REQ , /** AT+CIREG? , read command*/ + CI_PS_PRIM_GET_IMS_REG_INFO_CNF , + + CI_PS_PRIM_SET_DEFAULT_PDP_AUTHENTICATE_REQ , /** AT*CGDFAUTH= , [ , [ , ] ] */ + CI_PS_PRIM_SET_DEFAULT_PDP_AUTHENTICATE_CNF , + CI_PS_PRIM_GET_DEFAULT_PDP_AUTHENTICATE_REQ , + CI_PS_PRIM_GET_DEFAULT_PDP_AUTHENTICATE_CNF , /** AT*CGDFAUTH= */ + + CI_PS_PRIM_SET_VOICE_DOMAIN_PREFERENCE_REQ = 190 , /** AT+CVDP= [ ] / AT+CEVDP= [ ] , UE ' s Voice Domain Preference */ + CI_PS_PRIM_SET_VOICE_DOMAIN_PREFERENCE_CNF , + CI_PS_PRIM_GET_VOICE_DOMAIN_PREFERENCE_REQ , /** AT+CVDP? AT+CEVDP? UE ' s Voice Domain Preference UTRAN */ + CI_PS_PRIM_GET_VOICE_DOMAIN_PREFERENCE_CNF , + + CI_PS_PRIM_SET_EPS_USAGE_SETTING_REQ , /** AT+CEUS= [ ] , UE ' s usage setting for EPS*/ + CI_PS_PRIM_SET_EPS_USAGE_SETTING_CNF , + CI_PS_PRIM_GET_EPS_USAGE_SETTING_REQ , /** AT+CEUS? , UE ' s usage setting for EPS*/ + CI_PS_PRIM_GET_EPS_USAGE_SETTING_CNF , + + CI_PS_PRIM_SET_AP_UNIVERSAL_SETTING_REQ , + CI_PS_PRIM_SET_AP_UNIVERSAL_SETTING_CNF , + + CI_PS_PRIM_SET_PS_SERVICE_DOMAIN_REQ = 200 , + CI_PS_PRIM_SET_PS_SERVICE_DOMAIN_CNF , + CI_PS_PRIM_GET_PS_SERVICE_DOMAIN_REQ , + CI_PS_PRIM_GET_PS_SERVICE_DOMAIN_CNF , + + CI_PS_PRIM_SET_IMS_SERVICE_STATUS_REQ , + CI_PS_PRIM_SET_IMS_SERVICE_STATUS_CNF , + + CI_PS_PRIM_SUSPEND_RESUME_IND , + + CI_PS_PRIM_CHAP_AUTHENTICATE_REQ , /** AT*CHAPAUTH=cid [ , [ , ] ] , for PPP CHAP authentication */ + CI_PS_PRIM_CHAP_AUTHENTICATE_CNF , + + CI_PS_PRIM_ACTIVATE_RECONF_PDP_CTX_REQ , /** used to activate reconfigured PDP ( an already activated PDP is re-defined ) */ + CI_PS_PRIM_ACTIVATE_RECONF_PDP_CTX_CNF , + + + /* END OF COMMON PRIMITIVES LIST */ + CI_PS_PRIM_LAST_COMMON_PRIM + + /* the customer specific extension primitives are added starting from + * CI_PS_PRIM_firstCustPrim = CI_PS_PRIM_LAST_COMMON_PRIM as the first identifier. + * The actual primitive names and IDs are defined in the associated + * ' ci_ps_cust_xxx.h ' file. + */ + + /* DO NOT ADD ANY MORE PRIMITIVES HERE */ + + } _CiPsPrim; + +//ICAT EXPORTED ENUM + typedef enum CIRC_PS + { + CIRC_PS_SUCCESS = 0 , /**< Request completed successfully */ + CIRC_PS_FAILURE , /**< Request failed */ + + /* failure to perform an Attach */ + CIRC_PS_ILLEGAL_MS = 0x03 , /**< Illegal MS */ + CIRC_PS_ILLEGAL_ME = 0x06 , /**< Illegal ME */ + CIRC_PS_GPRS_SERVICES_NOT_ALLOWED = 0x07 , /**< GPRS service not allowed */ + CIRC_PS_OPER_DETERMINED_BARRING = 0x08 , /**< Operator Determined Barring */ + CIRC_PS_DETACH = 10 , // 0x0A / **< implicitly detached * / + CIRC_PS_PLMN_NOT_ALLOWED = 0x0B , /**< PLMN not allowed */ + CIRC_PS_LA_NOT_ALLOWED = 0x0C , /**< Location area not allowed */ + CIRC_PS_ROAMING_NOT_ALLOWED = 0x0D , /**< Roaming not allowed in this location area */ + CIRC_PS_MSC_NOT_REACH = 16 , // 0x10 / **< MSC temporarily not reachable * / + CIRC_PS_NW_CONGESTION = 22 , // 0x16 / **< Congestion * / + CIRC_PS_RESOURCE_INSUFF = 26 , // 0x1A / **< Insufficient resources * / + CIRC_PS_APN = 27 , // 0x1B / **< Missing or unknown APN * / + CIRC_PS_UNKNOWN_PDP_ADD_TYPE = 28 , // 0x1C / **< unknown PDP address or PDP type * / + CIRC_PS_USER_AUTH_FAIL = 29 , // 0x1D / **< user authentication failed * / + CIRC_PS_ACT_REJECT_GGSN = 30 , // 0x1E / **< Activation rejected by GGSN * / + CIRC_PS_ACT_REJECT = 31 , // 0x1F / **< Activation rejected , unspecified * / + /* failure to Activate a context */ + CIRC_PS_SRVOPT_NOT_SUPPORTED = 32 , // 0x20 / **< Service option not supported * / + CIRC_PS_SRVOPT_NOT_SUBSCRIBED = 33 , // 0x21 / **< Requested service option not subscribed * / + CIRC_PS_SRVOPT_TEMP_OUT_OF_ORDER = 34 , // 0x22 / **< Service option temporarily out of order * / + CIRC_PS_NSAPI_ALREADY_USED = 35 , // 0x23 / **< NSAPI already used * / + CIRC_PS_QOS = 37 , // 0x25 / **< QoS not accepted * / + CIRC_PS_NETWORK_FAILURE = 38 , // 0x26 / **< Network failure * / + CIRC_PS_REACTIVATION_REQ = 39 , // 0x27 / **< Reactivation required * / + // Z.S. MT PDP support + /* TFT errors for MT PDP start*/ + /* From spec ( 24.301000 / 9.900000 .4.4 ) */ + CIRC_PS_ESM_SEMANTIC_ERROR_IN_THE_TFT_OPERATION = 41 , // 0x29 / * SM_CAUSE_SEMANTIC_ERROR_IN_TFT_OPERATION * / + CIRC_PS_ESM_SYNTACTICAL_ERROR_IN_THE_TFT_OPERATION = 42 , // 0x2A / * SM_CAUSE_SYNTACTICAL_ERROR_IN_TFT_OPERATION * / + CIRC_PS_ESM_INVALID_EPS_BEARER_IDENTITY = 43 , // 0x2B / * SM_CAUSE_UNKNOWN_PDP_CONTEXT * / + CIRC_PS_ESM_SEMANTIC_ERRORS_IN_PACKET_FILTER = 44 , // 0x2C / * SM_CAUSE_SEMANTIC_ERRORS_IN_PACKET_FILTER * / + CIRC_PS_ESM_SYNTACTICAL_ERRORS_IN_PACKET_FILTER = 45 , // 0x2D / * SM_CAUSE_SYNTACTICAL_ERRORS_IN_PACKET_FILTER * / + CIRC_PS_ESM_EPS_BEARER_CONTEXT_WITHOUT_TFT_ALREADY_ACTIVATED = 46 , // 0x2E / * SM_CAUSE_PDP_CONTEXT_WITHOUT_TFT_ALREADY_ACTIVATED * / + CIRC_PS_ESM_LAST_PDN_DISCONNECTION_NOT_ALLOWED = 49 , // 0x31 + CIRC_PS_ESM_PDN_TYPE_IPV4_ONLY_ALLOWED = 50 , // 0x32 + CIRC_PS_ESM_PDN_TYPE_IPV6_ONLY_ALLOWED = 51 , // 0x33 + CIRC_PS_ESM_PDN_TYPE_SINGLE_IP_ALLOWED = 52 , // 0x34 + CIRC_PS_PROTOCOL_ERROR_MIN = 95 , // 0x5F / **< protocol errors - low range , old value , useless now * / + CIRC_PS_PROTOCOL_ERROR_MAX = 111 , // 0x6F / **< protocol errors - high range , old value , useless now * / + /* TFT errors for MT PDP end*/ + CIRC_PS_UNSPECIFIED_ERROR = 148 , // 0x94 / **< Unspecified GPRS error * / + CIRC_PS_PDP_AUTHEN_FAILURE =149 , // 0x95 / **< PDP authentication failure * / + + /* other GPRS errors */ + CIRC_PS_INVALID_MS_CLASS = 150 , // 0x96 / **< Invalid mobile class * / + + /* Additional return codes , not specified in TS 27.007000 - start from 200 */ + CIRC_PS_INFO_UNAVAILABLE = 200 , // 0xC8 / **< Requested information is unavailable * / + + CIRC_PS_ALREADY_PROCESSING = 201 , // 0xC9 / **< The requested command is already being processed , I.e. , this REQ is redundant * / + CIRC_PS_BUSY_WITH_OTHER_JOB = 202 , // 0xCA / **< The CP is busy processing another command so this one can ' t be serviced , and CP will not add the REQ into its queue * / + + CIRC_PS_INVALID_PARAMETER = 203 , // 0xCB / **< Generic error - the requested service primitive has invalid parameters * / + CIRC_PS_INVALID_REQ = 204 , // 0xCC / **< Generic error - the requested service primitive can not be handled at current state * / + CIRC_PS_SIM_NOT_READY = 205 , // 0xCD / **< Generic error - the requested service primitive fails because SIM is not ready * / + CIRC_PS_ACCESS_DENIED = 206 , // 0xCE / **< Generic error - the requested service primitive fails because access is denied * / + CIRC_PS_INVALID_CID = 207 , // 0xCF / **< Generic error - the requested Cid is invalid * / + CIRC_PS_TFT_PACKET_ERROR_DEFAULT_PDP = 208 , // 0xD0 / **< Generic error - the TFT is invalid for default MT PDP * / + CIRC_PS_TFT_PACKET_ERROR_NON_DEFAULT_PDP = 209 , // 0xD1 / **< Generic error - the TFT is invalid for NON default MT PDP * / + CIRC_PS_PENDING_SUCCESS = 210 , // 0xD2 / ** to is going to be presented */ + } CiPsPdpCtxCap; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPdpCtxCaps_struct + { + UINT8 size ; /**< Number of capability profiles ; currently only one profile is supported */ + CiPsPdpCtxCap caps [ 1 ] ; /**< PDP context capabilities \sa CiPsPdpCtxCap_struct*/ + } CiPsPdpCtxCaps; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPdpCtxActState_struct + { + UINT8 cid ; /**< PDP context identification , [ 0 - CI_PS_MAX_MO_AND_MT_PDP_CTX_NUM-1 ] */ + CiBoolean activated ; /**< TRUE: activated ; FALSE: deactivated \sa CCI API Ref Manual */ + } CiPsPdpCtxActState; + +typedef CiPsPdpCtxActState *CiPsPdpCtxActStateListPtr ; +//ICAT EXPORTED ENUM + typedef enum CIPSL2P_TAG + { + CI_PS_L2P_NONE=0 , /**< Not PPP */ + CI_PS_L2P_PPP , /**< PPP */ + + CI_PS_NUM_L2PS + } _CiPsL2P; + +typedef UINT8 CiPsL2P ; +//ICAT EXPORTED ENUM + typedef enum CIPSGSMGPRSCLASS_TAG + { + CI_PS_GSMGPRS_CLASS_A = 0 , /**< Class A */ + CI_PS_GSMGPRS_CLASS_B , /**< Class B */ + CI_PS_GSMGPRS_CLASS_CS , /**< Class C , GPRS only */ + CI_PS_GSMGPRS_CLASS_CC , /**< Class C , circuit switch only */ + + CI_PS_GSMGPRS_NUM_CLASSES + } _CiPsGsmGprsClass; + +typedef UINT8 CiPsGsmGprsClass ; +//ICAT EXPORTED ENUM + /** \brief Network registration configuration flag values */ + /** \remarks Common Data Section */ + typedef enum CIPSNWREGINDFLAG_TAG + { + CI_PS_NW_REG_IND_DISABLE = 0 , /**< Disable network registration status reports , n = 0 */ + CI_PS_NW_REG_IND_ENABLE_STA_ONLY , /**< Enable network registration status reports , n = 1 */ + CI_PS_NW_REG_IND_ENABLE_DETAIL , /**< Enable detailed network registration status reports , n= 2 */ + CI_PS_NW_REG_IND_ENABLE_MORE_DETAIL /**< Enable more detailed network registration status reports , n = 3 */ + } _CiPsNwRegIndFlag; + +typedef UINT8 CiPsNwRegIndFlag ; +typedef UINT8 CiPs4GNwRegIndFlag ; +//ICAT EXPORTED ENUM + typedef enum CIPSNWREGSTATUS_TAG + { + CI_PS_NW_REG_STA_NOT_REGED = 0 , /**< Not registered and not searching */ + CI_PS_NW_REG_STA_REG_HPLMN , /**< Registered on home PLMN */ + CI_PS_NW_REG_STA_TRYING , /**< Not registered , but cellular subsystem is searching for a PLMN to register to */ + CI_PS_NW_REG_STA_REG_DENIED , /**< Registration denied */ + CI_PS_NW_REG_STA_UNKNOWN , /**< Unknown */ + CI_PS_NW_REG_STA_REG_ROAMING , /**< Registered on visited PLMN */ + CI_PS_NW_REG_STA_SMS_ONLY_HOME , /**< registered for " SMS only " , home network ( applicable only when indicates E-UTRAN ) */ + CI_PS_NW_REG_STA_SMS_ONLY_ROAMING , /**< registered for " SMS only " , roaming ( applicable only when indicates E-UTRAN ) */ + CI_PS_NW_REG_STA_EMERGENCY_ONLY_NOT_USED , /**< attached for emergency bearer services only ( see NOTE 2 ) ( not applicable ) */ + CI_PS_NW_REG_STA_CSFB_NOT_PREFERRED_HOME , /** indicates E-UTRAN ) */ + CI_PS_NW_REG_STA_CSFB_NOT_PREFERRED_ROAMING , /** indicates E-UTRAN ) */ + CI_PS_NW_REG_STA_REG_EMERGENCY , /**< attached for emergency bearer services only*/ + // #if defined ( SS_IPC_SUPPORT ) + CI_PS_NW_REG_STA_REG_DENIED_IN_ROAMING , /**< registeration denied in roaming , only used for SSG project by now*/ + CI_PS_NW_REG_STA_SYNC_DONE_IN_LTE_ROAMING , /**< sync done in LTE roaming network , only used for SSG project by now*/ + // #endif + CI_PS_NUM_REGSTATUS /**< Number of status values defined */ + } _CiPsNwRegStatus; + +typedef UINT8 CiPsNwRegStatus ; +//ICAT EXPORTED ENUM + typedef enum CIPS_ACT_TECH_MODE + { + CI_PS_ACT_GSM = 0 , /**< GSM */ + CI_PS_ACT_GSM_COMPACT , /**< Not supported */ + CI_PS_ACT_UTRAN , /**< UTRAN */ + + CI_PS_ACT_GSM_EGPRS , /**< GSM w / EGPRS */ + CI_PS_ACT_UTRAN_HSDPA , /**< UTRAN w / HSDPA */ + CI_PS_ACT_UTRAN_HSUPA , /**< UTRAN w / HSUPA */ + CI_PS_ACT_UTRAN_HSPA , /**< UTRAN w / HSDPA and HSUPA */ + CI_PS_ACT_EUTRAN , /**< E-UTRAN */ + + CI_PS_ACT_UTRAN_HSPA_PLUS , /**< UTRAN w / HSPA+ */ + CI_PS_ACT_EUTRAN_PLUS , /**< E-UTRAN CA*/ + + CI_PS_NUM_ACT + } _CiPsAccTechMode; + +typedef UINT8 CiPsAccTechMode ; +//ICAT EXPORTED ENUM + typedef enum CIPS_CAUSE_TYPE { + CI_PS_CAUSE_TYPE_PS = 0 , /**< Indicates that contains a GMM / EMM cause value , see 3 GPP TS 24.008000 [ 8 ] Annex G.*/ + CI_PS_CAUSE_TYPE_MANUFACTURER , /**< Indicates that contains a manufacturer specific cause */ + CI_PS_CAUSE_NONE , + CI_PS_NUM_CAUSE_TYPE + } _CiPsCauseType; + +typedef UINT8 CiPsCauseType ; +//ICAT EXPORTED ENUM + typedef enum CIPS_NETOP_DIGIT_MNC { + CIPS_NETOP_TWO_DIGIT_MNC = 2 , /*2 digit */ + CIPS_NETOP_THREE_DIGIT_MNC , /*3 digit */ + /* This one must always be last in the list! */ + CIPS_NUM_NETOP_DIGIT_MNC + } _CiPsNetOpDigitMnc; + +typedef UINT8 CiPsNetOpDigitMnc ; +//ICAT EXPORTED STRUCT + typedef struct CiPsNetworkId_struct { + UINT16 CountryCode ; /**< 3 -digit country code */ + UINT16 NetworkCode ; /**< 3 -digit network code */ + + CiPsNetOpDigitMnc MncDigit ; /**< MncDigit \sa CiPsNetOpDigitMnc */ + } CiPsNetworkId; + +//ICAT EXPORTED STRUCT + typedef struct CiPsNwRegInfo_struct + { + CiPsNwRegStatus status ; /**< Network registration status \sa CiPsNwRegStatus */ + + CiBoolean lacPresent ; /**< Indicates if LAC and cell ID are present \sa CCI API Ref Manual */ + UINT16 lac ; /**< Location area code */ + UINT32 cellId ; /**< Cell ID */ + CiPsAccTechMode act ; /**< Network access technology ( GSM , UTRAN , LTE etc. ) \sa CiPsAccTechMode */ + UINT8 rac ; /** */ + + CiBoolean causePresent ; /**< Indicates if causeType and rejectCause are present> **/ + CiPsCauseType causeType ; /**: integer type ; indicates the type of **/ + UINT32 rejectCause ; /**: integer type ; contains the cause of the failed registration **/ + /* add by perse 1032018 add +CREG / +CGREG / +CEREG indication content with rplmn CQ00117472 , begin */ + // #if defined ( CRANE_Z1 ) + CiPsNetworkId rplmnInfo ; /**reprot rplmn information*/ + // #endif + /* add by perse 1032018 add +CREG / +CGREG / +CEREG indication content with rplmn CQ00117472 , end */ + } CiPsNwRegInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiPs4GNwRegInfo_struct + { + CiPsNwRegStatus status ; /**< Network registration status. \sa CiPsNwRegStatus */ + + CiBoolean tacPresent ; /**< Indicates if LAC and Cell ID are present. \sa CCI API Ref Manual */ + UINT16 tac ; /**< String type ; two byte tracking area code in hexadecimal format ( e.g. " 0 C3 " equals 195 in decimal ) */ + UINT32 cellId ; /**< Cell ID */ + CiPsAccTechMode act ; /**< Network access technology ( GSM , UTRAN , LTE etc. ) \sa CiPsAccTechMode */ + + CiBoolean causePresent ; /**< Indicates if causeType and rejectCause are present. >**/ + CiPsCauseType causeType ; /**: integer type ; indicates the type of **/ + UINT32 rejectCause ; /**: integer type ; contains the cause of the failed registration.**/ + /* add by xwzhou for CQ67291 on 8052014 , begin */ + CiBoolean volteAvailable ; + CiBoolean imsEmergencyAvailable ; + /* add by xwzhou for CQ67291 on 8052014 , end */ + /* add by perse 1032018 add +CREG / +CGREG / +CEREG indication content with rplmn CQ00117472 , begin */ + // #if defined ( CRANE_Z1 ) + CiPsNetworkId rplmnInfo ; /**reprot rplmn information*/ + // #endif + /* add by perse 1032018 add +CREG / +CGREG / +CEREG indication content with rplmn CQ00117472 , end */ + } CiPs4GNwRegInfo; + +//ICAT EXPORTED ENUM + typedef enum CIPSQOSRELIABILITYCLASS + { + CI_PS_QOS_RELIABILITY_CLASS_SUBSCRIBED = 0 , /**< Subscribed reliability class */ + CI_PS_QOS_RELIABILITY_CLASS_1 , /**< Acknowledged GTP , LLC , and RLC ; protected data */ + CI_PS_QOS_RELIABILITY_CLASS_2 , /**< Unacknowledged GTP ; acknowledged LLC and RLC , Protected data */ + CI_PS_QOS_RELIABILITY_CLASS_3 , /**< Unacknowledged GTP and LLC ; acknowledged RLC , Protected data */ + CI_PS_QOS_RELIABILITY_CLASS_4 , /**< Unacknowledged GTP , LLC , and RLC , protected data */ + CI_PS_QOS_RELIABILITY_CLASS_5 , /**< Unacknowledged GTP , LLC , and RLC , unprotected data */ + + CI_PS_QOS_NUM_RELIABILITY_CLASSES + } _CiPsQosReliabilityClass; + +typedef UINT8 CiPsQosReliabilityClass ; +//ICAT EXPORTED STRUCT + typedef struct CiPsQosProfile_struct + { + UINT8 precedence ; /**< Precedence class */ + UINT8 delay ; /**< Delay class */ + UINT8 reliability ; /**< Reliability class */ + UINT8 peak ; /**< Peak throughput */ + UINT8 mean ; /**< Mean throughput */ + } CiPsQosProfile; + +//ICAT EXPORTED STRUCT + typedef struct CiPsSecPdpCtx_struct + { + UINT8 cid ; /**< PDP context identifier */ + UINT8 p_cid ; /**< Primary PDP context identifier */ + UINT8 bearer_id ; /**< PDP Context Identifier , [ 0 - CI_PS_MAX_MO_AND_MT_PDP_CTX_NUM-1 ] */ + CiBoolean dcompPresent ; /**< TRUE if present \sa CCI API Ref Manual */ + CiBoolean hcompPresent ; /**< TRUE if present \sa CCI API Ref Manual */ + CiPsDcomp dcomp ; /**< PDP data compression , only applicable to SNDCP , ignore it for UMTS \sa CiPsDcomp */ + CiPsHcomp hcomp ; /**< PDP header compression \sa CiPsHcomp */ + CiBoolean imCnSigFlagPresent ; + CiPsImCnSignallingFlagIndType imCnSigFlag ; + } CiPsSecPdpCtx; + +//ICAT EXPORTED STRUCT + typedef struct CiPsSecPdpCtxInfo_struct + { + CiBoolean actState ; /**< Activation state \sa CCI API Ref Manual */ + CiPsSecPdpCtx secPdpCtx ; /**< Secondary PDP context information \sa CiPsSecPdpCtx_struct */ + } CiPsSecPdpCtxInfo; + +//ICAT EXPORTED ENUM + typedef enum CIPS3GQOSTYPE_TAG + { + CI_PS_3G_QOSTYPE_MIN = 0 , /**< Minimum QoS */ + CI_PS_3G_QOSTYPE_REQ , /**< Requested QoS */ + CI_PS_3G_QOSTYPE_NEG , /**< Negotiated QoS */ + + CI_PS_3G_QOSTYPE_NUMTYPES + } _CiPs3GQosType; + +typedef UINT8 CiPs3GQosType ; +//ICAT EXPORTED ENUM + typedef enum CIPS3GTRAFFICCLASS_TAG + { + CI_PS_3G_TRAFFIC_CLASS_CONVERSATIONAL = 0 , /**< Conversational */ + CI_PS_3G_TRAFFIC_CLASS_STREAMING , /**< Streaming */ + CI_PS_3G_TRAFFIC_CLASS_INTERACTIVE , /**< Interactive */ + CI_PS_3G_TRAFFIC_CLASS_BACKGROUND , /**< Background */ + CI_PS_3G_TRAFFIC_CLASS_SUBSCRIBED , /**< Subscribed value */ + + CI_PS_3G_TRAFFIC_CLASS_NUMCLASSES + } _CiPs3GTrafficClass; + +typedef UINT8 CiPs3GTrafficClass ; +//ICAT EXPORTED ENUM + typedef enum CIPS3GDLVORDER_TAG + { + CI_PS_3G_DLV_ORDER_NO = 0 , /**< Without delivery order ( no ) */ + CI_PS_3G_DLV_ORDER_YES , /**< With delivery order ( yes ) */ + CI_PS_3G_DLV_ORDER_SUBSCRIBED , /**< Subscribed value */ + + CI_PS_3G_NUM_DLV_ORDER + } _CiPs3GDlvOrder; + +typedef UINT8 CiPs3GDlvOrder ; +//ICAT EXPORTED ENUM + typedef enum CIPS3GDLVERRORSDU_TAG + { + CI_PS_3G_DLV_ERROR_SDU_NO = 0 , /**< Erroneous SDUs are not delivered ( no ) */ + CI_PS_3G_DLV_ERROR_SDU_YES , /**< Erroneous SDUs are delivered ( yes ) */ + CI_PS_3G_DLV_ERROR_SDU_NODETECT , /**< No detect ( ' - ' ) */ + CI_PS_3G_DLV_ERROR_SDU_SUBSCRIBED , /**< Subscribed value */ + + CI_PS_3G_NUM_DLV_ERROR_SDU + } _CiPs3GDlvErrorSdu; + +typedef UINT8 CiPs3GDlvErrorSdu ; +//ICAT EXPORTED ENUM + typedef enum CIPS3GRESIDUALBER_TAG + { + CI_PS_3G_RESIDUAL_BER_SUBSCRIBED = 0 , /**< Subscribed value */ + CI_PS_3G_RESIDUAL_BER_5EM2 , /**< 5 * 10 ^-2 */ + CI_PS_3G_RESIDUAL_BER_1EM2 , /**< 1 * 10 ^-2 */ + CI_PS_3G_RESIDUAL_BER_5EM3 , /**< 5 * 10 ^-3 */ + CI_PS_3G_RESIDUAL_BER_4EM3 , /**< 4 * 10 ^-3 */ + CI_PS_3G_RESIDUAL_BER_1EM3 , /**< 1 * 10 ^-3 */ + CI_PS_3G_RESIDUAL_BER_1EM4 , /**< 1 * 10 ^-4 */ + CI_PS_3G_RESIDUAL_BER_1EM5 , /**< 1 * 10 ^-5 */ + CI_PS_3G_RESIDUAL_BER_1EM6 , /**< 1 * 10 ^-6 */ + CI_PS_3G_RESIDUAL_BER_6EM8 , /**< 6 * 10 ^-8 */ + + CI_PS_3G_NUM_RESIDUAL_BER + } _CiPs3GResidualBer; + +typedef UINT8 CiPs3GResidualBer ; +//ICAT EXPORTED ENUM + typedef enum CIPS3GSDUERRORRATIO_TAG + { + CI_PS_3G_SDU_ERROR_RATIO_SUBSCRIBED = 0 , /**< Subscribed value */ + CI_PS_3G_SDU_ERROR_RATIO_1EM2 , /**< 1 * 10 ^-2 */ + CI_PS_3G_SDU_ERROR_RATIO_7EM3 , /**< 7 * 10 ^-3 */ + CI_PS_3G_SDU_ERROR_RATIO_1EM3 , /**< 1 * 10 ^-3 */ + CI_PS_3G_SDU_ERROR_RATIO_1EM4 , /**< 1 * 10 ^-4 */ + CI_PS_3G_SDU_ERROR_RATIO_1EM5 , /**< 1 * 10 ^-5 */ + CI_PS_3G_SDU_ERROR_RATIO_1EM6 , /**< 1 * 10 ^-6 */ + CI_PS_3G_SDU_ERROR_RATIO_1EM1 , /**< 1 * 10 ^-1 */ + + CI_PS_3G_NUM_SDU_ERROR_RATIOS + } _CiPs3GSduErrorRatio; + +typedef UINT8 CiPs3GSduErrorRatio ; +//ICAT EXPORTED ENUM + typedef enum CIPS3GTRAFFICPRIORITY_TAG + { + CI_PS_3G_SDU_TRAFFIC_PRIORITY_SUBSCRIBED = 0 , /**< Subscribed value */ + CI_PS_3G_SDU_TRAFFIC_PRIORITY_LEVEL_1 , /**< Priority Level 1 */ + CI_PS_3G_SDU_TRAFFIC_PRIORITY_LEVEL_2 , /**< Priority Level 2 */ + CI_PS_3G_SDU_TRAFFIC_PRIORITY_LEVEL_3 , /**< Priority Level 3 */ + + CI_PS_3G_NUM_TRAFFIC_PRIORITIES + } _CiPs3GTrafficPriority; + +typedef UINT8 CiPs3GTrafficPriority ; +typedef CiPsQosProfile CiPs25GQosProfile ; +//ICAT EXPORTED ENUM + typedef enum CIPSISEXTENSION_TAG + { + CI_PS_3G_MAX_BIT_RATE_FOR_DL = 0 , /**< Maximum bit rate for DL */ + CI_PS_3G_GUARNTEED_BIT_RATE_FOR_DL , /**< Maximum guaranteed bit rate for DL */ + CI_PS_3G_MAX_BIT_RATE_FOR_UL , /**< Maximum bit rate for UL */ + CI_PS_3G_GUARNTEED_BIT_RATE_FOR_UL , /**< Maximum guaranteed bit rate for UL */ + CI_PS_3G_NUM_EXTENTION_IND = 0x7FFFFFFF + } _CiPsIsExtensionType; + +typedef CiBitRange CiPsIsExtensionType ; +//ICAT EXPORTED ENUM + typedef enum CIPS_SOURCE_STATI_DESC_TAG + { + CI_PS_SOURCE_STAT_DESC_UNKNOWN = 0 , /**< Unknown */ + CI_PS_SOURCE_STAT_DESC_SPEECH , /**< Speech */ + CI_PS_SOURCE_STAT_DESC_NUM = 0x7F + } _CiPsSourceStatisticDescriptorType; + +typedef UINT8 CiPsSourceStatisticDescriptorType ; +//ICAT EXPORTED ENUM + typedef enum CIPS_SIGNALLING_IND_TAG + { + CI_PS_NOT_OPTIMIZED_FOR_SIGNALLING = 0 , /**< Not optimized for signaling traffic */ + CI_PS_OPTIMIZED_FOR_SIGNALLING , /**< Optimized for signaling traffic */ + CI_PS_SIGNALLING_IND_NUM = 0x7F + } _CiPsSignallingIndicationType; + +typedef UINT8 CiPsSignallingIndicationType ; +//ICAT EXPORTED STRUCT + typedef struct CiPs3GQosProfile_struct + { + CiPs3GTrafficClass trafficClass ; /**< Traffic class \sa CiPs3GTrafficClass */ + CiPs3GDlvOrder deliveryOrder ; /**< Delivery order \sa CiPs3GDlvOrder */ + CiPs3GDlvErrorSdu deliveryOfErrSdu ; /**< Delivery of erroneous SDUs \sa CiPs3GDlvErrorSdu */ + CiPs3GResidualBer resBER ; /**< Residual bit error rate \sa CiPs3GResidualBer */ + CiPs3GSduErrorRatio sduErrRatio ; /**< SDU error ratio \sa CiPs3GSduErrorRatio */ + CiPs3GTrafficPriority thPriority ; /**< Traffic handling priority ( interactive class only ) \sa CiPs3GTrafficPriority */ + + UINT8 transDelay ; /**< Transfer delay ( conversational / streaming classes only ) */ + UINT8 maxSduSize ; /**< Max SDU size */ + UINT16 maxULRate ; /**< Max bit rate , uplink */ + UINT16 maxDLRate ; /**< Max bit rate , downlink */ + UINT16 guaranteedULRate ; /**< Guaranteed bit rate , uplink */ + UINT16 guaranteedDLRate ; /**< Guaranteed bit rate , downlink */ + CiPsIsExtensionType IsExtension ; /**< Bit mask indicating if the parameters maxDLRate and guaranteedDLRate are encoded as + extension bytes */ + CiPsSourceStatisticDescriptorType SourceStatisticDescriptor ; /**< Specifies characteristics of the source of submitted SDUs */ + CiPsSignallingIndicationType SignallingIndication ; /**< Indicates the signaling nature of the submitted SDUs. */ + + } CiPs3GQosProfile; + +typedef CiPsPdpAddr CiPsPdpAddrMask ; +//ICAT EXPORTED ENUM + typedef enum CIPS_TFT_DIRECTION_IND_TAG + { + CI_PS_TFT_DIRECTION_PRE_R7 = 0 , + CI_PS_TFT_DIRECTION_UPLINK , + CI_PS_TFT_DIRECTION_DOWNLINK , + CI_PS_TFT_DIRECTION_BI_DIRECTIONAL , + CI_PS_NUM_TFT_DIR + } _CiPsTftDirectionIndicationType; + +typedef UINT8 CiPsTftDirectionIndicationType ; +//ICAT EXPORTED STRUCT + typedef struct CiPsTftFilter_struct + { + UINT8 cid ; /**< PDP Context Identifier , [ 0 - CI_PS_MAX_MO_AND_MT_PDP_CTX_NUM-1 ] */ + UINT8 pfId ; /**< Packet filter identifier */ + UINT8 epIndex ; /**< Evaluation precedence index */ + UINT8 pIdNextHdr ; /**< Protocol number ( ipv4 ) / next header ( ipv6 ) */ + CiBoolean pIdNextHdrPresent ; /**< TRUE: if present \sa CCI API Ref Manual */ // Michal + UINT8 tosTc ; /**< Type of service / traffic class */ + CiBoolean tosPresent ; /**< TRUE: if present \sa CCI API Ref Manual */ // Michal + UINT8 tosTcMask ; /**< Type of service / traffic class mask */ + CiNumericRange dstPortRange ; /**< Destination port range \sa CCI API Ref Manual */ + CiBoolean dstPortRangePresent ; /**< TRUE: if present \sa CCI API Ref Manual */ // Michal + CiNumericRange srcPortRange ; /**< Source port range \sa CCI API Ref Manual */ + CiBoolean srcPortRangePresent ; /**< TRUE: if present \sa CCI API Ref Manual */ // Michal + + UINT32 ipSecSPI ; /**< IPSec security parameter index */ + CiBoolean ipSecSPIPresent ; /**< TRUE: if present \sa CCI API Ref Manual */ // Michal + UINT32 flowLabel ; /**< Flow label */ + CiBoolean flowLabelPresent ; /**< TRUE: if present \sa CCI API Ref Manual */ // Michal + CiPsPdpIpAddr remoteAddrAndMask ; /**< remote address and subnet mask */ // the netmask infor store in this struct. + // CiPsPdpAddrMask srcAddrMask ; / **< Source address mask - subnet mask \sa CiPsPdpAddrMask * / + CiPsTftDirectionIndicationType direction ; /**< specifies the transmission direction in which the packet filter shall be applied */ + UINT8 nwpfId ; /**< NW Packet filter identifier */ + + CiPsPdpIpAddr localAddrAndMask ; /**< local address and subnet mask , seems useless */ + } CiPsTftFilter; + +//ICAT EXPORTED ENUM + typedef enum CIPSTFTOPCODE_TAG + { + CI_PS_TFT_OPCODE_SPARE = 0 , + CI_PS_TFT_OPCODE_CREATE_NEW , + CI_PS_TFT_OPCODE_DELETE_EXISTING , + CI_PS_TFT_OPCODE_ADD_PACKET_FILTERS , + CI_PS_TFT_OPCODE_REPLACE_PACKET_FILTERS , + CI_PS_TFT_OPCODE_DELETE_PACKET_FILTERS , + CI_PS_TFT_OPCODE_NO_TFT_OPERATION , + CI_PS_NUMBER_OF_TFT_OP_CODES + } _CiPsTftOpCode; + +typedef UINT8 CiPsTftOpCode ; +//ICAT EXPORTED STRUCT + typedef struct CiPsIndicatedPdpCtx_struct + { + UINT8 cid ; /**< PDP context identifier , [ 0 - CI_PS_MAX_MO_AND_MT_PDP_CTX_NUM-1 ] */ + CiPsPdpType type ; /**< PDP type \sa CiPsPdpType */ + CiPsPdpBearType pdpBearType ; /**Primary PDP , or secondary PDP */ + UINT8 p_cid ; /**only valid , when secondary PDP*/ + + // CiBoolean addrPresent ; / **< TRUE: if present \sa CCI API Ref Manual * / + // CiPsPdpAddr addr ; / **< PDP address string \sa CiPsPdpAddr_struct * / + CiPsPdpIpAddr ipv4Addr ; /**if not vaiable , addrType = CI_PS_PDP_INVALID_ADDR*/ + CiPsPdpIpAddr ipv6Addr ; /**if not vaiable , addrType = CI_PS_PDP_INVALID_ADDR*/ + } CiPsIndicatedPdpCtx; + +//ICAT EXPORTED STRUCT + typedef struct CiPsQosCap_struct + { + CiPsPdpType type ; /**< PDP type \sa CiPsPdpType */ + CiNumericRange precedenceCap ; /**< Precedence class [ 0 -4 ] \sa CCI API Ref Manual */ + CiNumericRange delayCap ; /**< Delay class [ 0 -3 ] \sa CCI API Ref Manual */ + CiNumericRange reliabilityCap ; /**< Reliability class [ 0 -5 ] \sa CCI API Ref Manual */ + CiNumericRange peakCap ; /**< Peak throughput [ 0 -9 ] \sa CCI API Ref Manual */ + CiNumericList meanCap ; /**< Mean throughput [ 0 -18 , 31 ] \sa CCI API Ref Manual */ + } CiPsQosCap; + +//ICAT EXPORTED STRUCT + typedef struct CiPsQosCaps_struct + { + UINT8 size ; /**< Number of defined PDP contexts */ + CiPsQosCap caps [ 1 ] ; /**< QoS capabilities , optional if return code is not CIRC_PS_SUCCESS \sa CiPsQosCap_struc */ + } CiPsQosCaps; + +typedef CiPsQosCap CiPs25GQosCap ; +//ICAT EXPORTED STRUCT + typedef struct CiPs3GQosCap_struct + { + CiPsPdpType type ; /**< PDP type \sa CiPsPdpType */ + CiNumericRange trafficClass ; /**< Traffic class [ 0 ..4 ] \sa CCI API Ref Manual */ + CiNumericRange deliveryOrder ; /**< Delivery order [ 0 ..2 ] \sa CCI API Ref Manual */ + CiNumericRange deliverErrSdu ; /**< Delivery of erroneous SDUs [ 0 ..3 ] \sa CCI API Ref Manual */ + CiNumericRange resBER ; /**< Residual BER [ 0 ..9 ] \sa CCI API Ref Manual */ + CiNumericRange errRatio ; /**< SDU error ratio [ 0 ..7 ] \sa CCI API Ref Manual */ + CiNumericRange thPriority ; /**< Traffic handling priority [ 0 ..3 ] \sa CCI API Ref Manual */ + + CiNumericRange transDelay ; /**< Transfer delay [ 0x00 ..0x3e ] \sa CCI API Ref Manual */ + CiNumericRange maxSduSize ; /**< Maximum SDU size [ 0x00 ..0x99 ] \sa CCI API Ref Manual */ + CiNumericRange maxULRate ; /**< Max bit rate , uplink [ 0x00 ..0xff ] \sa CCI API Ref Manual */ + CiNumericRange maxDLRate ; /**< Max bit rate , downlink [ 0x00 ..0xff ] \sa CCI API Ref Manual */ + CiNumericRange guaranteedULRate ; /**< Guaranteed bit rate , uplink [ 0x00 ..0xff ] \sa CCI API Ref Manual */ + CiNumericRange guaranteedDLRate ; /**< Guaranteed bit rate , downlink [ 0x00 ..0xff ] \sa CCI API Ref Manual */ + CiNumericRange SourceStatisticDescriptor ; /**< Specifies characteristics of the source of submitted SDUs [ 0x00 ..0xff ] \sa CCI API Ref Manual */ + } CiPs3GQosCap; + +//ICAT EXPORTED STRUCT + typedef struct CiPs3GQosCaps_struct + { + UINT8 size ; /**< Size */ + CiPs3GQosCap caps [ ( 8 + 7 ) ] ; /** 3 G QoS capability per defined PDP context \sa CiPs3GQosCap_struct */ + /*--3 / 5 / 2009 10 :26AM + * Note: need to check max size of array + * ------------*/ + } CiPs3GQosCaps; + +//ICAT EXPORTED STRUCT + typedef struct CiPs4GQosProfile_struct + { + UINT8 qci ; /**Qos Class Identifier */ + CiBoolean gbrMbrPresent ; /**indicate whether GBR & MBR presnt */ + UINT32 maxULRate ; /** 1818954 #9. + * --------------------------------------------------*/ + CiBoolean doAll ; /**< Indicates if all counters should be reset ; TRUE: reset all counters ; FALSE: reset the counter for a requested context ID \sa CCI API Ref Manual*/ + UINT8 cid ; /**< Context ID , required if doAll == FALSE */ + } CiPsPrimResetCounterReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimResetCounterCnf_struct + { + CiPsRc rc ; /**< Result code \sa CiPsRc */ + } CiPsPrimResetCounterCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimCounterInd_struct + { + UINT8 cid ; /**< PDP context ID , [ 0 - CI_PS_MAX_MO_AND_MT_PDP_CTX_NUM-1 ] */ + UINT32 totalULBytes ; /**< Total bytes sent on uplink ( uncompressed ) */ + UINT32 totalDLBytes ; /**< Total bytes received on downlink ( uncompressed ) */ + } CiPsPrimCounterInd; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSendDataReq_struct + { + UINT16 pcktsize ; /* Packet size range: 0 - 10000 , default 1472 */ + UINT16 pcktcount ; /* Number of packets to send: 1 - 20 , default 1 */ + UINT8 nsapi ; /* PDP context ID */ + UINT8 PAD1 ; + UINT8 PAD2 ; + UINT8 PAD3 ; + } CiPsPrimSendDataReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSendDataCnf_struct + { + CiPsRc rc ; + } CiPsPrimSendDataCnf; + +//ICAT EXPORTED ENUM + typedef enum CiAbgpRequestStatusTag + { + CI_ABGP_APN_OK , /**< OK */ + CI_ABGP_APN_NRAM_ERROR , /**< APN NRAM error */ + CI_ABGP_APN_RECORD_NOT_FOUND , /**< APN record not found */ + + CI_ABGP_ALLIGN =0xFFFF + + } _CiPsSimResult; + +typedef UINT16 CiPsSimResult ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetAclReq_struct { + CiBoolean simAclPresent ; + CiBoolean simAclEnable ; /**< TRUE: enable ACL service ; FALSE: disable ACL service \sa CCI API Ref Manual */ + CiBoolean psAclPresent ; + CiBoolean psAclEnable ; + } CiPsPrimSetAclReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetAclCnf_struct { + CiPsRc rc ; /**< Result code \sa CiPsRc */ + CiPsSimResult SimCause ; /**< SIM result code \sa CiPsSimResult */ + CiBoolean simAclEnable ; /**< Service status ; TRUE: enabled , FALSE: disabled \sa CCI API Ref Manual*/ + CiBoolean psAclEnable ; + } CiPsPrimSetAclCnf; + +typedef CiEmptyPrim CiPsPrimGetAclSizeReq ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimGetAclSizeCnf_struct { + CiPsRc rc ; /**< Result code \sa CiPsRc */ + CiPsSimResult SimCause ; /**< SIM result code \sa CiPsSimResult */ + UINT8 totalNumApns ; /**< Number of APNs currently held in SIM file EF_ACL */ + } CiPsPrimGetAclSizeCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimReadAclEntryReq_struct { + UINT8 Index ; /**< Index into ACL list */ + } CiPsPrimReadAclEntryReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimReadAclEntryReqCnf_struct { + CiPsRc rc ; /**< Result code \sa CiPsRc */ + CiPsSimResult SimCause ; /**< SIM result code \sa CiPsSimResult */ + CiLongAdrInfo apn ; /**< Requested APN in string format \sa CCI API Ref Manual*/ + } CiPsPrimReadAclEntryCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimEditAclEntryReq_struct { + CiEditCmdType EditCommand ; /**< Edit command ( add , delete , or replace ) \sa CCI API Ref Manual*/ + UINT8 position ; /**< Index into ACL list */ + /*To add the " Network provided APN " to the APN Control List , the length of the APN should be set to 0 */ + CiLongAdrInfo apn ; /**< APN in string format ; required for add or replace commands \sa CCI API Ref Manual*/ + } CiPsPrimEditAclEntryReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimEditAclEntryCnf_struct { + CiPsRc rc ; /**< Result code \sa CiPsRc */ + CiPsSimResult SimCause ; /**< SIM result code \sa CiPsSimResult */ + UINT8 position ; /**< Index in ACL list */ + } CiPsPrimEditAclEntryCnf; + +//ICAT EXPORTED ENUM + typedef enum CIPSAUTHENTICATIONTYPE_TAG + { + CI_PS_AUTHENTICATION_TYPE_NONE , /**< No authentication protocol */ + CI_PS_AUTHENTICATION_TYPE_PAP , /**< Password authentication protocol */ + CI_PS_AUTHENTICATION_TYPE_CHAP , /**< Challenge-Handshake authentication protocol */ + CI_PS_AUTHENTICATION_TYPE_PAP_CHAP , /**< PAP preferred , CHAP as secondary */ /*Lilei , CQ00115591 , 20190724 */ + CI_PS_AUTHENTICATION_TYPE_CHAP_PAP , /**< CHAP preferred , PAP as secondary */ /*Lilei , CQ00115591 , 20191021 */ + CI_PS_AUTHENTICATION_TYPE_PPP_CHAP , /**< Challenge-Handshake authentication protocol for PPP */ /*Lilei , CQ00111775 , 20180814 */ + + CI_PS_AUTHENTICATION_TYPE_NUM + + } _CiPsAuthenticationType; + +typedef UINT8 CiPsAuthenticationType ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimAuthenticateReq_struct + { + UINT8 cid ; /**< PDP context identifier */ + CiPsAuthenticationType AuthenticationType ; /**< Authentication type. \sa CiPsAuthenticationType */ + /* !!!!!!!!!!!!!!!!!!! + * When RIL completes the transition to contiguous memory , all CCI_xx_CONTIGUOUS + * & CCI_APP_NONCONTIGUOUS flags must be removed. + * ONLY the code BETWEEN the following 2 comment lines will REMAIN: + * # Start Contiguous Code Section # and # End Contiguous Code Section # + * All other code OUTSIDE these comments must be REMOVED - ( The backwards compatible code ) + */ + /* # Start Contiguous Code Section # */ + CiStringExt UserName ; /**< UserName octets. \sa CCI API Ref Manual */ + CiStringExt Password ; /**< Password octets. \sa CCI API Ref Manual */ + /* # End Contiguous Code Section # */ + + } CiPsPrimAuthenticateReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimAuthenticateCnf_struct + { + CiPsRc rc ; /**< Result code. \sa CiPsRc */ + } CiPsPrimAuthenticateCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetDefaultPdpAuthenticateReq_struct + { + UINT8 modeType ; // 0 - not save to NVM , 1 - save to NUM ; + CiPsAuthenticationType authenticationType ; /**< Authentication type. \sa CiPsAuthenticationType */ + CiBoolean authInfoPresent ; + CiStringExt userName ; /**< UserName octets. \sa CCI API Ref Manual */ + CiStringExt password ; /**< Password octets. \sa CCI API Ref Manual */ + } CiPsPrimSetDefaultPdpAuthenticateReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetDefaultPdpAuthenticateCnf_struct + { + CiPsRc rc ; /**< Result code. \sa CiPsRc */ + } CiPsPrimSetDefaultPdpAuthenticateCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimGetDefaultPdpAuthenticateReq_Tag + { + UINT8 modeType ; // 0 - current used , 1 - from NVM + } CiPsPrimGetDefaultPdpAuthenticateReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimGetDefaultPdpAuthenticateCnf_struct + { + CiPsRc rc ; /**< Result code. \sa CiPsRc */ + CiPsAuthenticationType authenticationType ; /**< Authentication type. \sa CiPsAuthenticationType */ + CiStringExt userName ; /**< UserName octets. \sa CCI API Ref Manual */ + CiStringExt password ; /**< Password octets. \sa CCI API Ref Manual */ + } CiPsPrimGetDefaultPdpAuthenticateCnf; + +typedef CiEmptyPrim CiPsPrimFastDormantReq ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimFastDormantCnf_struct + { + CiPsRc rc ; /**< Result code. \sa CiPsRc */ + } CiPsPrimFastDormantCnf; + +typedef CiEmptyPrim CiPsPrimGetCurrentJobReq ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimGetCurrentJobCnf_struct + { + CiPsRc rc ; /**< Result code. \sa CiPsRc */ + CiPrimitiveID primId ; /**< Primitive ID. \sa CiPrimitiveID */ + } CiPsPrimGetCurrentJobCnf; + +//ICAT EXPORTED ENUM + typedef enum CIPS_FDY_OPTION { + CIPS_FDY_DISABLE = 0 , /**< Disable PS power consuming control */ + CIPS_FDY_ENABLE , /**< Enable PS power consuming control */ + + /* This one must always be last in the list! */ + CIPS_NUM_FDY_OPTIONS /**< Number of options defined */ + } _CiPsFDYOpt; + +typedef UINT8 CiPsFDYOpt ; +//ICAT EXPORTED STRUCT + /** */ + typedef struct CiPsPrimSetFastDormancyConfigReq_struct + { + /* add by xwzhou for CQ55965 on 3032014 , begin */ + // CiPsFDYOpt type ; / **< Type. \sa CiPsFDYOpt * / + // UINT16 interval ; / **< Trigger Interval ( seconds ) , the default value is 3 * / + INT16 mode ; /**< 0 : disable fast dormancy timer ; 1 : enable fast dormancy timer*/ + UINT32 lcdOnTimerMsLength ; /**< ( unit:ms ) , if timer length=0 , disable FD*/ + UINT32 lcdOffTimerMsLength ; /**< ( unit:ms ) , if timer length=0 , disable FD*/ + UINT32 rel8LcdOnTimerMsLength ; /**< ( unit:ms ) , if timer length=0 , disable FD*/ + UINT32 rel8LcdOffTimerMsLength ; /**< ( unit:ms ) , if timer length=0 , disable FD*/ + /* add by xwzhou for CQ55965 on 3032014 , end */ + } CiPsPrimSetFastDormancyConfigReq; + +//ICAT EXPORTED STRUCT + /** */ + typedef struct CiPsPrimSetFastDormancyConfigCnf_struct + { + CiPsRc rc ; /**< Result code. \sa CiPsRc */ + } CiPsPrimSetFastDormancyConfigCnf; + +typedef UINT8 CiPsPdpTriggerType ; +//ICAT EXPORTED STRUCT + /** */ + typedef struct CiPsPrimPdpActivationRejectCauseInd_struct + { + CiPsPdpTriggerType pdpType ; + CiBoolean cidPresent ; + UINT8 cid ; + CiBoolean smCausePresent ; + CiPsEsmCauseType smCause ; + CiPsSmFollowAct smflwAction ; + } CiPsPrimPdpActivationRejectCauseInd; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimRead4GQosDynParaReq_struct { + UINT8 cid ; /**< PDP Context ID , [ 0 - CI_PS_MAX_MO_AND_MT_PDP_CTX_NUM-1 ] */ + } CiPsPrimRead4GQosDynParaReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimRead4GQosDynParaCnf_struct { + CiPsRc rc ; + UINT8 num ; + CiPs4GQosProfile qosProfile [ ( 8 + 7 ) ] ; /**< 4 G QoS profile , optional if rc is not CIRC_PS_SUCCESS ; \sa CiPs3GQosProfile_struct */ + } CiPsPrimRead4GQosDynParaCnf; + +typedef CiEmptyPrim CiPsPrimRead4GQosDynParaCapsReq ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimRead4GQosDynParaCapsCnf_struct { + CiPsRc rc ; /**< Result code. \sa CiPsRc */ + UINT8 num ; + UINT8 cid [ ( 8 + 7 ) ] ; /**< PDP context ID list , [ 0 - CI_PS_MAX_MO_AND_MT_PDP_CTX_NUM-1 ] */ + } CiPsPrimRead4GQosDynParaCapsCnf; + +typedef CiEmptyPrim CiPsPrimGet4GEventRepReq ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimGet4GEventRepCnf_struct { + CiPsRc rc ; + UINT16 mode ; /**< + *0 buffer unsolicited result codes in the MT ; if MT result code buffer is full , the oldest ones can be discarded. No codes are forwarded to the TE. + *1 discard unsolicited result codes when MT TE link is reserved ( e.g. in on line data mode ) ; otherwise forward them directly to the TE + *2 buffer unsolicited result codes in the MT when MT TE link is reserved ( e.g. in on line data mode ) and flush them to the TE when MT TE link becomes available ; otherwise forward them directly to the TE + */ + UINT16 bfr ; /**< + *0 MT buffer of unsolicited result codes defined within this command is cleared when 1 or 2 is entered + *1 MT buffer of unsolicited result codes defined within this command is flushed to the TE when 1 or 2 is entered ( OK response shall be given before flushing the codes ) + */ + } CiPsPrimGet4GEventRepCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSet4GEventRepReq_struct { + UINT16 mode ; /**< + *0 buffer unsolicited result codes in the MT ; if MT result code buffer is full , the oldest ones can be discarded. No codes are forwarded to the TE. + *1 discard unsolicited result codes when MT TE link is reserved ( e.g. in on line data mode ) ; otherwise forward them directly to the TE + *2 buffer unsolicited result codes in the MT when MT TE link is reserved ( e.g. in on line data mode ) and flush them to the TE when MT TE link becomes available ; otherwise forward them directly to the TE + */ + UINT16 bfr ; /**< + *0 MT buffer of unsolicited result codes defined within this command is cleared when 1 or 2 is entered + *1 MT buffer of unsolicited result codes defined within this command is flushed to the TE when 1 or 2 is entered ( OK response shall be given before flushing the codes ) + */ + } CiPsPrimSet4GEventRepReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSet4GEventRepCnf_struct { + CiPsRc rc ; + + } CiPsPrimSet4GEventRepCnf; + +typedef CiEmptyPrim CiPsPrimGet4GEventRepCapsReq ; +//ICAT EXPORTED STRUCT + typedef struct SacPsEventReportCaps_struct + { + SacPsEventReportMode mode_min ; + SacPsEventReportMode mode_max ; + SacPsEventReportBufferMode buffer_min ; + SacPsEventReportBufferMode buffer_max ; + } + SacPsEventReportCaps; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimGet4GEventRepCapsCnf_struct { + CiPsRc rc ; + SacPsEventReportCaps reportCaps ; + } CiPsPrimGet4GEventRepCapsCnf; + +//ICAT EXPORTED ENUM + typedef enum CIPS_VOICE_CALL_MODE_TAG + { + CIPS_CS_ONLY = 0 , + CIPS_VOIP_ONLY , + CIPS_CS_PREFERRED , + CIPS_VOIP_PREFERRED , + CIPS_VOICE_CALL_MODE_NUM + } _CiPsVoiceCallMode; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimGet4GVoiceCallModeReq_struct { + UINT8 cid ; /**< PDP Context ID , [ 0 - CI_PS_MAX_MO_AND_MT_PDP_CTX_NUM-1 ] */ + } CiPsPrimGet4GVoiceCallModeReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimGet4GVoiceCallModeCnf_struct { + CiPsRc rc ; + UINT16 mode ; /* 0 CS_ONLY + * 1 VOIP_ONLY + * 2 CS_PREFERRED + * 3 VOIP_PREFERRED + */ + } CiPsPrimGet4GVoiceCallModeCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSet4GVoiceCallModeReq_struct { + UINT8 cid ; /**< PDP Context ID , [ 0 - CI_PS_MAX_MO_AND_MT_PDP_CTX_NUM-1 ] */ + UINT16 mode ; /* 0 CS_ONLY + * 1 VOIP_ONLY + * 2 CS_PREFERRED + * 3 VOIP_PREFERRED + */ + } CiPsPrimSet4GVoiceCallModeReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSet4GVoiceCallModeCnf_struct { + CiPsRc rc ; + } CiPsPrimSet4GVoiceCallModeCnf; + +typedef CiEmptyPrim CiPsPrimGet4GVoiceCallModeCapsReq ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimGet4GVoiceCallModeCapsCnf_struct { + CiPsRc rc ; + UINT16 modebitmap ; /*bit 0 CS_ONLY , will set 1 + *bit 1 VOIP_ONLY + *bit 2 CS_PREFERRED + *bit 3 VOIP_PREFERRED + */ + } CiPsPrimGet4GVoiceCallModeCapsCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimRead4GTrafficFlowTempDynParaReq_struct { + UINT8 cid ; /**< PDP Context ID , [ 0 - CI_PS_MAX_MO_AND_MT_PDP_CTX_NUM-1 ] */ + } CiPsPrimRead4GTrafficFlowTempDynParaReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimRead4GTrafficFlowTempDynParaCnf_struct { + CiPsRc rc ; + UINT8 numFilters ; /**< Number of Packet Filters */ + CiPsTftOpCode opCode ; /** Only valid when get TFT of a specified CID */ + CiPsTftFilter filters [ 16 ] ; /**< Not in use */ + } CiPsPrimRead4GTrafficFlowTempDynParaCnf; + +typedef CiEmptyPrim CiPsPrimRead4GTrafficFlowTempDynParaCapsReq ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimRead4GTrafficFlowTempDynParaCapsCnf_struct { + CiPsRc rc ; /**< Result code. \sa CiPsRc */ + UINT8 num ; + UINT8 cid [ ( 8 + 7 ) ] ; /**< PDP context ID list , [ 0 - CI_PS_MAX_MO_AND_MT_PDP_CTX_NUM-1 ] */ + } CiPsPrimRead4GTrafficFlowTempDynParaCapsCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimDataCompReportingReq_struct { + UINT8 report ; /**< 0 - Disable reporting ; + 1 - Enable reporting ; + 2 - Get current setting. \sa CiPsRc. */ + } CiPsPrimDataCompReportingReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimDataCompReportingCnf_struct { + CiPsRc rc ; /**< Result code. \sa CiPsRc. */ + CiBoolean dcomp_report_enabled ; /**< FALSE - report is enabled + TRUE - report is disabled */ + } CiPsPrimDataCompReportingCnf; + +//ICAT EXPORTED ENUM + typedef enum CIPS_DCOMP_STATUS_TAG + { + CIPS_DCOMP_NONE , /**< Data compression is not in use */ + CIPS_DCOMP_BOTH , /**< V42B ITU-T Rec. V.42 bis is in use in + both directions */ + CIPS_DCOMP_RX , /**< V42B RD ITU-T Rec. V.42 bis is in use in receive direction only */ + CIPS_DCOMP_TX , /**< V42B TD ITU-T Rec. V.42 bis is in use in transmit direction only */ + CIPS_DCOMP_TYPE_NUM , + } _CiPsDcompStatus; + +typedef UINT8 CiPsDcompStatus ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimDataCompInd_struct { + UINT8 cid ; /**< PDP context identifier. */ + CiPsDcompStatus dcomp ; /**< Indicates the data compression status */ + } CiPsPrimDataCompInd; + +//ICAT EXPORTED STRUCT + /** */ + typedef struct CiPsPrimSetPsPagingyConfigReq_struct + { + + CiBoolean enable ; /**< TRUE: Activate DSDS PS+Paing ; FALSE: Deactivate DSDS PS+Paing \sa CCI API Ref Manual */ + } CiPsPrimSetPsPagingyConfigReq; + +//ICAT EXPORTED ENUM + typedef enum CIPS_VOICE_DOMAIN_PREFERNCE_TAG + { + CIPS_VOICE_DOMAIN_CS = 0 , + CIPS_VOICE_DOMAIN_CS_PREFERRED , + CIPS_VOICE_DOMAIN_IMS_PS_PREFERRED , + CIPS_VOICE_DOMAIN_IMS_PS , + CIPS_VOICE_DOMAIN_PREFERNCE_NUM + } _CiPsVoiceDomainPreference; + +typedef UINT8 CiPsVoiceDomainPreference ; +//ICAT EXPORTED STRUCT + /** */ + typedef struct CiPsPrimSetPsPagingyConfigCnf_struct + { + CiPsRc rc ; /**< Result code. \sa CiPsRc */ + } CiPsPrimSetPsPagingyConfigCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetImsVoiceCallAvailabilityReq_struct + { + UINT8 state ; /**< 0 - Voice calls with the IMS are not available , 1 - Voice calls with the IMS are available */ + } CiPsPrimSetImsVoiceCallAvailabilityReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetImsVoiceCallAvailabilityCnf_struct + { + CiPsRc rc ; /**< Result code \sa CiPsRc */ + } CiPsPrimSetImsVoiceCallAvailabilityCnf; + +typedef CiEmptyPrim CiPsPrimGetImsVoiceCallAvailabilityReq ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimGetImsVoiceCallAvailabilityCnf_struct + { + CiPsRc rc ; /**< Result code \sa CiPsRc */ + UINT8 state ; /**< 0 - Voice calls with the IMS are not available , 1 - Voice calls with the IMS are available */ + } CiPsPrimGetImsVoiceCallAvailabilityCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetImsSmsAvailabilityReq_struct + { + UINT8 state ; /**< 0 - SMS using IMS is not available , 1 - SMS using IMS is available */ + } CiPsPrimSetImsSmsAvailabilityReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetImsSmsAvailabilityCnf_struct + { + CiPsRc rc ; /**< Result code \sa CiPsRc */ + } CiPsPrimSetImsSmsAvailabilityCnf; + +typedef CiEmptyPrim CiPsPrimGetImsSmsAvailabilityReq ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimGetImsSmsAvailabilityCnf_struct + { + CiPsRc rc ; /**< Result code \sa CiPsRc */ + UINT8 state ; /**< 0 - SMS using IMS is not available , 1 - SMS using IMS is available */ + } CiPsPrimGetImsSmsAvailabilityCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetMmImsVoiceTerminationReq_struct + { + CiBoolean setting ; /**< If TRUE , Mobility Management for IMS Voice Termination disabled ; if FALSE , Mobility Management for IMS Voice Termination enabled \sa CCI API Ref Manual */ + } CiPsPrimSetMmImsVoiceTerminationReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetMmImsVoiceTerminationCnf_struct + { + CiPsRc rc ; /**< Result code \sa CiPsRc */ + } CiPsPrimSetMmImsVoiceTerminationCnf; + +typedef CiEmptyPrim CiPsPrimGetMmImsVoiceTerminationReq ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimGetMmImsVoiceTerminationCnf_struct + { + CiPsRc rc ; /**< Result code \sa CiPsRc */ + CiBoolean setting ; /**< If TRUE , Mobility Management for IMS Voice Termination disabled ; if FALSE , Mobility Management for IMS Voice Termination enabled \sa CCI API Ref Manual */ + } CiPsPrimGetMmImsVoiceTerminationCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimDefineDefaultPdpCtxReq_tag + { + UINT8 modeType ; // 0 - not save to NVM , 1 - save to NUM ; + + CiBoolean pdpTypePresent ; + CiPsPdpType pdpType ; + CiString apn ; + CiBoolean emgIndPresent ; + UINT8 emgInd ; + CiBoolean ipcpReqPresent ; + UINT8 ipcpReq ; + CiBoolean pcscfIpv6ReqPresent ; + UINT8 pcscfIpv6Req ; + CiBoolean imcnSigPresent ; + UINT8 imcnSig ; + CiBoolean dnsIpv6Present ; + UINT8 dnsIpv6 ; + CiBoolean nwBearPresent ; + UINT8 nwBear ; + CiBoolean dsmIpv6HaPresent ; + UINT8 dsmIpv6Ha ; + CiBoolean dsmIpv6PrefPresent ; + UINT8 dsmIpv6Pref ; + CiBoolean dsmIpv6HaIpv4Present ; + UINT8 dsmIpv6HaIpv4 ; + CiBoolean ipViaNasPresent ; + UINT8 ipViaNas ; + CiBoolean ipViaDhcpPresent ; + UINT8 ipViaDhcp ; + CiBoolean pcscfIpv4Present ; + UINT8 pcscfIpv4 ; + CiBoolean dnsIpv4Present ; + UINT8 dnsIpv4 ; + CiBoolean msisdnPresent ; + UINT8 msisdn ; + CiBoolean ifomPresent ; + UINT8 ifom ; + CiBoolean v4mtuPresent ; + UINT8 v4mtu ; + CiBoolean localTftPresent ; + UINT8 localTft ; + CiBoolean etifPresent ; + UINT8 etifFlag ; + } CiPsPrimDefineDefaultPdpCtxReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimDefineDefaultPdpCtxCnf_tag + { + CiPsRc rc ; /**< Result code \sa CiPsRc */ + } CiPsPrimDefineDefaultPdpCtxCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimGetDefaultPdpReq_Tag + { + UINT8 modeType ; // 0 - current used , 1 - from NVM + } CiPsPrimGetDefaultPdpReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimGetDefaultPdpCtx_tag + { + UINT8 modeType ; // 0 - current used , 1 - from NVM + CiString apn ; + CiPsPdpType pdpType ; + UINT8 emgInd ; + UINT8 ipcpReq ; + UINT8 pcscfIpv6Req ; + UINT8 imcnSig ; + UINT8 dnsIpv6 ; + UINT8 nwBear ; + UINT8 dsmIpv6Ha ; + UINT8 dsmIpv6Pref ; + UINT8 dsmIpv6HaIpv4 ; + UINT8 ipViaNas ; + UINT8 ipViaDhcp ; + UINT8 pcscfIpv4 ; + UINT8 dnsIpv4 ; + UINT8 msisdn ; + UINT8 ifom ; + UINT8 v4mtu ; + UINT8 localTft ; + UINT8 etifFlag ; + } CiPsPrimGetDefaultPdpCtx; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimGetDefaultPdpCtxCnf_tag + { + CiPsRc rc ; + CiPsPrimGetDefaultPdpCtx pdpCtx ; + } CiPsPrimGetDefaultPdpCtxCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetApnReq_Tag + { + UINT8 wapn ; // which apn , 0 - no action , 1 - the first APN in apn table , 2 - the second APN , .... + UINT8 apncl ; // APN class + + CiString apnni ; // APN Network identifier + + CiBoolean apnTypePresent ; + UINT8 apnType ; // 0 - invalid , 1 - ipv4 , 2 - ipv6 , 3 - ipv4v6 // CiPsApnAddrType + + CiBoolean apnBearPresent ; + UINT8 apnBear ; // 0 - invalid , 1 - LTE // CiPsApnBearType + + CiBoolean apnedPresent ; + UINT8 apned ; // 0 - disable , 1 - enable + + CiBoolean apnTimePresent ; + UINT32 apnTime ; + } CiPsPrimSetApnReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetApnCnf_tag + { + CiPsRc rc ; /**< Result code \sa CiPsRc */ + } CiPsPrimSetApnCnf; + +typedef CiEmptyPrim CiPsPrimGetApnReq ; +//ICAT EXPORTED STRUCT + typedef struct CiPsApnInfo_tag + { + UINT8 apncl ; + UINT8 apnType ; // 0 - invalid , 1 - ipv4 , 2 - ipv6 , 3 - ipv4v6 // CiPsApnAddrType + UINT8 apnBear ; // 0 - invalid , 1 - LTE // CiPsApnBearType + UINT8 apned ; // 0 - disable , 1 - enable + CiString apnni ; + UINT32 apnTime ; + } CiPsApnInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimGetApnCnf_Tag + { + CiPsRc rc ; // UINT16 , 2 bytes + UINT8 num ; + CiPsApnInfo apnInfo [ 5 ] ; + } CiPsPrimGetApnCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetImsRegStateReq_Tag + { + UINT8 state ; /**< 0 - IMS de-registered , 1 - IMS registered */ + } CiPsPrimSetImsRegStateReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetImsRegStateCnf_tag + { + CiPsRc rc ; /**< Result code \sa CiPsRc */ + } CiPsPrimSetImsRegStateCnf; + +typedef UINT8 CiPsUeToImsEvent ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimUeEventToImsInd_tag + { + CiPsUeToImsEvent ueEvent ; // 0 - SIM removed , 1 - IMS APN changed , 2 - other , 3 - T3346 start , 4 - T3346 expiry , 5 - T3346 stop , 6 -ERRC RELEASE. + CiBoolean imsNeedDeReg ; // 0 - IMS not need to re-register , 1 - IMS need to de-register + } CiPsPrimUeEventToImsInd; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimImsRegInfo_struct + { + UINT8 regInfo ; + UINT8 extInfo ; + } CiPsPrimImsRegInfo; + +typedef CiEmptyPrim CiPsPrimGetImsRegInfoReq ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimGetImsRegInfoCnf_struct // +CIREG: , , + { + CiPsRc rc ; + UINT8 reportState ; + CiPsPrimImsRegInfo info ; + } CiPsPrimGetImsRegInfoCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetImsRegInfoIndReq_struct // AT+CIREG=n + { + UINT8 reportState ; + } CiPsPrimSetImsRegInfoIndReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetImsRegInfoIndCnf_struct // OK or false + { + CiPsRc rc ; + } CiPsPrimSetImsRegInfoIndCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimImsRegInfoInd_struct // +CIREGU: , + { + UINT8 reportState ; + CiPsPrimImsRegInfo newInfo ; + } CiPsPrimImsRegInfoInd; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetVoiceDomainPreferenceReq_struct + { + CiBoolean eutran ; /**< If TRUE , E-UTRAN ; if FALSE , UTRAN \sa CCI API Ref Manual */ + CiPsVoiceDomainPreference setting ; /**< indicates the voice domain preference of the UE \sa CiPsVoiceDomainPreference */ + } CiPsPrimSetVoiceDomainPreferenceReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetVoiceDomainPreferenceCnf_struct + { + CiPsRc rc ; /**< Result code \sa CiPsRc */ + } CiPsPrimSetVoiceDomainPreferenceCnf; + +typedef CiEmptyPrim CiPsPrimGetVoiceDomainPreferenceReq ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimGetVoiceDomainPreferenceCnf_struct + { + CiPsRc rc ; /**< Result code \sa CiPsRc */ + CiPsVoiceDomainPreference utran_setting ; /**< indicates the voice domain preference of the UE for UTRAN \sa CiPsVoiceDomainPreference */ + CiPsVoiceDomainPreference eutan_setting ; /**< indicates the voice domain preference of the UE for E-UTRAN \sa CiPsVoiceDomainPreference */ + } CiPsPrimGetVoiceDomainPreferenceCnf; + +//ICAT EXPORTED ENUM + typedef enum CiPsEpsUsageSetting_Tag + { + CIPS_EPS_VOICE_CENTRIC = 0 , + CIPS_EPS_DATA_CENTRIC , + CIPS_EPS_CENTRIC_NUM + } _CiPsEpsUsageSetting; + +typedef UINT8 CiPsEpsUsageSetting ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetEpsUsageSettingReq_struct + { + CiPsEpsUsageSetting epsUsageSetting ; // 0 / 1 + } CiPsPrimSetEpsUsageSettingReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetEpsUsageSettingCnf_struct + { + CiPsRc rc ; + } CiPsPrimSetEpsUsageSettingCnf; + +typedef CiEmptyPrim CiPsPrimGetEpsUsageSettingReq ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimGetEpsUsageSettingCnf_struct + { + CiPsRc rc ; + CiPsEpsUsageSetting epsUsageSetting ; // 0 / 1 + } CiPsPrimGetEpsUsageSettingCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetApUniversalSettingReq_struct + { + CiBoolean enableDataStatePresent ; + UINT8 enableDataState ; /**< State of Data enable setting. TRUE: enable ; FALSE: disable.\sa CCI API Ref Manual */ + } CiPsPrimSetApUniversalSettingReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetApUniversalSettingCnf_struct + { + CiPsRc rc ; /**< Result code \sa CiPsRc */ + } CiPsPrimSetApUniversalSettingCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetPsServiceDomainReq_struct + { + CiBoolean psServiceEnable ; /**< State of Data enable setting. TRUE: enable ; FALSE: disable.\sa CCI API Ref Manual */ + } CiPsPrimSetPsServiceDomainReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetPsServiceDomainCnf_struct + { + CiPsRc rc ; /**< Result code \sa CiPsRc */ + } CiPsPrimSetPsServiceDomainCnf; + +typedef CiEmptyPrim CiPsPrimGetPsServiceDomainReq ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimGetPsServiceDomainCnf_struct + { + CiBoolean psServiceEnable ; /**< State of Data enable setting. TRUE: enable ; FALSE: disable.\sa CCI API Ref Manual */ + } CiPsPrimGetPsServiceDomainCnf; + +typedef UINT8 CiPsImsSrvType ; +typedef UINT8 CiPsImsSrvStatus ; +typedef UINT8 CiPsImsSrvFailCause ; +typedef UINT16 CiPsImsSrvCause ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetImsServiceStatusReq_struct + { + CiPsImsSrvType imsSrvType ; + CiPsImsSrvStatus imsSrvStatus ; + CiPsImsSrvFailCause srvFailCause ; + } CiPsPrimSetImsServiceStatusReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSetImsServiceStatusCnf_struct + { + CiPsRc rc ; + CiPsImsSrvCause cause ; + } CiPsPrimSetImsServiceStatusCnf; + +typedef UINT16 CiPsSuspendCause ; +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimSuspendResumeInd_struct + { + CiBoolean suspended ; // 0 - resume , 1 - suspended + CiPsSuspendCause suspendReason ; + } CiPsPrimSuspendResumeInd; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimChapAuthenticateReq_struct + { + UINT8 cid ; /**< PDP context identifier. 0xFF for LTE attach PDN ; others for MO */ + CiStringExt challenge ; /**< CHAP challenge octets */ + CiStringExt response ; /**< CHAP response octets */ + } CiPsPrimChapAuthenticateReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimChapAuthenticateCnf_struct + { + CiPsRc rc ; /**< Result code. \sa CiPsRc */ + } CiPsPrimChapAuthenticateCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimActivateReconfigPdpCtxReq_struct + { + CiPsPdpCtx pdpCtx ; /**< PDP context definition \sa CiPsPdpCtx_struct */ + CiBoolean authInfoPresent ; + CiPsAuthenticationType authenticationType ; /**< Authentication type. \sa CiPsAuthenticationType */ + CiStringExt userName ; /**< UserName octets. \sa CCI API Ref Manual */ + CiStringExt password ; /**< Password octets. \sa CCI API Ref Manual */ + } CiPsPrimActivateReconfigPdpCtxReq; + +//ICAT EXPORTED STRUCT + typedef struct CiPsPrimActivateReconfigPdpCtxCnf_struct + { + CiPsRc rc ; /**< Result code. \sa CiPsRc */ + } CiPsPrimActivateReconfigPdpCtxCnf; + +typedef unsigned int size_t ; +typedef unsigned int clock_t ; +typedef unsigned int time_t ; +typedef void ( *wifi_event_cb_t ) ( char *iccid , char *mac ) ; +//ICAT EXPORTED ENUM + typedef enum CI_MM_PRIM + { + CI_MM_PRIM_GET_NUM_SUBSCRIBER_NUMBERS_REQ = 1 , /**< \brief Requests the number of subscriber number entries in the MSISDN list \details */ + CI_MM_PRIM_GET_NUM_SUBSCRIBER_NUMBERS_CNF , /**< \brief Confirms the request to return the number of subscriber number entries in the MSISDN list \details Requires the SIM to be inserted and ready , plus prior PIN1 validation. */ + CI_MM_PRIM_GET_SUBSCRIBER_INFO_REQ , /**< \brief Requests subscriber information for a specified entry in the MSISDN list \details This information is stored on the SIM , so for this request to succeed , the SIM must be inserted and ready. + * Access to the MSISDN list requires prior PIN1 ( CHV1 ) validation. + * Use the CI_MM_PRIM_GET_NUM_SUBSCRIBER_NUMBERS_REQ to determine the number of MSISDN list entries. */ + CI_MM_PRIM_GET_SUBSCRIBER_INFO_CNF , /**< \brief Confirms the request to return subscriber information for a specified entry in the MSISDN list \details */ + CI_MM_PRIM_GET_SUPPORTED_REGRESULT_OPTIONS_REQ , /**< \brief Requests the supported settings for the unsolicited network registration reporting option \details */ + CI_MM_PRIM_GET_SUPPORTED_REGRESULT_OPTIONS_CNF , /**< \brief Confirms the request to return the supported settings for the unsolicited network registration reporting option \details There should be no reason for an error result. */ + CI_MM_PRIM_GET_REGRESULT_OPTION_REQ , /**< \brief Requests the current reporting option for Unsolicited Network Registration Result Indications \details See CI_MM_PRIM_SET_REGRESULT_OPTION for default information. */ + CI_MM_PRIM_GET_REGRESULT_OPTION_CNF , /**< \brief Confirms the request to return the current reporting option for Unsolicited Network Registration Result Indications \details There should be no reason for an error result. */ + CI_MM_PRIM_SET_REGRESULT_OPTION_REQ , /**< \brief Request to set the reporting option for Unsolicited Network Registration Result Indications \details Unsolicited Registration Result Indications ( CI_MM_PRIM_REG_RESULT_IND ) are sent ( if enabled ) only if the reported information + * has changed since the last indication. + * CIMM_REGRESULT_STATUS is the default reporting option. */ + CI_MM_PRIM_SET_REGRESULT_OPTION_CNF = 10 , /**< \brief Confirms a request to set the reporting option for Unsolicited Network Registration Result Indications \details */ + CI_MM_PRIM_REGRESULT_IND , /**< \brief Indicates the Unsolicited Network Registration Result \details Receipt of this indication ( and the information it contains ) can be configured by the + * CI_MM_PRIM_SET_REGRESULT_OPTION_REQ request. + * If this indication is enabled , the current registration status ( if available ) is reported. + * As a configuration option , current cell information ( if available ) can also be included. + * This information can also be requested at any time , using the CI_CC_PRIM_GET_REGRESULT_INFO_REQ request. + * No explicit response is required. */ + CI_MM_PRIM_GET_REGRESULT_INFO_REQ , /**< \brief Requests the most recent registration result information \details See CI_MM_PRIM_SET_REGRESULT_OPTION for default information. */ + CI_MM_PRIM_GET_REGRESULT_INFO_CNF , /**< \brief Confirms the request to return the most recent registration result information \details Use the CI_MM_PRIM_GET_REGRESULT_OPTION_REQ request to get the current registration result reporting option. + * This option setting may affect the availability of registration result information. + * The current registration status and location information ( if available ) are included. */ + CI_MM_PRIM_GET_SUPPORTED_ID_FORMATS_REQ , /**< \brief Requests a list of supported format indicators for the network / operator ID information + * \details These format indicators are used in the CiMmNetOpIdInfo structure , to indicate how SAC should format the network or operator + * identification information. */ + CI_MM_PRIM_GET_SUPPORTED_ID_FORMATS_CNF , /**< \brief Confirms the request and returns a list of supported format indicators for the network / operator ID information + * \details There should be no reason for an error result. */ + CI_MM_PRIM_GET_ID_FORMAT_REQ , /**< \brief Requests the currently selected network operator ID format indicator \details The network operator ID format indicator selects which of the supported formats SAC will use to represent the network / operator ID. */ + CI_MM_PRIM_GET_ID_FORMAT_CNF , /**< \brief Confirms the request to return the currently selected network operator ID format indicator \details There should be no reason for an error result. */ + CI_MM_PRIM_SET_ID_FORMAT_REQ , /**< \brief Requests to set the network / operator ID format indicator \details The network operator ID format indicator selects which of the supported formats SAC will use to represent the network / operator ID + * when reporting network operator information. The default format indicator is set for a numeric network ID. */ + CI_MM_PRIM_SET_ID_FORMAT_CNF , /**< \brief Confirms the request to set the network / operator ID format indicator \details */ + CI_MM_PRIM_GET_NUM_NETWORK_OPERATORS_REQ = 20 , /**< \brief Requests the number of operators present in the network \details */ + CI_MM_PRIM_GET_NUM_NETWORK_OPERATORS_CNF , /**< \brief Confirms the request to get the number of operators present in the network \details */ + CI_MM_PRIM_GET_NETWORK_OPERATOR_INFO_REQ , /**< \brief Requests information about a specified operator present in the network \details Use CI_CC_PRIM_GET_NUM_NETWORK_OPERATORS_REQ to determine the number of operators present in the network , + * if there are any. This number determines the range of values for the Index parameter. + * Index values start at 1 , which indicates the first operator in the network ( usually the home network operator ) . */ + CI_MM_PRIM_GET_NETWORK_OPERATOR_INFO_CNF , /**< \brief Confirms the request to get information about a specified operator present in the network \details There may be no operators currently present in the network. In that case , the network operator status information is not + * included. + * Status for network operators present should be indexed in the following order of precedence ( with the highest precedence listed first ) : + * Home network operator ( if present ) + * Operators for networks that are referenced in the SIM + * Other network operators that are present + * The network and operator ID information is presented in all supported formats. If information for any of the formats is unavailable , SAC indicates this in the CiMmNetOpStatusInfo structure as follows: + * Unavailable operator ID has its Length field set to zero. + * Unavailable network ID has its fields set to CIMM_COUNTRYCODE_NONE and CIMM_NETWORKCODE_NONE. */ + CI_MM_PRIM_GET_NUM_PREFERRED_OPERATORS_REQ , /**< \brief Requests the number of entries in the preferred network operators list \details The preferred network operators list is stored on the SIM in the EFPLMNSel file. + * The maximum number of entries in the EFPLMNSel file is specified when the SIM is provisioned , but the file must accommodate at least + * 8 PLMN entries. See [ 1 ] for more information. */ + CI_MM_PRIM_GET_NUM_PREFERRED_OPERATORS_CNF , /**< \brief Confirms the request to get the number of entries in the preferred network operators list \details If the SIM is not present and ready , SAC sets the NumPref parameter to zero. */ + CI_MM_PRIM_GET_PREFERRED_OPERATOR_INFO_REQ , /**< \brief Requests information for a specified entry in the preferred network operators list \details Use CI_CC_PRIM_GET_NUM_PREFERRED_OPERATORS_REQ to determine the number of entries in the preferred network + * operators list. This number determines the range of values for the Index parameter. + * The preferred operator list is stored in the EFPLMNSel file on the SIM , and requires the Card Holder Verification password CHV1 + * ( if enabled ) to be established before access to this file is allowed. + * The maximum number of entries in the EFPLMNSel file is specified when the SIM is provisioned , but the file must accommodate at least + * 8 PLMN entries. See [ 1 ] for more information. */ + CI_MM_PRIM_GET_PREFERRED_OPERATOR_INFO_CNF , /**< \brief Confirms the request to get information for a specified entry in the preferred network operators list + * \details The network / operator ID information is presented in the default format , or in the format set by the most recent + * CI_CC_PRIM_SET_ID_FORMAT_REQ request. */ + CI_MM_PRIM_ADD_PREFERRED_OPERATOR_REQ , /**< \brief Requests a new entry to be added to the preferred network operators list \details Adds a new entry to the end of the Preferred Operators List. + * The Preferred Operators List is stored in the EFPLMNSel file on the SIM , and requires a Card Holder Verification password CHV1 + * ( if enabled ) to be established before access to this file is allowed. */ + CI_MM_PRIM_ADD_PREFERRED_OPERATOR_CNF , /**< \brief Confirms a request to add a new entry to the preferred network operators list \details The network / operator ID information must be presented in the default format , or in the format set by the most recent CI_CC_PRIM_SET_ID_FORMAT_REQ request. + * If the request fails , the list is unchanged. The maximum number of entries in the EFPLMNSel file is specified when the SIM is + * provisioned , but the file must accommodate at least 8 PLMN entries. See [ 1 ] for more information. + * The number of entries in the list is returned regardless of the success / failure of the request. */ + CI_MM_PRIM_DELETE_PREFERRED_OPERATOR_REQ = 30 , /**< \brief Requests an entry to be deleted from the preferred network operators list \details Use CI_CC_PRIM_GET_NUM_PREFERRED_OPERATORS_REQ to determine the number of entries in the preferred network + * operators list. This number determines the range of values for the Index parameter. + * The preferred operator list is stored in the EFPLMNSel file on the SIM , and requires a Card Holder Verification password CHV1 + * ( if enabled ) to be verified before access to this file is allowed. */ + CI_MM_PRIM_DELETE_PREFERRED_OPERATOR_CNF , /**< \brief Confirms a request to delete an entry from the preferred network operators list \details If the request fails , the list is unchanged. + * The maximum number of entries in the EFPLMNSel file is specified when the SIM is provisioned , but the file must accommodate at + * least 8 PLMN entries. See " Cellular Interface Application Programming Interface " , revision i0.6 , for more information. + * The number of entries in the list is returned regardless of the success / failure of the request. */ + CI_MM_PRIM_GET_CURRENT_OPERATOR_INFO_REQ , /**< \brief Requests information about the current network operator ( if there is one ) \details */ + CI_MM_PRIM_GET_CURRENT_OPERATOR_INFO_CNF , /**< \brief Confirms the request to get information about the current network operator ( if there is one ) \details */ + + CI_MM_PRIM_AUTO_REGISTER_REQ , /**< \brief Requests automatic registration \details Uses PLNM lists stored on the SIM , so an installed SIM is required. + * The handset is always in automatic PLMN selection mode , except when a manual registration request is received. + * After completing a manual registration operation , SAC resets the registration mode to automatic. Therefore , the application layer + * does not need to use this request to reset the current registration mode to automatic. + * The PLMN selection mode ( registration mode ) is not saved to NVRAM ; it is always set to automatic mode during SAC initialization. */ + CI_MM_PRIM_AUTO_REGISTER_CNF , /**< \brief Confirms a request for automatic registration \details */ + CI_MM_PRIM_MANUAL_REGISTER_REQ , /**< \brief Requests manual registration \details The registration result itself is relayed by a CI_MM_PRIM_REGRESULT_IND indication. It can also be retrieved on demand , using + * the CI_MM_PRIM_GET_REGRESULT_INFO_REQ request. + * On successful completion of this request , SAC resets the registration mode to CIMM_REGMODE_AUTOMATIC. */ + CI_MM_PRIM_MANUAL_REGISTER_CNF , /**< \brief Confirms a request for manual registration \details The registration result is relayed by CI_MM_PRIM_REGRESULT_IND , if this is enabled. The information can also + * be retrieved on demand , using CI_MM_PRIM_GET_REGRESULT_INFO_REQ. + * On successful completion of this request , SAC resets the current registration mode to automatic. */ + CI_MM_PRIM_DEREGISTER_REQ , /**< \brief Requests deregistration \details */ + CI_MM_PRIM_DEREGISTER_CNF , /**< \brief Confirms a request for deregistration \details The deregistration result is relayed by CI_MM_PRIM_REGRESULT_IND. It can also be retrieved on demand , using + * CI_MM_PRIM_GET_REGRESULT_INFO_REQ. */ + CI_MM_PRIM_GET_SIGQUALITY_IND_CONFIG_REQ = 40 , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_MM_PRIM_GET_SIGQUALITY_IND_CONFIG_CNF , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_MM_PRIM_SET_SIGQUALITY_IND_CONFIG_REQ , /**< \brief Requests the current configuration for unsolicited signal quality indications \details Unsolicited signal quality indications can be configured in one of two ways: + * - Report signal quality information periodically. The time interval is specified in 100 ms units. + * - Report signal quality information when the RSS changes by more than a specified threshold. The threshold is specified in dBm. + * These two configuration options are mutually exclusive. */ + CI_MM_PRIM_SET_SIGQUALITY_IND_CONFIG_CNF , /**< \brief Confirms a request to set the current configuration for unsolicited signal quality indications \details */ + CI_MM_PRIM_SIGQUALITY_INFO_IND , /**< \brief Indicates the unsolicited signal quality \details This indication can be configured by CI_MM_PRIM_SET_SIGQUALITY_IND_CONFIG_REQ. + * The RSS value is reported in dBm , and should be in the range -113dBm through -51 dBm. + * The bit error rate ( BER ) is reported as an encoded value between 0 and 7 . The upper layers should convert this value to a suitable + * BER representation. + * No explicit response is required. */ + + /*Modified by xwzhou for CQ on 8052013 , begin*/ + CI_MM_PRIM_EXTENDED_SIGQUALITY_INFO_IND , // add by xwzhou + /*Modified by xwzhou for CQ on 8052013 , end*/ + // SCR #1401348 + CI_MM_PRIM_ENABLE_NETWORK_MODE_IND_REQ , /**< \brief Requests that network mode indication be enabled or disabled \details The network mode indication ( if enabled ) is sent whenever the current network mode changes. + * By default , the network mode indication is disabled. */ + CI_MM_PRIM_ENABLE_NETWORK_MODE_IND_CNF , /**< \brief Confirms a request to enable or disable network mode indication. \details By default , the network mode indication is disabled. */ + CI_MM_PRIM_NETWORK_MODE_IND , /**< \brief Indicates the current network mode \details Each of the CiMmNetworkMode parameters indicates the PDP status for their indicated system: + * - gprsActive ( 1 - gprs is active , 0 - gprs is inactive ) + * - egprsActive ( 1 - egprs is active , 0 - egprs is inactive ) + * - hsdpaActive ( 1 - hsdpa is active , 0 - hsdpa is inactive ) + * - hsupaActive ( 1 - hsupa is active , 0 - hsupa is inactive ) + * This indication can be enabled or disabled by CI_MM_PRIM_ENABLE_NETWORK_MODE_IND_REQ. + * By default , this indication is disabled. + * No explicit response is required. */ + CI_MM_PRIM_GET_NITZ_INFO_REQ , /**< \brief Requests the current network identity and time zone ( NITZ ) information + * \details NITZ information is updated by the protocol stack whenever it changes , for example , when acquiring or re-acquiring network service. */ + CI_MM_PRIM_GET_NITZ_INFO_CNF = 50 , /**< \brief Confirms a request for current network identity and time zone ( NITZ ) information \details */ + CI_MM_PRIM_NITZ_INFO_IND , /**< \brief Indicates the status of the current network identity and time zone ( NITZ ) information + * \details NITZ information is reported by the protocol stack whenever it changes , for example , when acquiring or re-acquiring network service. + * NITZ indications are enabled by default. */ + + CI_MM_PRIM_CIPHERING_STATUS_IND , /**< \brief Indicates a ciphering status change \details + * The protocol stack sends a cipher indication signal to the application layer + * specifying the CS and PS ciphering status. SAC captures this signal and sends a + * ' CiMmPrimCipheringStatusInd ' notification. + * The authentication and ciphering procedure is always initiated and controlled by the network. + * The following events trigger a cipher notification: + * - A request by the network to authenticate and / or set the ciphering mode + * - GPRS authenticate confirmation from the SIM + * - Processing the authentication result + * - Failure to release a CS connection + * - Invalidating the GPRS parameters that are stored on the SIM and + * marking the SIM as invalid for GPRS services + * - Receiving a SYNC signal indicating ciphering mode setting or some channel assignment or modification + * + * An additional parameter is needed to indicate if display of + * the ciphering indicator is required. This parameter is provided in the + * OFM bit ( first bit ) of the ' additional information ' entry ( bytes 2 and 3 ) of the EF_AD ( administrative + * data ) SIM / USIM file. + */ + CI_MM_PRIM_AIR_INTERFACE_REJECT_CAUSE_IND , /**< \brief Indicates an air interface reject cause code \details + * The protocol stack sends an air interface reject cause code indication due to errors that + * can occur during MM / GMM procedures such as LU / RA update reject , authentication reject , etc. + * These reject codes are intended to enable vendors to give specific visual / audible feedback to the user. + */ + /* Michal Bukai - Selection of preferred PLMN list +CPLS - START */ + CI_MM_PRIM_SELECT_PREFERRED_PLMN_LIST_REQ , /**< \brief Requests to select the preferred PLMN list + * \details The selected preffered PLMN list will be used when operation on the list is required */ + CI_MM_PRIM_SELECT_PREFERRED_PLMN_LIST_CNF , /**< \brief Confirms the request to select a preferred PLMN list */ + CI_MM_PRIM_GET_PREFERRED_PLMN_LIST_REQ , /**< \brief Requests to read what is the selected preferred PLMN list */ + CI_MM_PRIM_GET_PREFERRED_PLMN_LIST_CNF , /**< \brief Confirms the response and returns the type of the selected preferred PLMN list */ + /* Michal Bukai - Selection of preferred PLMN list +CPLS - END */ + CI_MM_PRIM_BANDIND_IND , /**< \brief Indicates the current band + * \details Indications are sent when the band changes and band indications are enabled. */ + CI_MM_PRIM_SET_BANDIND_REQ , /**< \brief Requests to enable / disable band indications \details */ + CI_MM_PRIM_SET_BANDIND_CNF = 60 , /**< \brief Confirms the request to enable / disable band indications \details */ + CI_MM_PRIM_GET_BANDIND_REQ , /**< \brief Requests the status of band indications ( enabled / disabled ) and an indication of the current band \details */ + CI_MM_PRIM_GET_BANDIND_CNF , /**< \brief Confirms the request and returns the status of band indications ( enabled / disabled ) and an indication of the current band \details */ + CI_MM_PRIM_SERVICE_RESTRICTIONS_IND , /**< \brief Indicates if display of PLMN selection menus is allowed + * \details PLMN selection menu contol information is stored in SIM or USIM in bit ' PLMN Mode ' of file EF-CSP ( see CPHS Version 4.200000 ) . + * On power up the application should assume that display of PLMN selection menus is not allowed. + * This indication is sent on power if display of PLMN selection menus is allowed and whenever there is a change of this bit using OTA reprogramming. + */ + + /* ADD NEW COMMON PRIMITIVES HERE , BEFORE ' CI_MM_PRIM_LAST_COMMON_PRIM ' */ + // Michal Bukai - HOMEZONE support + CI_MM_PRIM_HOMEZONE_IND , /**< \brief Indicates a change in HomeZone indication status \details */ + /*Michal Bukai - Cell Lock - Start*/ + CI_MM_PRIM_CELL_LOCK_REQ , /**< \brief Requests to activate or to deactivate cell lock \details */ + CI_MM_PRIM_CELL_LOCK_CNF , /**< \brief Confirms the request and activates or deactivates cell lock \details */ + CI_MM_PRIM_CELL_LOCK_IND , /**< \brief Indicates the status of cell lock \details */ + /*Michal Bukai - Cell Lock - End*/ + + CI_MM_PRIM_SET_FAST_DORMANT_CAP_REQ , /**< \brief Requests to enable / disable fast dormancy capability , it will be saved in NVM \details */ + CI_MM_PRIM_SET_FAST_DORMANT_CAP_CNF , /**< \brief Confirms the request to enable / disable fast dormancy capability \details */ + CI_MM_PRIM_GET_FAST_DORMANT_CAP_REQ = 70 , /**< \brief Requests the capability of fast dormancy ( enabled / disabled ) \details */ + CI_MM_PRIM_GET_FAST_DORMANT_CAP_CNF , /**< \brief Confirms the request and returns the capability of fast dormancy ( enabled / disabled ) \details */ + + CI_MM_PRIM_SET_NAS_INTEGRITY_CHECK_REQ , /**< \brief Requests to enable / disable NAS integrity check , it will be saved in NVM \details */ + CI_MM_PRIM_SET_NAS_INTEGRITY_CHECK_CNF , /**< \brief Confirms the request to enable / disable NAS integrity check \details */ + CI_MM_PRIM_GET_NAS_INTEGRITY_CHECK_REQ , /**< \brief Requests the configuration of NAS integrity check ( enabled / disabled ) kept in NVM \details */ + CI_MM_PRIM_GET_NAS_INTEGRITY_CHECK_CNF , /**< \brief Confirms the request and returns configuration of NAS integrity check ( enabled / disabled ) \details */ + + CI_MM_PRIM_GET_NUM_LTE_NETWORK_OPERATORS_REQ , /**< \brief Requests the number of operators present in the network \details */ + CI_MM_PRIM_GET_NUM_LTE_NETWORK_OPERATORS_CNF , /**< \brief Confirms the request to get the number of operators present in the network \details */ + CI_MM_PRIM_GET_LTE_NETWORK_OPERATOR_INFO_REQ , /**< \brief Requests information about a specified operator present in the network \details Use CI_CC_PRIM_GET_NUM_LTE_NETWORK_OPERATORS_REQ to determine the number of operators present in the network , + * if there are any. This number determines the range of values for the Index parameter. + * Index values start at 1 , which indicates the first operator in the network ( usually the home network operator ) . */ + CI_MM_PRIM_GET_LTE_NETWORK_OPERATOR_INFO_CNF , /**< \brief Confirms the request to get information about a specified operator present in the network \details There may be no operators currently present in the network. In that case , the network operator status information is not*/ + CI_MM_PRIM_GET_LTE_BACKGROUND_INFO_REQ = 80 , /**< \brief Requests information about the current network operator ( if there is one ) \details */ + CI_MM_PRIM_GET_LTE_BACKGROUND_INFO_CNF , /**< \brief Confirms the request to get information about the current network operator ( if there is one ) \details */ + CI_MM_PRIM_SET_LTE_BACKGROUND_INFO_REQ , /**< \brief Requests information about the current network operator ( if there is one ) \details */ + CI_MM_PRIM_SET_LTE_BACKGROUND_INFO_CNF , /**< \brief Confirms the request to get information about the current network operator ( if there is one ) \details */ + + CI_MM_PRIM_CS_SERVICE_NOTIFICATION_IND , /**CSFB indication from APEX_MM*/ + CI_MM_PRIM_CS_SERVICE_NOTIFICATION_RSP , /**CSFB respond from AP*/ + + CI_MM_PRIM_DSAC_STATUS_IND , /**< \brief Indicates domain service access status \details */ + CI_MM_PRIM_SET_SRVCC_SUPPORT_REQ , /**< \brief Set SRVCC Support of the UE. The network is updated when changing this parameter. \details */ + CI_MM_PRIM_SET_SRVCC_SUPPORT_CNF , /**< \brief Confirms the setting of the SRVCC support. \details */ + CI_MM_PRIM_GET_SRVCC_SUPPORT_REQ , /**< \brief Get the SRVCC Support status of the UE. \details */ + CI_MM_PRIM_GET_SRVCC_SUPPORT_CNF = 90 , /**< \brief Confirms the request to get the SRVCC support status. \details */ + CI_MM_PRIM_SET_IMS_NW_REPORT_MODE_REQ , /**< \brief Set command enables or disables reporting of SRVCC handover information and + * of IMS Voice Over PS sessions ( IMSVOPS ) indicator information \details */ + CI_MM_PRIM_SET_IMS_NW_REPORT_MODE_CNF , /**< \brief Confirms the setting of the IMS reporting or SRVCC. \details */ + CI_MM_PRIM_GET_IMS_NW_REPORT_MODE_REQ , /**< \brief Get the reporting of SRVCC handover information and of IMS Voice Over PS + * sessions ( IMSVOPS ) indicator information \details */ + CI_MM_PRIM_GET_IMS_NW_REPORT_MODE_CNF , /**< \brief Confirms the CI_MM_PRIM_GET_IMS_NW_REPORT_MODE_REQ \details */ + CI_MM_PRIM_IMSVOPS_IND , /**< \brief IMS Voice Over PS sessions ( IMSVOPS ) supported indication from the network \details */ + CI_MM_PRIM_SRVCC_HANDOVER_IND , /**< \brief Reporting of SRVCC handover information indication \details */ + CI_MM_PRIM_SET_EMERGENCY_NUMBER_REPORT_MODE_REQ , /**< \brief Set reporting of new emergency numbers received from the network \details */ + CI_MM_PRIM_SET_EMERGENCY_NUMBER_REPORT_MODE_CNF , /**< \brief Confirms the request to set reporting of new emergency numbers received from the network. \details */ + CI_MM_PRIM_GET_EMERGENCY_NUMBER_REPORT_REQ , /**< \brief Get the reporting status of new emergency numbers received from the network \details */ + CI_MM_PRIM_GET_EMERGENCY_NUMBER_REPORT_CNF = 100 , /**< \brief Confirm the request to get the reporting status of new emergency numbers received from the network. \details */ + CI_MM_PRIM_EMERGENCY_NUMBER_REPORT_IND , /**< \brief Unsolicited reporting of emergency numbers received from the network + * \details sent if reporting was set with CI_MM_PRIM_SET_EMERGENCY_NUMBER_REPORT_MODE_REQ*/ + CI_MM_PRIM_SET_NW_EMERGENCY_BEARER_SERVICES_REQ , /**< \brief Set command enables reporting of changes in the emergency bearer services support indicators \details */ + CI_MM_PRIM_SET_NW_EMERGENCY_BEARER_SERVICES_CNF , /**< \brief Confirmation to the setting of reporting of changes in the emergency bearer services support indicators \details */ + CI_MM_PRIM_GET_NW_EMERGENCY_BEARER_SERVICES_REQ , /**< \brief Get the current setting of reporting of changes in the emergency bearer services support indicators \details */ + CI_MM_PRIM_GET_NW_EMERGENCY_BEARER_SERVICES_CNF , /**< \brief Response to get the current setting of reporting of changes in the emergency bearer services support indicators + * \details The indications emb_Iu_supp and emb_S1_supp are only set to supported when explicitly signalled from the network*/ + CI_MM_PRIM_NW_EMERGENCY_BEARER_SERVICES_IU_IND , /**< \brief Unsolicited reporting of changes in the emergency bearer services support + * indicators according to the network feature support information element , see + * 3 GPP TS 24.008000 subclause 10.500000 .5.23 \details */ + CI_MM_PRIM_NW_EMERGENCY_BEARER_SERVICES_S1_IND , /**< \brief Unsolicited reporting of changes in the emergency bearer services support + * indicators according to the EPS network feature support information element , see + * 3 GPP TS 24.301000 subclause 9.900000 .3.12A \details */ + CI_MM_PRIM_GET_SSAC_STATUS_REQ , /**< \brief Get current status of SSAC ( Service Specific Access Control ) related information \details */ + CI_MM_PRIM_GET_SSAC_STATUS_CNF , /**< \brief Confirmation for the request to get SSAC status \details */ + CI_MM_PRIM_GET_SIGQUALITY_INFO_REQ = 110 , /**< \brief Request signal quality information */ + CI_MM_PRIM_GET_SIGQUALITY_INFO_CNF , /**< \brief Reports the signal quality */ + + CI_MM_PRIM_WB_CELL_LOCK_REQ , /**< \brief Requests to activate or to deactivate WB-GSM band cell lock \details , used by G+W */ + CI_MM_PRIM_WB_CELL_LOCK_CNF , /**< \brief Confirms the request and activates or deactivates WB-GSM band cell lock \details */ + /*Michal Bukai - cancel PLMN search ( Samsung ) - Start*/ + CI_MM_PRIM_CANCEL_MANUAL_PLMN_SEARCH_REQ , /**< \brief Requests to cancel manual PLMN search + * \details The primitive CI_MM_PRIM_CANCEL_MANUAL_PLMN_SEARCH_REQ is used to trigger abort manual PLMN search. + */ + CI_MM_PRIM_CANCEL_MANUAL_PLMN_SEARCH_CNF , /**< \brief Confirms the request and stops the manual PLMN search + * \details If the search will be cencelled successfully CI_MM_PRIM_CANCEL_MANUAL_PLMN_SEARCH_CNF with failure result will be returned. + */ + /*Michal Bukai - cancel PLMN search ( Samsung ) - End*/ + + CI_MM_PRIM_TRIGGER_USER_RESELECTION_REQ , /**< \brief Request to trigger user PLMN selection */ + CI_MM_PRIM_TRIGGER_USER_RESELECTION_CNF , /**< \brief confirm that trigger user PLMN selection was received */ + + CI_MM_PRIM_SET_POWER_UP_PLMN_MODE_REQ , /**< \brief Sets the PLMN selection mode at power up + * \details according to 3 GPP TS 23.122000 , section 4.400000 .3.1 switch on reovery from lack of coverage. */ + CI_MM_PRIM_SET_POWER_UP_PLMN_MODE_CNF , /**< \brief confirm the request to set the PLMN selection mode at power up + * \details according to 3 GPP TS 23.122000 , section 4.400000 .3.1 switch on reovery from lack of coverage.*/ + CI_MM_PRIM_GET_POWER_UP_PLMN_MODE_REQ = 120 , /**< \brief Gets the PLMN selection mode at power up + * \details according to 3 GPP TS 23.122000 , section 4.400000 .3.1 switch on reovery from lack of coverage.*/ + CI_MM_PRIM_GET_POWER_UP_PLMN_MODE_CNF , /**< \brief Confirm the request to get the PLMN selection mode at power up + * \details according to 3 GPP TS 23.122000 , section 4.400000 .3.1 switch on reovery from lack of coverage.*/ + CI_MM_PRIM_NETWORK_MODE_REQ , + CI_MM_PRIM_NETWORK_MODE_CNF , + + CI_MM_PRIM_FIRST_SEARCHED_NETWORK_OPERATOR_IND , /**First searched network operator indication from APEX_MM*/ + CI_MM_PRIM_FRAT_LIST_ACTION_REQ , + CI_MM_PRIM_FRAT_LIST_ACTION_CNF , + CI_MM_PRIM_GET_FRAT_LIST_REQ , + CI_MM_PRIM_GET_FRAT_LIST_CNF , + + CI_MM_PRIM_CSG_AUTO_SEARCH_REQ , /**< \brief Request for Automatic camping on the strongest CSG cell. */ + CI_MM_PRIM_CSG_AUTO_SEARCH_CNF = 130 , /**< \brief Confirm the request for Automatic camping on the strongest CSG cell. */ + CI_MM_PRIM_CSG_LIST_SEARCH_REQ , /**< \brief Request for searching all CSG cells. */ + CI_MM_PRIM_CSG_LIST_SEARCH_CNF , /**< \brief List of all the CSG which were found. */ + CI_MM_PRIM_CSG_SELECT_REQ , /**< \brief Selects CSG ID , as a result the Comm. will try to camp on it */ + CI_MM_PRIM_CSG_SELECT_CNF , /**< \brief Result of selecting CSG ID request. */ + CI_MM_PRIM_CSG_SEARCH_STOP_REQ , /**< \brief Request to stop CSG Search. */ + CI_MM_PRIM_CSG_SEARCH_STOP_CNF , /**< \brief Confirm that the stop request was received. */ + CI_MM_PRIM_REGRESULT_EXTENDED_IND , /** < \brief Indicates the Extended ( csg info ) Unsolicited Network Registration Result \details Receipt of this indication ( and the information it contains ) can be configured by the + * CI_MM_PRIM_SET_REGRESULT_OPTION_REQ request. + * If this indication is enabled , the current registration status ( if available ) is reported. + * As a configuration option , current cell information ( if available ) can also be included. + * This information can also be requested at any time , using the CI_CC_PRIM_GET_REGRESULT_INFO_REQ request.*/ + CI_MM_PRIM_SET_SECURITY_CAPABILITY_REQ , + CI_MM_PRIM_SET_SECURITY_CAPABILITY_CNF , + CI_MM_PRIM_GET_SECURITY_CAPABILITY_REQ = 140 , + CI_MM_PRIM_GET_SECURITY_CAPABILITY_CNF , + + CI_MM_PRIM_NETWORK_CELL_MAT_INFO_IND , + + CI_MM_PRIM_EMERGENCY_CALL_STATUS_REQ , + CI_MM_PRIM_EMERGENCY_CALL_STATUS_CNF , + + CI_MM_PRIM_NEW_ATTACH_IND , /** < \brief Indicates that MM is starting a new ATTACH process */ /* Added by liorgo , for CQ00086808 , 8 / 3 / 2015 */ + CI_MM_PRIM_JAMMING_DETECTION_REQ , /**< \brief Request to configure jamming detection.*/ + CI_MM_PRIM_JAMMING_DETECTION_CNF , /**< \brief confirtm the reuqest to configure jamming detection.*/ + CI_MM_PRIM_GET_JAMMING_DETECTION_STATUS_REQ , /**< \brief request to read jamming detection configuration.*/ + CI_MM_PRIM_GET_JAMMING_DETECTION_STATUS_CNF , /**< \brief The configured valued of the jamming detection.*/ + CI_MM_PRIM_JAMMING_DETECTION_IND = 150 , /**< \brief unsolicited reporting of change in jamming status.*/ + + CI_MM_PRIM_SET_GPRS_EGPRS_MULTISLOT_CLASS_REQ , /**< \brief Change the GPRS and EGPRS multislot classes.*/ + CI_MM_PRIM_SET_GPRS_EGPRS_MULTISLOT_CLASS_CNF , /**< \brief Confirm the request to change GPRS and EGPRS multislot class.*/ + CI_MM_PRIM_GET_GPRS_EGPRS_MULTISLOT_CLASS_REQ , /**< \brief Request to read the GPRS and EGPRS multislot classes.*/ + CI_MM_PRIM_GET_GPRS_EGPRS_MULTISLOT_CLASS_CNF , /**< \brief The configured valued of GPRS and EGPRS multislot classes.*/ + CI_MM_PRIM_GET_DISPLAY_OPERATOR_NAME_REQ , /**< \brief The command displays the name of the network of the requested type. In case the requested informationis not available , the command displays the network name which is most similar to the requested type.*/ + CI_MM_PRIM_GET_DISPLAY_OPERATOR_NAME_CNF , /**< \brief A confirmation for the request command , will return the operator name according to the type that was requested.*/ + CI_MM_PRIM_ECALLREG_REQ , /**< \brief Set the forced registration status*/ + CI_MM_PRIM_ECALLREG_CNF , /**< \brief Confirms the request to set the forced registration status*/ + CI_MM_PRIM_RPM_INFO_REQ , + CI_MM_PRIM_RPM_INFO_CNF , + CI_MM_PRIM_RPM_INFO_IND , + // add by taow 20171124 CQ00108549 begin + CI_MM_PRIM_SET_NETWORK_SELECTION_REQ , + CI_MM_PRIM_SET_NETWORK_SELECTION_CNF , + CI_MM_PRIM_GET_NETWORK_SELECTION_REQ , + CI_MM_PRIM_GET_NETWORK_SELECTION_CNF , + CI_MM_PRIM_GET_LTE_CA_INFO_REQ , + CI_MM_PRIM_GET_LTE_CA_INFO_CNF , + CI_MM_PRIM_GET_OPERATOR_INFO_REQ , + CI_MM_PRIM_GET_OPERATOR_INFO_CNF , + CI_MM_PRIM_OPERATOR_STATUS_IND , + // add by taow 20171124 CQ00108549 end + + /*20190605 add for IMS BEGIN */ + CI_MM_PRIM_GET_ASRCURRENT_OPERATOR_INFO_REQ , /**< \brief Requests information about the current network operator ( if there is one ) \details */ + CI_MM_PRIM_GET_ASRCURRENT_OPERATOR_INFO_CNF , /**< \brief Confirms the request to get information about the current network operator ( if there is one ) \details */ + /*20190605 add for IMS BEGIN*/ + + CI_MM_PRIM_GET_CELL_LOCK_INFO_REQ , + CI_MM_PRIM_GET_CELL_LOCK_INFO_CNF , + CI_MM_PRIM_NETWORK_SEARCH_IND , /*add CQ00114574 by taow 20190419 */ + CI_MM_PRIM_GET_NETWORK_REGISTRATION_INFO_REQ , + CI_MM_PRIM_GET_NETWORK_REGISTRATION_INFO_CNF , + /* ADD NEW COMMON PRIMITIVES HERE , BEFORE ' CI_MM_PRIM_LAST_COMMON_PRIM ' */ + /* END OF COMMON PRIMITIVES LIST */ + CI_MM_PRIM_LAST_COMMON_PRIM + + /* The customer specific extension primitives are added starting from + * CI_MM_PRIM_firstCustPrim = CI_MM_PRIM_LAST_COMMON_PRIM as the first identifier. + * The actual primitive names and IDs are defined in the associated + * ' ci_mm_cust_xxx.h ' file. + */ + + /* DO NOT ADD ANY MORE PRIMITIVES HERE */ + + } _CiMmPrim; + +//ICAT EXPORTED ENUM + typedef enum CIRC_MM + { + CIRC_MM_SUCCESS = 0 , /**< Request completed successfully */ + CIRC_MM_FAIL , /**< General failure ( catch-all ) */ + CIRC_MM_INCOMPLETE_INFO , /**< Incomplete information for request */ + CIRC_MM_INVALID_ADDRESS , /**< Invalid address ( phone number ) */ + CIRC_MM_NO_SERVICE , /**< No network service */ + CIRC_MM_NOT_REGISTERED , /**< Not currently registered */ + CIRC_MM_REJECTED , /**< Request rejected by network */ + CIRC_MM_TIMEOUT , /**< Request timed out */ + CIRC_MM_UNAVAILABLE , /**< Information not available */ + CIRC_MM_NO_MORE_ENTRIES , /**< No more entries in list */ + CIRC_MM_NO_MORE_ROOM , /**< No more room in list */ + CIRC_MM_PLMN_LIST_SIM_NOK , /**< PLMN list SIM is not OK */ + CIRC_MM_PLMN_LIST_NOT_FOUND , /**< PLMN list is not found */ + CIRC_MM_PLMN_LIST_NOT_ALLOWED , /**< PLMN list is not allowed */ + CIRC_MM_PLMN_LIST_MANUAL_NOT_ALLOWED , /* manual selection of */ + CIRC_MM_PLMN_LIST_MANUAL_NOT_ALLOWED_IN_DEDICATED_MODE , /* PLMN list is not allowed in dedicated mode*/ + CIRC_MM_INVALID_PARAMETER , /**< Generic error - the requested service primitive has invalid parameters */ + CIRC_MM_INVALID_REQ , /**< Generic error - the requested service primitive can not be handled at current state */ + CIRC_MM_SIM_NOT_READY , /**< Generic error - the requested service primitive fails because SIM is not ready */ + + CIRC_MM_CANCELLED , /*procedure was cancelled*/ + + CIRC_MM_NETWORK_NOT_ALLOWED_EMERGENCY_CALLS_ONLY , + + /* This one must always be last in the list! */ + CIRC_MM_NUM_RESCODES /**< Number of result codes defined */ + } _CiMmResultCode; + +typedef UINT16 CiMmResultCode ; +typedef UINT32 CiMmCause ; +typedef UINT32 CiGmmCause ; +typedef UINT32 CiEmmCause ; +//ICAT EXPORTED ENUM + typedef enum CIMM_PLMN_SELECTION_POWER_UP_MODE { + CI_MM_PLMN_SELECTION_POWER_UP_MODE_AUTO = 0 , /**< At power up , use auto plmn selection mode*/ + CI_MM_PLMN_SELECTION_POWER_UP_MODE_MANUAL , /**< At power up , use auto manual selection mode */ + CI_MM_PLMN_SELECTION_POWER_UP_MODE_LAST_USED , /**< At power up , use last used plmn mode before power down*/ + + /* This one must always be last in the list! */ + CI_MM_NUM_PLMN_SELECTION_POWER_UP_MODE + } _CiMmPowerUpPlmnSelectionMode; + +//ICAT EXPORTED ENUM + typedef enum CIMM_ERROR_CAUSE_TYPE { + CI_MM_ERROR_CAUSE_TYPE_MM , /**< MM Reject code is received during an MM procedure */ + CI_MM_ERROR_CAUSE_TYPE_GMM_NON_COMBINED , /**< GMM Reject code is received during a non-combined GMM procedure for GPRS services */ + CI_MM_ERROR_CAUSE_TYPE_GMM_COMBINED_NON_GPRS , /**< GMM reject code is received during a combined GMM procedure for non-GPRS services */ + CI_MM_ERROR_CAUSE_TYPE_GMM_COMBINED_GPRS , /**< GMM reject code is received during a combined GMM procedure for GPRS and non-GPRS services */ + CI_MM_ERROR_CAUSE_TYPE_EMM_NON_COMBINED , /**< EMM reject code is received for a non combined EMM procedure for EPS services */ + CI_MM_ERROR_CAUSE_TYPE_EMM_COMBINED_NON_EPS , /**< EMM reject code is received during a combined procedure for non-EPS services */ + CI_MM_ERROR_CAUSE_TYPE_EMM_COMBINED_EPS , /**< EMM reject code is received during a combined procedure for EPS and non-EPS services */ + + /* This one must always be last in the list! */ + CIMM_NUM_ERROR_CAUSE_TYPES + } _CiMmErrorCauseType; + +typedef UINT8 CiMmErrorCauseType ; +typedef UINT8 CiMmPowerUpPlmnSelectionMode ; +//ICAT EXPORTED ENUM + typedef enum CIMM_SERVICE { + CIMM_SERVICE_ASYNC_MODEM = 0 , /**< Asynchronous modem */ + CIMM_SERVICE_SYNC_MODEM , /**< Synchronous modem */ + CIMM_SERVICE_PAD_ASYNC , /**< PAD access ( asynchronous ) */ + CIMM_SERVICE_PACKET_SYNC , /**< Packet access ( synchronous ) */ + CIMM_SERVICE_VOICE , /**< Voice */ + CIMM_SERVICE_FAX , /**< Fax */ + + /* This one must always be last in the list! */ + CIMM_NUM_SERVICES /**< Number of network services defined */ + } _CiMmService; + +typedef UINT8 CiMmService ; +//ICAT EXPORTED ENUM + typedef enum CIMM_ITC { + CIMM_ITC_3_1_KHZ= 0 , /**< 3.100000 kHz */ + CIMM_ITC_UDI , /**< Unrestricted digital information ( UDI ) */ + + /* This one must always be last in the list! */ + CIMM_NUM_ITC /**< Number of ITC indicators defined */ + } _CiMmITC; + +typedef UINT8 CiMmITC ; +//ICAT EXPORTED STRUCT + typedef struct CiMmServiceInfo_struct { + CiBoolean Present ; /**< Service information present? \sa CCI API Ref Manual */ + CiMmService SvcType ; /**< Associated service type \sa CiMmService */ + CiBsTypeSpeed Speed ; /**< Connection speed \sa CCI API Ref Manual */ + CiMmITC Itc ; /**< Information transfer capability \sa CiMmITC. */ + } CiMmServiceInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiMmSubscriberInfo_struct { + CiAddressInfo Number ; /**< Subscriber number ( MSISDN ) \sa CCI API Ref Manual */ + CiOptNameInfo AlphaTag ; /**< Associated alpha tag ( optional ) \sa CCI API Ref Manual */ + CiMmServiceInfo SvcInfo ; /**< Service information ( optional ) \sa CiMmServiceInfo_struct */ + } CiMmSubscriberInfo; + +//ICAT EXPORTED ENUM + typedef enum CIMM_REGRESULT_OPTION { + CIMM_REGRESULT_DISABLE = 0 , /**< Disable reporting */ + CIMM_REGRESULT_STATUS , /**< Report registration status only */ + CIMM_REGRESULT_CELLINFO , /**< Report status and current cell information */ + CIMM_REGRESULT_MORE_DETAIL , /**< Report more detail info: [ , , ] ] > */ + /* This one must always be last in the list! */ + CIMM_NUM_REGRESULT_OPTIONS /**< Number of options defined */ + } _CiMmRegResultOption; + +typedef UINT8 CiMmRegResultOption ; +//ICAT EXPORTED ENUM + typedef enum CIMM_REGSTATUS { + CIMM_REGSTATUS_NOT_SEARCHING = 0 , + /**< Not registered , not searching operators */ + CIMM_REGSTATUS_HOME , /**< Registered with home network */ + CIMM_REGSTATUS_SEARCHING , /**< Not registered , searching operators */ + CIMM_REGSTATUS_DENIED , /**< Registration denied */ + CIMM_REGSTATUS_UNKNOWN , /**< Registration status unknown */ + CIMM_REGSTATUS_ROAMING , /**< Registered , roaming */ + CIMM_REGSTATUS_SMS_ONLY_HOME , /**< registered for " SMS only " , home network ( applicable only when indicates E-UTRAN ) */ + CIMM_REGSTATUS_SMS_ONLY_ROAMING , /**< registered for " SMS only " , roaming ( applicable only when indicates E-UTRAN ) */ + CIMM_REGSTATUS_EMERGENCY_ONLY_NOT_USED , /**< attached for emergency bearer services only ( see NOTE 2 ) ( not applicable ) */ + CIMM_REGSTATUS_CSFB_NOT_PREFERRED_HOME , /** indicates E-UTRAN ) */ + CIMM_REGSTATUS_CSFB_NOT_PREFERRED_ROAMING , /** indicates E-UTRAN ) */ + CIMM_REGSTATUS_EMERGENCY_ONLY , + /**< Only emergency services are available*/ + CIMM_REGSTATUS_DENIED_IN_ROAMING , /**< registeration denied in roaming*/ + CIMM_REGSTATUS_SYNC_DONE_IN_LTE_ROAMING , /**< sync done in LTE roaming network*/ + CIMM_REGSTATUS_ECALL_INACTIVE , + + /* This one must always be last in the list! */ + CIMM_NUM_REGSTATUS /**< Number of status values defined */ + } _CiMmRegStatus; + +typedef UINT8 CiMmRegStatus ; +//ICAT EXPORTED ENUM + typedef enum CIMM_REGMODE { + CIMM_REGMODE_AUTOMATIC = 0 , /**< Automatic registration request */ + CIMM_REGMODE_MANUAL , /**< Manual registration request */ + CIMM_REGMODE_DEREGISTER , /**< Deregistration request */ + CIMM_REGMODE_MANUAL_AUTO , /**< Manual request , fallback to automatic */ + + /* This one must always be last in the list! */ + CIMM_NUM_REGMODES /**< Number of mode indicators defined */ + } _CiMmRegMode; + +typedef UINT8 CiMmRegMode ; +//ICAT EXPORTED ENUM + typedef enum CIMM_ACT_TECH_MODE + { + CI_MM_ACT_GSM = 0 , /**< GSM */ + CI_MM_ACT_GSM_COMPACT , /**< Not supported */ + CI_MM_ACT_UTRAN , /**< UTRAN */ + + CI_MM_ACT_GSM_EGPRS , /**< GSM w / EGPRS */ + CI_MM_ACT_UTRAN_HSDPA , /**< UTRAN w / HSDPA */ + CI_MM_ACT_UTRAN_HSUPA , /**< UTRAN w / HSUPA */ + CI_MM_ACT_UTRAN_HSPA , /**< UTRAN w / HSDPA and HSUPA */ + CI_MM_ACT_EUTRAN , /**< E-UTRAN */ + + CI_MM_ACT_UTRAN_HSPA_PLUS , /**< UTRAN w / HSPA+ */ + + CI_MM_ACT_EUTRAN_PLUS , /*E-UTRAN CA*/ + + CI_MM_NUM_ACT + } _CiMmAccTechMode; + +typedef UINT8 CiMmAccTechMode ; +//ICAT EXPORTED STRUCT + typedef struct CiMmCellInfo_struct { + CiBoolean Present ; /**< Current cell information present? \sa CCI API Ref Manual */ + UINT16 LocArea ; /**< Location area code */ + UINT32 CellId ; /**< Cell identifier. GSM case: 16 least significant bits , WCDMA case: CellId - 16 least significant bits , RNCID - 12 most significant bits */ + + CiMmAccTechMode AcT ; /**< Network access technology ( GSM , UTRAN , LTE etc. ) \sa CiMmAccTechMode */ + } CiMmCellInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiMmRegResultInfo_struct { + CiMmRegStatus Status ; /**< Registration status \sa CiMmRegStatus */ + CiMmCellInfo CellInfo ; /**< Current cell information ( optional ) \sa CiMmRegStatus */ + } CiMmRegResultInfo; + +//ICAT EXPORTED ENUM + typedef enum CIMM_NETOP_ID_FORMAT { + CIMM_NETOP_ID_FORMAT_ALPHA_LONG = 0 , /**< Operator ID: long alphanumeric */ + CIMM_NETOP_ID_FORMAT_ALPHA_SHORT , /**< Operator ID: short alphanumeric */ + CIMM_NETOP_ID_FORMAT_NETWORK , /**< Network ID ( numeric ) */ + + /* This one must always be last in the list! */ + CIMM_NUM_NETOP_ID_FORMATS /**< Number of format indicators defined */ + } _CiMmNetOpIdFormat; + +typedef UINT8 CiMmNetOpIdFormat ; +//ICAT EXPORTED ENUM + typedef enum CIMM_NETOP_DIGIT_MNC { + CIMM_NETOP_TWO_DIGIT_MNC = 2 , /*2 digit */ + CIMM_NETOP_THREE_DIGIT_MNC , /*3 digit */ + /* This one must always be last in the list! */ + CIMM_NUM_NETOP_DIGIT_MNC + } _CiMmNetOpDigitMnc; + +typedef UINT8 CiMmNetOpDigitMnc ; +//ICAT EXPORTED STRUCT + typedef struct CiMmNetworkId_struct { + UINT16 CountryCode ; /**< 3 -digit country code */ + UINT16 NetworkCode ; /**< 3 -digit network code */ + /*Added by xwzhou on 4092014 for CQ58416 , begin*/ + CiMmNetOpDigitMnc MncDigit ; /**< MncDigit \sa CiMmNetOpDigitMnc */ + /*Added by xwzhou on 4092014 for CQ58416 , end*/ + } CiMmNetworkId; + +//ICAT EXPORTED STRUCT + typedef struct CiMmOperatorId_struct { + UINT8 Length ; /**< Operator ID length ( characters ) */ + char Id [ 32 ] ; /**< Operator ID */ + } CiMmOperatorId; + +//ICAT EXPORTED UNION + typedef union CiMmNetOpId_tag { + CiMmNetworkId NetworkId ; /**< Network ID \sa CiMmNetworkId_struct */ + CiMmOperatorId OperatorId ; /**< Operator ID \sa CiMmOperatorId_struct */ + } CiMmNetOpIdUnion; + +//ICAT EXPORTED STRUCT + typedef struct CiNetOpIdInfo_struct { + CiBoolean Present ; /**< Indicates if network or operator ID is present \sa CCI API Ref Manual */ + CiMmNetOpIdFormat Format ; /**< ID format: network or operator \sa CiMmNetOpIdFormat */ + CiMmNetOpIdUnion CiMmNetOpId ; /**< ID \sa CiMmNetOpId_tag*/ + + CiMmAccTechMode AccTchMode ; /**< Access radio technology ; default is GSM \sa CiMmAccTechMode */ + UINT8 Domain ; /**< CS or PS domain , 0 :CS only ; 1 :PS only ; 2 :Combined CS / PS */ + + } CiMmNetOpIdInfo; + +//ICAT EXPORTED ENUM + typedef enum CIMM_NETOPSTATUS { + CIMM_NETOP_UNKNOWN = 0 , /**< Operator status unavailable */ + CIMM_NETOP_AVAILABLE , /**< Operator is available */ + CIMM_NETOP_CURRENT , /**< Current operator */ + CIMM_NETOP_FORBIDDEN , /**< Operator is forbidden */ + + /* This one must always be last in the list! */ + CIMM_NUM_NETOPSTATUS /**< Number of status indicators defined */ + } _CiMmNetOpStatus; + +typedef UINT8 CiMmNetOpStatus ; +typedef INT16 CiMmRssi ; +typedef UINT8 CiMmEncodedBER ; +typedef UINT8 CiMmRsrq ; +typedef UINT8 CiMmRsrp ; +typedef UINT8 CiMmRscp ; +typedef UINT8 CiMmEcno ; +typedef UINT8 CiMmRxlev ; +//ICAT EXPORTED STRUCT + typedef struct CiNetOpStatusInfo_struct { + CiMmNetOpStatus Status ; /**< Network operator status \sa CiMmNetOpStatus */ + CiMmRssi Rssi ; /**< RSSI value in dBm \sa CiMmRssi */ + CiMmOperatorId LongAlphaId ; /**< Long alphanumeric operator ID \sa CiMmOperatorId_struct */ + CiMmOperatorId ShortAlphaId ; /**< Short alphanumeric operator ID \sa CiMmOperatorId */ + CiMmNetworkId NetworkId ; /**< Network ID information \sa CiMmNetworkId */ + CiMmAccTechMode AccTchMode ; /**< Network access technology ( GSM , UTRAN , etc. ) \sa CiMmAccTechMode */ + } CiMmNetOpStatusInfo; + +//ICAT EXPORTED ENUM + typedef enum CIMM_SIGQUAL_OPTIONS { + CIMM_SIGQUAL_OPTION_INTERVAL = 0 , /**< Time interval - used for periodic reports */ + CIMM_SIGQUAL_OPTION_THRESHOLD , /**< RSSI threshold */ + CIMM_SIGQUAL_OPTION_DISABLE , /**< Disable indications */ + + /* This one must always be last in the list! */ + CIMM_NUM_SIGQUAL_OPTIONS /**< Number of status indicators defined */ + } _CiMmSigQualOpts; + +typedef UINT8 CiMmSigQualOpts ; +//ICAT EXPORTED UNION + typedef union CfgUnion_Tag { + UINT8 Interval ; /**< Time Interval in 100 ms units */ + UINT8 Threshold ; /**< RSSI threshold in dBm */ + } CfgUnion; + +//ICAT EXPORTED STRUCT + typedef struct CiMmSigQualityConfig_struct { + CiMmSigQualOpts Option ; /**< Signal quality report type interval or theshold \sa CiMmSigQualOpts */ + CfgUnion Cfg ; /**< Configuration \sa CfgUnion_Tag*/ + } CiMmSigQualityConfig; + +//ICAT EXPORTED ENUM + typedef enum CIMM_NETWORK_MODE + { + CI_MM_NETWORK_MODE_GSM = 0 , /**< GSM */ + CI_MM_NETWORK_MODE_UMTS , /**< UMTS */ + + CI_MM_NETWORK_MODE_LTE , /**< TD LTE */ + CI_MM_NETWORK_MODE_DEFAULT , + CI_MM_NUM_NETWORK_MODES + } _CiMmNetworkMode; + +typedef UINT8 CiMmNetworkMode ; +typedef UINT8 CiMmCellLockActMode ; +//ICAT EXPORTED STRUCT + typedef struct CiMmSigQualityInfo_struct { + CiMmRssi Rssi ; /**< RSSI value in dBm \sa CiMmRssi */ + CiMmEncodedBER BER ; /**< Encoded bit error rate \sa CiMmEncodedBER */ + CiMmRsrq Rsrq ; /**Report reference signal received quality*/ + CiMmNetworkMode Mode ; /**< Network mode \sa CiMmNetworkMode */ + CiBoolean IsLtePsOnly ; /**TRUE: lte ps only , set 3 G / 2 G RSSI to default ; FALSE: just update lte RSSI*/ + } CiMmSigQualityInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiMmSigExtendedQualityInfo_struct { + CiMmRxlev Rxlev ; + CiMmEncodedBER Ber ; // bit error rate + CiMmRscp Rscp ; + CiMmEcno Ecno ; // RadioInfo->receiveQuality + CiMmRsrq Rsrq ; + CiMmRsrp Rsrp ; + // add by taow 20150730 begin + UINT8 LteCqi ; + INT8 SINR ; + // add by taow 20150730 end + } CiMmSigExtendedQualityInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiMmSigNormalQualityInfo_struct { + UINT8 Rssi ; + CiMmEncodedBER Ber ; + } CiMmSigNormalQualityInfo; + +//ICAT EXPORTED ENUM + typedef enum CIMM_NETWORK_MODE_REPORT + { + CI_MM_NETWORK_MODE_REPORT_GSM = 0 , /**< GSM only */ + CI_MM_NETWORK_MODE_REPORT_UMTS , /**< 3 G only */ + CI_MM_NETWORK_MODE_REPORT_UMTS_HSDPA , /**< 3 G and HSDPA capabilities */ + CI_MM_NETWORK_MODE_REPORT_UMTS_HSUPA , /**< 3 G and HSUPA capabilities */ + CI_MM_NETWORK_MODE_REPORT_UMTS_HSDPA_HSUPA , /**< 3 G , HSDPA , and HSDPA capabilities */ + CI_MM_NETWORK_MODE_REPORT_GSM_EGPRS , /**< GSM , GPRS , and EGPRS capabilities */ + CI_MM_NETWORK_MODE_REPORT_GSM_GPRS , /**< GSM and GPRS capabilities */ + + CI_MM_NETWORK_MODE_REPORT_UMTS_HSPA_PLUS = 8 , /**< 3 G and HSPA+ capabilities */ + CI_MM_NETWORK_MODE_REPORT_LTE , /**< TD LTE capabilities */ + CI_MM_NUM_NETWORK_MODE_REPORTS + } _CiMmNetworkModeReport; + +//ICAT EXPORTED ENUM + /** \brief UMTS band values */ + /** \remarks Common Data Section */ + + typedef enum CI_UMTS_BANDS_TYPE + { + CI_BAND_1 , /**< UMTS Band1 */ + CI_BAND_2 , /**< UMTS Band2 */ + CI_BAND_3 , /**< UMTS Band3 */ + CI_BAND_4 , /**< UMTS Band4 */ + CI_BAND_5 , /**< UMTS Band5 */ + CI_BAND_6 , /**< UMTS Band6 */ + CI_BAND_7 , /**< UMTS Band7 */ + CI_BAND_8 , /**< UMTS Band8 */ + CI_BAND_9 , /**< UMTS Band9 */ + CI_BAND_10 , /**< UMTS Band10 */ + CI_BAND_11 , /**< UMTS Band11 */ + CI_BAND_12 , /**< UMTS Band12 */ + CI_BAND_13 , /**< UMTS Band13 */ + CI_BAND_14 , /**< UMTS Band14 */ + CI_BAND_15 , /**< UMTS Band15 */ + CI_BAND_16 , /**< UMTS Band16 */ + CI_BAND_17 , /**< UMTS Band17 */ + CI_BAND_18 , /**< UMTS Band18 */ + CI_BAND_19 , /**< UMTS Band19 */ + + CI_BAND_GSM /**< Band GSM */ + } _CiUmtsBandsType; + +typedef UINT8 CiUmtsBandsType ; +//ICAT EXPORTED ENUM + /** \brief LTE band values */ + /** \remarks Common Data Section */ + + typedef enum CI_LTE_BANDS_TYPE + { + CI_LTE_BAND_1 = 1 , /**< LTE Band1 */ + CI_LTE_BAND_2 , /**< LTE Band2 */ + CI_LTE_BAND_3 , /**< LTE Band3 */ + CI_LTE_BAND_4 , /**< LTE Band4 */ + CI_LTE_BAND_5 , /**< LTE Band5 */ + CI_LTE_BAND_6 , /**< LTE Band6 */ + CI_LTE_BAND_7 , /**< LTE Band7 */ + CI_LTE_BAND_8 , /**< LTE Band8 */ + CI_LTE_BAND_9 , /**< LTE Band9 */ + CI_LTE_BAND_10 , /**< LTE Band10 */ + + CI_LTE_BAND_11 , /**< LTE Band11 */ + CI_LTE_BAND_12 , /**< LTE Band12 */ + CI_LTE_BAND_13 , /**< LTE Band13 */ + CI_LTE_BAND_14 , /**< LTE Band14 */ + CI_LTE_BAND_15 , /**< LTE Band15 */ + CI_LTE_BAND_16 , /**< LTE Band16 */ + CI_LTE_BAND_17 , /**< LTE Band17 */ + CI_LTE_BAND_18 , /**< LTE Band18 */ + CI_LTE_BAND_19 , /**< LTE Band19 */ + CI_LTE_BAND_20 , /**< LTE Band20 */ + + CI_LTE_BAND_21 , /**< LTE Band21 */ + CI_LTE_BAND_22 , /**< LTE Band22 */ + CI_LTE_BAND_23 , /**< LTE Band23 */ + CI_LTE_BAND_24 , /**< LTE Band24 */ + CI_LTE_BAND_25 , /**< LTE Band25 */ + CI_LTE_BAND_26 , /**< LTE Band26 */ + CI_LTE_BAND_27 , /**< LTE Band27 */ + CI_LTE_BAND_28 , /**< LTE Band28 */ + CI_LTE_BAND_29 , /**< LTE Band29 */ + CI_LTE_BAND_30 , /**< LTE Band30 */ + + CI_LTE_BAND_31 , /**< LTE Band31 */ + CI_LTE_BAND_32 , /**< LTE Band32 */ + CI_LTE_BAND_33 , /**< LTE Band33 */ + CI_LTE_BAND_34 , /**< LTE Band34 */ + CI_LTE_BAND_35 , /**< LTE Band35 */ + CI_LTE_BAND_36 , /**< LTE Band36 */ + CI_LTE_BAND_37 , /**< LTE Band37 */ + CI_LTE_BAND_38 , /**< LTE Band38 */ + CI_LTE_BAND_39 , /**< LTE Band39 */ + CI_LTE_BAND_40 , /**< LTE Band40 */ + + CI_LTE_BAND_41 /**< LTE Band41 */ + + } _CiLteBandsType; + +typedef UINT8 CiLteBandsType ; +//ICAT EXPORTED ENUM + /** \brief GSM band values */ + /** \remarks Common Data Section */ + + typedef enum CI_GSM_BANDS_TYPE + { + CI_GSM_BAND = 0 , /**< PGSM 900 ( standard or primary ) */ + CI_DCS_BAND = 1 , /**< DCS GSM 1800 */ + CI_PCS_BAND = 2 , /**< PCS GSM 1900 */ + CI_EGSM_BAND = 3 , /**< EGSM 900 ( extended ) */ + CI_GSM_450_BAND = 4 , /**< GSM 450 */ + CI_GSM_480_BAND = 5 , /**< GSM 480 */ + CI_GSM_850_BAND = 6 , /**< GSM 850 */ + + CI_NUM_BANDS , + + + + CI_INVALID_BAND = 0xFF /**< Invalid band */ + } _CiGsmBandsType; + +typedef UINT8 CiGsmBandsType ; +//ICAT EXPORTED UNION + typedef union CiMmCurrentBandTag + { + CiGsmBandsType gsmBand ; /**< access technology is GSM \sa CiGsmBandsType */ + CiGsmBandsType gsmCompactBand ; /**< Not used */ + CiUmtsBandsType umtsBand ; /**< access technology is UMTS \sa CiUmtsBandsType */ + CiLteBandsType lteBand ; /**< access technology is LTE \sa CiLteBandsType */ + } CiMmCurrentBand; + +//ICAT EXPORTED STRUCT + /** \brief Current band */ + /** \remarks Common Data Section */ + typedef struct CiMmCurrentbandInfo_struct + { + CiMmAccTechMode accessTechnology ; /**< Access technology \sa CiMmAccTechMode */ + CiMmCurrentBand currentBand ; /**< Current band \sa CiMmCurrentBandTag */ + } CiMmCurrentBandInfo; + +typedef UINT8 CiMmNetworkModeReport ; +//ICAT EXPORTED STRUCT + typedef struct CiMmNetworkHsMode_struct + { + CiBoolean gprsActive ; /**< TRUE - is active ; FALSE - is not ; \sa CCI API Ref Manual */ + CiBoolean egprsActive ; /**< TRUE - is active ; FALSE - is not ; \sa CCI API Ref Manual */ + CiBoolean hsdpaActive ; /**< TRUE - is active ; FALSE - is not ; \sa CCI API Ref Manual */ + CiBoolean hsupaActive ; /**< TRUE - is active ; FALSE - is not ; \sa CCI API Ref Manual */ + CiBoolean hspaPlusActive ; /**< TRUE - is active ; FALSE - is not ; \sa CCI API Ref Manual */ + } CiMmNetworkHsMode; + +//ICAT EXPORTED ENUM + typedef enum CIMM_DSTIND + { + CI_MM_DST_IND_NO_ADJUSTMENT = 0 , + CI_MM_DST_IND_PLUS_ONE_HOUR , + CI_MM_DST_IND_PLUS_TWO_HOURS , + + CI_MM_NUM_DST_INDS + } _CiMmDstInd; + +typedef UINT8 CiMmDstInd ; +//ICAT EXPORTED STRUCT + typedef struct CiMmUniTime_struct + { + UINT8 year ; /**< Year [ 0 ..99 ] */ + UINT8 month ; /**< Month [ 1 ..12 ] */ + UINT8 day ; /**< Day [ 1 ..31 ] */ + UINT8 hour ; /**< Hour [ 0 ..59 ] */ + UINT8 minute ; /**< Minute [ 0 ..59 ] */ + UINT8 second ; /**< Second [ 0 ..59 ] */ + INT8 locTimeZone ; /**< Local time zone */ + } CiMmUniTime; + +//ICAT EXPORTED ENUM + typedef enum CiNetworkNameCodingSchemeTag + { + CI_NETWORK_NAME_SMS_CB_CODED = 0 , + CI_NETWORK_NAME_UCS2_CODED = 1 + } + _CiNetworkNameCodingScheme; + +typedef UINT8 CiNetworkNameCodingScheme ; +//ICAT EXPORTED STRUCT + typedef struct CiMmLsaIdentity_struct + { + UINT8 length ; /**< length */ + UINT8 data [ 3 ] ; /**< data */ + } CiMmLsaIdentity; + +//ICAT EXPORTED STRUCT + typedef struct CiMmNitzInfo_struct + { + CiMmOperatorId longAlphaId ; /**< Long alphanumeric operator ID \sa CiMmOperatorId_struct */ + CiBoolean longAlphaIdPresent ; /**< TRUE - if long alphanumeric ID is present \sa CCI API Ref Manual */ + CiMmOperatorId shortAlphaId ; /**< Short alphanumeric operator ID \sa CiMmOperatorId_struct */ + CiBoolean shortAlphaIdPresent ; /**< TRUE - if short alphanumeric ID is present \sa CCI API Ref Manual */ + CiMmNetworkId networkId ; /**< Network ID information \sa CiMmNetworkId */ + CiBoolean networkIdPresent ; /**< TRUE - if Network ID information is present \sa CCI API Ref Manual */ + CiMmUniTime uniTime ; /**< Universal time \sa CiMmUniTime_struct */ + CiBoolean uniTimePresent ; /**< TRUE - if universal time is present \sa CCI API Ref Manual */ + INT8 locTimeZone ; /**< local time zone */ + CiBoolean locTimeZonePresent ; /**< TRUE - if local time zone is present \sa CCI API Ref Manual */ + CiMmDstInd dstInd ; /**< Daylight savings indicator \sa CiMmDstInd */ + CiBoolean dstIndPresent ; /**< TRUE - if daylight saving indicator present \sa CCI API Ref Manual */ + CiMmLsaIdentity lsaIdentity ; /**< LSA - localized service area identity \sa CiMmLsaIdentity */ + UINT8 domain ; /**< CS or PS domain , 0 :CS ; 1 :PS */ + + CiNetworkNameCodingScheme networkNameCodingScheme ; /** SMS_CB_CODED / UCS2_CODED */ + CiBoolean addCountryInitials ; + + } CiMmNitzInfo; + +//ICAT EXPORTED ENUM + typedef enum CIMM_ADDPREFOP_TYPES + { + CI_MM_ADDPREFOP_FIRST_AVAILABLE = 0 , + CI_MM_ADDPREFOP_INSERT_AT_INDEX , + + CI_MM_NUM_ADD_PREFOP_TYPES + } _CiMmAddPrefOpType; + +typedef UINT8 CiMmAddPrefOpType ; +//ICAT EXPORTED ENUM + typedef enum CIMM_LIST_INDEX_TYPE { + CI_MM_LIST_INDEX_USER_CONTROLLED_WACTSUCCESS = 0 , /**< User controlled PLMN selector with Access Technology EFPLMNwAcT. if not found in the SIM / UICC then select PLMN preferred list EFPLMNsel */ + CI_MM_LIST_INDEX_OPERATOR_CONTROLLED_WACT , /**< Operator controlled PLMN selector with Access Technology FOPLMNwAcT */ + CI_MM_LIST_INDEX_HPLMN_WACT , /**< HPLMN selector with Access Technology EFHPLMNwAcT */ + + CI_MM_NUM_LIST_INDEX_TYPES + + } _CiMmListIndexType; + +typedef UINT8 CiMmListIndexType ; +typedef CiEmptyPrim CiMmPrimGetNumSubscriberNumbersReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetNumSubscriberNumbersCnf_struct { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + UINT8 NumMSISDN ; /**< Number of entries in the MSISDN list */ + } CiMmPrimGetNumSubscriberNumbersCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetSubscriberInfoReq_struct { + UINT8 Index ; /**< MSISDN list entry number [ 1 ..number of MSISDN list entries ] */ + } CiMmPrimGetSubscriberInfoReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetSubscriberInfoCnf_struct { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + CiMmSubscriberInfo info ; /**< Subscriber information \sa CiMmSubscriberInfo_struct */ + } CiMmPrimGetSubscriberInfoCnf; + +typedef CiEmptyPrim CiMmPrimGetSupportedRegResultOptionsReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetSupportedRegResultOptionsCnf_struct { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + UINT8 NumOptions ; /**< Number of supported options */ + CiMmRegResultOption Option [ CIMM_NUM_REGRESULT_OPTIONS ] ; /**< Supported options \sa CiMmRegResultOption*/ + } CiMmPrimGetSupportedRegResultOptionsCnf; + +typedef CiEmptyPrim CiMmPrimGetRegResultOptionReq ; +typedef CiEmptyPrim CiMmPrimGetBandIndReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetBandIndCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + CiBoolean enableBandInd ; /**< Enable status \sa CCI API Ref Manual */ + CiMmCurrentBandInfo currentBand ; /**< Current band \sa CiMmCurrentbandInfo_struct */ + + } CiMmPrimGetBandIndCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetRegResultOptionCnf_struct { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + CiMmRegResultOption Option ; /**< Reporting option \sa CiMmRegResultOption */ + } CiMmPrimGetRegResultOptionCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSetRegResultOptionReq_struct { + CiMmRegResultOption Option ; /**< Reporting option \sa CiMmRegResultOption */ + } CiMmPrimSetRegResultOptionReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSetBandIndReq_struct { + CiBoolean enableBandInd ; /**< Enable / Disable band indications \sa CCI API Ref Manual */ + } CiMmPrimSetBandIndReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSetBandIndCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + } CiMmPrimSetBandIndCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSetRegResultOptionCnf_struct { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + } CiMmPrimSetRegResultOptionCnf; + +//ICAT EXPORTED ENUM + typedef enum CIMM_CAUSE_TYPE { + CI_MM_CAUSE_TYPE_MM = 0 , /**< Indicates that contains an MM cause value , see 3 GPP TS 24.008000 [ 8 ] Annex G*/ + CI_MM_CAUSE_TYPE_MANUFACTURER , /**< Indicates that contains a manufacturer specific cause */ + CI_MM_CAUSE_NONE , + CIMM_NUM_CAUSE_TYPE + } _CiMmCauseType; + +typedef UINT8 CiMmCauseType ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimRegResultInd_struct { + CiMmRegStatus RegStatus ; /**< Registration status \sa CiMmRegStatus */ + CiMmCellInfo info ; /**< Current cell information \sa CiMmCellInfo_struct */ + /* deleted by xwzhou 9052013 CQ43000 , begin */ + // CiMmAccTechMode AccTchMode ; / **< Network access technology \sa CiMmAccTechMode * / + /* deleted by xwzhou 9052013 CQ43000 , end */ + + CiMmCauseType causeType ; /**< cuase type \sa CiMmCauseType */ + UINT16 rejectCause ; /**< contains the cause of the failed registration ( if MM cause type , values define in 3 GPP TS 24.008000 [ 8 ] Annex G ) . The value is of type as defined by causeType */ + CiBoolean pscValid ; /** */ + // ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetNumPreferredOperatorsCnf_struct { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + UINT8 NumPref ; /**< Number of entries in the list */ + } CiMmPrimGetNumPreferredOperatorsCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetPreferredOperatorInfoReq_struct { + UINT8 Index ; /**< Not in use */ + } CiMmPrimGetPreferredOperatorInfoReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetPreferredOperatorInfoCnf_struct { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + CiMmNetOpIdInfo info ; /**< Network / operator ID information \sa CiNetOpIdInfo_struct */ + CiMmAccTechMode AccTchMode ; /**< Not in use. Access Radio technology ; default is GSM. \sa CiMmAccTechMode */ + } CiMmPrimGetPreferredOperatorInfoCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimAddPreferredOperatorReq_struct { + CiMmNetOpIdInfo info ; /**< New network / operator ID information \sa CiNetOpIdInfo_struct */ + CiMmAddPrefOpType addPrefOpType ; /**< \sa CiMmAddPrefOpType */ + UINT8 res1U8 ; /**< ( padding ) just in case */ + UINT16 index ; /**< Entry number to add */ + CiMmAccTechMode AccTchMode ; /**< ACT parameter for COLP command \sa CiMmAccTechMode */ + } CiMmPrimAddPreferredOperatorReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimAddPreferredOperatorCnf_struct { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + UINT8 NumPref ; /**< Not in use */ + } CiMmPrimAddPreferredOperatorCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimDeletePreferredOperatorReq_struct { + UINT8 Index ; /**< Index ( entry number ) to delete */ + } CiMmPrimDeletePreferredOperatorReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimDeletePreferredOperatorCnf_struct { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + UINT8 NumPref ; /**< Not in use */ + } CiMmPrimDeletePreferredOperatorCnf; + +typedef CiEmptyPrim CiMmPrimGetCurrentOperatorInfoReq ; +typedef CiEmptyPrim CiMmPrimGetAsrCurrentOperatorInfoReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetCurrentOperatorInfoCnf_struct { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + CiMmRegMode RegMode ; /**< Current registration mode \sa CiMmRegMode */ + CiMmNetOpIdInfo info [ 2 ] ; /**< Current network / operator ID information \sa CiNetOpIdInfo_struct */ + /* deleted by xwzhou 9052013 CQ43000 , begin */ + // CiMmAccTechMode AccTchMode ; / **< Access radio technology ; default is GSM \sa CiMmAccTechMode * / + /* deleted by xwzhou 9052013 CQ43000 , end */ + } CiMmPrimGetCurrentOperatorInfoCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetAsrCurrentOperatorInfoCnf_struct { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + CiMmRegMode RegMode ; /**< Current registration mode \sa CiMmRegMode */ + CiMmNetOpIdInfo info [ 2 ] ; /**< Current network / operator ID information \sa CiNetOpIdInfo_struct */ + CiMmNetOpIdInfo info_alpha [ 2 ] ; /**< Current network / operator ID information \sa CiNetOpIdInfo_struct */ + CiMmNetOpIdInfo info_longAlpha [ 2 ] ; /**< Current network / operator ID information \sa CiNetOpIdInfo_struct */ + } CiMmPrimGetAsrCurrentOperatorInfoCnf; + +typedef CiEmptyPrim CiMmPrimNetworkModeReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimNetworkModeCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + CiMmNetworkModeReport mode ; /**< Cell capabilities network mode*/ + CiBoolean gprsActive ; /**< Active high speed service: gprsActive ( 1 - gprs is active , 0 - gprs is inactive ) */ + CiBoolean egprsActive ; /**< Active high speed service: egprsActive ( 1 - egprs is active , 0 - egprs is inactive ) */ + CiBoolean hsdpaActive ; /**< Active high speed service: hsdpaActive ( 1 - hsdpa is active , 0 - hsdpa is inactive ) */ + CiBoolean hsupaActive ; /**< Active high speed service: hsupaActive ( 1 - hsupa is active , 0 - hsupa is inactive ) */ + CiBoolean epsActive ; /**< Active high speed service: epsActive ( 1 - eps is active , 0 - eps is inactive ) */ + CiBoolean dcHsdpaActive ; /**< Active high speed service: dcHsdpaActive ( 1 - dcHsdpa is active , 0 - dcHsdpa is inactive ) */ + CiBoolean hspaPlusActive ; /**< Active high speed service: hspaPlusActive ( 1 - HSPA+ is active , 0 - HSPA+ is inactive ) */ + } CiMmPrimNetworkModeCnf; + +typedef CiEmptyPrim CiMmPrimAutoRegisterReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimAutoRegisterCnf_struct { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + } CiMmPrimAutoRegisterCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimManualRegisterReq_struct { + CiBoolean AutoFallback ; /**< TRUE - Fallback to automatic registration ; FALSE - No fallback to automatic registration \sa CCI API Ref Manual */ + CiMmNetOpIdInfo info ; /**< Network operator identification information \sa CiNetOpIdInfo_struct */ + CiMmAccTechMode AccTchMode ; /**< Access radio technology ; default is GSM \sa CiMmAccTechMode */ + } CiMmPrimManualRegisterReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimManualRegisterCnf_struct { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + } CiMmPrimManualRegisterCnf; + +typedef CiEmptyPrim CiMmPrimDeregisterReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimDeregisterCnf_struct { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + } CiMmPrimDeregisterCnf; + +typedef CiEmptyPrim CiMmPrimGetSigQualityIndConfigReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetSigQualityIndConfigCnf_struct { + CiMmResultCode Result ; + CiMmSigQualityConfig config ; + } CiMmPrimGetSigQualityIndConfigCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSetSigQualityIndConfigReq_struct { + CiMmSigQualityConfig config ; /**< Signal quality configuration \sa CiMmSigQualityConfig_struct */ + } CiMmPrimSetSigQualityIndConfigReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSetSigQualityIndConfigCnf_struct { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + } CiMmPrimSetSigQualityIndConfigCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSigQualityInfoInd_struct { + CiMmSigQualityInfo info ; /**< Signal quality information \sa CiMmSigQualityInfo_struct */ + } CiMmPrimSigQualityInfoInd; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimExtendedSigQualityInfoInd_struct { + CiMmSigExtendedQualityInfo info ; /**< Signal quality information \sa CiMmSigExtendedQualityInfo_struct */ + } CiMmPrimExtendedSigQualityInfoInd; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimNormalSigQualityInfoInd_struct { + CiMmSigNormalQualityInfo info ; /**< Signal quality information \sa CiMmSigQualityInfo_struct */ + } CiMmPrimNormalSigQualityInfoInd; + +//ICAT EXPORTED ENUM + typedef enum CIMM_SIGQUALITY_TYPE { + CI_MM_SIGQUALITY_CSQ = 0 , /**< Indicates that contains an MM cause value , see 3 GPP TS 24.008000 [ 8 ] Annex G*/ + CI_MM_SIGQUALITY_ECSQ , /**< Indicates that contains a manufacturer specific cause */ + CI_MM_SIGQUALITY_NONE , + } _CiMmSigQualityType; + +typedef UINT8 CiMmSigQualityType ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSigQualityInfoReq_struct { + CiMmSigQualityType sigQualityType ; + + } CiMmPrimSigQualityInfoReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSigQualityInfoCnf_struct { + CiMmResultCode result ; + CiMmSigQualityType sigQualityType ; + CiMmSigNormalQualityInfo normalInfo ; /**< Signal quality information \sa CiMmSigQualityInfo_struct */ + CiMmSigExtendedQualityInfo extendedInfo ; /**< Signal quality information \sa CiMmSigExtendedQualityInfo_struct */ + } CiMmPrimSigQualityInfoCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimEnableNetworkModeIndReq_struct + { + CiBoolean enable ; /**< TRUE - Enable network mode indication ; FALSE - Disable network mode indication ( default ) \sa CCI API Ref Manual */ + } CiMmPrimEnableNetworkModeIndReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimEnableNetworkModeIndCnf_struct { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + } CiMmPrimEnableNetworkModeIndCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimNetworkModeInd_struct + { + /* Michal Bukai enter Vadim modification for NetworkModeIndication */ + + + + CiMmNetworkModeReport mode ; /**< Cell capabilities network mode \sa CiMmNetworkModeReport */ + CiBoolean gprsActive ; /**< Active high speed service: gprsActive ( 1 - gprs is active , 0 - gprs is inactive ) \sa CCI API Ref Manual */ + CiBoolean egprsActive ; /**< Active high speed service: egprsActive ( 1 - egprs is active , 0 - egprs is inactive ) \sa CCI API Ref Manual */ + CiBoolean hsdpaActive ; /**< Active high speed service: hsdpaActive ( 1 - hsdpa is active , 0 - hsdpa is inactive ) \sa CCI API Ref Manual */ + CiBoolean hsupaActive ; /**< Active high speed service: hsupaActive ( 1 - hsupa is active , 0 - hsupa is inactive ) \sa CCI API Ref Manual */ + CiBoolean hspaPlusActive ; /**< Active high speed service: hspa+ ( 1 - hspa+ is active , 0 - hspa+ is inactive ) \sa CCI API Ref Manual */ + + CiBoolean epsActive ; /**< Active high speed service: epsActive ( 1 - eps is active , 0 - eps is inactive ) \sa CCI API Ref Manual */ + + UINT8 domain ; /**< CS or PS domain , 0 :CS only ; 1 :PS only ; 2 :Combined CS / PS */ + } CiMmPrimNetworkModeInd; + +typedef CiEmptyPrim CiMmPrimGetNitzInfoReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetNitzInfoCnf_struct + { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + CiMmNitzInfo info ; /**< NITZ information \sa CiMmNitzInfo_struct */ + } CiMmPrimGetNitzInfoCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimNitzInfoInd_struct + { + CiMmNitzInfo info ; /**< NITZ information \sa CiMmNitzInfo_struct */ + } CiMmPrimNitzInfoInd; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimCipheringStatusInd_struct { + CiBoolean CsCipheringOn ; /**< TRUE if ON , FALSE if OFF ; \sa CCI API Ref Manual */ + CiBoolean PsCipheringOn ; /**< TRUE if ON , FALSE if OFF ; \sa CCI API Ref Manual */ + CiBoolean CipheringIndicatorOn ; /**< TRUE if required , FALSE if not required ; \sa CCI API Ref Manual */ + + } CiMmPrimCipheringStatusInd; + +typedef UINT8 CiMmRejectType ; +typedef UINT8 CiGmmRejectType ; +typedef UINT8 CiEmmRejectType ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimAirInterfaceRejectCauseInd_struct { + CiMmRejectType mmRejectType ; /**< MM Reject type \sa CiMmRejectType */ + CiMmCause mmCause ; /**< MM state \sa CiMmCause */ + + CiGmmRejectType gmmRejectType ; /**< GMM Reject type \sa CiGmmRejectType */ + CiGmmCause gmmCause ; /**< GMM state \sa CiGmmCause */ + + CiEmmRejectType emmRejectType ; + CiEmmCause emmCause ; /**< EMM state \sa CiEmmCause */ + + CiMmErrorCauseType causeType ; + } CiMmPrimAirInterfaceRejectCauseInd; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSelectPreferredPlmnListReq_struct { + CiMmListIndexType ListIndex ; /**< Preferred PLMN list type \sa CiMmListIndexType*/ + } CiMmPrimSelectPreferredPlmnListReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSelectPreferredPlmnListCnf_struct { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + } CiMmPrimSelectPreferredPlmnListCnf; + +typedef CiEmptyPrim CiMmPrimGetPreferredPlmnListReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetPreferredPlmnListCnf_struct { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + CiMmListIndexType ListIndex ; /**< Preferred PLMN list type \sa CiMmListIndexType*/ + } CiMmPrimGetPreferredPlmnListCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimServiceRestrictionsInd_struct + { + CiBoolean manualPlmnSelectionAllowed ; /**< TRUE if display of PLMN selection menus is allowed \sa CCI API Ref Manual */ + } CiMmPrimServiceRestrictionsInd; + +typedef CiEmptyPrim CiMmPrimCancelManualPlmnSearchReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimCancelManualPlmnSearchCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + } CiMmPrimCancelManualPlmnSearchCnf; + +typedef CiEmptyPrim CiMmPrimTriggerUserReselectionReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimTriggerUserReselectionCnf_struct { + CiMmResultCode result ; /**< Result code */ + } CiMmPrimTriggerUserReselectionCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimHomeZoneInd_struct { + CiBoolean ZoneInd ; /**< TRUE - display HomeZone / CitiZone Indication for the zone specified in " ZoneId " field , FALSE -remove HomeZone / CitiZone indication \sa CCI API Ref Manual */ + UINT8 ZoneId ; /**< Zone ID*/ + CiBoolean IsCityZone ; /**< TRUE - detected zone is CityZone , FALSE - detected zone is HomeZone \sa CCI API Ref Manual */ + CiBoolean ZoneTagPreset ; /**< TRUE - Zone TAG is included , FALSE - Zone TAG is not included \sa CCI API Ref Manual */ + CiString ZoneTag ; /**< 13 -character string coded in the short message alphabet given in GSM 3.380000 with bit 8 set to Zero. 0xff indicates end of string \sa CCI API Ref Manual */ + } CiMmPrimHomeZoneInd; + +//ICAT EXPORTED ENUM + /** \brief Cell lock modes */ + /** \remarks Common Data Section */ + typedef enum CIMM_CELL_LOCK_MODE + { + CIMM_CELL_LOCK_MODE_NONE = 0 , /**< Cell / Freq Lock and IRAT optimization disabled */ + CIMM_CELL_LOCK_MODE_LOCKFREQ = 1 , /**< Freq Lock enabled */ + CIMM_CELL_LOCK_MODE_LOCKCELL = 2 , /**< Cell Lock enabled */ + // CIMM_CELL_LOCK_MODE_IRAT_OPTIMIZATION = 3 , / **< IRAT optimization for cell reselection enabled * / + CIMM_CELL_LOCK_MODE_LOCKBAND = 3 , + // CIMM_CELL_LOCK_MODE_SYNC_CELL = 4 , / **< LTE Cell sync detection enabled * / + + CIMM_NUM_CELLLOCK_MODES , + } _CiMmCellLockMode; + +typedef UINT8 CiMmCellLockMode ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimCellLockReq_struct { + CiMmCellLockMode mode ; /**< Cell lock mode \sa CiMmCellLockMode */ + CiMmCellLockActMode act ; /**< Network mode \sa CiMmNetworkMode */ + UINT8 bandValue ; + UINT32 freq ; /**< Absolute radio frequency channel number ; GSM number 0 -1023 , TD number 10054 -10121 and 9404 -9596 */ + INT16 cellId ; /**< Cell parameter ID This parameter if valid for 3 G cells only 0 -127 , and for TD LTE cells only 0 -503 */ + // INT8 tddOffset ; / **< RSCP threshold for IRAT cell reselection ; -115~-25dB and default -85dB* / + } CiMmPrimCellLockReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimCellLockCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + } CiMmPrimCellLockCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimCellLockInd_struct { + CiMmCellLockMode mode ; /**< Cell lock mode \sa CiMmCellLockMode */ + CiMmNetworkMode networkMode ; /**< Network mode \sa CiMmNetworkMode */ + + UINT16 arfcn ; /**< Absolute radio frequency channel number ; GSM number 0 -1023 , TD number 10054 -10121 and 9404 -9596 */ + UINT8 cellParameterId ; /**< Cell parameter ID This parameter if valid for 3 G cells only 0 -127*/ + INT8 tddOffset ; /**< RSCP threshold for IRAT cell reselection ; -115~-25dB and default -85dB*/ + } CiMmPrimCellLockInd; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimWBCellLockReq_struct { + CiBoolean ActivateCellLock ; /**< TRUE - activate cell lock ; FALSE - deactivate cell lock \sa CiBoolean */ + CiMmCurrentBandInfo Band ; /**< Band \sa CiMmCurrentbandInfo */ + UINT16 arfcn ; /**< Absolute radio frequency channel number ; number 0 -1023 */ + UINT16 ScramblingCode ; /**< Primary scrambling code This parameter if valid for 3 G cells only */ + } CiMmPrimWBCellLockReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimWBCellLockCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + } CiMmPrimWBCellLockCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSetFastDormantCapReq_struct { + CiBoolean fastDormantEnabled ; /**< TRUE - enabled ; FALSE - disabled ; \sa CCI API Ref Manual */ + } CiMmPrimSetFastDormantCapReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSetFastDormantCapCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + } CiMmPrimSetFastDormantCapCnf; + +typedef CiEmptyPrim CiMmPrimGetFastDormantCapReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetFastDormantCapCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + + CiBoolean fastDormantEnabled ; /**< TRUE - enabled ; FALSE - disabled ; \sa CCI API Ref Manual */ + } CiMmPrimGetFastDormantCapCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSetNasIntegrityCheckReq_struct { + CiBoolean integrityCheckEnabled ; /**< TRUE - enabled ; FALSE - disabled ; \sa CCI API Ref Manual */ + } CiMmPrimSetNasIntegrityCheckReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSetNasIntegrityCheckCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + } CiMmPrimSetNasIntegrityCheckCnf; + +typedef CiEmptyPrim CiMmPrimGetNasIntegrityCheckReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetNasIntegrityCheckCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + + CiBoolean integrityCheckEnabled ; /**< TRUE - enabled ; FALSE - disabled ; \sa CCI API Ref Manual */ + } CiMmPrimGetNasIntegrityCheckCnf; + +typedef CiEmptyPrim CiMmPrimGetNumLteNetworkOperatorsReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetNumLteNetworkOperatorsCnf_struct { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + UINT8 NumOperators ; /**< Number of operators present */ + } CiMmPrimGetNumLteNetworkOperatorsCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetLteNetworkOperatorInfoReq_struct { + UINT8 Index ; /**< Numeric index , specifying the network operator for which information is requested [ 1 ..number of operators present ] */ + } CiMmPrimGetLteNetworkOperatorInfoReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetLteNetworkOperatorInfoCnf_struct { + CiMmResultCode Result ; /**< Result code \sa CiMmResultCode */ + + CiMmNetOpStatusInfo opStatus ; /**< Network operator status information , if available \sa CiNetOpStatusInfo_struct */ + } CiMmPrimGetLteNetworkOperatorInfoCnf; + +typedef CiEmptyPrim CiMmPrimGetLteBackgroundInfoReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetLteBackgroundInfoCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + CiBoolean status ; /**< TRUE - enabled ; FALSE - disabled ; \sa CCI API Ref Manual */ + UINT16 interval ; /**< Background search interval in minutes , 0 :immediately ; 15 , 30 , 60 minutes ; 0xFFFF don ' t search*/ + } CiMmPrimGetLteBackgroundInfoCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSetLteBackgroundInfoReq_struct { + CiBoolean status ; /**< TRUE - enabled ; FALSE - disabled ; \sa CCI API Ref Manual */ + UINT16 interval ; /**< Background search interval in minutes , 0 :immediately ; 15 , 30 , 60 minutes ; 0xFFFF don ' t search*/ + } CiMmPrimSetLteBackgroundInfoReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSetLteBackgroundInfoCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + } CiMmPrimSetLteBackgroundInfoCnf; + +//ICAT EXPORTED ENUM + /** \brief Paging Identity Element */ + /** \remarks Common Data Section */ + typedef enum CIMM_PAGING_IDENTITY_ELEMENT + { + CI_MM_CN_PAGING_BY_IMSI , + CI_MM_CN_PAGING_BY_TMSI , + + CI_MM_NUM_PAGING_IDENTITY_ELEMENT + } _CiMmPagingIdentityElement; + +typedef UINT8 CiMmPagingIdentityElement ; +//ICAT EXPORTED STRUCT + typedef struct CiMmCliElement_struct + { + INT8 length ; + INT8 data [ 12 ] ; /* 24008 , 10.500000 .4.9 */ + } CiMmCliElement; + +//ICAT EXPORTED STRUCT + typedef struct CiMmSsCodeElement_struct + { + INT8 value ; /* 29002 , 17.700000 .5 */ + } CiMmSsCodeElement; + +//ICAT EXPORTED STRUCT + typedef struct CiMmLcsIndicatorElement_struct + { + INT8 value ; + } CiMmLcsIndicatorElement; + +//ICAT EXPORTED STRUCT + typedef struct CiMmLcsClientIdentityElement_struct + { + INT8 length ; + INT8 data [ 255 ] ; /* 29002 , 17.700000 .13 */ + } CiMmLcsClientIdentityElement; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimCsServiceNotificationInd_struct { + CiMmPagingIdentityElement pagingIdentity ; /* 24301 , 9.900000 .3.25A */ + CiBoolean cliPresent ; + CiMmCliElement cli ; /* 24301 , 9.900000 .3.38 */ + CiBoolean ssCodePresent ; + CiMmSsCodeElement ssCode ; /* 24301 , 9.900000 .3.39 */ + CiBoolean lcsIndicatorPresent ; + CiMmLcsIndicatorElement lcsIndicator ; /* 24301 , 9.900000 .3.40 */ + CiBoolean lcsClientIdentityPresent ; + CiMmLcsClientIdentityElement lcsClientIdentity ; /* 24301 , 9.900000 .3.41 */ + } CiMmPrimCsServiceNotificationInd; + +//ICAT EXPORTED ENUM + /** \brief CIMM Respond Value */ + /** \remarks Common Data Section */ + typedef enum CIMM_RSP_VALUE + { + CI_MM_CSFB_ACCEPT , + CI_MM_CSFB_REJECT , + CI_MM_CSFB_OTHERS , // set it when timer expired , or others + + CI_MM_NUM_RSP_VALUE + } _CiMmRspValue; + +typedef UINT8 CiMmRspValue ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimCsServiceNotificationRsp_struct { + CiMmRspValue rspValue ; + } CiMmPrimCsServiceNotificationRsp; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimDsacStatusInd_struct { + CiBoolean csDomainBarred ; + CiBoolean psDomainBarred ; + } CiMmPrimDsacStatusInd; + +//ICAT EXPORTED STRUCT + typedef struct CiMmSetSrvccSupportReq_struct { + CiBoolean srvcc_status ; + } CiMmSetSrvccSupportReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmSetSrvccSupportCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + } CiMmSetSrvccSupportCnf; + +typedef CiEmptyPrim CiMmGetSrvccSupportReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmGetSrvccSupportCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + CiBoolean srvcc_status ; + } CiMmGetSrvccSupportCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmSetImsNwReportModeReq_struct { + CiBoolean reporting ; + } CiMmSetImsNwReportModeReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmSetImsNwReportModeCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + } CiMmSetImsNwReportModeCnf; + +typedef CiEmptyPrim CiMmGetImsNwReportModeReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmGetImsNwReportModeCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + CiBoolean reporting ; + CiBoolean nwimsvops ; + } CiMmGetImsNwReportModeCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmImsvopsInd_struct { + CiBoolean nwimsvops ; + } CiMmImsvopsInd; + +//ICAT EXPORTED ENUM + typedef enum CIMM_SRVCC_IND_TYPE { + CI_MM_SRVCC_STARTED = 0 , + CI_MM_SRVCC_SUCCESSFUL , + CI_MM_SRVCC_CANCELLED , + CI_MM_SRVCC_GENERAL_FAILURE , + + /* This one must always be last in the list! */ + CI_MM_SRVCC_NUM_TYPE + } _CiMmSrvccType; + +typedef UINT8 CiMmSrvccHType ; +//ICAT EXPORTED STRUCT + typedef struct CiMmSrvccHandoverInd_struct { + CiMmSrvccHType srvcch ; + } CiMmSrvccHandoverInd; + +//ICAT EXPORTED STRUCT + typedef struct CiMmSetEmergencyNumberReportModeReq_struct { + CiBoolean reporting ; + } CiMmSetEmergencyNumberReportModeReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmSetEmergencyNumberReportModeCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + } CiMmSetEmergencyNumberReportModeCnf; + +typedef CiEmptyPrim CiMmGetEmergencyNumberReportReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmEmergencyNumberInfo_struct { + CHAR dialString [ 40 ] ; + CiBitRange ServiceCat ; + } CiMmEmergencyNumberInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiMmGetEmergencyNumberReportCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + CiBoolean reporting ; /** 0 - disable ; 1 - enable */ + CiMmNetworkId networkId ; + UINT8 numNumbers ; /** num of emergency numbers */ + CiMmEmergencyNumberInfo numbers [ 15 ] ; + } CiMmGetEmergencyNumberReportCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmEmergencyNumberReportInd_struct { + CiBoolean reporting ; /** 0 - disable ; 1 - enable */ + CiMmNetworkId networkId ; + UINT8 numNumbers ; /** num of emergency numbers */ + CiMmEmergencyNumberInfo numbers [ 15 ] ; + } CiMmEmergencyNumberReportInd; + +//ICAT EXPORTED STRUCT + typedef struct CiMmSetNwEmergencyBearerServicesReq_struct { + CiBoolean reporting ; + } CiMmSetNwEmergencyBearerServicesReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmSetNwEmergencyBearerServicesCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + } CiMmSetNwEmergencyBearerServicesCnf; + +typedef CiEmptyPrim CiMmGetNwEmergencyBearerServicesReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmGetNwEmergencyBearerServicesCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + CiBoolean reporting ; + UINT8 emb_Iu_supp ; + UINT8 emb_S1_supp ; + } CiMmGetNwEmergencyBearerServicesCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmNwEmergencyBearerServicesIuInd_struct { + UINT8 emb_Iu_supp ; + } CiMmNwEmergencyBearerServicesIuInd; + +//ICAT EXPORTED STRUCT + typedef struct CiMmNwEmergencyBearerServicesS1Ind_struct { + UINT8 emb_S1_supp ; + } CiMmNwEmergencyBearerServicesS1Ind; + +typedef CiEmptyPrim CiMmGetSsacStatusReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmGetSsacStatusCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + UINT8 BFVoice ; /**< parameter shows the barring factor for MMTEL voice ( 0 -16 ) */ + UINT8 BFVideo ; /**< parameter shows the barring factor for MMTEL video ( 0 -16 ) */ + UINT8 BTVoice ; /**< parameter shows the barring timer for MMTEL voice ( 0 -8 ) */ + UINT8 BTVideo ; /**< parameter shows the barring timer for MMTEL video ( 0 -8 ) */ + } CiMmGetSsacStatusCnf; + +typedef UINT8 CiMmCsgWhiteListType ; +//ICAT EXPORTED STRUCT + typedef struct CiMmCsgInfo_struct { + UINT32 csgId ; /**< indicates the CSG ID of the cells which were found. */ + CiBoolean hnbNamePresent ; /**< indicates if HnbName is used. TRUE - HnbName is used. False - HnbName is unused.*/ + UINT8 hnbName [ 48 ] ; /**< text of up to 48 chars. */ + CiBoolean hnbTypePresent ; /**< indicates if HnbType is used. TRUE - HnbType is used. False - HnbType is unused.*/ + UINT8 hnbType [ 12 ] ; /**< Additional information for this CSG. */ + CiMmCsgWhiteListType whileListType ; + } CiMmCsgInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiMmCsgCellInfo_struct { + CiMmCsgInfo csgInfo ; /**< CSG information */ + CiMmNetworkId networkId ; /**< Network ID */ + CiMmNetworkMode mode ; /**< Cell capabilities network mode */ + } CiMmCsgCellInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimCsgListSearchReq_struct { + UINT8 csgIndexReq ; /**< indicates the CSG index requsted to get , 0 means beging of the new search , else is reading of the last resulsts from listed offset*/ + } CiMmPrimCsgListSearchReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimCsgListSearchCnf_struct { + CiMmResultCode result ; /**< Result code */ + UINT8 totalNumOfCsg ; /**< number of CSG ID which were found 0 ..MAX_NUMBER_OF_CSG ( = 40 ) */ + UINT8 startCsgIndex ; /**< first CSG ID inedx which were included in this message */ + UINT8 numCsgList ; /**< number of CSG ID which were included in this message */ + CiMmCsgCellInfo csgList [ 20 ] ; /**< list of all the CSG which were found and their parameters*/ + } CiMmPrimCsgListSearchCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimCsgSelectReq_struct { + UINT32 csgId ; /**< indicates the CSG ID of the cells which were found. bits 0 -26: can receive any value. 27 - 31 should be set to 0 .*/ + CiMmNetworkId networkId ; /**< Network ID */ + CiMmNetworkMode mode ; /**< Selected network mode */ + } CiMmPrimCsgSelectReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimCsgSelectCnf_struct { + CiMmResultCode result ; /**< Result code */ + } CiMmPrimCsgSelectCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimRegResultExtendedInd_struct { + CiMmRegStatus RegStatus ; /**< Registration status \sa CiMmRegStatus */ + CiBoolean csgCellInfoPresent ; /**< Indication if CSG Information field is valid */ + CiMmCsgCellInfo csgCellInfo ; /**< CSG Information */ + } CiMmPrimRegResultExtendedInd; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSetPowerUpNetworkModeReq_struct { + CiMmPowerUpPlmnSelectionMode mode ; /**< Power up PLMN selection mode \sa CiMmPowerUpPlmnSelectionMode */ + } CiMmPrimSetPowerUpNetworkModeReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSetPowerUpNetworkModeCnf_struct { + CiMmResultCode result ; /**< Result code */ + } CiMmPrimSetPowerUpNetworkModeCnf; + +typedef CiEmptyPrim CiMmPrimGetPowerUpNetworkModeReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetPowerUpNetworkModeCnf_struct { + CiMmResultCode result ; /**< Result code */ + CiMmPowerUpPlmnSelectionMode mode ; /**< Power up PLMN selection mode \sa CiMmPowerUpPlmnSelectionMode */ + } CiMmPrimGetPowerUpNetworkModeCnf; + +typedef UINT32 CiMmFratPlmnAction ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimFratListActionReq_struct { + CiMmFratPlmnAction action ; + CiMmNetworkId newPlmn ; /**< PLMN mnc / mcc to be added to FRAT list*/ + } CiMmPrimFratListActionReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimFratListActionCnf_struct { + CiMmResultCode result ; /**< Result code */ + } CiMmPrimFratListActionCnf; + +typedef CiEmptyPrim CiMmPrimGetFratListReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetFratListCnf_struct { + UINT8 listSize ; /**< FRAT list size*/ + CiMmNetworkId fratList [ 20 ] ; /**< FRAT list*/ + } CiMmPrimGetFratListCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSetSecurityCapablilityReq_struct + { + CiBoolean nasSecCapPresent ; + CiBoolean umtsRrcCACapPresent ; + CiBoolean umtsRrcIPCapPresent ; + + INT32 nasSecCap ; + INT16 umtsRrcCACap ; + INT16 umtsRrcIPCap ; + } CiMmPrimSetSecurityCapablilityReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSetSecurityCapablilityCnf_struct + { + CiMmResultCode result ; /**< Result code */ + } CiMmPrimSetSecurityCapablilityCnf; + +typedef CiEmptyPrim CiMmPrimGetSecurityCapablilityReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetSecurityCapablilityCnf_struct + { + CiMmResultCode result ; /**< Result code */ + + INT32 nasSecCap ; + INT16 umtsRrcCACap ; + INT16 umtsRrcIPCap ; + } CiMmPrimGetSecurityCapablilityCnf; + +//ICAT EXPORTED ENUM + typedef enum CiMmCipheringIndicatorTag + { + CI_MM_CIPHERING_NONE = 0x00 , /* Ciphering not used */ + CI_MM_CIPHERING_CS = 0x01 , /* EPS integrity Algorithm EIA / 1 */ + CI_MM_CIPHERING_PS = 0x02 , + CI_MM_CIPHERING_CS_PS = 0x03 , + + } + _CiMmCipheringIndicator; + +typedef UINT8 CiMmCipheringIndicator ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimNetworkCellMatInfoInd_struct + { + CiMmRegMode regMode ; // , from COPS + CiMmRegStatus stat ; // , from CREG + CiMmNetOpIdInfo netOpInfo ; // , , , , from COPS + + CiBoolean lacPresent ; // in LTE NW mode , LAC maybe not existed + UINT16 lac ; // , two bytes + CiBoolean racPresent ; // in LTE NW mode , no RAC + UINT8 rac ; // , one byte + CiBoolean cellIdPresent ; + UINT32 cellId ; // + CiBoolean tacPresent ; // in LTE NW mode , no RAC + UINT16 tac ; // , two bytes + + CiBoolean nwDTMSupported ; // whether NW support DTM + CiBoolean volteAvaiable ; // whether NW support VOLTE + CiBoolean imsEmAvaiable ; // whether NW support emergency bearer + CiBoolean t323Avaiable ; + + UINT8 mmtelVoiceAcBarringFactor ; /*0-100 , Voice service barring factor. From 0 to 100 where 0 means 0 % probability and 100 means 100 % probability. */ + UINT16 mmtelVoiceAcBarringTime ; /*0-512 , Voice service mean access barring time value in seconds. */ + UINT8 mmtelVideoAcBarringFactor ; /*0-100 , Video service barring factor. From 0 to 100 where 0 means 0 % probability and 100 means 100 % probability. */ + UINT16 mmtelVideoAcBarringTime ; /*0-512 , Video service mean access barring time value in seconds. */ + + CiBoolean phyCellIdPresent ; + /*LTE: phy cell ID ; + *UMTS Primary scrambling code + *GSM bsic: base station identity code*/ + UINT16 phyCellId ; + // add by taow 20150506 for ciphering begin + CiMmCipheringIndicator cipheringIndicator ; + // add by taow 20150506 for ciphering end + /*add by taow 20181102 CQ00112738 begin*/ + /*GSM MODE 16 -bit GSM Absolute RF channel number ; this value must be reported * + *wcdma 16 -bit UMTS Absolute RF Channel Number ; this value must be reported + *lte 18 -bit LTE Absolute RF Channel Number ; this value must be reported + */ + UINT32 frequency ; + /*add by taow 20181102 CQ00112738 end*/ + } CiMmPrimNetworkCellMatInfoInd; + +typedef UINT8 CiMmEccStatus ; +typedef UINT8 CiMmEccCnfActStatus ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimEmergencyCallStatusReq_struct + { + CiMmEccStatus eccStatus ; + CiMmAccTechMode reqAct ; + } CiMmPrimEmergencyCallStatusReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimEmergencyCallStatusCnf_struct + { + CiMmResultCode result ; + CiMmAccTechMode act ; + CiMmEccCnfActStatus actStatus ; + } CiMmPrimEmergencyCallStatusCnf; + +typedef CiEmptyPrim CiMmPrimNewAttachInd ; +typedef UINT8 CiMmUcdOpMode ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimJammingDetectionReq_struct { + UINT8 mode ; /**< mode of operation */ + UINT8 minNumberOfGsmCarriers ; /**< The number of 2 G carriers */ + UINT8 gsmRxLevThreshold ; /**< Threshold level for 2 G carriers */ + UINT8 minNumberOfUmtsCarriers ; /**< The number of 3 G carriers */ + UINT8 umtsRssiLevThreshold ; /**< Threshold level for 3 G carriers */ + CiBoolean networkIdPresent ; /**< If true - a prefered network operator is attached */ + CiMmNetworkId networkId ; /**< Prefered network operator */ + } CiMmPrimJammingDetectionReq; + +//ICAT EXPORTED ENUM + typedef enum CIMM_JAMMING_STATUS { + CI_MM_2G_JAMMING_NOT_DETECTED = 0 , + CI_MM_2G_JAMMING_DETECTED , + CI_MM_3G_JAMMING_NOT_DETECTED , + CI_MM_3G_JAMMING_DETECTED + } _CiMmJammingStatus; + +typedef UINT8 CiMmJammingStatus ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimJammingDetectionInd_struct { + CiMmJammingStatus active ; /**< jamming status report */ + } CiMmPrimJammingDetectionInd; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimJammingDetectionCnf_struct { + CiMmResultCode result ; /**< result code */ + CiBoolean activePresent ; /**< if true - the current jamming status is return */ + UINT8 active ; /**< the current jamming status */ + } CiMmPrimJammingDetectionCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSetGprsEgprsMultislotClassReq_struct { + UINT8 msClassGprs ; + UINT8 msClassEgprs ; + } CiMmPrimSetGprsEgprsMultislotClassReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSetGprsEgprsMultislotClassCnf_struct { + CiMmResultCode result ; + } CiMmPrimSetGprsEgprsMultislotClassCnf; + +//ICAT EXPORTED ENUM + typedef enum CIMM_OPERATOR_NAME_SOURCE { + CI_MM_OPERATOR_NAME_EONS , /**< EF_OPL and EF_PNN files.*/ + CI_MM_OPERATOR_NAME_NITZ , /**< NITZ service.*/ + CI_MM_OPERATOR_NAME_CPHS , /**< CPHS Operator Name string.*/ + CI_MM_OPERATOR_NAME_MT , /**< MT hardcoded operator name.*/ + CI_MM_OPERATOR_NAME_INVALID , /**< String containing the operator name to be displayed.*/ + } _CiMmOperatorNameSource; + +typedef UINT8 CiMmOperatorDisplayType ; +typedef UINT8 CiMmDisplayCondition ; +//ICAT EXPORTED ENUM + typedef enum CIMM_OPERATOR_DISPLAY_TYPE { + CI_MM_NUMERIC_FORMAT = 0 , /**< The network name will appear as MCC / MNC , for example 425 / 1 */ + CI_MM_SHORT_NAME_IN_ROM , /**< The short network name from the ROM will be returned*/ + CI_MM_LONG_NAME_IN_ROM , /**< The long network name from the ROM will be returned*/ + CI_MM_SHORT_NAME_CPHS , /**< The short network name that appears in the CPHS files on the SIM will be returned*/ + CI_MM_LONG_NAME_CPHS , /**< The long network name that appears in the CPHS files on the SIM will be returned*/ + CI_MM_SHORT_NITZ_NAME , /**< The short network name received by NITZ will be returned*/ + CI_MM_FULL_NITZ_NAME , /**< The full network name received by NITZ will be returned*/ + CI_MM_SERVICE_PROVIDER_NAME , /**< The network name that has been read from the EF_SPN file on the SIM will be returned*/ + CI_MM_EONS_SHORT_NAME , /**< The short network name that appears in the EONS files on the SIM will be returned*/ + CI_MM_EONS_LONG_NAME , /**< The long network name that appears in the EONS files on the SIM will be returned*/ + CI_MM_SHORT_NETWORK_NAME , /**< Not supported - for future use*/ + CI_MM_LONG_NETWORK_NAME , /**< Not supported - for future use*/ + } _CiMmOperatorDisplayType; + +typedef UINT8 CiMmOperatorNameSource ; +//ICAT EXPORTED ENUM + typedef enum CIMM_DISPLAY_CONDITION { + CI_MM_SPN_DONT_DISPLAY_PLMN = 0 , /**< display of the registered PLMN is not required when the registered PLMN is either the HPLMN or a PLMN listed in SPDI list*/ + CI_MM_SPN_DISPLAY_PLMN , /**< display of the registered PLMN is required when the registered PLMN is either the HPLMN or a PLMN listed in the SPDI list*/ + CI_MM_SPN_DISPLAY_NOT_APPLICABLE , /**< */ + } _CiMmDisplayCondition; + +//ICAT EXPORTED STRUCT + typedef struct CiMmOperatorDisplayName_struct { + INT8 Length ; /**< The length of the string*/ + char OperatorName [ 128 ] ; /**< String containing the operator name to be displayed.*/ + CiMmOperatorNameSource OperatorNameSource ; /**< Source of returned operator name. */ + } CiMmOperatorDisplayName; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetDisplayOperatorNameReq_struct { + CiMmOperatorDisplayType type ; /**< Which type of network name should be returned. See CiMmOperatorDisplayType_enum */ + } CiMmPrimGetDisplayOperatorNameReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetDisplayOperatorNameCnf_struct { + CiMmResultCode result ; /**< Result code */ + CiMmOperatorDisplayType type ; /**< Which type of network name should be returned. See CiMmOperatorDisplayType_enum */ + CiMmOperatorDisplayName OperatorName ; /**< The requested operator name to be displayed. See CiMmOperatorDisplayName_struct */ + CiMmDisplayCondition DisplayCondition ; /**< The display condition indicated by the SIM. see CiMmDisplayCondition_enum*/ + } CiMmPrimGetDisplayOperatorNameCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimEcallRegReq_struct { + CiBoolean active ; /**< TRUE - New requested implementaion is acrive ; FALSE - Normal operation*/ + } CiMmPrimEcallRegReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimEcallRegCnf_struct { + CiMmResultCode ResultCode ; /**< Result code \sa CiMmResultCode */ + } CiMmPrimEcallRegCnf; + +//ICAT EXPORTED ENUM + typedef enum CiMmRpmPdpBlockReasonTag + { + CI_MM_RPM_PDP_BLOCK_REASON_NONE , + CI_MM_RPM_PDP_BLOCK_REASON_IGNORE , + CI_MM_RPM_PDP_BLOCK_REASON_PERMANENT_REJECT , + CI_MM_RPM_PDP_BLOCK_REASON_TEMP_REJECT , + CI_MM_RPM_PDP_BLOCK_REASON_ACT_DEACT , + CI_MM_RPM_PDP_BLOCK_REASONS + } CiMmRpmPdpBlockReason; + +//ICAT EXPORTED STRUCT + typedef struct CiMMRpmPdpBlockInfoTag + { + CiString apn ; + UINT16 pdpBlockTime ; + CiMmRpmPdpBlockReason pdpBlockReason ; + } CiMMRpmPdpBlockInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimRpmInfoCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + CiBoolean att_SIM ; // Is SIM AT&T + CiBoolean rpmSim ; // Is SIM RPM + CiBoolean RpmEnabled ; // Is RPM enabled + CiMMRpmPdpBlockInfo pdpBlockInfo [ 4 ] ; + UINT16 resetBlockTime ; + } CiMmPrimRpmInfoCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimRpmInfoInd_struct { + CiBoolean att_SIM ; // Is SIM AT&T + CiBoolean rpmSim ; // Is SIM RPM + CiBoolean RpmEnabled ; // Is RPM enabled + CiMMRpmPdpBlockInfo pdpBlockInfo [ 4 ] ; + UINT16 resetBlockTime ; + } CiMmPrimRpmInfoInd; + +//ICAT EXPORTED ENUM + typedef enum CIMmSELECTMODES_TAG { + CI_MM_SELECT_AUTO = 0 , + CI_MM_SELECT_MANUAL , + + CI_MM_NUM_SELECT_MODES + } _CiMmSelectMode; + +typedef UINT8 CiMmSelectMode ; +//ICAT EXPORTED ENUM + typedef enum CIMMUSERNWMODES_TAG { + CI_MM_USER_NW_GSM = 0 , /**< GSM */ + CI_MM_USER_NW_UMTS , /**< UMTS */ + CI_MM_USER_NW_GSM_UMTS , /**< GSM_UMTS */ + CI_MM_USER_NW_LTE , /**< LTE */ + CI_MM_USER_NW_GSM_LTE , /**< GSM_LTE */ + CI_MM_USER_NW_UMTS_LTE , /**< UMTS_LTE */ + CI_MM_USER_NW_GSM_UMTS_LTE , /**< GSM_UMTS_LTE */ + + CI_MM_NUM_NW_MODES + + } _CiMmUserNetworkMode; + +typedef UINT8 CiMmUserNetworkMode ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSetNetworkSelectionReq_struct { + CiMmUserNetworkMode preferredMode ; + CiMmSelectMode selectionMode ; + CiMmUserNetworkMode networkMode ; + } CiMmPrimSetNetworkSelectionReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimSetNetworkSelectionCnf_struct { + CiMmResultCode rc ; + } CiMmPrimSetNetworkSelectionCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmLteCaBandInfo_struct + { + UINT8 dlBandwidth ; /*0 - 1.400000 M , 1 - 3 M , 2 - 5 M , 3 - 10 M , 4 - 15 M , 5 - 20 M */ + UINT16 band ; + UINT32 dlEuArfcn ; + } + CiMmLteCaBandInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiMmLteRrcPcell_struct { + UINT16 Pci ; + UINT32 tac ; + CiMmLteCaBandInfo BandInfo ; + } CiMmLteRrcPcell; + +//ICAT EXPORTED STRUCT + typedef struct CiMmLteRrcScell_struct { + UINT16 Pci ; + UINT8 ScellStatus ; + CiMmLteCaBandInfo BandInfo ; + } CiMmLteRrcScell; + +//ICAT EXPORTED STRUCT + typedef struct CiMmNetOpNameInfo_struct { + CiMmOperatorId LongAlphaId ; /* Long Alphanumeric Operator ID */ + CiMmNetworkId NetworkId ; /**< Network ID \sa CiMmNetworkId_struct */ + } CiMmNetOpNameInfo; + +//ICAT EXPORTED STRUCT + typedef CiEmptyPrim CiMmPrimGetOperatorInfoReq ; + + // ICAT EXPORTED ENUM + typedef enum CIMMROAMINGSTATUS_TAG { + CI_MM_ROAMING_NONE = 0 , + CI_MM_ROAMING_ON , + CI_MM_ROAMING_OFF , + + + CI_MM_NUM_ROAMING + + } _CiMmRoamingStatus; + +typedef UINT8 CiMmRoamingStatus ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetOperatorInfoCnf_struct { + CiMmResultCode Result ; /**< Result code */ + CiMmNetOpNameInfo RPlmn ; /**< Current registration mode */ + CiMmNetOpNameInfo HPlmn ; /**< Current network / operator ID information */ + CiMmRoamingStatus RoamingStatus ; + } CiMmPrimGetOperatorInfoCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimOperatorStatusInd_struct { + CiMmNetOpNameInfo RPlmn ; /**< Current registration mode */ + CiMmNetOpNameInfo HPlmn ; /**< Current network / operator ID information */ + CiMmRoamingStatus RoamingStatus ; + } CiMmPrimOperatorStatusInd; + +typedef UINT8 CiMmNetworkRegStatus ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetNetworkRegistrationStatusInfoCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + CiMmNetworkRegStatus RegStatus ; /**< Registration status \sa CiMmRegStatus */ + CiMmAccTechMode AcT ; /**< Network access technology ( GSM , UTRAN , LTE etc. ) \sa CiMmAccTechMode */ + } CiMmPrimGetNetworkRegistrationStatusInfoCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimFirstSearchedNetworkOperatorInd_struct { + CiBoolean Present ; + CiMmNetworkId NetworkId ; /**< Network ID information \sa CiMmNetworkId */ + CiMmAccTechMode AccTchMode ; /**< Network access technology ( GSM , UTRAN , etc. ) \sa CiMmAccTechMode */ + } CiMmPrimFirstSearchedNetworkOperatorInd; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimNetworkSearchInd_struct { + CiMmAccTechMode Act ; /**< Access radio technology */ + UINT8 numPlmns ; /**< Number of shared PLMNs in that cell */ + CiMmNetworkId plmns [ 20 ] ; + INT32 rssiOrRscpOrRsrp [ 20 ] ; /**< 2 G:RSSI ; 3 G:RSCP ; 4 G:RSRP*/ + + } CiMmPrimNetworkSearchInd; + +typedef CiEmptyPrim CiMmPrimGetCellLockInfoReq ; +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimGetCellLockInfoCnf_struct { + CiMmResultCode result ; /**< Result code \sa CiMmResultCode */ + CiMmCellLockMode mode ; /**< Cell lock mode \sa CiMmCellLockMode */ + CiMmCellLockActMode act ; /**< Network mode \sa CiMmNetworkMode */ + UINT8 bandValue ; + UINT32 freq ; /**< Absolute radio frequency channel number ; GSM number 0 -1023 , TD number 10054 -10121 and 9404 -9596 */ + INT16 cellId ; /**< Cell parameter ID This parameter if valid for 3 G cells only 0 -127 , and for TD LTE cells only 0 -503 */ + } CiMmPrimGetCellLockInfoCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiMmPrimNetworkCellMatInfoInd_V0001_struct + { + CiMmRegMode regMode ; // , from COPS + CiMmRegStatus stat ; // , from CREG + CiMmNetOpIdInfo netOpInfo ; // , , , , from COPS + + CiBoolean lacPresent ; // in LTE NW mode , LAC maybe not existed + UINT16 lac ; // , two bytes + CiBoolean racPresent ; // in LTE NW mode , no RAC + UINT8 rac ; // , one byte + CiBoolean cellIdPresent ; + UINT32 cellId ; // + CiBoolean tacPresent ; // in LTE NW mode , no RAC + UINT16 tac ; // , two bytes + + CiBoolean nwDTMSupported ; // whether NW support DTM + CiBoolean volteAvaiable ; // whether NW support VOLTE + CiBoolean imsEmAvaiable ; // whether NW support emergency bearer + CiBoolean t323Avaiable ; + + UINT8 mmtelVoiceAcBarringFactor ; /*0-100 , Voice service barring factor. From 0 to 100 where 0 means 0 % probability and 100 means 100 % probability. */ + UINT16 mmtelVoiceAcBarringTime ; /*0-512 , Voice service mean access barring time value in seconds. */ + UINT8 mmtelVideoAcBarringFactor ; /*0-100 , Video service barring factor. From 0 to 100 where 0 means 0 % probability and 100 means 100 % probability. */ + UINT16 mmtelVideoAcBarringTime ; /*0-512 , Video service mean access barring time value in seconds. */ + + CiBoolean phyCellIdPresent ; + /*LTE: phy cell ID ; + *UMTS Primary scrambling code + *GSM bsic: base station identity code*/ + UINT16 phyCellId ; + // add by taow 20150506 for ciphering begin + CiMmCipheringIndicator cipheringIndicator ; + // add by taow 20150506 for ciphering end + + } CiMmPrimNetworkCellMatInfoInd_V0001; + +//ICAT EXPORTED STRUCT + typedef struct CiPlmnTag + { + UINT16 mcc ; /**< 3 -digit country code */ + UINT16 mnc ; /**< 3 -digit network code */ + UINT16 accessTechnology ; + + } CiPlmn; + +//ICAT EXPORTED STRUCT + typedef struct CiArfcnListForCuTag + { + UINT16 accessTechnology ; + UINT8 numArfcn ; + UINT32 arfcnList [ 8 ] ; + } + CiArfcnListForCu; + +//ICAT EXPORTED STRUCT + typedef struct CiUarfcnInsrtFromCuTag + { + CiPlmn reqPlmn ; + CiArfcnListForCu arfcnInsrtFromCu ; + } CiUarfcnInsrtFromCu; + +//ICAT EXPORTED STRUCT + typedef struct CiUarfcnListForCuTag + { + CiPlmn reqPlmn ; + CiArfcnListForCu arfcnListForCu [ 3 ] ; + } CiUarfcnListForCu; + +typedef void ( *nwst_callback_fn ) ( int event ) ; +typedef void ( *SwitchSimDoneCb ) ( UINT8 ) ; +//ICAT EXPORTED ENUM + typedef enum CI_CC_PRIM { + CI_CC_PRIM_GET_NUMBERTYPE_REQ = 1 , /**< \brief Requests the type of number \details */ + CI_CC_PRIM_GET_NUMBERTYPE_CNF , /**< \brief Confirms the request and returns the type of number \details See CI_CC_PRIM_SET_NUMBERTYPE_REQ for internal default information. + There should be no reason for an unsuccessful result. + */ + CI_CC_PRIM_SET_NUMBERTYPE_REQ , /**< \brief Requests to set the type of number to be used for subsequent outgoing calls + * \details Default values for the Address Type fields are based on the outgoing call requests themselves ( in the Dial String parameter field ) . + * See also the CI_CC_PRIM_MAKE_CALL_REQ request. + * For international calls ( where the ' + ' character appears as a prefix to the dial string ) , the values are: + * Type of Number = CI_NUMTYPE_INTERNATIONAL + * Numbering Plan = CI_NUMPLAN_E164_E163 + * For all other calls ( this is the SAC internal default ) , the values are: + * Type of Number = CI_NUMTYPE_UNKNOWN + * Numbering Plan = CI_NUMPLAN_E164_E163 */ + CI_CC_PRIM_SET_NUMBERTYPE_CNF , /**< \brief Confirms the request and sets the type of number to be used for subsequent outgoing call requests \details */ + CI_CC_PRIM_GET_SUPPORTED_CALLMODES_REQ , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_CC_PRIM_GET_SUPPORTED_CALLMODES_CNF , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_CC_PRIM_GET_CALLMODE_REQ , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_CC_PRIM_GET_CALLMODE_CNF , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_CC_PRIM_SET_CALLMODE_REQ , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_CC_PRIM_SET_CALLMODE_CNF = 10 , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_CC_PRIM_GET_SUPPORTED_DATA_BSTYPES_REQ , /**< \brief Requests supported Bearer Service Type parameter settings for data calls \details */ + CI_CC_PRIM_GET_SUPPORTED_DATA_BSTYPES_CNF , /**< \brief Confirms the request and returns the supported Bearer Service Type parameter settings for data calls \details There should be no reason for an unsuccessful result.*/ + CI_CC_PRIM_GET_DATA_BSTYPE_REQ , /**< \brief Requests currently selected Bearer Service Type information for outgoing ( and incoming ) data calls \details */ + CI_CC_PRIM_GET_DATA_BSTYPE_CNF , /**< \brief Confirms the request and returns currently selected Bearer Service Type information for outgoing ( and incoming ) data calls \details There should be no reason for an unsuccessful result.*/ + CI_CC_PRIM_SET_DATA_BSTYPE_REQ , /**< \brief Requests Bearer Service Type information for outgoing ( and incoming ) data calls + * \details This information ( or the default ) is used when outgoing data calls ( or multi-mode calls with a data component ) + * are originated. It can also be used during mobile terminated data call setup. + * Not all combinations of the Data Bearer Service Type parameters are supported for GSM / UMTS. + * Other bearer capability information for outgoing and incoming calls is set up from internal defaults. */ + CI_CC_PRIM_SET_DATA_BSTYPE_CNF , /**< \brief Confirms the request and sets Bearer Service Type information for outgoing ( and incoming ) data calls + * \details This information can be " negotiated " with the network as required , on a per-call basis. */ + CI_CC_PRIM_GET_AUTOANSWER_ACTIVE_REQ , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_CC_PRIM_GET_AUTOANSWER_ACTIVE_CNF , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_CC_PRIM_SET_AUTOANSWER_ACTIVE_REQ , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_CC_PRIM_SET_AUTOANSWER_ACTIVE_CNF = 20 , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_CC_PRIM_LIST_CURRENT_CALLS_REQ , /**< \brief Requests a list of current calls that are present in the mobile + * \details Requests current call information for all calls. + * CI_CC_PRIM_GET_CALLINFO_REQ can also be used to request call information for a specified call. */ + CI_CC_PRIM_LIST_CURRENT_CALLS_CNF , /**< \brief Confirms the request and returns a list of the current calls + * \details Returns an array of current call information structures. CI_CC_PRIM_GET_CALLINFO_REQ can also be used to + * request call information for a specified call. If there are no current calls , NumCalls = 0 , and the CallInfo array + * contains no useful information. There should be no reason for an unsuccessful result. */ + CI_CC_PRIM_GET_CALLINFO_REQ , /**< \brief Requests current call information for a specified call identifier\details */ + CI_CC_PRIM_GET_CALLINFO_CNF , /**< \brief Confirms the request and returns the current call information for a specified call identifier + * \details Use CI_CC_PRIM_LIST_CURRENT_CALLS_REQ to request a list of current call identifiers. For a data call , the + * bearer service information may have been " negotiated " with the network. If Result indicates an error , the call + * information structure contains no useful information. + */ + CI_CC_PRIM_MAKE_CALL_REQ , /**< \brief Requests to make an outgoing call + * \details Uses the default call mode and current bearer service type information ( or the appropriate defaults ) . + * The default call mode is Single Mode ; therefore , a CI_CC_PRIM_MAKE_CALL_REQ request uses + * the BasicCMode parameter to indicate which mode is required. + * Bearer service type is set by CI_CC_PRIM_SET_DATA_BSTYPE_REQ. Other bearer capability information is set up from internal defaults. + * Call options can be used to: + * - Enable or disable closed user group ( CUG ) information for this call ; + * - Override the CLIR option for this call ( force enable or disable ) . + * CUG information is configured by CI_SS_PRIM_SET_CUG_CONFIG_REQ. + * The default CLIR option is set up by CI_SS_PRIM_SET_CLIR_OPTION_REQ. + * Valid dial digits are defined in " Mobile Radio Interface layer 3 specification ; Core Network Protocols - Stage 3 " , revision 3.110000 .0 , 3 GPP TS 24.008000 . + * The supplied dial string can incorporate a prefix ' + ' character , to indicate that this is an international call. In this + * situation , SAC uses the default Address Type information ( if necessary ) for an international call. For details , + * see the CI_CC_PRIM_SET_NUMBERTYPE_REQ request. + * SAC uses the dial string digits to determine whether an emergency call is being requested. + * SAC also supports fixed dialing mode ( if enabled in the SIM ) , using the fixed dialing numbers ( FDN ) list + * that is stored on the SIM. For the fixed number dialing support requirements , see: + * " Technical Specification Group Services and System Aspects. Service Aspects ; Service principles " , revision + * 3.130000 .0 , 3 GPP TS 22.101000 , Section A.24. */ + CI_CC_PRIM_MAKE_CALL_CNF , /**< \brief Confirms the request to make an outgoing call \details */ + CI_CC_PRIM_CALL_PROCEEDING_IND , /**< \brief Indicates that an outgoing call is in progress + * \details This indication is triggered by a CALL PROCEEDING notification from the network. It indicates that the outgoing + * call request has been accepted , and is proceeding through the network. If in-band tones are available from the + * network , the receive audio path should be enabled , so that the subscriber can hear the tones. No + * explicit response is required. */ + CI_CC_PRIM_MO_CALL_FAILED_IND , /**< \brief Indicates that an outgoing ( mobile originated ) call failed + * \details The reason for the call failure is indicated by the Cause parameter. If in-band tones are available from the + * network , the receive audio path should be enabled , so that the subscriber can hear the tones. + * No explicit response is required. */ + CI_CC_PRIM_ALERTING_IND , /**< \brief Indicates that an outgoing call is alerting + * \details This indication is triggered by an ALERTING notification from the network , and indicates that the called party ' s phone is alerting. + * If in-band tones ( ringback ) are available from the network , the receive audio path should be + * enabled , so that the subscriber can hear the tones. Otherwise , the tones must be generated locally. */ + CI_CC_PRIM_CONNECT_IND = 30 , /**< \brief Indicates that an outgoing or incoming call is connected + * \details This indication is triggered by a connect notification from the network , indicating that the called party has accepted and + * answered the call , or an incoming call has been answered. If not already done , the audio paths should now be enabled. No explicit response is required. */ + CI_CC_PRIM_DISCONNECT_IND , /**< \brief Indicates that a call was disconnected + * \details This indication is triggered by: + * - A disconnect message received from the network , indicating network-initiated call clearing + * - Mobile-initiated call clearing ( hangup ) + * The reason for call clearing is indicated by the Cause parameter. If not already done , the transmit and receive + * audio paths should now be disabled. No explicit response is required */ + CI_CC_PRIM_INCOMING_CALL_IND , /**< \brief Indicates an incoming call + * \details SAC allocates a unique call identifier , which must be used for all subsequent requests that are directed to this call. + * The incoming call setup from the network has already been accepted , and the mobile has sent an alerting indication to the network in response. + * The subscriber can answer the call , using the CI_CC_PRIM_ANSWER_CALL_REQ request. + * The subscriber can refuse the call ( if allowed ) , using the CI_CC_PRIM_REFUSE_CALL_REQ request. + * In either case , the subscriber must be alerted to the incoming call. */ + CI_CC_PRIM_CALL_WAITING_IND , /**< \brief Indicates the call waiting ( CW ) information for an incoming call + * \details AC allocates a unique call identifier , which must be used for all subsequent requests that are directed at this call. + * Call waiting indications are enabled or disabled by the CI_SS_SET_CW_OPTION_REQ request. + * This indication is enabled by default. + * This indication is received only if the call waiting supplementary service is provisioned. + * First , the active call must be held , then the subscriber can decide to answer or refuse the waiting call. + * No explicit response is required.*/ + CI_CC_PRIM_HELD_CALL_IND , /**< \brief Indicates that there is a held call + * \details SAC sends this indication if an active call is released while a held call exists. + * The held call can then be released or retrieved , as desired. + * No explicit response is required , although a request is needed to take the call off hold.*/ + CI_CC_PRIM_ANSWER_CALL_REQ , /**< \brief Requests to answer an incoming call + * \details If auto-answer is active ( see CI_CC_PRIM_SET_AUTOANSWER_ACTIVE_REQ ) , + * SAC may answer the incoming call automatically , and the CI_CC_PRIM_ANSWER_CALL_REQ request may not be required. + * This request does not answer a waiting call. + * The active call must first be held or released , which triggers SAC to send a + * CI_CC_PRIM_INCOMING_CALL_IND indication for the waiting call. Then the waiting call can be answered. + * This request does not switch modes for a multi-mode call ( alternating voice / data , alternating voice / fax , or voice followed by data ) . To do this , use the CI_CC_PRIM_SWITCH_CALLMODE_REQ request. */ + CI_CC_PRIM_ANSWER_CALL_CNF , /**< \brief Confirms the request to answer the incoming call + * \details The call identifier is included as a crosscheck or confirmation.*/ + CI_CC_PRIM_REFUSE_CALL_REQ , /**< \brief Requests to reject an incoming call \details The incoming call may be a call waiting. */ + CI_CC_PRIM_REFUSE_CALL_CNF , /**< \brief Confirms the reject request */ + CI_CC_PRIM_MT_CALL_FAILED_IND , /**< \brief Indicates that an incoming ( mobile terminated ) call failed \details */ + CI_CC_PRIM_HOLD_CALL_REQ = 40 , /**< \brief Requests an active call to be held + * \details This request can be used to hold the active call , if there is one. + * The subscriber can subsequently: + * retrieve the held call ; + * set up another ( outgoing ) call ; + * accept an incoming call. + * If another active call is set up , the user can subsequently: + * alternate between the active call and the held call ; + * disconnect the active call ; + * disconnect the held call ; + * disconnect both the active call and the held call. + * GSM allows only one call to be held at any time ( except for calls that are part of a multiparty call ) . + * If a held call already exists , this request fails with an error result.*/ + CI_CC_PRIM_HOLD_CALL_CNF , /**< \brief Confirms the request to hold a call */ + CI_CC_PRIM_RETRIEVE_CALL_REQ , /**< \brief Requests a held call to be retrieved + * \details This request can be used to retrieve a held call , if there is one. + * For GSM , the HOLD service does not allow more than one held call ( non-multiparty ) at any time. + * The CallId parameter is provided here to accommodate multi-call procedures for other 3 G protocols. + * This request should not be used to perform operations on a multiparty ( MPTY ) call. + * If this is attempted , the request fails with an error result.*/ + CI_CC_PRIM_RETRIEVE_CALL_CNF , /**< \brief Confirms the request to retrieve a held call + * \details If Result is CIRC_CC_REJECTED , the cause information is reported as received in a retrieve reject message from the network.*/ + CI_CC_PRIM_SWITCH_ACTIVE_HELD_REQ , /**< \brief Requests an active call and a held call to be switched ( shuttle request ) + * \details This request is used to transfer ( shuttle ) between an active call and a held call. + * The active call is held and the held call is retrieved ( becomes the active call ) . + * The shuttle operation is handled by the network. + * The mobile must send a hold request for the current active call , immediately followed ( see below ) by a retrieve request for the held call. + * The HOLD service does not support more than one held call at any time. To avoid this , the network must receive the retrieve request within five seconds of receiving the hold request. + * The same result could be achieved by sending a CI_CC_PRIM_HOLD_CALL_REQ request for the active call , + * followed by a CI_CC_RETRIEVE_CALL_REQ request for the held call. + * However , the above timing requirements may not be fulfilled by this method , and the shuttle operation could fail. + * Use the CI_CC_PRIM_SHUTTLE_MPTY_REQ request for shuttle operations that involve multiparty ( MPTY ) conference calls. */ + CI_CC_PRIM_SWITCH_ACTIVE_HELD_CNF , /**< \brief Confirms the request to switch between the active and held calls ( shuttle request ) + * \details */ + CI_CC_PRIM_CALL_DEFLECT_REQ , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_CC_PRIM_CALL_DEFLECT_CNF , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_CC_PRIM_EXPLICIT_CALL_TRANSFER_REQ , /**< \brief Requests an explicit call transfer ( ECT ) for an active call and a held call + * \details This request is used to connect an active call and a held call , and then to exit both calls. + * The GSM standard allows ECT for a held call and an outgoing call in the alerting state + * ( an MO call that has been presented to the called party , but has not yet been answered ) . + * This is described in the standard as a network option , and therefore is a valid operation only if the network supports it. + * For more information , see 3 GPP TS 22.091000 . + * The ECT service requires the provision of the call Hold ( HOLD ) Supplementary Service. + * If the subscriber has an active call , a held call , and a call waiting , + * then after successful completion of the ECT request , the subscriber receives an incoming call indication for the waiting call. + * Multiparty ( MPTY ) calls cannot be transferred by this ( or any other ) request.*/ + CI_CC_PRIM_EXPLICIT_CALL_TRANSFER_CNF , /**< \brief Confirms the explicit call transfer ( ECT ) request + * \details If the ECT request is successfully completed , there is a normal call between the original held party and + * the active / alerting party ( see 3 GPP TS 22.091000 , Section 5.800000 ) . SAC removes the call identifiers for the original + * calls. An attempt to use these call identifiers in any subsequent call related request fails with Result = + * CIRC_CC_INVALID_CALLID. */ + CI_CC_PRIM_RELEASE_CALL_REQ = 50 , /**< \brief Requests release ( hangup ) of a call ( mobile originated call clearing ) + * \details Requests disconnect of an active or held call. + * If there is a held call and the active call is released , SAC sends a CI_CC_PRIM_HELD_CALL_IND indication for the held call. The subscriber then can either retrieve the held call or release it. + * If there is a waiting call and the active call is released , SAC sends a CI_CC_PRIM_INCOMING_CALL_IND indication for the waiting call , which can then be answered or refused. + * This request is also used to release individual calls in a multiparty call. + * If CallId is CICC_NO_CALL_ID and there is only one call in progress , this call is released. */ + CI_CC_PRIM_RELEASE_CALL_CNF , /**< \brief Confirms the request to release ( hangs up ) an active or held call ( mobile originated call clearing ) */ + CI_CC_PRIM_RELEASE_ALL_CALLS_REQ , /**< \brief Requests release ( disconnect ) of all calls ( mobile originated call clearing ) + * \details For GSM , there can be only one active call and only one held call.*/ + CI_CC_PRIM_RELEASE_ALL_CALLS_CNF , /**< \brief Confirms the request to release ( disconnects ) all calls ( mobile originated call clearing ) + * \details If the calls are successfully released ( disconnected ) , SAC removes all individual call identifiers. + * An attempt to use any of these call identifiers in subsequent call related requests fails with Result = + * CIRC_CC_INVALID_CALLID.*/ + CI_CC_PRIM_SWITCH_CALLMODE_REQ , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_CC_PRIM_SWITCH_CALLMODE_CNF , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_CC_PRIM_ESTABLISH_MPTY_REQ , /**< \brief Requests establishment of a multiparty ( MPTY ) conference call + * \details This request is used to establish a multiparty call , starting with an active call and a held call. + * If this request completes successfully , the active and held calls are joined into a multiparty call , which + * then becomes active. The original call identifiers still exist for the two calls , and both calls are now marked as + * MPTY calls in their respective Call Information structures.*/ + CI_CC_PRIM_ESTABLISH_MPTY_CNF , /**< \brief Confirms the request to establish a multiparty ( MPTY ) conference call + * \details If Result indicates an error , the MPTY identifier is not valid and should be ignored.*/ + CI_CC_PRIM_ADD_TO_MPTY_REQ , /**< \brief Requests a new call to be added to an existing multiparty ( MPTY ) conference + * \details Before this request is sent , the existing MPTY call is held and the new call becomes active. + * On successful completion of this request , the expanded MPTY call becomes active. + * If a call was previously split from the MPTY call , this request can be used to add the call back into the conference. */ + CI_CC_PRIM_ADD_TO_MPTY_CNF , /**< \brief Confirms the request to add a new call to an existing multiparty ( MPTY ) conference call */ + CI_CC_PRIM_HOLD_MPTY_REQ = 60 , /**< \brief Requests an active multiparty ( MPTY ) call to be held + * \details On successful completion of this request , the active MPTY call ( if there is one ) is held. */ + CI_CC_PRIM_HOLD_MPTY_CNF , /**< \brief Confirms the request to hold an active multiparty ( MPTY ) conference call */ + CI_CC_PRIM_RETRIEVE_MPTY_REQ , /**< \brief Requests a held multiparty ( MPTY ) call to be retrieved + * \details On successful completion of this request , the held MPTY call ( if there is one ) becomes active.*/ + CI_CC_PRIM_RETRIEVE_MPTY_CNF , /**< \brief Confirms the request to retrieve a held multiparty ( MPTY ) conference call */ + CI_CC_PRIM_SPLIT_FROM_MPTY_REQ , /**< \brief Requests a call to be split from a multiparty ( MPTY ) conference + * \details On successful completion of this request the existing MPTY call is held , except for the split call , which becomes active. + * Use the CI_CC_PRIM_ADD_TO_MPTY_REQ request to add the split call back into the MPTY call. */ + CI_CC_PRIM_SPLIT_FROM_MPTY_CNF , /**< \brief Confirms the request to split a call from a multiparty ( MPTY ) conference call */ + CI_CC_PRIM_SHUTTLE_MPTY_REQ , /**< \brief Requests to shuttle between a multiparty ( MPTY ) conference call and a single call + * \details The subscriber can use this request to shuttle back and forth between a multiparty ( MPTY ) call and a separate single call. + * This is similar to the shuttle operation between an active call and a held call. This is how it works: + * - Single call active ; MPTY call held MPTY call active , single call held \n + * - MPTY call active ; single call held Single call active , MPTY call held \n + * The shuttle operation is handled at the network. The mobile must send a hold ( or hold MPTY ) request for the current active call / MPTY , immediately followed ( see below ) by a retrieve ( or retrieve MPTY ) request for the held call / MPTY. + * There cannot be more than one held call at any time. To avoid this , the network must receive the retrieve request within five seconds of receiving the hold request. + * The same result could be achieved by sending a CI_CC_PRIM_HOLD_CALL_REQ or CI_CC_PRIM_HOLD_MPTY_REQ request for the active call / MPTY , followed by a CI_CC_RETRIEVE_CALL_REQ or CI_CC_RETRIEVE_MPTY_REQ request for the held call / MPTY. However , the above timing requirements may not be fulfilled by this method , and the shuttle operation could fail. + * */ + CI_CC_PRIM_SHUTTLE_MPTY_CNF , /**< \brief Confirms the request to shuttle between a multiparty ( MPTY ) conference call and a single call */ + CI_CC_PRIM_RELEASE_MPTY_REQ , /**< \brief Requests a multiparty ( MPTY ) conference call to be released + * \details On successful completion of this request , all calls for the MPTY call ( if there is one ) are released. + * To release calls individually from the MPTY call , use the CI_CC_RELEASE_CALL_REQ request. + */ + CI_CC_PRIM_RELEASE_MPTY_CNF , /**< \brief Confirms the request to release an active multiparty ( MPTY ) conference call */ + CI_CC_PRIM_START_DTMF_REQ = 70 , /**< \brief Requests to start sending a DTMF digit to the network during an active call + * \details Valid DTMF digits are defined by the GSM Standard. + * DTMF digits can be sent only on an active speech connection , where a traffic channel has been allocated. + * A DTMF request cannot be sent while a previous DTMF request is still in progress. If this is attempted , the request fails with an error result. + * For this request , the application layer must handle the timing of individual DTMF digits , and must stop the transmission by issuing a CI_CC_PRIM_STOP_DTMF_REQ request at the appropriate time. + */ + CI_CC_PRIM_START_DTMF_CNF , /**< \brief Confirms the request to start sending a DTMF digit to the network during an active call + * \details + * This confirmation is received in any of the following situations: + * - The DTMF digit was sent successfully. + * - A DTMF start reject message was received from the network. + * - SAC did not accept the DTMF request. + * - There was a timeout on receiving a response from the network. + * The application layer must handle the timing of individual DTMF digits , and must stop the transmission by issuing a CI_CC_PRIM_STOP_DTMF_REQ request at the appropriate time. + * */ + CI_CC_PRIM_STOP_DTMF_REQ , /**< \brief Requests to stop sending a DTMF digit to the network during an active call + * \details DTMF digits can only be sent on an active speech connection , where a traffic channel has been allocated. + * A DTMF request cannot be sent while a previous DTMF request is still in progress. If this is attempted , the request fails with an error result. + * Similarly , if this request is received when no DTMF tone is currently active , the request fails with an error result. */ + CI_CC_PRIM_STOP_DTMF_CNF , /**< \brief Confirms the request to stop sending a DTMF digit to the network during an active call + * \details This confirmation is received in any of the following situations: + * the DTMF digit was stopped successfully ; + * a DTMF stop reject message was received from the network ; + * SAC did not accept the DTMF request ; + * there was a timeout on receiving a response from the network. */ + + CI_CC_PRIM_GET_DTMF_PACING_REQ , /**< \brief Requests the current DTMF pacing configuration values + * \details The DTMF pacing configuration values are initially set to internal defaults. + * These values can be changed by a CI_CC_SET_DTMF_CONFIG_REQ request. + * The pacing configuration values are used by CI when sending strings of DTMF digits to the network. In this situation , + * CI performs a " handshake " with the network for each digit in turn , and uses the configured tone duration and inter-digit + * intervals to pace the individual tones. */ + CI_CC_PRIM_GET_DTMF_PACING_CNF , /**< \brief Confirms the request and returns the current DTMF pacing configuration values + * \details There should be no reason for an unsuccessful result. + * On GSM , the network enforces the minimum inter-digit interval. SAC does not use the Interval field in the + * CiCcDtmfPacing structure. */ + CI_CC_PRIM_SET_DTMF_PACING_REQ , /**< \brief Requests to set the DTMF pacing configuration values + * \details If this request is not invoked , SAC uses default configuration values ( CICC_MIN_DTMF_DURATION + * for duration and CICC_DTMF_DEFAULT_INTERVAL for interval ) . + * The pacing configuration values are used by SAC when sending strings of DTMF digits to the network + * ( see the CI_CC_PRIM_SEND_DTMF_STRING_REQ request ) . In this situation , SAC performs a handshake with the + * network for each digit , and uses the configured tone duration and inter-digit intervals to pace the + * individual tones. + * SAC does not check for extremely large values in the supplied DTMF pacing configuration structure. However , + * if any of the pacing configuration values are set below the specified minimum values , which are specified in CICC_MIN_DTMF_DURATION + * for duration and CICC_DTMF_DEFAULT_INTERVAL for interval , this request fails with an error result. + * On GSM , the network enforces the minimum inter-digit interval. SAC does not use the interval field in the + * CiCcDtmfPacing structure. */ + CI_CC_PRIM_SET_DTMF_PACING_CNF , /**< \brief Confirms the request to set the DTMF pacing configuration values + * \details SAC returns an error result if any of the pacing configuration values are less then specified minimum values + * in the request ( CICC_MIN_DTMF_DURATION for duration and CICC_DTMF_DEFAULT_INTERVAL for interval ) . */ + CI_CC_PRIM_SEND_DTMF_STRING_REQ , /**< \brief Requests a string of DTMF digits to be sent on an active call + * \details Valid DTMF digits are defined by the GSM Standard. + * DTMF digits can be sent only on an active speech connection , where a traffic channel has been allocated. + * If this is not the case , this request fails with an error result. + * As the GSM protocol provides only a single-digit DTMF control procedure , SAC sends the DTMF digits + * individually , using Start DTMF and Stop DTMF requests to the network. + * The DTMF pacing parameters ( tone duration and inter-digit interval ) can be specified by the + * CI_CC_PRIM_SET_DTMF_PACING_REQ request. See CICC_MIN_DTMF_DURATION + * and CICC_DTMF_DEFAULT_INTERVAL for the parameter defaults. + * On GSM , the network enforces the minimum inter-digit interval. SAC does not use the interval field in the + * CiCcDtmfPacing structure.*/ + CI_CC_PRIM_SEND_DTMF_STRING_CNF , /**< \brief Confirms the request to send a string of DTMF digits on an active call + * \details This confirmation is received in any of the following situations: + * the complete DTMF string was sent successfully ; + * a DTMF Reject message ( Start or Stop ) was received from the network ; + * SAC did not accept the DTMF request ; + * there was a timeout on receiving a response from the network. */ + CI_CC_PRIM_CLIP_INFO_IND = 80 , /**< \brief Indicates CLIP information ( when enabled ) for an incoming call + * \details CLIP indications are enabled or disabled by CI_SS_PRIM_SET_CLIP_OPTION_REQ. + * This indication is enabled by default. + * No explicit response is required. */ + CI_CC_PRIM_COLP_INFO_IND , /**< \brief Indicates CoLP information ( when enabled locally ) for an outgoing call + * \details CoLP indications are enabled or disabled by the CI_SS_PRIM_SET_COLP_OPTION_REQ. + * This indication is enabled by default. + * No explicit response is required.*/ + CI_CC_PRIM_CCM_UPDATE_IND , /**< \brief Indicates periodic current call meter ( CCM ) unsolicited reports + * \details CCM unsolicited reports are enabled or disabled by CI_SS_PRIM_SET_CCM_OPTION_REQ. + * If enabled indications are reported periodically , not more than once every 10 seconds during a call. + * This indication is enabled by default. + * No explicit response is required.*/ + CI_CC_PRIM_GET_CCM_VALUE_REQ , /**< \brief Requests the current value of the current call meter ( CCM ) . + * \details The CCM value is normally requested only during a call , which is why this request is in the CC service group , but + * it can be requested at any time. Other quantities related to call charging ( ACM , ACMmax , and PUCT ) are accessible + * through the SIM Manager interface. For more information , see the SIM Service Group primitives. */ + CI_CC_PRIM_GET_CCM_VALUE_CNF , /**< \brief Confirms the request and returns the current value of the current call meter ( CCM ) + * \details If the Result Code indicates failure , the CCM value is not useful , and should be ignored. */ + CI_CC_PRIM_AOC_WARNING_IND , /**< \brief Indicates an unsolicited advice of charge ( AoC ) warning + * \details If the advice of charge service is provisioned , SAC can send a warning indication during a call when the accumulated charge meter ( ACM ) is within 30 seconds of the programmed maximum ( ACMmax ) value. + * This indication can be enabled or disabled by the CI_SS_PRIM_SET_AOC_WARNING_ENABLE_REQ request. + In addition , this indication can be sent if a new incoming or outgoing call is set up when the ACM is within 30 seconds of the programmed ACMmax value. + This indication is enabled by default. + No explicit response is required. + */ + CI_CC_PRIM_SSI_NOTIFY_IND , /**< \brief Indicates supplementary service intermediate ( SSI ) notification + * \details SSI notifications ( if enabled , see CI_SS_PRIM_SET_SS_NOTIFY_OPTIONS_REQ ) are triggered by receipt of an intermediate supplementary service notification after mobile originated call setup , but before any call setup results are received. + * This notification is enabled by default. + * No explicit response is required.*/ + + CI_CC_PRIM_SSU_NOTIFY_IND , /**< \brief Indicates supplementary service unsolicited ( SSU ) notification + * \details SSU notifications ( if enabled , see CI_SS_PRIM_SET_SS_NOTIFY_OPTIONS_REQ ) are triggered by receipt of an unsolicited supplementary service notification at any of the following times: + * during mobile terminated call setup ; + * during a call ; + * whenever a forward check supplementary service notification is received ( in call or out of call ) . + * This notification is enabled by default. + * No response is required.*/ + CI_CC_PRIM_LOCALCB_NOTIFY_IND , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_CC_PRIM_GET_ACM_VALUE_REQ , /**< \brief Requests the current value of the accumulated call meter ( ACM ) + * \details The ACM value holds accumulated CCM units for the current call ( if there is one ) and all previous calls since the + * ACM was last reset. */ + + CI_CC_PRIM_GET_ACM_VALUE_CNF = 90 , /**< \brief Confirms the request and returns the current value of the accumulated call meter maximum value ( ACMmax ) + * \details If the Result code indicates failure , the ACMmax value is not useful , and should be ignored.*/ + CI_CC_PRIM_RESET_ACM_VALUE_REQ , /**< \brief Requests the accumulated call meter ( ACM ) to be reset to zero + * \details The ACM value holds accumulated CCM units for the current call ( if there is one ) and all previous calls since the ACM was last reset. + * This operation requires prior PIN2 verification.*/ + CI_CC_PRIM_RESET_ACM_VALUE_CNF , /**< \brief Confirms the request to reset the accumulated call meter ( ACM ) to zero + * \details If the Result code indicates failure , the ACM value was not reset. */ + CI_CC_PRIM_GET_ACMMAX_VALUE_REQ , /**< \brief Requests the current value of the accumulated call meter maximum value ( ACMmax ) + * \details The ACMmax value holds the maximum value allowed for the ACM. + * If the ACM approaches the ACMmax value , SAC can issue a warning indication ( if enabled ) . + * For more information , see the CI_CC_PRIM_AOC_WARNING_IND indication.*/ + CI_CC_PRIM_GET_ACMMAX_VALUE_CNF , /**< \brief Confirms the request and returns the current value of the accumulated call meter maximum value ( ACMmax ) + * \details If the Result code indicates failure , the ACMmax value is not useful , and should be ignored.*/ + CI_CC_PRIM_SET_ACMMAX_VALUE_REQ , /**< \brief Requests the accumulated call meter maximum ( ACMmax ) to be set to the supplied value + * \details The ACMmax value holds the maximum value allowed for the ACM. + * If the ACM is close to the ACMmax value , SAC can issue a warning indication ( if enabled ) . For more information see the CI_CC_PRIM_AOC_WARNING_IND indication. + * Setting ACMmax to zero disables it , and effectively removes the maximum ACM limit. In this case , there are no CI_CC_PRIM_AOC_WARNING_IND indications , whether they are enabled locally or not. + * This operation requires prior PIN2 verification.*/ + CI_CC_PRIM_SET_ACMMAX_VALUE_CNF , /**< \brief Confirms the request to set the accumulated call meter maximum ( ACMmax ) value + * \details If the Result code indicates failure , the ACMmax value was not changed.*/ + CI_CC_PRIM_GET_PUCT_INFO_REQ , /**< \brief Requests the current Price per Unit and Currency Table ( PUCT ) information + * \details The PUCT information is used to enable the application to calculate the cost of a call , in a currency chosen by the subscriber.*/ + CI_CC_PRIM_GET_PUCT_INFO_CNF , /**< \brief Confirms the request and returns the current Price per Unit and Currency Table ( PUCT ) information + * \details If the Result code indicates failure , the PUCT information is not useful , and should be ignored. */ + CI_CC_PRIM_SET_PUCT_INFO_REQ , /**< \brief Requests the current Price per Unit and Currency Table ( PUCT ) information to be updated + * \details The PUCT information is used to enable the application to calculate the cost of a call , in a currency chosen by the subscriber. + * This operation requires prior PIN2 validation.*/ + CI_CC_PRIM_SET_PUCT_INFO_CNF = 100 , /**< \brief Confirms the request to update the current Price per Unit and Currency Table ( PUCT ) information + * \details If the Result code indicates failure , the PUCT information was not updated.*/ + CI_CC_PRIM_GET_BASIC_CALLMODES_REQ , /**< \brief Requests the basic call modes currently supported for outgoing calls + * \details The basic call mode is used when placing an outgoing call request while the current call mode is set to single mode. + * See CI_CC_PRIM_MAKE_CALL_REQ for more information. + * See CI_CC_PRIM_SET_CALLMODE_REQ for default call mode information. */ + + CI_CC_PRIM_GET_BASIC_CALLMODES_CNF , /**< \brief Confirms the request and returns the basic call modes currently supported for outgoing calls + * \details Use this request to return the supported basic call modes ( or types ) . + * To place an outgoing call when the call mode is set to single mode , the basic call mode must be specified in the outgoing call request. + * See CI_CC_PRIM_SET_CALLMODE_REQ for default call mode information. + * There should be no reason for an unsuccessful result. */ + CI_CC_PRIM_GET_CALLOPTIONS_REQ , /**< \brief Requests to get the call options currently supported for outgoing calls + * \details See CI_CC_PRIM_MAKE_CALL_REQ for more information.*/ + CI_CC_PRIM_GET_CALLOPTIONS_CNF , /**< \brief Confirms the request and returns the call options currently supported for outgoing calls + * \details Returns the call options currently supported for outgoing calls. + * There should be no reason for an unsuccessful result.*/ + CI_CC_PRIM_GET_DATACOMP_CAP_REQ , /**< \brief Requests to get the V.42 bis data compression configuration capability + * \details Mandatory if V.42 bis is supported.*/ + CI_CC_PRIM_GET_DATACOMP_CAP_CNF , /**< \brief Confirms the request and returns the V.42 bis data compression configuration capability + * \details Mandatory if V.42 bis is supported.*/ + CI_CC_PRIM_GET_DATACOMP_REQ , /**< \brief Requests to get the current V.42 bis data compression information + * \details Mandatory if V.42 bis is supported.*/ + CI_CC_PRIM_GET_DATACOMP_CNF , /**< \brief Confirms the request and returns the current V.42 bis data compression information + * \details Mandatory if V.42 bis is supported.*/ + CI_CC_PRIM_SET_DATACOMP_REQ , /**< \brief Requests to configure V.42 bis data compression + * \details Mandatory if V.42 bis is supported.*/ + CI_CC_PRIM_SET_DATACOMP_CNF = 110 , /**< \brief Confirms the request to configures V.42 bis data compression + * \details Mandatory if V.42 bis is supported.*/ + CI_CC_PRIM_GET_RLP_CAP_REQ , /**< \brief Requests to get RLP configuration capability for NT data calls + * \details Mandatory if RLP is supported. */ + CI_CC_PRIM_GET_RLP_CAP_CNF , /**< \brief Confirms the request and returns the RLP configuration capability for NT data calls + * \details Mandatory if RLP is supported. */ + CI_CC_PRIM_GET_RLP_CFG_REQ , /**< \brief Requests the current RLP configuration for a RLP version + * \details Mandatory if RLP is supported. */ + CI_CC_PRIM_GET_RLP_CFG_CNF , /**< \brief Confirms the request and returns the current RLP configuration for the requested version + * \details Mandatory if RLP is supported. */ + CI_CC_PRIM_SET_RLP_CFG_REQ , /**< \brief Requests to configure the RLP for NT data calls + * \details Mandatory if RLP is supported. */ + CI_CC_PRIM_SET_RLP_CFG_CNF , /**< \brief Confirms the request to configure the RLP for NT data calls + * \details Mandatory if RLP is supported. */ + CI_CC_PRIM_DATA_SERVICENEG_IND , /**< \brief Indicates the report of bearer service , during connect negotiation for data calls + * \details No explicit response is required. + * This notification can be enabled or disabled by the CI_CC_PRIM_ENABLE_DATA_SERVICENEG_REQ request. It is disabled by + * default. */ + CI_CC_PRIM_ENABLE_DATA_SERVICENEG_IND_REQ , /**< \brief Requests that bearer service reporting during connect negotiation for data calls be enabled or disabled + * \details */ + CI_CC_PRIM_ENABLE_DATA_SERVICENEG_IND_CNF , /**< \brief Confirms the request to enable / disable bearer service reporting during + * connect negotiation for data calls + * \details Mandatory if RLP is supported. */ + CI_CC_PRIM_SET_UDUB_REQ = 120 , /**< \brief Requests that user determined user busy ( UDUB ) for a waiting or incoming call be set + * \details Use this request if the subscriber opts to refuse a waiting or incoming call by setting a user determined user busy ( UDUB ) condition. + * This informs the network that the call may be redirected to another number ( if already set up ) . + * The network may clear the call with a busy indication to the calling party.*/ + CI_CC_PRIM_SET_UDUB_CNF , /**< \brief Confirms the request to set UDUB for a waiting or incoming call + * \details */ + CI_CC_PRIM_GET_SUPPORTED_CALLMAN_OPS_REQ , /**< \brief Requests a list of supported call manipulation operation codes for + * supplementary services within a call + * \details These operations are described in TS 22.030000 , Section 6.500000 .5.1 , and are implemented + * by the " AT+CHLD " command in TS 27.007000 Section 7.130000 .*/ + CI_CC_PRIM_GET_SUPPORTED_CALLMAN_OPS_CNF , /**< \brief Confirms the request and returns a list of supported call manipulation operation codes for + * supplementary services within a call + * \details */ + CI_CC_PRIM_MANIPULATE_CALLS_REQ , /**< \brief Requests call manipulation for supplementary services within a call + * \details This primitive performs the operations described in TS 22.030000 , Section 6.500000 .5.1 , + * and are implemented by the " AT+CHLD " command in TS 27.007000 Section 7.130000 . + * The CallId parameter is used only for the CI_CC_MANOP_RLS_CALL and CI_CC_MANOP_HOLD_ALL_EXCEPT_ONE operations.*/ + CI_CC_PRIM_MANIPULATE_CALLS_CNF , /**< \brief Confirms the request to perform call manipulation for supplementary services within a call + * \details */ + CI_CC_PRIM_LIST_CURRENT_CALLS_IND , /**< \brief Indicates the current call information + * \details */ + + CI_CC_PRIM_CALL_DIAGNOSTIC_IND , /**< \brief Indicates the diagnostic octets of a specific call + * \details Diagnostic information is sent by the protocol stack in one of the following + * notifications: CcDisconnectInd , CcDisconnectedInd , CcDisconnectingInd , CcFailureInd. + * SAC processes these signals and sends a corresponding CI indication primitive + * ( CI_CC_PRIM_DISCONNECT_IND , CI_CC_PRIM_MO_CALL_FAILED_IND , CI_CC_PRIM_MT_CALL_FAILED_IND , + * CI_DAT_PRIM_NOK_IND ) but it does not include the diagnostic information. + * SAC sends the CiCcCustPrimCallDiagnosticInd each time it receives any of these + * notifications from the protocol stack. + */ + CI_CC_PRIM_DTMF_EVENT_IND , /**< \brief Indicates a DTMF event + * \details This notification is sent each time SAC receives a confirmation signal from the protocol + * stack indicating that a start / stop DTMF request has been successfully completed. + * In case of a single DTMF tone , the notification is sent along with the CiCcPrimStartDtmfCnf + * and CiCcPrimStopDtmfCnf. + * In case of a DTMF tone sequence , the notification is sent for each tone in the sequence + * when that tone is started / stopped. + * A DTMF aborted indication is sent when a Start or Stop DTMF request is rejected by SAC or the + * network for various reasons ( see GSM TS 4.080000 section 8.400000 and section 5.500000 .7.2. ) ; also if no + * answer is received from the network. */ + CI_CC_PRIM_CLEAR_BLACK_LIST_REQ , /**< \brief Requests to clear the call blacklist + * \details To clear the entire blacklist is not yet supported by the protocol stack. + * A blacklist is created by the protocol stack with the numbers that + * are used to initiate MO calls and are marked as auto-dial numbers. + * In this case , SAC would have to create its own blacklist and save all + * the auto-dial numbers that are reported by the protocol stack as blacklisted. + * For clearing the entire list , it sends a separate ' clear blacklist ' + * request for each dial number in the blacklist. + * NOTE: To support the blacklist functionality CI must add the capability of + * specifying if a number is auto-dial , when an MO call is requested.*/ + CI_CC_PRIM_CLEAR_BLACK_LIST_CNF = 130 , /**< \brief Confirms the request and returns the completion status of the request + * \details */ + CI_CC_PRIM_SET_CTM_STATUS_REQ , /**< \brief Requests to set the status of the CTM state when a CTM jack is connected and CTM is enabled in MENU + * \details */ + CI_CC_PRIM_SET_CTM_STATUS_CNF , /**< \brief Confirms the request to set the status of the CTM state when a CTM jack is connected and CTM is enabled in MENU + * \details */ + CI_CC_PRIM_CTM_NEG_REPORT_IND , /**< \brief Indicates the CTM negotiation status report + * \details */ + /*Michal Bukai - CDIP support */ + CI_CC_PRIM_CDIP_INFO_IND , /**< \brief Indicates a report for CDIP information for an incoming call + * \details CDIP indications are enabled or disabled by the CI_SS_SET_CDIP_OPTION_REQ request. + * This indication is enabled by default. + * No explicit response is required.*/ + CI_CC_PRIM_SYNC_AUDIO_REQ , /**< \brief Requests to sync audio path. + * \details */ + CI_CC_PRIM_SYNC_AUDIO_CNF , /**< \brief Confirms a request to sync audio path. + * \details */ + /*Michal Bukai - ALS support - START */ + CI_CC_PRIM_GET_LINE_ID_REQ , /**< \brief Requests to read the selected line ID for outgoing calls. + * \details ALS provides the MS with the capability of associating two alternate lines with one IMSI. + * A user will be able to make and receive calls on either line as desired and will be billed separately for calls on each line. + * Each line will be associated with a separate directory number ( MSISDN ) and separate subscription profile. + * For outgoing calls , the handset shall enable the user to select the desired line.*/ + CI_CC_PRIM_GET_LINE_ID_CNF , /**< \brief Confirms the request and returns the selected line ID. + * \details ALS provides the MS with the capability of associating two alternate lines with one IMSI. + * A user will be able to make and receive calls on either line as desired and will be billed separately for calls on each line. + * Each line will be associated with a separate directory number ( MSISDN ) and separate subscription profile. + * For outgoing calls , the handset shall enable the user to select the desired line.*/ + CI_CC_PRIM_SET_LINE_ID_REQ , /**< \brief Requests to set the line ID for outgoing calls. + * \details ALS provides the MS with the capability of associating two alternate lines with one IMSI. + * A user will be able to make and receive calls on either line as desired and will be billed separately for calls on each line. + * Each line will be associated with a separate directory number ( MSISDN ) and separate subscription profile. + * For outgoing calls , the handset shall enable the user to select the desired line.*/ + CI_CC_PRIM_SET_LINE_ID_CNF = 140 , /**< \brief Confirms the request and sets user requested line ID. + * \details ALS provides the MS with the capability of associating two alternate lines with one IMSI. + * A user will be able to make and receive calls on either line as desired and will be billed separately for calls on each line. + * Each line will be associated with a separate directory number ( MSISDN ) and separate subscription profile. + * For outgoing calls , the handset shall enable the user to select the desired line.*/ + /*Michal Bukai - ALS support - END */ + CI_CC_PRIM_READY_STATE_IND , + /*add by cherryli@2014.02.11 for CQ56277 begin.*/ + CI_CC_PRIM_SRVCC_STATUS_REQ , + CI_CC_PRIM_SRVCC_STATUS_CNF , + /*add by cherryli@2014.02.11 for CQ56277 end.*/ + + CI_CC_PRIM_CALL_END_INFO_IND , /*Added by cherryli@09.02.2014 for CQ69642.*/ + /*merged by lxliu for CQ00098090 on 7152015 begin*/ + /* CECALL */ + CI_CC_PRIM_SET_CECALL_REQ , /**< \brief Request to trigger an eCall to the network. + * \details This CI is used when there is necessity to start eCall. + * eCall can be started manually in emergency case , automatically in the case car system decide that this is an emergency case ; + * also manually for test purpose.*/ + CI_CC_PRIM_SET_CECALL_CNF , /**< \brief Confirms the request to trigger an eCall to the network.*/ + CI_CC_PRIM_GET_CECALL_REQ , /**< \brief Get command request the type of eCall that is currently in progress , if any.*/ + CI_CC_PRIM_GET_CECALL_CNF , /**< \brief This command confirms the request and return type of eCall in progress or no eCall.*/ + CI_CC_PRIM_GET_CECALL_CAP_REQ , /**< \brief Request to read the supported values and ranges of eCall type.*/ + CI_CC_PRIM_GET_CECALL_CAP_CNF = 150 , /**< \brief Confirms a request and return supported values of eCall type*/ + + /*CI_CC_PRIM_CALL_PROGRESS_IND , This primitive is removed by lxliu for CQ00100555*/ + /**< \brief This CI contains the progress indicator information element and is sent whenever a PROGRESS message is received + * or another call control message ( like SETUP , CALL PROCEEDING , ALERTING , CONNECT ) includes the optional progress indicator + * information element */ + + /*merged by lxliu for CQ00098090 on 7152015 end*/ + + /*Added by lxliu for CQ00100555 on 6082015 */ + CI_CC_PRIM_AUDIO_ECALL_TO_AP_INFO_IND , /*brief This CI Indicates that the information which came from audio about ecall was sent to CI*/ + + /*Merged by cherryli@04.26.2016 CQ105208 begin.*/ + CI_CC_PRIM_ECALL_CFG_REQ , /**< \for eCall: defines what is the time interval in which the elapsed time since the eCall was operated ( T3242 / T3243 ) is written to the NVM*/ + CI_CC_PRIM_ECALL_CFG_CNF , /**< \for eCall: confirms the request to set the timer interval for writing to the NVM */ + CI_CC_PRIM_GET_ECALL_CFG_REQ , /**< \for eCall: request to get the configured time interval for writing the elapsed time into the NVM , and if eCall operated - the elapsed time */ + CI_CC_PRIM_GET_ECALL_CFG_CNF , /**< \for eCall: response to the request to get the configured time interval and the elapsed time*/ + CI_CC_PRIM_ECALL_ONLY_REQ , /**< \for eCallOnly: Forces the UE to act as an eCall-only mode */ + CI_CC_PRIM_ECALL_ONLY_CNF , /**< \for eCallOnly: confirms the request to act as an eCall-only mode */ + CI_CC_PRIM_GET_ECALL_ONLY_REQ , /**< \for eCallOnly: request to get the status of eCall-only mode */ + CI_CC_PRIM_GET_ECALL_ONLY_CNF , /**< \for eCallOnly: confirms the request to get the status of eCall-only mode */ + CI_CC_PRIM_SET_EMLPP_SUBSCRIPTIONS_INFO_REQ = 160 , /**< \brief Requests to set EMLPP subscriptions information */ + CI_CC_PRIM_SET_EMLPP_SUBSCRIPTIONS_INFO_CNF , /**< \brief Confirms request to set EMLPP subscriptions information */ + CI_CC_PRIM_GET_EMLPP_SUBSCRIPTIONS_INFO_REQ , /**< \brief Requests to get EMLPP subscriptions information */ + CI_CC_PRIM_GET_EMLPP_SUBSCRIPTIONS_INFO_CNF , /**< \brief Confirms request to get EMLPP subscriptions information */ + /*Merged by cherryli@04.26.2016 CQ105208 end.*/ + + /* ADD NEW COMMON PRIMITIVES HERE , BEFORE ' CI_CC_PRIM_LAST_COMMON_PRIM ' */ + /* END OF COMMON PRIMITIVES LIST */ + CI_CC_PRIM_LAST_COMMON_PRIM + + /* Customer specific extension primitives must be added starting from + * CI_CC_PRIM_FIRST_CUST_PRIM = CI_CC_PRIM_LAST_COMMON_PRIM as the first identifier. + * The actual primitive names and IDs are defined in the associated + * ' ci_cc_cust_xxx.h ' file. + */ + + /* DO NOT ADD ANY MORE PRIMITIVES HERE */ + + } _CiCcPrim; + +//ICAT EXPORTED ENUM + typedef enum CIRC_CC { + CIRC_CC_SUCCESS = 0 , /**< Request completed successfully */ + CIRC_CC_FAIL , /**< General failure ( catch-all ) */ + CIRC_CC_INCOMPLETE_INFO , /**< Incomplete information for request */ + CIRC_CC_BAD_DIALSTRING , /**< Invalid characters in dial string */ + CIRC_CC_INVALID_ADDRESS , /**< Invalid address ( phone number ) */ + CIRC_CC_INVALID_CALLID , /**< Invalid call identifier */ + CIRC_CC_INVALID_MPTYID , /**< Invalid MPTY identifier */ + CIRC_CC_NO_SERVICE , /**< No network service */ + CIRC_CC_FDN_ONLY , /**< Only fixed dialing numbers allowed */ + CIRC_CC_EMERGENCY_ONLY , /**< Only emergency calls allowed */ + CIRC_CC_CALL_BARRED , /**< Calls are barred */ + CIRC_CC_NO_MORE_CALLS , /**< No more calls allowed */ + CIRC_CC_NO_MORE_TIME , /**< No more airtime left */ + CIRC_CC_NOT_PROVISIONED , /**< Service not provisioned */ + CIRC_CC_CANNOT_SWITCH , /**< Call mode cannot be switched */ + CIRC_CC_SWITCH_FAILED , /**< Failed to switch call mode */ + CIRC_CC_REJECTED , /**< Request rejected by network */ + CIRC_CC_TIMEOUT , /**< Request timed out */ + CIRC_CC_SIM_ACCESS_DENIED , /**< SIM access related error ( CHV needed? ) */ + CIRC_CC_INVALID_PARAMETER , /**< Generic error - the requested service primitive has invalid parameters */ + CIRC_CC_INVALID_REQ , /**< Generic error - the requested service primitive can not be handled at current state */ + CIRC_CC_SIM_NOT_READY , /**< Generic error - the requested service primitive fails because SIM is not ready */ + CIRC_CC_ACCESS_DENIED , /**< Generic error - the requested service primitive fails because access is denied */ + CIRC_CC_ST_MODIFIED , /**< Call Modified By STK */ + /* << Define additional specific CC result codes here >> */ + /*added by cherryli@10.24.2018 CQ00112632 begin.*/ + CIRC_CC_RETRY , /**< Previous call is in disconnecting , retry later */ + /*added by cherryli@10.24.2018 CQ00112632 end.*/ + + /* This one must always be last in the list! */ + CIRC_CC_NUM_RESCODES /**< Number of result codes defined */ + } _CiCcResultCode; + +typedef UINT16 CiCcResultCode ; +typedef UINT16 CiCcCallId ; +typedef UINT16 CiCcMptyId ; +//ICAT EXPORTED ENUM + typedef enum CICC_CMODE { + CICC_CMODE_SINGLE = 0 , /**< Single mode ( see below ) */ + CICC_CMODE_ALT_VOICE_FAX , /**< Alternating voice / fax ( Teleservice 61 ) */ + CICC_CMODE_ALT_VOICE_DATA , /**< Alternating voice / data ( Bearer Svc 61 ) */ + CICC_CMODE_VOICE_THEN_DATA , /**< Voice followed by data ( Bearer Svc 81 ) */ + /* This one must always be last in the list! */ + CICC_NUM_CMODES /* Number of call modes defined */ + } _CiCcCallMode; + +typedef UINT8 CiCcCallMode ; +typedef UINT8 CiCcVioceMode ; +//ICAT EXPORTED ENUM + typedef enum CICC_BASIC_CMODE { + CICC_BASIC_CMODE_VOICE = 0 , /**< Basic call mode: voice */ + CICC_BASIC_CMODE_FAX , /**< Basic call mode: fax */ + CICC_BASIC_CMODE_DATA , /**< Basic call mode: data */ + + /* This one must always be last in the list! */ + CICC_NUM_BASIC_CMODES /* Number of basic call modes defined */ + } _CiCcBasicCMode; + +typedef UINT8 CiCcBasicCMode ; +//ICAT EXPORTED ENUM + typedef enum CICC_CURRENT_CMODE { + CICC_CURRENT_CMODE_VOICE = 0 , /**< Voice only */ + CICC_CURRENT_CMODE_DATA , /**< Data only */ + CICC_CURRENT_CMODE_FAX , /**< Fax only */ + CICC_CURRENT_CMODE_VOICE_FB_DATA_IS_VOICE , /**< Voice followed by data , voice mode */ + CICC_CURRENT_CMODE_ALT_VOICE_DATA_IS_VOICE , /**< Alternating voice / data , voice mode */ + CICC_CURRENT_CMODE_ALT_VOICE_FAX_IS_VOICE , /**< Alternating voice / fax , voice mode */ + CICC_CURRENT_CMODE_VOICE_FB_DATA_IS_DATA , /**< Voice followed by data , data mode */ + CICC_CURRENT_CMODE_ALT_VOICE_DATA_IS_DATA , /**< Alternating voice / data , data mode */ + CICC_CURRENT_CMODE_ALT_VOICE_FAX_IS_FAX , /**< Alternating voice / fax , fax mode */ + CICC_CURRENT_CMODE_UNKNOWN , /**< Unknown call mode */ + + + + + /* This one must always be last in the list! */ + CICC_NUM_CURRENT_CMODES /**< Number of current call modes defined */ + } _CiCcCurrentCMode; + +typedef UINT8 CiCcCurrentCMode ; +//ICAT EXPORTED ENUM + typedef enum CICC_CURRENT_CSTATE { + CICC_CURRENT_CSTATE_ACTIVE = 0 , /**< Call is active */ + CICC_CURRENT_CSTATE_HELD , /**< Call is held */ + CICC_CURRENT_CSTATE_DIALING , /**< Dialing ( MO call ) */ + CICC_CURRENT_CSTATE_ALERTING , /**< Alerting ( MO call ) */ + CICC_CURRENT_CSTATE_INCOMING , /**< Incoming MT call */ + CICC_CURRENT_CSTATE_WAITING , /**< MT call waiting */ + CICC_CURRENT_CSTATE_OFFERING , /**< MT call offering ( call setup ) */ + + /* This one must always be last in the list! */ + CICC_NUM_CURRENT_CSTATES /* Number of current call states defined */ + } _CiCcCurrentCState; + +typedef UINT8 CiCcCurrentCState ; +//ICAT EXPORTED ENUM + typedef enum CICC_CALL_DIRECTION { + CICC_MO_CALL = 0 , /**< Mobile originated call */ + CICC_MT_CALL /**< Mobile terminated call */ + } _CiCcCallDirection; + +typedef UINT8 CiCcCallDirection ; +//ICAT EXPORTED ENUM + typedef enum CICC_SRVCC_HO_STATE { + CICC_SRVCC_HO_START , + CICC_SRVCC_HO_SUCCESS , + CICC_SRVCC_HO_CANCEL , + CICC_SRVCC_HO_FAIL , + + CICC_SRVCC_HO_STATE + + } _CiCcSrvccHoState; + +typedef UINT8 CiCcSrvccHoState ; +//ICAT EXPORTED ENUM + typedef enum CICC_CALLTYPE { + + /* Single Modes */ + CICC_CALLTYPE_ASYNC = 0 , /**< Asynchronous transparent data */ + CICC_CALLTYPE_SYNC , /**< Synchronous transparent data */ + CICC_CALLTYPE_REL_ASYNC , /**< Asynchronous non-transparent data */ + CICC_CALLTYPE_REL_SYNC , /**< Synchronous non-transparent data */ + CICC_CALLTYPE_FAX , /**< Facsimile */ + CICC_CALLTYPE_VOICE , /**< Voice */ + + /* Voice mode followed by data mode ( bearer service 81 ) */ + CICC_CALLTYPE_VOICE_THEN_ASYNC , /**< VOICE followed by ASYNC */ + CICC_CALLTYPE_VOICE_THEN_SYNC , /**< VOICE followed by SYNC */ + CICC_CALLTYPE_VOICE_THEN_REL_ASYNC , /**< VOICE followed by REL_ASYNC */ + CICC_CALLTYPE_VOICE_THEN_REL_SYNC , /**< VOICE followed by REL_SYNC */ + + /* Alternating Voice / Data Mode , Voice Mode first ( Bearer Service 61 ) */ + CICC_CALLTYPE_ALT_VOICE_ASYNC , /**< Alternating VOICE / ASYNC , VOICE first */ + CICC_CALLTYPE_ALT_VOICE_SYNC , /**< Alternating VOICE / SYNC , VOICE first */ + CICC_CALLTYPE_ALT_VOICE_REL_ASYNC , /**< Alternating VOICE / REL_ASYNC , VOICE first */ + CICC_CALLTYPE_ALT_VOICE_REL_SYNC , /**< Alternating VOICE / REL_SYNC , VOICE first */ + + /* Alternating Voice / Data Mode , Data Mode first ( Bearer Service 61 ) */ + CICC_CALLTYPE_ALT_ASYNC_VOICE , /**< Alternating ASYNC / VOICE , ASYNC first */ + CICC_CALLTYPE_ALT_SYNC_VOICE , /**< Alternating SYNC / VOICE , SYNC first */ + CICC_CALLTYPE_ALT_REL_ASYNC_VOICE , /**< Alternating REL_ASYNC / VOICE , REL_ASYNC first */ + CICC_CALLTYPE_ALT_REL_SYNC_VOICE , /**< Alternating REL_SYNC / VOICE , REL_SYNC first */ + + /* Alternating Voice / Facsimile Modes ( Teleservice 61 ) */ + CICC_CALLTYPE_ALT_VOICE_FAX , /**< Alternating VOICE / FAX , VOICE first */ + CICC_CALLTYPE_ALT_FAX_VOICE , /**< Alternating VOICE / FAX , FAX first */ + + /* This one must always be last in the list! */ + CICC_NUM_CALLTYPES /**< Number of call types defined */ + } _CiCcCallType; + +typedef UINT8 CiCcCallType ; +//ICAT EXPORTED ENUM + typedef enum CICC_BSTYPE_NAME { + + /* UDI or 3.100000 kHz Modem definitions */ + CICC_BSTYPE_NAME_DATA_ASYNC_UDI = 0 , /**< Data circuit asynchronous ( UDI , 3.100000 kHz ) */ + CICC_BSTYPE_NAME_DATA_SYNC_UDI , /**< Data circuit synchronous ( UDI , 3.100000 kHz ) */ + CICC_BSTYPE_NAME_PAD_ASYNC_UDI , /**< PAD access asynchronous ( UDI ) */ + CICC_BSTYPE_NAME_PACKET_SYNC_UDI , /**< Packet access synchronous ( UDI ) */ + + /* RDI definitions */ + CICC_BSTYPE_NAME_DATA_ASYNC_RDI = 0 , /**< Data circuit asynchronous ( RDI ) */ + CICC_BSTYPE_NAME_DATA_SYNC_RDI , /**< Data circuit synchronous ( RDI ) */ + CICC_BSTYPE_NAME_PAD_ASYNC_RDI , /**< PAD access asynchronous ( RDI ) */ + CICC_BSTYPE_NAME_PACKET_SYNC_RDI , /**< Packet access synchronous ( RDI ) */ + + /* This one must always be last in the list! */ + CICC_NUM_BSTYPE_NAMES /**< Number of bearer service names defined */ + } _CiCcBsTypeName; + +typedef UINT8 CiCcBsTypeName ; +//ICAT EXPORTED ENUM + typedef enum CICC_BSTYPE_CE { + CICC_BSTYPE_CE_TRANSPARENT_ONLY = 0 , /**< Transparent required */ + CICC_BSTYPE_CE_NONTRANSPARENT_ONLY , /**< Non-transparent required */ + CICC_BSTYPE_CE_PREFER_TRANSPARENT , /**< Either , transparent preferred */ + CICC_BSTYPE_CE_PREFER_NONTRANSPARENT , /**< Either , non-transparent preferred */ + + /* This one must always be last in the list! */ + CICC_NUM_BSTYPE_CE /**< Number of CE indicators defined */ + } _CiCcBsTypeCe; + +typedef UINT8 CiCcBsTypeCe ; +//ICAT EXPORTED STRUCT + typedef struct CiCcDataBsTypeInfo_struct { + CiBsTypeSpeed Speed ; /**< Data speed indicator \sa CCI API Ref Manual */ + CiCcBsTypeName Name ; /**< Bearer service name indicator \sa CiCcBsTypeName */ + CiCcBsTypeCe Ce ; /**< Connection element \sa CiCcBsTypeCe */ + } CiCcDataBsTypeInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiCcSuppDataBsTypes_struct { + CiNumericRange bsTypeSpeedsRange ; /**< Supported data speeds \sa CCI API Ref Manual */ + CiNumericRange bsTypeNamesRange ; /**< Supported bearer service names \sa CCI API Ref Manual */ + CiNumericRange bsTypeCeRange ; /**< Supported connection elements \sa CCI API Ref Manual */ + } CiCcSuppDataBsTypes; + +//ICAT EXPORTED ENUM + typedef enum CICC_PROTOCOL_DISC { + + CICC_PROTOCOL_DISC_USP = 0 , /* User specified protocol */ + CICC_PROTOCOL_DISC_OSIHLP , /* OSI higher layer protocol */ + CICC_PROTOCOL_DISC_X244 , /* X.244 */ + CICC_PROTOCOL_DISC_RMCF3 , /* Reserved for system mangement convergence function */ + CICC_PROTOCOL_DISC_IA5c4 , /* IA5 characters */ + + CICC_NUM_PROTOCOL_DISC /* Number of protocols discriminator defined */ + } _CiCcProtocolDisc; + +typedef UINT8 CiCcProtocolDisc ; +//ICAT EXPORTED STRUCT + typedef struct CiCCOptUUSInfo_struct { + CiBoolean UUSInfoValid ; /**< TRUE Indicates UUS information is valid \sa CCI API Ref Manual */ + CiCcProtocolDisc protocolDisc ; /**< Protocol discriminator as defined in 3 GPP TS 24.008000 section 10.500000 .4.25. This field is valid if UUSInfoValid == TRUE \sa CiCcProtocolDisc*/ + CiString userUserInfo ; /**< User-user information element as defined in 3 GPP TS 24.008000 appendix O2. This field is valid if UUSInfoValid == TRUE \sa CCI API Ref Manual */ + } CiCcOptUUSInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiCcCallInfo_struct { + CiCcCallId CallId ; /**< Unique call identifier \sa CiCcCallId */ + CiBoolean IsEmergency ; /**< If TRUE indicates emergency call \sa CCI API Ref Manual */ + CiBoolean IsMPTY ; /**< If TRUE indicates this call is part of a multiparty call \sa CCI API Ref Manual */ + CiCcCallDirection Direction ; /**< Call direction ( MT or MO ) indicator \sa CiCcCallDirection */ + CiCcCurrentCState State ; /**< Current call state \sa CiCcCurrentCState */ + CiCcCurrentCMode Mode ; /**< Current call mode \sa CiCcCurrentCMode */ + CiCallerInfo callerInfo ; /**< Caller information \sa CCI API Ref Manual */ + CiCcDataBsTypeInfo dataSvcInfo ; /**< Service information ( for data calls ) \sa CiCcDataBsTypeInfo_struct */ + CiBoolean IsAutoDial ; /**< If TRUE indicates an auto dial call \sa CCI API Ref Manual */ + + CiCcOptUUSInfo optUUSInfo ; /**< Optional user to user information \sa CiCCOptUUSInfo */ + + UINT8 LineID ; /**< Line ID ( ALS ) - 1 or 2 */ + // CQ105208 + // CiCcCliValidity CliValidity ; / **< CLI validity indicator* / + CiCcEmlppCallPriority emlppCallPriority ; /** calling-subscriber eMLPP call priority. coded according to 3 GPP TS 24.008000 section 10.500000 .1.11 */ + + } CiCcCallInfo; + +//ICAT EXPORTED ENUM + typedef enum CICC_CALLOPTIONS { + CICC_CALLOPTIONS_NONE = 0x00 , /**< CLIR as provisioned ; no CUG information */ + CICC_CALLOPTIONS_CLIR_ALLOW = 0x01 , /**< Allow CLI presentation on this call */ + CICC_CALLOPTIONS_CLIR_RESTRICT = 0x02 , /**< Restrict CLI presentation on this call */ + CICC_CALLOPTIONS_CUG_ENABLE = 0x04 /**< Enable CUG information on this call */ + } _CiCcCallOptions; + +typedef UINT8 CiCcCallOptions ; +//ICAT EXPORTED ENUM + typedef enum CICC_EMRGENCYCAT { + CICC_EMERGENCYCAT_POLICE = 0 , + CICC_EMERGENCYCAT_AMBULANCE , + CICC_EMERGENCYCAT_FIRE_BRIGADE , + CICC_EMERGENCYCAT_MARINE_GUARD , + CICC_EMERGENCYCAT_MOUNTAIN_RESCUE , + CICC_NUM_EMERGENCYCAT + } _CiCcEmergencyCat; + +typedef UINT8 CiCcEmergencyCat ; +//ICAT EXPORTED STRUCT + typedef struct CiCcMakeCallInfo_struct { + CiCcBasicCMode BasicCMode ; /**< Basic call mode ( if applicable ) \sa CiCcBasicCMode */ + CiCcCallOptions Options ; /**< Call options bitmap \sa CiCcCallOptions */ + CHAR dialString [ 40 ] ; + CiBoolean IsAutoDial ; /**< Is this an auto dial call? \sa CCI API Ref Manual */ + CiBoolean IsCtmCall ; /**< Is this call is CTM TTY MO call? \sa CCI API Ref Manual */ + CiBoolean IsEmergency ; /**< Indicates if the call is an emergency call \sa CCI API Ref Manual */ + CiBitRange ServiceCat ; /**< Bit mask indicating the required emergency call service category. coded according to 3 GPP TS 24.008000 [ 10 ] [ 15 ] section 10.500000 .4.33. This filed is valid if IsEmergency is TRUE \sa CCI API Ref Manual */ + // CQ105208 + CiCcEmlppCallPriority emlppCallPriority ; /** User chosen eMLPP call priority. Coded according to 3 GPP TS 24.008000 section 10.500000 .1.11. Might be above the maximum priority level for which the service subscriber has a subscription in the network */ + } CiCcMakeCallInfo; + +//ICAT EXPORTED ENUM + typedef enum CICC_CAUSE { + CICC_CAUSE_UNKNOWN = 0 , /**< Unknown cause ( includes " None " ) */ + CICC_CAUSE_UNASSIGNED_NUMBER , /**< Unassigned ( unallocated ) number */ + CICC_CAUSE_NO_ROUTE_TO_DEST , /**< No route to destination */ + CICC_CAUSE_CHAN_UNACCEPTABLE , /**< Channel unacceptable */ + CICC_CAUSE_OPERATOR_BARRING , /**< Operator determined barring */ + CICC_CAUSE_NORMAL_CLEARING , /**< Normal call clearing */ + CICC_CAUSE_USER_BUSY , /**< User busy */ + CICC_CAUSE_NO_USER_RESPONSE , /**< No user responding */ + CICC_CAUSE_ALERT_NO_ANSWER , /**< User alerting , no answer */ + CICC_CAUSE_CALL_REJECTED , /**< Call rejected */ + CICC_CAUSE_NUMBER_CHANGED = 10 , /**< Number changed */ + CICC_CAUSE_PREEMPTION , /**< Pre-emption */ + CICC_CAUSE_NONSELECTED_USER_CLEAR , /**< Non selected user clearing */ + CICC_CAUSE_DEST_OUT_OF_ORDER , /**< Destination out of order */ + CICC_CAUSE_INVALID_NUMFORMAT , /**< Invalid number format ( incomplete ) */ + CICC_CAUSE_FACILITY_REJECT , /**< Facility rejected */ + CICC_CAUSE_STATUSENQ_RESPONSE , /**< Response to STATUS ENQUIRY */ + CICC_CAUSE_NORMAL_UNSPECIFIED , /**< Normal , unspecified */ + CICC_CAUSE_NO_CCT_AVAILABLE , /**< No circuit / channel available */ + CICC_CAUSE_NETWORK_OUT_OF_ORDER , /**< Network out of order */ + CICC_CAUSE_TEMP_FAILURE = 20 , /**< Temporary failure */ + /*21-30*/ + CICC_CAUSE_CONGESTION , /**< Switching equipment congestion */ + CICC_CAUSE_ACCESSINFO_DISCARDED , /**< Access information discarded */ + CICC_CAUSE_CIRCUIT_UNAVAILABLE , /**< Requested circuit / channel unavailable */ + CICC_CAUSE_RESOURCES_UNAVAILABLE , /**< Resources unavailable , unspecified */ + CICC_CAUSE_QOS_UNAVAIL , /**< Quality of service ( QoS ) unavailable */ + CICC_CAUSE_FACILITY_NOTSUBSCRIBED , /**< Requested facility not subscribed */ + CICC_CAUSE_MT_CALLBARRING_IN_CUG , /**< Incoming ( MT ) calls barred within CUG */ + CICC_CAUSE_BEARERCAP_NOTAUTHORIZED , /**< Bearer capability not authorized */ + CICC_CAUSE_BEARERCAP_UNAVAILABLE , /**< Bearer capability not available */ + CICC_CAUSE_SVC_UNAVAILABLE = 30 , /**< Service or option not available */ + /*31-40*/ + CICC_CAUSE_BEARERSVC_NOT_IMPLEMENTED , /**< Bearer service not implemented */ + CICC_CAUSE_ACMMAX_REACHED , /**< ACM equal to , or greater than , ACMmax */ + CICC_CAUSE_FACILITY_NOT_IMPLEMENTED , /**< Requested facility not implemented */ + CICC_CAUSE_BEARERCAP_RDI_ONLY , /**< Only RDI bearer capability is available */ + CICC_CAUSE_SVC_NOT_IMPLEMENTED , /**< Service or option not implemented */ + CICC_CAUSE_INVALID_TRANSACTID , /**< Invalid transaction ID value */ + CICC_CAUSE_NOT_CUG_MEMBER , /**< User not member of CUG */ + CICC_CAUSE_DEST_INCOMPATIBLE , /**< Incompatible destination */ + CICC_CAUSE_INCORRECT_MESSAGE , /**< Semantically incorrect message */ + CICC_CAUSE_TRANSIT_NETWORK_INVALID = 40 , /**< Invalid transit network selection */ + /*41-50*/ + CICC_CAUSE_NO_SUCH_MSGTYPE , /**< Message type non-existent or not implemented */ + CICC_CAUSE_MSGTYPE_WRONG_STATE , /**< Message type incompatible with current protocol state */ + CICC_CAUSE_NO_SUCH_IE , /**< Information element non-existent or not implemented */ + CICC_CAUSE_CONDITIONAL_IE_ERROR , /**< Conditional IE error */ + CICC_CAUSE_MSG_WRONG_STATE , /**< Message incompatible with current protocol state */ + CICC_CAUSE_RECOVERY_AFTER_TIMEOUT , /**< Recovery after timer expiry */ + CICC_CAUSE_PROTOCOL_ERROR , /**< Protocol error , unspecified */ + CICC_CAUSE_INTERWORKING , /**< Interworking , unspecified */ + + /* Error codes originated locally */ + CICC_CAUSE_ABNORMAL , /**< Abnormal release */ + CICC_CAUSE_ERROR_REESTABLISHMENT_BARRED = 50 , /**< Reestablishment barred */ + /*51-60*/ + CICC_CAUSE_CELL_SELECTION_IN_PROGRESS , /**< Cell seection in progress */ + CICC_CAUSE_LOWER_LAYER_FAILURE , /**< Lower layer failure */ + CICC_CAUSE_RACH_FAIL , /**< Rach fail */ + + CICC_CAUSE_FDN_BLOCKED , /**< FDN Mismatch */ + + CICC_CAUSE_ACCESS_CLASS_BARRED , /**< Cell barred */ + + CICC_CAUSE_MAND_IE_ERROR , /**< Invalid mandatory information */ + + CICC_CAUSE_EMERGENCY_ONLY , /**< Only Emergency calls allowed */ + CICC_CAUSE_NO_CS_SERVICE , + CICC_CAUSE_DMM_DEDICATE , /**< other sim in dedicate mode */ + CICC_CAUSE_UNALLOCATED_TMSI = 60 , /**< unallocated TMSI */ + /*61-70*/ + CICC_CAUSE_ILLEGAL_MS , /**< Illegal MS */ + CICC_CAUSE_ILLEGAL_ME , /**< Illegal ME */ + CICC_CAUSE_NETWORK_FAILURE , /**< Network failure */ + CICC_CAUSE_SYNCH_FAILURE , /**< Synch failure */ + CICC_CAUSE_CALL_CANNOT_BE_IDENTIFIED , /**< Call cannot be identified */ + CICC_CAUSE_AUTH_FAILURE , /**< Authentication failure */ + + // 67 + + /*Added by cherryli@09.02.2014 for CQ69642 begin.*/ + CICC_RRC_REL_CAUSE_NORMAL = 68 , + CICC_RRC_REL_CAUSE_UNSPEC , + CICC_RRC_REL_CAUSE_PRE_EMPTIVE = 70 , + + /*71-80*/ + CICC_RRC_REL_CAUSE_CONGESTION , + CICC_RRC_REL_CAUSE_RE_ESTABLISH_REJECT , + CICC_RRC_REL_CAUSE_DIRECTED_SIGNALLING_REESTABLISHMENT , + CICC_RRC_REL_CAUSE_USER_INACTIVITY , + /*Added by cherryli@09.02.2014 for CQ69642 end.*/ + + /*Added by cherryli@06.28.2020 CQ00121837 begin.*/ + CICC_CAUSE_IN_REGISTER = 75 , + /*Added by cherryli@06.28.2020 CQ00121837 end.*/ + + /* This one must always be last in the list! */ + CICC_NUM_CAUSES /**< Number of cause codes defined */ + } _CiCcCause; + +typedef UINT8 CiCcCause ; +//ICAT EXPORTED STRUCT + typedef struct CiCcExtCallType_struct { + CiCcCallType CallType ; /**< Call type indicator \sa CiCcCallType */ + CiSubaddrInfo subaddress ; /**< Optional subaddress information \sa CCI API Ref Manual */ + } CiCcExtCallType; + +//ICAT EXPORTED STRUCT + typedef struct CiCcCdAddressInfo_struct { + CiBoolean Present ; /* Is Call Deflection info present? */ + CiAddressInfo number ; + CiSubaddrInfo subaddress ; + + } CiCcCdAddressInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiCcDtmfPacing_struct { + UINT16 Duration ; /**< DTMF tone duration ( ms ) */ + UINT16 Interval ; /**< Inter-digit interval ( ms ) */ + } CiCcDtmfPacing; + +//ICAT EXPORTED ENUM + typedef enum CICC_CLI_VALIDITY { + CLI_VALIDITY_VALID = 0 , /**< CLI information is valid */ + CLI_VALIDITY_WITHHELD , /**< CLI information withheld by caller */ + CLI_VALIDITY_UNAVAILABLE , /**< CLI information is unavailable */ + CLI_VALIDITY_NOT_PRESENT /**< CLI information is not present */ + } _CiCcCliValidity; + +typedef UINT8 CiCcCliValidity ; +//ICAT EXPORTED ENUM + typedef enum CICC_CauseOfNoCli { + + CLI_CAUSE_OF_NO_CLI_UNAVAILABLE = 0 , + CLI_CAUSE_OF_NO_CLI_REJECT_BY_USER = 1 , + CLI_CAUSE_OF_NO_CLI_INTERACTION_WITH_OTHER_SERVICE = 2 , + CLI_CAUSE_OF_NO_CLI_COIN_LINE_PAYPHONE = 3 + + } _CiCauseOfNoCli; + +typedef UINT8 CiCauseOfNoCli ; +//ICAT EXPORTED STRUCT + typedef struct CiCcClipInfo_struct { + CiCcCallId CallId ; /**< call identifier \sa CiCcCallId */ + CiCcCliValidity CliValidity ; /**< CLI validity indicator \sa CiCcCliValidity */ + CiCallerInfo callerInfo ; /**< Calling party ( caller ) information \sa CCI API Ref Manual */ + + + + } CiCcClipInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiCcCdipInfo_struct { + CiCcCallId CallId ; /**< call identifier \sa CiCcCallId */ + CiCcCliValidity CliValidity ; /**< CLI validity indicator \sa CiCcCliValidity */ + CiCallerInfo callerInfo ; /**< Called line Information \sa CCI API Ref Manual */ + } CiCcCdipInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiCcColpInfo_struct { + CiCcCallId CallId ; /**< call identifier \sa CiCcCallId */ + CiCcCliValidity CliValidity ; /**< CLI validity indicator \sa CiCcCliValidity */ + CiCallerInfo callerInfo ; /**< Connected party information \sa CCI API Ref Manual */ + } CiCcColpInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiCcCwInfo_struct { + CiCcCliValidity CliValidity ; /**< CLI validity indicator \sa CiCcCliValidity */ + CiCallerInfo callerInfo ; /**< Calling party ( caller ) information \sa CCI API Ref Manual */ + // CQ105208 + CiCcEmlppCallPriority emlppCallPriority ; /** calling-subscriber eMLPP call priority. coded according to 3 GPP TS 24.008000 section 10.500000 .1.11 */ + CiBoolean emlppAutoAnswer ; /**< Indicates whether it was decided by CP that the new incoming call should be auto-answered and on-going call shall be pre-empted */ + } CiCcCwInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPuctInfo_struct { + CHAR curr [ 3 ] ; /**< Currency string */ + UINT16 eppu ; /**< Extended price per unit */ + CiBoolean negExp ; /**< TRUE if exponent is negative \sa CCI API Ref Manual */ + UINT8 exp ; /**< Modulus of exponent */ + } CiCcPuctInfo; + +//ICAT EXPORTED ENUM + typedef enum CICCDATACOMPDIR_TAG { + CI_CC_DATACOMP_DIR_NONE = 0 , /**< Negotiated , no compression ( V.42 bis P0=0 ) */ + CI_CC_DATACOMP_DIR_TX , /**< Transmit only */ + CI_CC_DATACOMP_DIR_RX , /**< Receive only */ + CI_CC_DATACOMP_DIR_BOTH , /**< Both directions , accept any direction ( V.42 bis P0=11 ) */ + + /* This one must always be last in the list! */ + CI_CC_DATACOMPS_NUM_DIRS + } _CiCcDataCompDir; + +typedef UINT8 CiCcDataCompDir ; +//ICAT EXPORTED STRUCT + typedef struct CiCcDataCompInfo_struct { + CiCcDataCompDir dir ; /**< Data compression direction , default: CI_CC_DATACOMP_BOTH \sa CiCcDataCompDir */ + CiBoolean zNegRequired ; /**< Is compression negotiation required? Default: FALSE \sa CCI API Ref Manual */ + UINT16 maxDict ; /**< Maximum number of dictionary entries to be negotiated , [ 512 -65535 ] */ + UINT8 maxStrLen ; /**< Maximum string length to be negotiated ( V.42 bis P2 ) , [ 6 -250 ] , default: 6 */ + } CiCcDataCompInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiCcDataCompCap_struct { + CiBitRange bitsDir ; /**< Supported direction values \sa CCI API Ref Manual */ + CiBitRange bitsNegComp ; /**< Supported negotiation values \sa CCI API Ref Manual */ + CiNumericRange maxDictRange ; /**< Range of supported maximum number of dictionary entries \sa CCI API Ref Manual */ + CiNumericRange maxStrLenRange ; /**< Range of supported maximum string length to be negotiated \sa CCI API Ref Manual */ + } CiCcDataCompCap; + +//ICAT EXPORTED STRUCT + typedef struct CiCcRlpCfg_struct { + UINT8 winIWS ; /**< IWF-to-MS window size */ + UINT8 winMWS ; /**< MS-to-IWF window size */ + UINT8 ackTimer ; /**< Acknowledgement timer ( T1 ) , units of 10 ms */ + UINT8 reTxAttempts ; /**< Retransmission attempts ( N2 ) */ + UINT8 ver ; /**< RLP version number , [ 0 -2 ] , default: 0 , recommend: 2 */ + UINT8 reSeqPeriod ; /**< Resequencing period ( T4 ) , units of 10 ms */ + UINT8 initialT1 ; /**< Acknowledgement timer ( T1 ) , units of 10 ms */ + UINT8 initialN2 ; /**< Retransmission attempts ( N2 ) , units of 10 ms */ + } CiCcRlpCfg; + +//ICAT EXPORTED STRUCT + typedef struct CiCcRlpCap_struct { + CiNumericRange winIWSRange ; /**< Range of supported IWF-to-MS window size \sa CCI API Ref Manual. */ + CiNumericRange winMWSRange ; /**< Range of supported MS-to-IWF window size \sa CCI API Ref Manual. */ + CiNumericRange ackTimerRange ; /**< Range of supported acknowledgement timer \sa CCI API Ref Manual. */ + CiNumericRange reTxAttemptsRange ; /**< Range of supported retransmission attempts \sa CCI API Ref Manual. */ + CiBitRange bitsVer ; /**< Supported RLP version \sa CCI API Ref Manual. */ + CiNumericRange reSeqPeriodRange ; /**< Range of supported resequencing period \sa CCI API Ref Manual. */ + } CiCcRlpCap; + +//ICAT EXPORTED ENUM + typedef enum CICCCALLMANOP_TAG { + + CI_CC_MANOP_RLS_HELD_OR_UDUB = 0 , /**< " AT+CHLD=0 " - Release all held calls or set user determined user busy ( UDUB ) for a waiting call */ + CI_CC_MANOP_RLS_ACT_ACCEPT_OTHER , /**< " AT+CHLD=1 " - Release all active calls ( if any exist ) and accept the other ( held or waiting ) call*/ + CI_CC_MANOP_RLS_CALL , /**< " AT+CHLD=1X " - Releases a specific active call X*/ + CI_CC_MANOP_HOLD_ACT_ACCEPT_OTHER , /**< " AT+CHLD=2 " Places all active calls ( if any exist ) on hold and accepts the other ( held or waiting ) call.*/ + CI_CC_MANOP_HOLD_ALL_EXCEPT_ONE , /**< " AT+CHLD=2X " - Places all active calls on hold except call X with which communication shall be supported*/ + CI_CC_MANOP_ADD_HELD_TO_MPTY , /**< " AT+CHLD=3 " - Add a held call to the conversation ( multiparty ) */ + CI_CC_MANOP_ECT , /**< " AT+CHLD=4 " - Connects the two calls and disconnects the subscriber from both calls ( ECT ) */ + CI_CC_MANOP_CALL_REDIRECT , /**< " AT+CTFR " ( " 4 * " ) - Redirect an incoming or a waiting call to the specified number followed by SEND directory number */ + CI_CC_MANOP_CCBS , /**< " AT+CHLD=5 " - Activates the completion of calls when subscriber is busy */ + CI_CC_MANOP_NUM_OPS + + } _CiCcCallManOp; + +typedef UINT8 CiCcCallManOp ; +//ICAT EXPORTED ENUM + typedef enum CICC_RELEASE_WHICHCALLS + { + CICC_WHICHCALLS_ALL_ACTIVE = 0 , + CICC_WHICHCALLS_ALL_HELD , + CICC_WHICHCALLS_ALL_CALLS + + } _CiCcReleaseWhichCalls; + +typedef UINT8 CiCcReleaseWhichCalls ; +typedef CiEmptyPrim CiCcPrimGetNumberTypeReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetNumberTypeCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiAddressType numType ; /**< Type of number ( address type ) \sa CCI API Ref Manual */ + } CiCcPrimGetNumberTypeCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetNumberTypeReq_struct { + CiAddressType numType ; /**< Type of number ( address type ) \sa CCI API Ref Manual */ + } CiCcPrimSetNumberTypeReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetNumberTypeCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimSetNumberTypeCnf; + +typedef CiEmptyPrim CiCcPrimGetSupportedCallModesReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetSupportedCallModesCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + UINT8 NumModes ; /**< Number of supported call modes */ + CiCcCallMode Modes [ CICC_NUM_CMODES ] ; /**< Supported call modes \sa CiCcCallMode */ + } CiCcPrimGetSupportedCallModesCnf; + +typedef CiEmptyPrim CiCcPrimGetCallModeReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetCallModeCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcCallMode Mode ; /**< Current call mode \sa CiCcCallMode */ + } CiCcPrimGetCallModeCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetCallModeReq_struct { + CiCcCallMode Mode ; /**< Selected call mode \sa CiCcCallMode */ + } CiCcPrimSetCallModeReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetCallModeCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimSetCallModeCnf; + +typedef CiEmptyPrim CiCcPrimGetSupportedDataBsTypesReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetSupportedDataBsTypesCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcSuppDataBsTypes types ; /**< Supported data bearer service type parameter settings \sa CiCcSuppDataBsTypes_struct */ + } CiCcPrimGetSupportedDataBsTypesCnf; + +typedef CiEmptyPrim CiCcPrimGetDataBsTypeReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetDataBsTypeCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcDataBsTypeInfo info ; /**< Current data bearer service type information \sa CiCcDataBsTypeInfo_struct */ + } CiCcPrimGetDataBsTypeCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetDataBsTypeReq_struct { + CiCcDataBsTypeInfo info ; + } CiCcPrimSetDataBsTypeReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetDataBsTypeCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimSetDataBsTypeCnf; + +typedef CiEmptyPrim CiCcPrimGetAutoAnswerActiveReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetAutoAnswerActiveCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiBoolean Active ; + } CiCcPrimGetAutoAnswerActiveCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetAutoAnswerActiveReq_struct { + CiBoolean Active ; + } CiCcPrimSetAutoAnswerActiveReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetAutoAnswerActiveCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimSetAutoAnswerActiveCnf; + +typedef CiEmptyPrim CiCcPrimListCurrentCallsReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimListCurrentCallsCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + UINT8 NumCalls ; /**< Number of current calls */ + CiCcCallInfo callInfo [ 7 ] ; /**< Call information list \sa CiCcCallInfo_struct */ + } CiCcPrimListCurrentCallsCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetCallInfoReq_struct { + CiCcCallId CallId ; /**< Call identifier \sa CiCcCallId */ + } CiCcPrimGetCallInfoReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetCallInfoCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcCallInfo info ; /**< Current call information \sa CiCcCallInfo_struct */ + } CiCcPrimGetCallInfoCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimMakeCallReq_struct { + CiCcMakeCallInfo info ; /**< Outgoing ( make ) call information \sa CiCcMakeCallInfo_struct*/ + } CiCcPrimMakeCallReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimMakeCallCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcCallId CallId ; /**< Unique call identifier \sa CiCcCallId */ + } CiCcPrimMakeCallCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimCallProceedingInd_struct { + CiCcCallId CallId ; /**< Call identifier \sa CiCcCallId */ + CiBoolean InBandTones ; /**< Indicates if in-band tones are available from network \sa CCI API Ref Manual */ + // CQ105208 + CiCcEmlppCallPriority emlppCallPriorityGranted ; /** The eMLPP call priority granted by the network. coded according to 3 GPP TS 24.008000 section 10.500000 .1.11 */ + } CiCcPrimCallProceedingInd; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimMoCallFailedInd_struct { + CiCcCallId CallId ; /**< Call identifier \sa CiCcCallId */ + CiCcCause Cause ; /**< Cause code \sa CiCcCause */ + CiBoolean InBandTones ; /**< Indicates if in-band tones are available from network \sa CCI API Ref Manual */ + /* SCR #1255830 */ + } CiCcPrimMoCallFailedInd; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimAlertingInd_struct { + CiCcCallId CallId ; /**< Call identifier \sa CiCcCallId */ + CiBoolean InBandTones ; /**< Indicates if in-band tones are available from network \sa CCI API Ref Manual */ + } CiCcPrimAlertingInd; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimConnectInd_struct { + CiCcCallId CallId ; /**< Call identifier \sa CiCcCallId */ + } CiCcPrimConnectInd; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimDisconnectInd_struct { + CiCcCallId CallId ; /**< Call identifier \sa CiCcCallId */ + CiCcCause Cause ; /**< Disconnect cause code \sa CiCcCause */ + } CiCcPrimDisconnectInd; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimIncomingCallInd_struct { + CiCcCallId CallId ; /**< Incoming call identifier \sa CiCcCallId */ + CiCcExtCallType callType ; /**< Extended call type information \sa CiCcExtCallType_struct */ + // CQ105208 + CiCcEmlppCallPriority emlppCallPriority ; /** calling-subscriber eMLPP call priority. coded according to 3 GPP TS 24.008000 section 10.500000 .1.11 */ + CiBoolean emlppAutoAnswer ; /**< Indicates whether it was decided by CP that the new incoming call should be auto-answered and on-going call shall be pre-empted */ + } CiCcPrimIncomingCallInd; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimCallWaitingInd_struct { + CiCcCallId CallId ; /**< Waiting call identifier \sa CiCcCallId */ + CiCcCwInfo info ; /**< Call waiting information for incoming call \sa CiCcCwInfo_struct */ + } CiCcPrimCallWaitingInd; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimHeldCallInd_struct { + CiCcCallId CallId ; /**< Held call identifier \sa CiCcCallId */ + } CiCcPrimHeldCallInd; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimAnswerCallReq_struct { + CiCcCallId CallId ; /**< Call identifier \sa CiCcCallId */ + } CiCcPrimAnswerCallReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimAnswerCallCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcCallId CallId ; /**< Call identifier \sa CiCcCallId */ + } CiCcPrimAnswerCallCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimRefuseCallReq_struct { + CiCcCallId CallId ; /**< Call identifier \sa CiCcCallId */ + UINT16 Cause ; /**< Cause Code. */ + } CiCcPrimRefuseCallReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimRefuseCallCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimRefuseCallCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimMtCallFailedInd_struct { + CiCcCallId CallId ; /**< Call identifier \sa CiCcCallId */ + CiCcCause Cause ; /**< Cause of call failure \sa CiCcCause */ + /* SCR #1255830 */ + CiBoolean InBandTones ; /**< Indicates if in-band tones are available from network \sa CCI API Ref Manual */ + } CiCcPrimMtCallFailedInd; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimHoldCallReq_struct { + CiCcCallId CallId ; /**< Call identifier for the active call \sa CiCcCallId */ + } CiCcPrimHoldCallReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimHoldCallCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcCause Cause ; /**< Not in use */ + } CiCcPrimHoldCallCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimRetrieveCallReq_struct { + CiCcCallId CallId ; /**< Call identifier for the held call \sa CiCcCallId */ + } CiCcPrimRetrieveCallReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimRetrieveCallCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcCause Cause ; /**< Not in use */ + } CiCcPrimRetrieveCallCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSwitchActiveHeldReq_struct { + CiCcCallId Active ; /**< Call identifier for the active call \sa CiCcCallId */ + CiCcCallId Held ; /**< Call identifier for the held call \sa CiCcCallId*/ + } CiCcPrimSwitchActiveHeldReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSwitchActiveHeldCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcCause Cause ; /**< Not in use */ + } CiCcPrimSwitchActiveHeldCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimExplicitCallTransferReq_struct { + CiCcCallId ActiveCall ; /**< Call identifier for the active call \sa CiCcCallId */ + CiCcCallId HeldCall ; /**< Call identifier for the held call \sa CiCcCallId*/ + } CiCcPrimExplicitCallTransferReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimExplicitCallTransferCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimExplicitCallTransferCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimReleaseCallReq_struct { + CiCcCallId CallId ; /**< Call identifier \sa CiCcCallId */ + } CiCcPrimReleaseCallReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimReleaseCallCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimReleaseCallCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimReleaseAllCallsReq_struct { + UINT8 WhichCalls ; /**< Not in use */ + } CiCcPrimReleaseAllCallsReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimReleaseAllCallsCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimReleaseAllCallsCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSwitchCallModeReq_struct { + CiCcCallId CallId ; + } CiCcPrimSwitchCallModeReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSwitchCallModeCnf_struct { + CiCcResultCode Result ; + } CiCcPrimSwitchCallModeCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimEstablishMptyReq_struct { + CiCcCallId ActiveCall ; /**< Call identifier for the active call \sa CiCcCallId */ + CiCcCallId HeldCall ; /**< Call identifier for the held call \sa CiCcCallId */ + } CiCcPrimEstablishMptyReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimEstablishMptyCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcMptyId MptyId ; /**< MPTY identifier \sa CiCcMptyId */ + } CiCcPrimEstablishMptyCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimAddToMptyReq_struct { + CiCcMptyId MptyId ; /**< MPTY identifier for the conference \sa CiCcMptyId */ + CiCcCallId CallId ; /**< Call identifier for the new call \sa CiCcCallId */ + } CiCcPrimAddToMptyReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimAddToMptyCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimAddToMptyCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimHoldMptyReq_struct { + CiCcMptyId MptyId ; /**< MPTY Identifier \sa CiCcMptyId */ + } CiCcPrimHoldMptyReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimHoldMptyCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimHoldMptyCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimRetrieveMptyReq_struct { + CiCcMptyId MptyId ; /**< MPTY Identifier \sa CiCcMptyId */ + } CiCcPrimRetrieveMptyReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimRetrieveMptyCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimRetrieveMptyCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSplitFromMptyReq_struct { + CiCcMptyId MptyId ; /**< MPTY identifier for the conference \sa CiCcMptyId */ + CiCcCallId CallId ; /**< Call identifier for the call to be split out \sa CiCcCallId */ + } CiCcPrimSplitFromMptyReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSplitFromMptyCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimSplitFromMptyCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimShuttleMptyReq_struct { + CiCcMptyId MptyId ; /**< MPTY identifier for the conference \sa CiCcMptyId */ + CiCcCallId CallId ; /**< Call identifier for the single call \sa CiCcCallId */ + } CiCcPrimShuttleMptyReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimShuttleMptyCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimShuttleMptyCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimReleaseMptyReq_struct { + CiCcMptyId MptyId ; /**< MPTY identifier \sa CiCcMptyId */ + } CiCcPrimReleaseMptyReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimReleaseMptyCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimReleaseMptyCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimStartDtmfReq_struct { + CiCcCallId CallId ; /**< Call identifier \sa CiCcCallId */ + UINT8 Digit ; /**< DTMF digit */ + } CiCcPrimStartDtmfReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimStartDtmfCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimStartDtmfCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimStopDtmfReq_struct { + CiCcCallId CallId ; /**< Call identifier \sa CiCcCallId */ + } CiCcPrimStopDtmfReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimStopDtmfCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimStopDtmfCnf; + +typedef CiEmptyPrim CiCcPrimGetDtmfPacingReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetDtmfPacingCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcDtmfPacing Pacing ; /**< DTMF pacing configuration \sa CiCcDtmfPacing_struct */ + } CiCcPrimGetDtmfPacingCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetDtmfPacingReq_struct { + CiCcDtmfPacing Pacing ; /**< DTMF pacing configuration \sa CiCcDtmfPacing_struct */ + } CiCcPrimSetDtmfPacingReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetDtmfPacingCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimSetDtmfPacingCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSendDtmfStringReq_struct { + CiCcCallId CallId ; /**< Call identifier \sa CiCcCallId. */ + UINT8 digits [ 32 ] ; /**< DTMF digits */ + } CiCcPrimSendDtmfStringReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSendDtmfStringCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimSendDtmfStringCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimClipInfoInd_struct { + CiCcClipInfo info ; /**< CLIP information for incoming call \sa CiCcClipInfo_struct */ + } CiCcPrimClipInfoInd; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimCdipInfoInd_struct { + CiCcCdipInfo info ; /**< CDIP information for incoming call \sa CiCcCdipInfo_struct */ + } CiCcPrimCdipInfoInd; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimColpInfoInd_struct { + CiCcColpInfo info ; /**< CoLP information for incoming call \sa CiCcColpInfo_struct */ + } CiCcPrimColpInfoInd; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimCcmUpdateInd_struct { + UINT32 Ccm ; /**< Current CCM reading in Home units. Unsigned 24 -bit integer. */ + UINT32 Duration ; /**< Current call duration in seconds. Unsigned 24 -bit integer. */ + } CiCcPrimCcmUpdateInd; + +typedef CiEmptyPrim CiCcPrimGetCcmValueReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetCcmValueCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + UINT32 Ccm ; /**< Current CCM value in Home units. Unsigned 24 -bit integer. */ + UINT32 Duration ; /**< Current call duration in seconds. Unsigned 24 -bit integer. */ + } CiCcPrimGetCcmValueCnf; + +typedef CiEmptyPrim CiCcPrimAocWarningInd ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSsiNotifyInd_struct { + CiSsiNotifyInfo info ; /**< Supplementary service intermediate ( SSI ) notification information \sa CI SS Spec */ + } CiCcPrimSsiNotifyInd; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSsuNotifyInd_struct { + CiSsuNotifyInfo info ; /**< Supplementary service unsolicited ( SSU ) notification information \sa CI SS Spec */ + } CiCcPrimSsuNotifyInd; + +typedef CiEmptyPrim CiCcPrimGetAcmValueReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetAcmValueCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + UINT32 Acm ; /**< Current ACM value. Unsigned 24 -bit integer. */ + } CiCcPrimGetAcmValueCnf; + +typedef CiEmptyPrim CiCcPrimResetAcmValueReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimResetAcmValueCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimResetAcmValueCnf; + +typedef CiEmptyPrim CiCcPrimGetAcmMaxValueReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetAcmMaxValueCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + UINT32 AcmMax ; /**< Current ACMmax value. Unsigned 24 -bit integer */ + } CiCcPrimGetAcmMaxValueCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetAcmMaxValueReq_struct { + UINT32 AcmMax ; /**< New ACMmax value. Unsigned 24 -bit integer. */ + } CiCcPrimSetAcmMaxValueReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetAcmMaxValueCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + + } CiCcPrimSetAcmMaxValueCnf; + +typedef CiEmptyPrim CiCcPrimGetPuctInfoReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetPuctInfoCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcPuctInfo info ; /**< Current PUCT information \sa CiCcPuctInfo_struct */ + } CiCcPrimGetPuctInfoCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetPuctInfoReq_struct { + CiCcPuctInfo info ; /**< New PUCT information \sa CiCcPuctInfo_struct */ + } CiCcPrimSetPuctInfoReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetPuctInfoCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimSetPuctInfoCnf; + +typedef CiEmptyPrim CiCcPrimGetBasicCallModesReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetBasicCallModesCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + UINT8 NumModes ; /**< Number of supported basic call modes */ + CiCcBasicCMode Modes [ CICC_NUM_BASIC_CMODES ] ; /**< Supported basic call modes \sa CiCcBasicCMode */ + } CiCcPrimGetBasicCallModesCnf; + +typedef CiEmptyPrim CiCcPrimGetCallOptionsReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetCallOptionsCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcCallOptions Options ; /**< Supported call options bitmap \sa CiCcCallOptions */ + } CiCcPrimGetCallOptionsCnf; + +typedef CiEmptyPrim CiCcPrimGetDataCompCapReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetDataCompCapCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcDataCompCap cap ; /**< Data compression configuration capability \sa CiCcDataCompCap_struct */ + } CiCcPrimGetDataCompCapCnf; + +typedef CiEmptyPrim CiCcPrimGetDataCompReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetDataCompCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcDataCompInfo info ; /**< Data compression information \sa CiCcDataCompInfo_struct */ + } CiCcPrimGetDataCompCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetDataCompReq_struct { + CiCcDataCompInfo info ; /**< Data compression information \sa CiCcDataCompInfo_struct */ + } CiCcPrimSetDataCompReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetDataCompCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimSetDataCompCnf; + +typedef CiEmptyPrim CiCcPrimGetRlpCapReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetRlpCapCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcRlpCap cap ; /**< Data compression configuration capability \sa CiCcRlpCap_struct */ + } CiCcPrimGetRlpCapCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetRlpCfgReq_struct { + UINT8 ver ; /**< RLP version. */ + } CiCcPrimGetRlpCfgReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetRlpCfgCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcRlpCfg cfg ; /**< RLP configuration \sa CiCcRlpCfg_struct */ + } CiCcPrimGetRlpCfgCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetRlpCfgReq_struct { + CiCcRlpCfg cfg ; /**< RLP configuration \sa CiCcRlpCfg_struct */ + } CiCcPrimSetRlpCfgReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetRlpCfgCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimSetRlpCfgCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimDataServiceNegInd_struct { + CiBoolean isAsync ; /**< Sync / async indication \sa CCI API Ref Manual */ + CiBoolean isTransparent ; /**< Transparent / non-transparent indication \sa CCI API Ref Manual */ + } CiCcPrimDataServiceNegInd; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimEnableDataServiceNegIndReq_struct { + CiBoolean enable ; /**< TRUE: enable reporting ; FALSE: disable reporting , default \sa CCI API Ref Manual */ + } CiCcPrimEnableDataServiceNegIndReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimEnableDataServiceNegIndCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimEnableDataServiceNegIndCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetUDUBReq_struct { + CiCcCallId CallId ; /**< Call identifier \sa CiCcCallId */ + } CiCcPrimSetUDUBReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetUDUBCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimSetUDUBCnf; + +typedef CiEmptyPrim CiCcPrimGetSupportedCallManOpsReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetSupportedCallManOpsCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + UINT8 NumOps ; /**< Number of operation codes [ 0 ..CI_CC_MANOP_NUM_OPS - 1 ] */ + CiCcCallManOp OpCodes [ CI_CC_MANOP_NUM_OPS ] ; /**< Array of supported operation codes \sa CiCcCallManOp */ + } CiCcPrimGetSupportedCallManOpsCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimManipulateCallsReq_struct { + CiCcCallManOp OpCode ; /**< Call manipulation operation code \sa CiCcCallManOp */ + CiCcCallId CallId ; /**< Call identifier \sa CiCcCallId */ + } CiCcPrimManipulateCallsReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimManipulateCallsCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimManipulateCallsCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimListCurrentCallsInd_struct { + UINT8 NumCalls ; /**< Number of current calls [ 0 ..CICC_MAX_CURRENT_CALLS ] */ + CiCcCallInfo callInfo [ 7 ] ; /**< Call information list \sa CiCcCallInfo_struct */ + } CiCcPrimListCurrentCallsInd; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSrvccStatusReq_struct { + UINT8 NumCalls ; /**< Number of current calls [ 0 ..CICC_MAX_CURRENT_CALLS ] */ + CiCcCallInfo callInfo [ 7 ] ; /**< Call information list \sa CiCcCallInfo_struct */ + } CiCcPrimSrvccStatusReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSrvccStatusCnf_struct { + CiCcCallId CallId ; + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimSrvccStatusCnf; + +//ICAT EXPORTED ENUM + typedef enum CICC_TONESTATUS { + CICC_TONE_STARTED , /**< DTMF tone started */ + CICC_TONE_STOPPED , /**< DTMF tone stopped normally */ + CICC_TONE_ABORTED /**< DTMF tone aborted due to abnormal condition */ + } _CiCcToneStatus; + +typedef UINT8 CiCcToneStatus ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimDtmfEventInd_struct { + + CiCcCallId CallId ; /**< Identifier of the call for which a DTMF operation was required \sa CiCcCallId */ + UINT8 ToneDigit ; /**< Indicates the DTMF tone digit ; valid = " 123456789 *#ABCD " */ + CiBoolean SingleTone ; /**< Indicates a single DTMF tone or a tone sent as part of a DTMF string \sa CCI API Ref Manual */ + CiCcToneStatus ToneStatus ; /**< Indicates the DTMF tone status ( started , aborted , or stopped ) \sa CiCcToneStatus*/ + + } CiCcPrimDtmfEventInd; + +//ICAT EXPORTED STRUCT + typedef struct _CiCcDiagnosticInfo_struct { + + UINT16 Length ; /**< Number of bytes in diagnostic information */ + UINT8 Data [ 28 ] ; /**< Diagnostic information */ + + } CiCcDiagnosticInfo; + +//ICAT EXPORTED ENUM + typedef enum CiCcCodingStandardTag + { + CICC_CODING_CCITT_Q931 = 0 , /**< Coding as specified in ITU-T Rec. Q.931 */ + CICC_CODING_OTHER_INTERNATL = 1 , /**< Reserved for other international standards */ + CICC_CODING_NATIONAL = 2 , /**< National standard */ + CICC_CODING_GSM_NETWORK = 3 /**< Standard defined for the GSM PLMNS */ + } _CiCcCodingStandard; + +typedef UINT8 CiCcCodingStandard ; +//ICAT EXPORTED ENUM + typedef enum CiCcLocationTag + { + CICC_LOC_USER = 0 , /**< User */ + CICC_LOC_PRIV_LOCAL = 1 , /**< Private network serving the local user */ + CICC_LOC_PUB_LOCAL = 2 , /**< Public network serving the local user */ + CICC_LOC_TRANSIT = 3 , /**< Transit network */ + CICC_LOC_PUB_REMOTE = 4 , /**< Public network serving the remote user */ + CICC_LOC_PRIV_REMOTE = 5 , /**< Private network serving the remote user */ + CICC_LOC_INTERNATIONAL = 7 , /**< International network */ + CICC_LOC_BEYOND_IWF = 10 /**< Network beyond interworking point */ + } _CiCcLocation; + +typedef UINT8 CiCcLocation ; +//ICAT EXPORTED ENUM + typedef enum CiCcRecommendationTag + { + CICC_REC_Q931 = 0 , /**< Recommendation Q.931: " ISDN user-network interface layer 3 specification for basic control " */ + CICC_REC_GSM = 1 , /**< Recommendation GSM */ + CICC_REC_X21 = 3 , /**< Recommendation X.21: " Interface between data terminal equipment ( DTE ) and data circuit-terminating equipment ( DCE ) for synchronous operation on public data networks " */ + CICC_REC_X25 = 4 /**< Recommendation X.25: " Interface between data terminal equipment ( DTE ) and data circuit-terminating equipment ( DCE ) for terminals operating in the packet mode and connected to public data networks by dedicated circuit " */ + } _CiCcRecommendation; + +typedef UINT8 CiCcRecommendation ; +typedef CiCcCause CiCcCustCause ; +//ICAT EXPORTED STRUCT + typedef struct _CiCcDiagnostic_struct { + + CiBoolean InfoPresent ; /**< TRUE - is present ; FALSE - is not present \sa CCI API Ref Manual */ + CiCcCodingStandard Coding ; /**< Coding standard ( octet 3 of Cause Information Element ) as per 24.008000 10.500000 .4.11 \sa CiCcCodingStandard*/ + CiCcLocation Location ; /**< Location ( octet 3 of Cause Information Element ) as per 24.008000 10.500000 .4.11 \sa CiCcLocation */ + CiCcRecommendation Recommendation ; /**< Recommendation \sa CiCcRecommendation */ + CiCcCustCause Cause ; /**< Cause code \sa CiCcCustCause */ + CiCcDiagnosticInfo Info ; /**< Diagnostic information \sa _CiCcDiagnosticInfo_struct */ + + } CiCcDiagnostic; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimCallDiagnosticInd_struct { + + CiCcCallId CallId ; /**< Call identifier \sa CiCcCallId */ + CiCcDiagnostic Diagnostic1 ; /**< First diagnostic information field \sa _CiCcDiagnosticInfo_struct */ + CiCcDiagnostic Diagnostic2 ; /**< Second diagnostic information field \sa _CiCcDiagnosticInfo_struct */ + + } CiCcPrimCallDiagnosticInd; + +typedef CiEmptyPrim CiCcPrimClearBlackListReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimClearBlackListCnf_struct { + + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + + } CiCcPrimClearBlackListCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetCtmStatusReq_struct { + CiBoolean Active ; /**< Current CTM status \sa CCI API Ref Manual */ + } CiCcPrimSetCtmStatusReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetCtmStatuscnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimSetCtmStatusCnf; + +//ICAT EXPORTED ENUM + typedef enum CiCcCTMNegReportType_Tags { + CTM_STARTED=1 , /**< Started */ + CTM_SUCCEDED , /**< Succeeded */ + CTM_FAILED /**< Failed */ + } _CiCcCTMNegReportType; + +typedef UINT8 CiCcCTMNegReportType ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimCTMNegReportInd_struct { + CiCcCTMNegReportType CTMNegReport ; /**< Negotiation status result \sa CiCcCTMNegReportType */ + } CiCcPrimCTMNegReportInd; + +typedef CiEmptyPrim CiCcPrimSyncAudioReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSyncAudioCnf_struct { + CiCcResultCode Result ; /**< Result code. \sa CiCcResultCode */ + } CiCcPrimSyncAudioCnf; + +typedef CiEmptyPrim CiCcPrimGetLineIdReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetLineIdCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + UINT8 LineID ; /**< Line ID - 1 or 2 */ + } CiCcPrimGetLineIdCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetLineIdReq_struct { + UINT8 LineID ; /**< Line ID - 1 or 2 */ + } CiCcPrimSetLineIdReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetLineIdCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimSetLineIdCnf; + +//ICAT EXPORTED ENUM + typedef enum CICC_CD_CAUSE { + + CICC_CD_ERROR = 0 , /* NW responded with error to call deflection request */ + CICC_CD_REJECT , /* OSI higher layer protocol */ + CICC_CD_NO_NW_RESPONSE , /* X.244 */ + CICC_CD_CALL_RELEASED , /* Reserved for system mangement convergence function */ + + CICC_NUM_CD_CAUSE /* Number of protocols discriminator defined */ + } _CiCcCDCauseType; + +typedef UINT8 CiCcCDCauseType ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimCallDeflectReq_struct { + CiCcCallId CallId ; /**< Call identifier \sa CiCcCallId */ + CiAddressInfo DeflectedNumber ; /**< Call identifier \sa CiAddressInfo */ + CiSubaddrInfo DeflectedSubAddress ; /**< Call identifier \sa CiSubaddrInfo */ + } CiCcPrimCallDeflectReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimCallDeflectCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcCDCauseType CallDeflectionFailCause ; /**< Call deflection failure cause \sa CiCcCDCauseType */ + } CiCcPrimCallDeflectCnf; + +typedef CiEmptyPrim CiCcPrimReadyStateInd ; +//ICAT EXPORTED ENUM + typedef enum CI_CC_ECALL_TYPE { + CI_CC_ECALL_TYPE_TEST = 0 , /**< test call */ + CI_CC_ECALL_TYPE_RECONFIGURE = 1 , /**< reconfiguration call */ + CI_CC_ECALL_TYPE_MANUAL = 2 , /**< manually initiated */ + CI_CC_ECALL_TYPE_AUTOMATIC = 3 , /**< automatically initiated */ + CI_CC_ECALL_TYPE_NO_ACTIVE = 4 /**< no active eCall */ + } _CiCcECallTypeCode; + +typedef UINT16 CiCcECallTypeCode ; +typedef UINT16 CiCcECallBitMaskTypes ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetCeCallReq_struct { + CiCcECallTypeCode eCallType ; /**< eCall type */ + } CiCcPrimSetCeCallReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetCeCallCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimSetCeCallCnf; + +typedef CiEmptyPrim CiCcPrimGetCeCallReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetCeCallCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcECallTypeCode eCallType ; /**< eCall type */ + } CiCcPrimGetCeCallCnf; + +typedef CiEmptyPrim CiCcPrimGetCeCallCapReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetCeCallCapCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcECallBitMaskTypes eCallBitMaskSupportedTypes ; /**< eCall type */ + } CiCcPrimGetCeCallCapCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimAudioEcallToApInfoInd_struct + { + UINT16 Length ; + UINT8 RawData [ 128 ] ; + } CiCcPrimAudioEcallToApInfoInd; + +//ICAT EXPORTED ENUM + typedef enum CICC_CE_CAUSE { + + CICC_CE_CALL_END_UNDEFINE = 0 , /*default value.*/ + CICC_CE_CALL_END_NORMAL , /*according to 24.008000 . involved:User busy.No user responding.User alerting no answer. + user rejected.Destination out of order.Number changed.*/ + CICC_CE_CALL_END_RX_DISCONNECT , + CICC_CE_CALL_END_RX_RELEASE , + CICC_CE_CALL_END_UNRECOVERABLE , /*RLC Reset ( MaxRST or UL lost.Unrecoverable error in RLC on reset PDU ) . + Cell Update ( unrecoverable error ) .*/ + CICC_CE_CALL_END_RLF_OR_WEAK_SIGNAL , /*RL failure ( T313 Expire ) or phych est failure ( T312 expire.Sync start fail ) . + Cell Update ( RLF ) .*/ + CICC_CE_CALL_END_RX_RRC_CONNECTION_RELEASE , + CICC_CE_CALL_END_TX_DISCONNECT , /*User disconnect req from AP.*/ + CICC_CE_CALL_END_TX_RELEASE , /*No used now.*/ + CICC_CE_CALL_END_OTHERS , + + CICC_NUM_CE_CAUSE + } _CiCcCEEventType; + +typedef UINT8 CiCcCEEventType ; +//ICAT EXPORTED ENUM + typedef enum CICC_CE_MSG { + + CICC_CE_MSG_TYPE_UNDEFINE = 0 , + CICC_CE_MSG_TYPE_CELL_UPDATE , + CICC_CE_MSG_TYPE_DISCONNECT , + CICC_CE_MSG_TYPE_RELEASE , + CICC_CE_MSG_TYPE_RRC_CONNECTION_RELEASE , + + CICC_NUM_CE_MSG + } _CiCcCEMsgType; + +typedef UINT8 CiCcCEMsgType ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimCallEndInfoInd_struct { + CiCcCallId CallId ; /**< Call identifier \sa CiCcCallId */ + CiCcCurrentCState State ; /**< Current call state \sa CiCcCurrentCState */ + CiCcCEMsgType CallEndMsg ; + CiCcCEEventType CallEndType ; + CiCcCause CallEndCause ; + CiCcPrimCallDropCauseInfoInd + SacDevInfo ; + } CiCcPrimCallEndInfoInd; + +//ICAT EXPORTED STRUCT + typedef struct CiCCPrimEcallCfgReq_struct { + UINT16 time ; /**< The time interval for writing eCall elapsed time to the NVM */ + UINT16 intimer1 ; /**< The eCall inactivity timer value */ + UINT16 intimer2 ; /**< The eCall inactivity timer value */ + } CiCcPrimEcallCfgReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCCPrimEcallCfgCnf_struct { + CiCcResultCode result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimEcallCfgCnf; + +typedef CiEmptyPrim CiCcPrimGetEcallCfgReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCCPrimGetEcallCfgCnf_struct { + CiCcResultCode result ; /**< Result code \sa CiCcResultCode */ + UINT16 time ; /**< The interval to write to the NVM , the eCall elapsed time */ + UINT16 rtime ; /**< If an eCall was operated - the time elapsed since eCall was operated */ + UINT16 intimer1 ; /**< The eCall inactivity timer value */ + UINT16 intimer2 ; /**< The eCall inactivity timer value */ + } CiCcPrimGetEcallCfgCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimEcallOnlyReq_struct { + CiBoolean Activate ; /**< If set to TRUE , than UE will act as if the USIM is configured for eCall only mode. If set the FALSE , than the UE returns to normal mode of operation. */ + CHAR testnum [ 40 ] ; /**< The eCall test number */ + UINT8 testnumLen ; + CHAR reconfignum [ 40 ] ; /**< The eCall reconfiguration number */ + UINT8 reconfignumLen ; + } CiCcPrimEcallOnlyReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimEcallOnlyCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + } CiCcPrimEcallOnlyCnf; + +typedef CiEmptyPrim CiCcPrimGetEcallOnlyReq ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetEcallOnlyCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiBoolean Active ; /**< If set to TRUE , than the UE is configured to act as eCall only mode. If SIM support eCall only always return FALSE */ + UINT8 simEcall ; /**< 0 ?SIM does not support eCall ( service No. 89 is “not available?in the USIM ) ; 1 ?SIM supports eCall mode ( Service No. 89 and Service No. 4 are " available " ) ; 2 ?SIM supports eCall only mode ( Service No. 89 and Service No. 2 are " available " and FDN service is enabled in EFEST ) */ + CHAR testnum [ 40 ] ; /**< The eCall test number */ + UINT8 testnumLen ; + CHAR reconfignum [ 40 ] ; /**< The eCall reconfiguration number */ + UINT8 reconfignumLen ; + } CiCcPrimGetEcallOnlyCnf; + +//ICAT EXPORTED ENUM + typedef enum CICC_EMLPP_SUBSCRIPTIONS_INFO_TYPE { + CICC_EMLPP_CALL_SUBSCRIPTIONS_INFO_TYPE_ENABLED = 0x00 , /* Indicates the info type is enabled call priorities , only { 0 , 1 , .. , 4 } are valid */ + CICC_EMLPP_CALL_SUBSCRIPTIONS_INFO_TYPE_FAST_CALL_SETUP = 0x01 , /* Indicates the info type is fast call set-up enabled priorities ( and enabled ) , { 0 , 1 , .. , 4 } are valid */ + CICC_EMLPP_CALL_SUBSCRIPTIONS_INFO_TYPE_AUTO_ANSWER = 0x02 , /* Indicates the info type is auto-answer enabled priorities ( and enabled ) , all priorities are valid*/ + } _CiCcEmlppSubscriptionsInfoType; + +typedef UINT8 CiCcEmlppSubscriptionsInfoType ; +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetEmlppSubscriptionsInfoReq_struct { + CiCcEmlppSubscriptionsInfoType infoType ; /** Indicates which type of information is modified ( fast call setup OR automatic answer ) */ + CiCcEmlppCallPriority callPriority ; /** Indicates which call priority shall be modified */ + CiBoolean isEnabled ; /** Indicates whether the fast-call-set-up or auto-answer should be enabled / disabled */ + } CiCcPrimSetEmlppSubscriptionsInfoReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimSetEmlppSubscriptionsInfoCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcEmlppSubscriptionsInfoType infoType ; /** Indicates which type of information was modified*/ + } CiCcPrimSetEmlppSubscriptionsInfoCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetEmlppSubscriptionsInfoReq_struct { + CiCcEmlppSubscriptionsInfoType infoType ; /** Indicates which type of information is required*/ + } CiCcPrimGetEmlppSubscriptionsInfoReq; + +//ICAT EXPORTED STRUCT + typedef struct CiCcPrimGetEmlppSubscriptionsInfoCnf_struct { + CiCcResultCode Result ; /**< Result code \sa CiCcResultCode */ + CiCcEmlppSubscriptionsInfoType infoType ; /** Indicates which type of information is returned*/ + UINT8 numOfCallPriorities ; /** Indicates how many entries in the enabledCallPriorities array are valid*/ + CiCcEmlppCallPriority enabledCallPriorities [ CICC_EMLPP_NUM_OF_PRIORITIES ] ; /** List of enabled priorities , depending on the infoType. it can be enabled / enabled + fast-call-set-up enabled / enabled + auto-answer enabled */ + } CiCcPrimGetEmlppSubscriptionsInfoCnf; + +//ICAT EXPORTED ENUM + typedef enum CI_SIM_PRIM + { + CI_SIM_PRIM_EXECCMD_REQ = 1 , /**< \brief Requests to execute a SIM command \details */ + CI_SIM_PRIM_EXECCMD_CNF , /**< \brief Confirms the request to execute a SIM command \details */ + CI_SIM_PRIM_DEVICE_IND , /**< \brief Indicates that the current SIM status changed \details */ + CI_SIM_PRIM_PERSONALIZEME_REQ , /**< \brief Requests that ME personalization be activated , deactivated , disabled , or queried \details */ + CI_SIM_PRIM_PERSONALIZEME_CNF , /**< \brief Confirms the request to activate , deactivate , disable , or query ME personalization \details */ + CI_SIM_PRIM_OPERCHV_REQ , /**< \brief Requests that CHVs be verified , enabled , disabled , changed , unblocked , or queried \details */ + CI_SIM_PRIM_OPERCHV_CNF , /**< \brief Confirms the request to verify , enable , disable , change , unblock , or query CHVs \details */ + CI_SIM_PRIM_DOWNLOADPROFILE_REQ , /**< \brief Requests a download of the profile that shows ME capabilities relevant to SIM Application Toolkit functionality \details The functionality of this primitive is equivalent to using the SIM command TERMINAL PROFILE in the CI_SIM_PRIM_EXECCMD_REQ primitive. + * This primitive saves upper layer effort to build a header for the Terminal Profile SIM command. + * If the pProfile pointer is NULL for this request , the communications interface assumes that the application layer does not support + * SIM Application Toolkit operations. */ + CI_SIM_PRIM_DOWNLOADPROFILE_CNF , /**< \brief Confirms the request to download the profile that shows ME capabilities relevant to SIM Application Toolkit functionality \details */ + CI_SIM_PRIM_ENDATSESSION_IND , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_SIM_PRIM_PROACTIVE_CMD_IND , /**< \brief Indicates a SIMAT proactive command \details This primitive forwards the SIMAT proactive command with its original syntax. The primitive CI_SIM_PRIM_ENABLE_SIMAT_INDS_REQ enables and disables proactive command indication. */ + CI_SIM_PRIM_PROACTIVE_CMD_RSP , /**< \brief Responds to the SIMAT proactive command \details The primitive forwards a SIMAT proactive command response from the entity , such as DISPLAY or TERMINAL , that received the proactive command. */ + CI_SIM_PRIM_ENVELOPE_CMD_REQ , /**< \brief Requests that an ENVELOPE command be executed \details */ + CI_SIM_PRIM_ENVELOPE_CMD_CNF , /**< \brief Confirms the request to execute an ENVELOPE command \details */ + CI_SIM_PRIM_GET_SUBSCRIBER_ID_REQ , /**< \brief Requests the subscriber ID \details */ + CI_SIM_PRIM_GET_SUBSCRIBER_ID_CNF , /**< \brief Confirms the request for the subscriber ID \details */ + CI_SIM_PRIM_GET_PIN_STATE_REQ , /**< \brief Requests the current PIN state \details */ + CI_SIM_PRIM_GET_PIN_STATE_CNF , /**< \brief Confirms the request for the current PIN state \details */ + CI_SIM_PRIM_GET_TERMINALPROFILE_REQ , /**< \brief Requests the SIMAT terminal profile \details */ + CI_SIM_PRIM_GET_TERMINALPROFILE_CNF , /**< \brief Confirms the request and returns the SIMAT terminal profile \details */ + CI_SIM_PRIM_ENABLE_SIMAT_INDS_REQ , /**< \brief Requests that SIMAT related indications , such as the proactive SIM command indication and the SIMAT session ended indication , be enabled or disabled \details */ + CI_SIM_PRIM_ENABLE_SIMAT_INDS_CNF , /**< \brief Confirms the request to enable or disable SIMAT related indications \details */ + CI_SIM_PRIM_LOCK_FACILITY_REQ , /**< \brief Requests to lock , unlock , or query SIM-related ME \details */ + CI_SIM_PRIM_LOCK_FACILITY_CNF , /**< \brief Confirms a request to lock , unlock , or query SIM-related ME \details */ + CI_SIM_PRIM_GET_FACILITY_CAP_REQ , /**< \brief Requests the bitmask of supported SIM-related facility codes \details */ + CI_SIM_PRIM_GET_FACILITY_CAP_CNF , /**< \brief Confirms the request for the bitmask of supported SIM-related facility codes \details */ + CI_SIM_PRIM_GET_SIMAT_NOTIFY_CAP_REQ , /**< \brief Requests SIM Application Toolkit ( SIMAT ) notification capability information. \details */ + CI_SIM_PRIM_GET_SIMAT_NOTIFY_CAP_CNF , /**< \brief Confirms the request for SIM Application Toolkit ( SIMAT ) notification capability information \details */ + CI_SIM_PRIM_GET_CALL_SETUP_ACK_IND , /**< \brief Indicates that the SIM Application Toolkit ( SIMAT ) has initiated an outgoing CALL SETUP operation , and requests confirmation / acknowledgment from the mobile user \details The application returns the required acknowledgment in a CI_SIM_PRIM_GET_CALL_SETUP_ACK_RSP response. */ + CI_SIM_PRIM_GET_CALL_SETUP_ACK_RSP , /**< \brief Responds with an acknowledgment from the mobile user for an outgoing CALL SETUP indication \details The mobile user may accept ( allow ) or reject ( disallow ) the SIMAT initiated CALL SETUP operation. + * If the user allows the CALL SETUP , it proceeds. If the user disallows the CALL SETUP , it is aborted. + * If the CALL SETUP is allowed to proceed , the MO call progression is managed by the normal call control procedures. See the + * CI CC Service Group API definition for more information. */ + + /* service provider name */ + CI_SIM_PRIM_GET_SERVICE_PROVIDER_NAME_REQ , /**< \brief Requests the service provider name , as stored on SIM or USIM \details The PIN status is not required to read this information. */ + CI_SIM_PRIM_GET_SERVICE_PROVIDER_NAME_CNF , /**< \brief Confirms the request to get the service provider name , as stored on SIM or USIM \details The service provider name is coded as 7 -bit GSM characters , with the most-significant bit of each character set to zero. + * The service provider name pointer is NULL if the result code indicates an error. */ + + /* Message Waiting Information */ + CI_SIM_PRIM_GET_MESSAGE_WAITING_INFO_REQ , /**< \brief Requests to get message waiting information stored on SIM or USIM \details The PIN status is required to read this information. */ + CI_SIM_PRIM_GET_MESSAGE_WAITING_INFO_CNF , /**< \brief Confirms the request to get message waiting information stored on SIM or USIM \details If the result code indicates an error , the message waiting status information is not useful. + * There is a difference between the message categories defined for 2 G and 3 G SIM storage. This is rationalized by the CCI implementation. */ + CI_SIM_PRIM_SET_MESSAGE_WAITING_INFO_REQ , /**< \brief Requests to set message waiting information on SIM or USIM \details Requires PIN status to write this information. There is a difference between the message categories defined for 2 G and 3 G SIM storage. This is rationalized by the CCI implementation. */ + CI_SIM_PRIM_SET_MESSAGE_WAITING_INFO_CNF , /**< \brief Confirms a request to set the message waiting information on SIM or USIM \details */ + + /* SIM Service Table */ + CI_SIM_PRIM_GET_SIM_SERVICE_TABLE_REQ , /**< \brief Requests to get the SIM Service Table from SIM or USIM \details The PIN status is required to read this information. If CPHS features are not supported by the handset , this information is unavailable. */ + CI_SIM_PRIM_GET_SIM_SERVICE_TABLE_CNF , /**< \brief Confirms the request to get the SIM Service Table from SIM or USIM \details If CPHS features are not supported by the handset , this information is unavailable. */ + + /* CPHS Customer Service Profile */ + CI_SIM_PRIM_GET_CUSTOMER_SERVICE_PROFILE_REQ , /**< \brief Requests to get the CPHS customer service profile from SIM or USIM \details The PIN status is required to read this information. If CPHS features are not supported by the handset , this information is unavailable. */ + CI_SIM_PRIM_GET_CUSTOMER_SERVICE_PROFILE_CNF , /**< \brief Confirms the request and returns the CPHS customer service profile from SIM or USIM. \details If CPHS features are not supported by the handset , this information is unavailable. */ + + /* Display Alpha and Icon Identifiers */ + CI_SIM_PRIM_SIMAT_DISPLAY_INFO_IND , /**< \brief Indicates to the application that text and optionally an icon should be displayed. + * The text to be displayed results from a SAT transaction such as SS , SMS , USSD , SS , or send DTMF. \details */ + + /* Default Language */ + CI_SIM_PRIM_GET_DEFAULT_LANGUAGE_REQ , /**< \brief Requests the default language stored on the SIM / USIM card \details */ + CI_SIM_PRIM_GET_DEFAULT_LANGUAGE_CNF , /**< \brief Confirms the request to get the default language stored on the SIM / USIM card and returns the first entry in the EF_LP file \details Extract from ETSI TS 102.221000 : " the language code is a pair of alphanumeric characters , as defined in ISO 639 [ 30 ] . + * Each alphanumeric character shall be coded on one byte using the SMS default 7 -bit coded alphabet as defined in TS 23.038000 + * ( " Man-machine Interface ( MMI ) of the User Equipment " , revision 3.400000 .0 , Doc Number 3 GPP TS 22.030000 ) + * with bit 8 set to 0 . " . ' FF FF ' means undefined default language. */ + + /* Generic SIM commands */ + CI_SIM_PRIM_GENERIC_CMD_REQ , /**< \brief Requests to send a generic command to the SIM / USIM card + * \details The request reflects the structure of a SIM application protocol data unit ( APDU ) , + * as defined in ETSI 102.221000 . The ' class of instruction ' element is not controlled by the user , comm. use class 0x0 or 0xa depending on the command. + * Note that updating a file using this command only updates the file on the SIM ; it does not trigger a REFRESH of the ME memory. */ + CI_SIM_PRIM_GENERIC_CMD_CNF , /**< \brief Confirms a request to send a generic command to the SIM or USIM \details */ + + /* Indication of card type , status and PIN state */ + CI_SIM_PRIM_CARD_IND , /**< \brief Indicates that the current SIM / USIM status changed \details This indication is sent each time CI_SIM_PRIM_DEVICE_IND is sent. */ + + CI_SIM_PRIM_IS_EMERGENCY_NUMBER_REQ , /**< \brief Requests to determine if the specified dial number is an emergency call code \details */ + CI_SIM_PRIM_IS_EMERGENCY_NUMBER_CNF , /**< \brief Confirms the request to determine if the specified number is an emergency call code \details If a SIM card is present , the EF_ECC SIM card file is searched for the specified number. If a SIM card is not present , a default table of possible emergency call codes is searched for the specified number , as per TS 22.101000 . */ + + CI_SIM_PRIM_SIM_OWNED_IND , /**< \brief Indicates whether the SIM is owned + * \details This indication is sent each time a SIM-OK notification is received + * from the protocol stack and indicates that the SIM card can be accessed. SIM owned is TRUE if the IMSI did not change + * since the last SIM-OK notification. */ + CI_SIM_PRIM_SIM_CHANGED_IND , /**< \brief Indicates whether the IMSI on the current SIM has changed + * \details This indication is sent each time a SIM-OK notification is received + * from the protocol stack. */ + CI_SIM_PRIM_DEVICE_STATUS_REQ , /**< \brief Requests SIM status \details */ + CI_SIM_PRIM_DEVICE_STATUS_CNF , /**< \brief Confirms the request for the current SIM status \details */ + CI_SIM_PRIM_READ_MEP_CODES_REQ , /**< \brief Requests the MEP codes for a specified category \details This operation does not require a password.*/ + CI_SIM_PRIM_READ_MEP_CODES_CNF , /**< \brief Confirms the request and returns the MEP codes for the specified category \details */ + CI_SIM_PRIM_UDP_LOCK_REQ , /**< \brief Requests an activate , deactivate , or query UDP lock \details An operation can be done on only one category at a time. A password is required for an unlock operation. */ + CI_SIM_PRIM_UDP_LOCK_CNF , /**< \brief Confirms the UDP lock request \details */ + CI_SIM_PRIM_UDP_CHANGE_PASSWORD_REQ , /**< \brief Requests to set a new password for a UDP lock \details */ + CI_SIM_PRIM_UDP_CHANGE_PASSWORD_CNF , /**< \brief Confirms the request to set a new password for a UDP lock \details */ + CI_SIM_PRIM_UDP_ASL_REQ , /**< \brief Requests to manipulate the UDP authorized SIM list \details */ + CI_SIM_PRIM_UDP_ASL_CNF , /**< \brief Confirms the request to manipulate the UDP authorized SIM list \details */ + /* Michal Bukai - Virtual SIM support - START */ + CI_SIM_PRIM_SET_VSIM_REQ , /**< \brief Requests to enable virtual SIM + * \details Virtual SIM can be enabled if no SIM is inserted. + * An error is sent if the user tried to enable virtual SIM while a SIM is inserted. + * The application needs to reset the communication subsystem after receiving a confirmation. */ + CI_SIM_PRIM_SET_VSIM_CNF , /**< \brief Confirms setting virtual SIM + * \details Virtual SIM can be enabled if no SIM is inserted. + * An error is sent if the user tried to enable virtual SIM while a SIM is inserted. + * The application needs to reset the communication subsystem after receiving a confirmation. */ + CI_SIM_PRIM_GET_VSIM_REQ , /**< \brief Requests the current setting of the virtual SIM ( enabled / disabled ) \details*/ + CI_SIM_PRIM_GET_VSIM_CNF , /**< \brief Confirms the request and returns the current setting of the virtual SIM ( enabled / disabled ) \details*/ + /* Michal Bukai - Virtual SIM support - END */ + /*Michal Bukai - OTA support for AT&T - START*/ + CI_SIM_PRIM_CHECK_MMI_STATE_IND , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + CI_SIM_PRIM_CHECK_MMI_STATE_RSP , /**< \brief \details NOT SUPPORTED REMOVE FROM API */ + /*Michal Bukai - OTA support for AT&T - END*/ + /*Michal Bukai - BT SAP support - START*/ + CI_SIM_PRIM_BTSAP_CONNECT_REQ , /**< \brief Requests to start a BT SAP session \details */ + CI_SIM_PRIM_BTSAP_CONNECT_CNF , /**< \brief Confirms the request to start a BT SAP session \details */ + CI_SIM_PRIM_BTSAP_DISCONNECT_REQ , /**< \brief Requests to disconnect from a BT SAP session \details */ + CI_SIM_PRIM_BTSAP_DISCONNECT_CNF , /**< \brief Confirms the request to disconnect from a BT SAP session \details */ + CI_SIM_PRIM_BTSAP_TRANSFER_APDU_REQ , /**< \brief Requests to transfer APDU to the SIM / USIM \details */ + CI_SIM_PRIM_BTSAP_TRANSFER_APDU_CNF , /**< \brief Confirms the request to transfer APDU to the SIM / USIM and may return a response APDU from the SIM / USIM \details */ + CI_SIM_PRIM_BTSAP_TRANSFER_ATR_REQ , /**< \brief Requests to get Answer To Reset data from SIM / USIM \details */ + CI_SIM_PRIM_BTSAP_TRANSFER_ATR_CNF , /**< \brief Confirms the request to get Answer To Reset data from SIM / USIM \details */ + CI_SIM_PRIM_BTSAP_SIM_CONTROL_REQ , /**< \brief Requests to control SIM / USIM status , this command can be used to power off , power on or reset the SIM / USIM \details */ + CI_SIM_PRIM_BTSAP_SIM_CONTROL_CNF , /**< \brief Confirms the SIM control request \details */ + CI_SIM_PRIM_BTSAP_STATUS_IND , /**< \brief indicates a change in the availably of the subscription module during BT SAP connection \details */ + CI_SIM_PRIM_BTSAP_STATUS_REQ , /**< \brief Requests the subscription module availability status during BT SAP connection \details */ + CI_SIM_PRIM_BTSAP_STATUS_CNF , /**< \brief Confirms the request and returns the status of the subscription module during BT SAP connection \details */ + CI_SIM_PRIM_BTSAP_SET_TRANSPORT_PROTOCOL_REQ , /**< \brief Requests to set transport protocol \details */ + CI_SIM_PRIM_BTSAP_SET_TRANSPORT_PROTOCOL_CNF , /**< \brief Confirms the request to set transport protocol \details */ + /*Michal Bukai - BT SAP support - END*/ + /*Michal Bukai - Add IMSI to MEP code group - START*/ + CI_SIM_PRIM_MEP_ADD_IMSI_REQ , /**< \brief Requests to add the current IMSI to MEP SIM / USIM code group + * \details This operation requires a password. + * This operation requires that SIM / USIM personalization is deactivated.*/ + CI_SIM_PRIM_MEP_ADD_IMSI_CNF , /**< \brief Confirms the request to add the current IMSI to MEP SIM / USIM code group. \details */ + /*Michal Bukai - Add IMSI to MEP code group - END*/ + /*Michal Bukai - SIM Logic CH - NFC\ISIM support - START*/ + CI_SIM_PRIM_OPEN_LOGICAL_CHANNEL_REQ , /**< \brief Requests to open a logical channel that will be used to access the UICC application identified by DFname. \details The UICC will open a new logical channel ; select the application identified by the DFname , and return a session ID that will be used to identify the new channel.*/ + CI_SIM_PRIM_OPEN_LOGICAL_CHANNEL_CNF , /**< \brief Confirms the request to open a logical channel and returns the session ID. \details */ + CI_SIM_PRIM_CLOSE_LOGICAL_CHANNEL_REQ , /**< \brief Requests to close a logical channel. \details */ + CI_SIM_PRIM_CLOSE_LOGICAL_CHANNEL_CNF , /**< \brief Confirms the request to close a logical channel. \details */ + /*Michal Bukai - SIM Logic CH - NFC\ISIM support support - END*/ + /*Michal Bukai - additional SIMAT primitives - START*/ + CI_SIM_PRIM_SIMAT_CC_STATUS_IND , /**< \brief Indicates the SIM Application Toolkit ( SIMAT ) call control status response + * \details If call control service in SIMAT is activated , all dialled digit strings , supplementary service control strings and USSD strings are passed to the UICC before the call setup request , + * the supplementary service operation or the USSD operation is sent to the network. + * The SIMAT has the ability to allow , bar or modify the request. + * In addition SIMAT has the ability to replace the request by another operation , for instance call request may be replaced by SS or USSD operation. + */ + CI_SIM_PRIM_SIMAT_SEND_CALL_SETUP_RSP_IND , /**< \brief Indicates the response sent to SIM Application Toolkit ( SIMAT ) after call setup. \details */ + CI_SIM_PRIM_SIMAT_SEND_SS_USSD_RSP_IND , /**< \brief Indicates the response sent to SIM Application Toolkit ( SIMAT ) after SS or USSD operation. \details */ + CI_SIM_PRIM_SIMAT_SM_CONTROL_STATUS_IND , /**< \brief Indicates the SIM Application Toolkit ( SIMAT ) short message control status response. + \details If SM control service in SIMAT is activated , all MO short messages are passed to the UICC before the short message is sent to the network. + * The SIMAT has the ability to allow , bar or modify the destination address. + */ + CI_SIM_PRIM_SIMAT_SEND_SM_RSP_IND , /**< \brief Indicates the response sent to SIM Application Toolkit ( SIMAT ) after SM operation. \details */ + /*Michal Bukai - additional SIMAT primitives - END*/ + + /*Michal Bukai - RSAP support - START*/ + CI_SIM_PRIM_RSAP_CONN_REQ_IND , /**< \brief Request to connect to a remote SIM received from the protocol stack \details */ + CI_SIM_PRIM_RSAP_CONN_REQ_RSP , /**< \Response to protocol stack request to connect to a remote SIM \details */ + CI_SIM_PRIM_RSAP_STAT_REQ , /**< \brief Request received from a SAP conversion module to update the RSAP card status. + * \details This request is actually an indication from a remote SAP conversion module indicating a status change in the remote connection or card status */ + CI_SIM_PRIM_RSAP_STAT_CNF , /**< \brief Confirms that the update of the remote card status was received by the protocol stack \details */ + CI_SIM_PRIM_RSAP_DISCONN_REQ_IND , /**< \brief Request to disconnect from a remote SIM received from the protocol stack \details */ + CI_SIM_PRIM_RSAP_DISCONN_REQ_RSP , /**< \Response to protocol stack request to disconnect from a remote SIM \details */ + CI_SIM_PRIM_RSAP_GET_ATR_IND , /**< \brief Request to get ATR from a remote SIM received from the protocol stack \details */ + CI_SIM_PRIM_RSAP_GET_ATR_RSP , /**< \brief Response from a remote SIM with the ATR APDU \details */ + CI_SIM_PRIM_RSAP_GET_STATUS_REQ_IND , /**< \brief Request from the protocol stack to get the RSAP connection status. + * \details The request is answered by CI_SIM_PRIM_RSAP_CONN_STAT_REQ */ + + CI_SIM_PRIM_RSAP_SET_TRAN_P_REQ_IND , /**< \brief Request from the protocol stack to change the transport protocol of the remote SIM \details */ + CI_SIM_PRIM_RSAP_SET_TRAN_P_REQ_RSP , /**< \brief Response to a protocol stack request to change the transport protocol of the remote SIM. + * \details If the requested transport protocol is supported by the remote SIM and by the SAP conversion module , + * the requested transport protocol is selected and the remote SIM is reset. If the requested transport protocol is not supported , + * SIM status is changed to CARD_NOT_ACC. The request is followed by CI_SIM_PRIM_RSAP_CONN_STAT_REQ , which indicates the new remote SIM status.*/ + CI_SIM_PRIM_RSAP_SIM_CONTROL_REQ_IND , /**< \brief Request from the protocol stack to control the remote SIM status. + * \details This command can be used to power off , power on , or reset the remote SIM */ + CI_SIM_PRIM_RSAP_SIM_CONTROL_REQ_RSP , /**< \brief Response to a protocol stack request to control the remote SIM status. + * \details The response is followed by CI_SIM_PRIM_RSAP_CONN_STAT_REQ , which indicates the new status of the remote SIM.*/ + CI_SIM_PRIM_RSAP_SIM_SELECT_REQ , /**< \brief Request to select the local or remote SIM \details */ + CI_SIM_PRIM_RSAP_SIM_SELECT_CNF , /**< \brief Confirms the request to select the local or remote SIM \details */ + CI_SIM_PRIM_RSAP_STATUS_IND , /**< \brief Indicates that the current SIM / USIM status changed during RSAP connection \details */ + CI_SIM_PRIM_RSAP_TRANSFER_APDU_IND , /**< \brief Request from the protocol stack to transfer APDU to the remote SIM \details */ + CI_SIM_PRIM_RSAP_TRANSFER_APDU_RSP , /**< \brief Request from the protocol stack to transfer APDU to the remote SIM. + * \details A response APDU is returned if the transfer of APDU is successful.*/ + /*Michal Bukai - RSAP support - END*/ + + CI_SIM_PRIM_DEVICE_RSP , /**< \brief Response to CI_SIM_PRIM_DEVICE_RSP. + * \details This response is confirms that the CI_SIM_PRIM_DEVICE_RSP has been received and handled. Specially the SIM clock stop level. This indicates the Comm that D2 can be enabled on SIM driver level.*/ + // ICC ID feature + CI_SIM_PRIM_ICCID_IND , /**< \brief Indicates the content of the EF-ICCID file. This indication is sent at init. The EF-ICCID can be accessed even if PIN is required.*/ + CI_SIM_PRIM_GET_ICCID_REQ , /**< \brief Request to get the content of the EF-ICCID file. Can be sent if ICC is ready. + * \details Can be sent when the SIM state is CI_SIM_ST_READY or CI_SIM_ST_INSERTED. Otherwise the request will fail.*/ + + CI_SIM_PRIM_GET_ICCID_CNF , /**< \brief Confirmation with the ICC id to the request to get the ICC Id.*/ + // ICC ID feature + CI_SIM_PRIM_EAP_AUTHENTICATION_REQ , /**< \brief Requests to exchange EAP packets with the UICC. */ + CI_SIM_PRIM_EAP_AUTHENTICATION_CNF , /**< \brief Confirms the EAP authentication request and returns the authentication response */ + + CI_SIM_EAP_RETRIEVE_PARAMETERS_REQ , /**< \brief Requests to retrieve EAP parameters from the UICC. */ + CI_SIM_EAP_RETRIEVE_PARAMETERS_CNF , /**< \brief Confirms the request to retrieve EAP parameters and returns the contents of the + * \elementary file corresponding to requested parameter.*/ + + CI_SIM_PRIM_GET_NUM_UICC_APPLICATIONS_REQ , /**< \brief Requests to get number of applications available on the UICC. */ + CI_SIM_PRIM_GET_NUM_UICC_APPLICATIONS_CNF , /**< \brief Confirms the request to get number of applications available on the UICC. */ + + CI_SIM_PRIM_GET_UICC_APPLICATIONS_INFO_REQ , /**< \brief Requests to get list of applications available on the UICC. */ + CI_SIM_PRIM_GET_UICC_APPLICATIONS_INFO_CNF , /**< \brief Confirms the request to get list of applications available on the UICC. */ + /* ADD NEW COMMON PRIMITIVES HERE , BEFORE ' CI_SIM_PRIM_LAST_COMMON_PRIM ' */ + /*2013.12.11 , added by Xili for CQ00051618 , begin*/ + CI_SIM_PRIM_ISIM_AID_IND , /**< \brief Indicates the content of the ISIM Aid. This indication is sent at init if it had one. */ + /*2013.12.11 , added by Xili for CQ00051618 , end*/ + + /* Add by jungle for CQ00057999 on 2014 -04-02 Begin */ + CI_SIM_PRIM_APP_PIN_REQ , + CI_SIM_PRIM_APP_PIN_CNF , + /* Add by jungle for CQ00057999 on 2014 -04-02 End*/ + + /*2014.05.08 , added by Xili for CQ00060947 , begin*/ + CI_SIM_PRIM_ADMIN_DATA_IND , + /*2014.05.08 , added by Xili for CQ00060947 , end*/ + + /*2015.03.19 , mod by Xili for adding ECC list indication , CQ00088196 begin*/ + CI_SIM_PRIM_ECC_LIST_IND , + /*2015.03.19 , mod by Xili for adding ECC list indication , CQ00088196 end*/ + + /* Mod by jungle for CQ00089692 on 2015 -04-08 Begin */ + CI_SIM_PRIM_EXEC_LARGE_CMD_CNF , + CI_SIM_PRIM_GENERIC_LARGE_CMD_CNF , + /* Mod by jungle for CQ00089692 on 2015 -04-08 End */ + + /*CQ00113882 , Cgliu , 2019 -02-26 , Begin*/ + CI_SIM_PRIM_UPDATE_COUNT_REQ , + CI_SIM_PRIM_UPDATE_COUNT_CNF , + /*CQ00113882 , Cgliu , 2019 -02-26 , End */ + /*CQ00116569 , Cgliu , 2019 -10-15 , Begin*/ + /*Add *SIMPOLL command...*/ + CI_SIM_PRIM_SET_POLL_REQ , + CI_SIM_PRIM_SET_POLL_CNF , + CI_SIM_PRIM_GET_POLL_REQ , + CI_SIM_PRIM_GET_POLL_CNF , + /*CQ00116569 , Cgliu , 2019 -10-15 , End */ + + /* END OF COMMON PRIMITIVES LIST */ + CI_SIM_PRIM_LAST_COMMON_PRIM + + /* The customer specific extension primitives are added starting from + * CI_SIM_PRIM_firstCustPrim = CI_SIM_PRIM_LAST_COMMON_PRIM as the first identifier. + * The actual primitive names and IDs are defined in the associated + * ' ci_sim_cust_xxx.h ' file. + */ + + /* DO NOT ADD ANY MORE PRIMITIVES HERE */ + + } _CiSimPrim; + +//ICAT EXPORTED STRUCT + typedef struct CiSimCmdReq_Struct { + UINT16 len ; /**< Length of SIM command [ 5 -CI_SIM_MAX_CMD_DATA_SIZE ] */ + UINT8 data [ 261 ] ; /**< SIM command data. The format is according to 3 GPP TS 11.110000 , v8.6.0 , 9 . */ + } CiSimCmdReq; + +//ICAT EXPORTED STRUCT + typedef struct CiMepPassword_struct { + UINT8 len ; /* length of the password , [ CI_MIN_PASSWORD_LENGTH - CI_MAX_PASSWORD_LENGTH ] */ + + UINT8 data [ 32 ] ; + + } CiMepPassword; + +//ICAT EXPORTED STRUCT + typedef struct CiSimCmdRsp_Struct { + UINT16 len ; /**< Length of the SIM response , [ 2 -CI_SIM_MAX_CMD_DATA_SIZE ] */ + UINT8 data [ 261 ] ; /**< SIM response. The format is according to 3 GPP TS 11.110000 , v8.6.0 , 9 . */ + } CiSimCmdRsp; + +//ICAT EXPORTED STRUCT + typedef struct CiSimLargeCmdRsp_Struct { + UINT16 len ; + UINT8 data [ 2050 ] ; + } CiSimLargeCmdRsp; + +//ICAT EXPORTED ENUM + typedef enum CISIMSTATUS_TAG { + CI_SIM_ST_READY = 0 , /**< SIM is initialized / validated and can be accessed. */ + CI_SIM_ST_NOT_READY , /**< SIM is not inserted or has not been successfully initialized / validated. */ + + CI_SIM_ST_INSERTED , /**< SIM is inserted and is being initialized / validated. */ + CI_SIM_ST_ERROR , /**< SIM is inserted , but frame error happens */ + + CI_SIM_ST_SIM_PRESENT , /**< SIM1 / 2 is inserted , specially only for SIM2 detect first */ + CI_SIM_ST_SIM_ABSENT , /**< SIM1 / 2 is not inserted , specially only for SIM2 detect first */ + + CI_SIM_NUM_STATUSES + } _CiSimStatus; + +typedef UINT8 CiSimStatus ; +//ICAT EXPORTED ENUM + typedef enum CISIMPINSTATE_TAG { + CI_SIM_PIN_ST_READY , /**< SIM is ready */ + + CI_SIM_PIN_ST_CHV1_REQUIRED , /**< SIM is locked ; waiting for a CHV1 password */ + CI_SIM_PIN_ST_CHV2_REQUIRED , /**< SIM is locked ; waiting for a CHV2 password */ + CI_SIM_PIN_ST_UNBLOCK_CHV1_REQUIRED , /**< SIM is blocked ; CHV1 unblocking password is required */ + CI_SIM_PIN_ST_UNBLOCK_CHV2_REQUIRED , /**< SIM is blocked ; CHV2 unblocking password is required */ + + /* Note: the ' **CK ' states are not fully supported at this time */ + CI_SIM_PIN_ST_PCK_REQUIRED , /**< SIM is locked due to a SIM / USIM personalization check failure. + * SIM is waiting for a PCK control key to deactivate SIM / USIM personalization. */ + CI_SIM_PIN_ST_NCK_REQUIRED , /**< SIM is locked due to a network personalization check failure. + * SIM is waiting for a NCK control key to deactivate network personalization. */ + CI_SIM_PIN_ST_NSCK_REQUIRED , /**< SIM is locked due to a network subset personalization check failure. + * SIM is waiting for a NSCK control key to deactivate network subset personalization. */ + CI_SIM_PIN_ST_SPCK_REQUIRED , /**< SIM is locked due to a service provider personalization check failure. + * SIM is waiting for a SPCK control key to deactivate service provider personalization. */ + CI_SIM_PIN_ST_CCK_REQUIRED , /**< SIM is locked due to a corporate personalization check failure. + * SIM is waiting for a CCK control key to deactivate corporate personalization. */ + CI_SIM_PIN_ST_UNBLOCK_PCK_REQUIRED , /**< SIM is blocked due to an incorrect PCK ; an MEP unblocking password is required. */ + CI_SIM_PIN_ST_UNBLOCK_NCK_REQUIRED , /**< SIM is blocked due to an incorrect NCK ; an MEP unblocking password is required. */ + CI_SIM_PIN_ST_UNBLOCK_NSCK_REQUIRED , /**< SIM is blocked due to an incorrect NSCK ; an MEP unblocking password is required. */ + CI_SIM_PIN_ST_UNBLOCK_SPCK_REQUIRED , /**< SIM is blocked due to an incorrect SPCK ; an MEP unblocking password is required. */ + CI_SIM_PIN_ST_UNBLOCK_CCK_REQUIRED , /**< SIM is blocked due to an incorrect CCK ; an MEP unblocking password is required. */ + + /* note , according to 3 GPP TS 22.022000 , v3.4.0 , there is no standard way to unblock a locked */ + /* personalization key */ + + /* Note: the ' HIDDENKEY ' states are not supported at this time */ + CI_SIM_PIN_ST_HIDDENKEY_REQUIRED , /**< Expecting key for hidden phone book entries */ + CI_SIM_PIN_ST_UNBLOCK_HIDDENKEY_REQUIRED , /**< Expecting code to unblock the hidden key */ + + CI_SIM_PIN_ST_UNIVERSALPIN_REQUIRED , /**< Expecting the universal PIN */ + CI_SIM_PIN_ST_UNBLOCK_UNIVERSALPIN_REQUIRED , /**< Expecting code to unblock the universal PIN */ + + CI_SIM_PIN_ST_CHV1_BLOCKED , /**< Use of CHV1 is blocked */ + CI_SIM_PIN_ST_CHV2_BLOCKED , /**< Use of CHV2 is blocked */ + CI_SIM_PIN_ST_UNIVERSALPIN_BLOCKED , /**< Use of the universal PIN is blocked */ + CI_SIM_PIN_ST_UNBLOCK_CHV1_BLOCKED , /**< Use of code to unblock the CHV1 is blocked */ + CI_SIM_PIN_ST_UNBLOCK_CHV2_BLOCKED , /**< Use of code to unblock the CHV2 is blocked */ + CI_SIM_PIN_ST_UNBLOCK_UNIVERSALPIN_BLOCKED , /**< Use of code to unblock the universal PIN is blocked */ + + CI_SIM_PIN_ST_NETWORK_REJECTED , /**< SIM was rejected by the network. See GSM 3.220000 for possible reasons of network rejection. For example , IMSI is unknown in + * the HLR or the IMSI is on the blacklist. */ + CI_SIM_PIN_ST_WAIT_INITIALISATION , /**< SIM is being initialized ; waiting for completion */ + CI_SIM_PIN_ST_INIT_FAILED , /**< SIM initialization failed */ + CI_SIM_PIN_ST_REMOVED , /**< SIM was removed */ + CI_SIM_PIN_ST_WRONG_SIM , /**< SIM was inserted but was not accepted by the protocol stack */ + CI_SIM_PIN_ST_GENERAL_ERROR , /**< SIM access encountered a serious error */ + CI_SIM_PIN_ST_MEP_ERROR , /**< Error in checking or accessing ME personalization data */ + CI_SIM_PIN_ST_UDP_ERROR , /**< Error in checking or accessing UDP personalization data */ + CI_SIM_PIN_ST_CPHS_ERROR , /**< Error in accessing CPHS data */ + CI_SIM_PIN_ST_EMPTY_ESIM , /**< SIM is being initialized , but empty eSIM */ + + CI_SIM_PIN_NUM_STATES + } _CiSimPinState; + +typedef UINT8 CiSimPinState ; +//ICAT EXPORTED ENUM + typedef enum CISIMRC_TAG { + CIRC_SIM_OK = 0 , /**< Success */ + CIRC_SIM_FAILURE , /**< CME 13 - SIM failure */ + CIRC_SIM_MEM_PROBLEM , /**< CME 23 - Memory problem */ + CIRC_SIM_SIMAT_BUSY , /**< CME 14 - SIMAT busy */ + CIRC_SIM_INFO_UNAVAILABLE , /**< CME 100 - Requested information is unavailable */ + CIRC_SIM_NOT_INSERTED , /**< CME 10 - SIM not inserted */ + CIRC_SIM_PIN_REQUIRED , /**< CME 11 - SIM PIN ( CHV1 ) required */ + CIRC_SIM_PUK_REQUIRED , /**< CME 12 - SIM PUK required */ + CIRC_SIM_BUSY , /**< CME 14 - SIM busy */ + CIRC_SIM_WRONG , /**< CME 15 - SIM wrong */ + CIRC_SIM_INCORRECT_PASSWORD , /**< CME 16 - Incorrect password */ + CIRC_SIM_PIN2_REQUIRED , /**< CME 17 - SIM PIN2 ( CHV2 ) required */ + CIRC_SIM_PUK2_REQUIRED , /**< CME 18 - SIM PUK2 required */ + CIRC_SIM_OPERATION_NOT_ALLOWED , /**< CME 3 - Operation not allowed */ + CIRC_SIM_MEMORY_FULL , /**< CME 20 - Memory full */ + CIRC_SIM_UNKNOWN , /**< CME 100 - General error */ + CIRC_SIM_PERSONALISATION_DISABLED , /**< CME 3 - Operation failed since personalization is disabled */ + CIRC_SIM_PERSONALISATION_BLOCKED , /**< CME 41 , CME 43 , CME 45 or CME 47 - Operation failed since personalization is blocked */ + CIRC_SIM_PERSONALISATION_UNKNOWN , /**< CME 100 - Operation failed since personalization database is not available */ + CIRC_SIM_PERSONALISATION_NOT_SUPPORTED , /**< CME 4 - Operation failed since personalization is not supported */ + CI_SIM_BTSAP_RC_ERR_CARD_NOT_ACC , /**< Error , card not accessible */ + CI_SIM_BTSAP_RC_ERR_CARD_POWERED_OFF , /**< Error , card ( already ) powered off */ + CI_SIM_BTSAP_RC_ERR_CARD_REMOVED , /**< Error , card removed */ + CI_SIM_BTSAP_RC_ERR_CARD_POWERED_ON , /**< Error , card ( already ) powered on */ + CI_SIM_BTSAP_RC_ERR_DATA_NOT_AVAILABLE , /**< Error , data not available */ + CI_SIM_BTSAP_RC_ERR_NOT_SUPPORTED , /**< Error , not supported */ + CIRC_SIM_INVALID_PARAMETER , /**< Generic error - the requested service primitive has invalid parameters */ + CIRC_SIM_INVALID_REQ , /**< Generic error - the requested service primitive can not be handled at current state */ + CIRC_SIM_SIM_NOT_READY , /**< Generic error - the requested service primitive fails because SIM is not ready */ + CIRC_SIM_ACCESS_DENIED , /**< Generic error - the requested service primitive fails because access is denied */ + CIRC_SIM_LONG_STR , /**< Generic error - the requested service primitive has an invalid parameter with string too long */ + + + CIRC_SIM_NUM_RESCODES + } _CiSimRc; + +typedef UINT16 CiSimRc ; +//ICAT EXPORTED ENUM + typedef enum CISIMMMISTATE_TAG { + CI_SIM_MMI_IDLE = 0 , /**< MMI is in idle screen and user did not enter any keys */ + CI_SIM_MMI_BUSY , /**< There is an acitve menu or the user entered keys on the idle screen */ + + CI_SIM_MMI_NUM_STATE + } _CiSimMMIState; + +typedef UINT8 CiSimMMIState ; +//ICAT EXPORTED ENUM + typedef enum CISIMCHVNO_TAG { + CI_SIM_CHV_1 = 1 , /**< CHV1 */ + CI_SIM_CHV_2 , /**< CHV2 */ + + CI_SIM_CHV_NEXT_FREE + } _CiSimChvNo; + +typedef UINT8 CiSimChvNo ; +//ICAT EXPORTED ENUM + typedef enum CISIMCHVOPER_TAG { + CI_SIM_CHV_VERIFY = 0 , /**< Verify CHV value */ + CI_SIM_CHV_CHANGE , /**< Change CHV value */ + CI_SIM_CHV_DISABLE , /**< Disable the need for CHV verification , only applied to CHV1 */ + CI_SIM_CHV_ENABLE , /**< Enable the need for CHV verification , only applied to CHV1 */ + CI_SIM_CHV_UNBLOCK , /**< Unblock CHV */ + CI_SIM_CHV_QUERY , /**< Query CHV enable / disable status , only applied to CHV1 */ + + CI_SIM_CHV_NUM_OPERS + } _CiSimChvOper; + +typedef UINT8 CiSimChvOper ; +//ICAT EXPORTED ENUM + typedef enum CISIMPERSMEOPER_TAG { + CI_SIM_PERSME_ACTIVATE_PERSONALISATION , /**< Activates MEP. This operation requires the SIM pin state to be CI_SIM_PIN_ST_READY. */ + CI_SIM_PERSME_DEACTIVATE_PERSONALISATION , /**< Deactivates MEP. This operation can be done in any SIM pin state and requires an MEP category password. */ + CI_SIM_PERSME_DISABLE_PERSONALISATION , /**< Disables MEP. This operation permanently deactivates the requested MEP category and can be done in any SIM pin state. The operation requires an MEP category password. */ + CI_SIM_PERSME_READ_PERSONALIZATION_STATUS , /**< Reads MEP status. This operation can be done in any SIM pin state. */ + CI_SIM_PERSME_UNBLOCK_PERSONALISATION , /**< Unblocks the SIM. This operation requires an MEP unblocking password. */ + CI_SIM_PERSME_NUM_OPERS + } _CiSimPersOper; + +typedef UINT8 CiSimPersOper ; +//ICAT EXPORTED ENUM + typedef enum CISIMPERSCAT_TAG { + CI_SIM_PERS_CAT_SIM , /**< SIM MEP category */ + CI_SIM_PERS_CAT_NETWORK , /**< Network MEP category */ + CI_SIM_PERS_CAT_NETWORKSUBSET , /**< Sub network MEP category */ + CI_SIM_PERS_CAT_SERVICEPROVIDER , /**< Service provider MEP category */ + CI_SIM_PERS_CAT_CORPORATE , /**< Corporate MEP category */ + + CI_SIM_PERS_NUM_CATS + } _CiSimPersCat; + +typedef UINT8 CiSimPersCat ; +typedef UINT8 CiSimMEP_BCD ; +//ICAT EXPORTED STRUCT + typedef struct CiSimMEP_IMSI_Tag + { + UINT8 length ; /**< Number of bytes */ + UINT8 contents [ 8 ] ; /**< IMSI value represented as an array of bytes ; each byte contains 2 digits */ + } CiSimMEP_IMSI; + +typedef UINT16 CiSimMEP_MNC ; +typedef UINT16 CiSimMEP_MCC ; +typedef UINT16 CiSimMEP_AccessTechnologyId ; +//ICAT EXPORTED STRUCT + typedef struct CiSimMEP_PLMN_Tag + { + CiSimMEP_MCC mcc ; /**< Mobile country code \sa CiSimMEP_MCC */ + CiSimMEP_MNC mnc ; /**< Mobile network code \sa CiSimMEP_MNC */ + CiSimMEP_AccessTechnologyId accessTechnology ; /**< Access technology \sa CiSimMEP_AccessTechnologyId */ + } CiSimMEP_PLMN; + +//ICAT EXPORTED STRUCT + typedef struct CiSimMEPCodeType_PLMN_Tag + { + CiSimMEP_PLMN plmn ; /**< PLMN \sa CiSimMEP_PLMN_Tag */ + CiBoolean mncThreeDigitsDecoding ; /**< If TRUE indicates 3 digit coding is used else 4 digit coding is used \sa CCI API Ref Manual */ + } CiSimMEPCodeType_PLMN; + +//ICAT EXPORTED STRUCT + typedef struct CiSimMEPCodeType_NS_Tag + { + CiSimMEP_BCD networkSubsetId ; /**< Bits 0 -3 = IMSI digit 6 , Bits 4 -7 = IMSI digit 7 . \sa CiSimMEP_BCD */ + } CiSimMEPCodeType_NS; + +//ICAT EXPORTED STRUCT + typedef struct CiSimMEPCodeType_SP_Tag + { + UINT8 serviceproviderId ; /**< Service provider ID */ + } CiSimMEPCodeType_SP; + +//ICAT EXPORTED STRUCT + typedef struct CiSimMEPCodeType_CP_Tag + { + UINT8 corporateId ; /**< Corporate ID */ + } CiSimMEPCodeType_CP; + +//ICAT EXPORTED STRUCT + typedef struct CiSimMEPCodeType_SIMUSIM_Tag + { + CiSimMEP_IMSI simId ; /**< IMSI \sa CiSimMEP_IMSI_Tag */ + } CiSimMEPCodeType_SIMUSIM; + +//ICAT EXPORTED UNION + typedef union CiSimMEPCodeType_Tag + { + CiSimMEPCodeType_PLMN Network ; /**< Network code - PLMN \sa CiSimMEPCodeType_PLMN_Tag */ + CiSimMEPCodeType_NS NetworkSubset ; /**< Network subset code - IMSI bits 6 and 7 \sa CiSimMEPCodeType_NS_Tag */ + CiSimMEPCodeType_SP SP ; /**< Service provider code \sa CiSimMEPCodeType_SP_Tag */ + CiSimMEPCodeType_CP Corporate ; /**< Corporate code \sa CiSimMEPCodeType_CP_Tag */ + CiSimMEPCodeType_SIMUSIM SimUsim ; /**< SIM / USIM code - IMSI \sa CiSimMEPCodeType_SIMUSIM_Tag */ + } CiSimMEPCodeType; + +//ICAT EXPORTED ENUM + typedef enum CISIMUDPOPER { + CI_SIM_UDP_OPER_ACTIVATE_PERSONALISATION , /**< Activate */ + CI_SIM_UDP_OPER_DEACTIVATE_PERSONALISATION , /**< Deactivate - this operation requires a password */ + CI_SIM_UDP_READ_PERSONALIZATION_STATUS , /**< Read UDP lock status */ + CI_SIM_UDP_OPER_NUM + } _CiSimUDPOper; + +typedef UINT8 CiSimUDPOper ; +//ICAT EXPORTED ENUM + typedef enum CISIMUDPCAT { + CI_SIM_UDP_CAT_UNAUTHERIZED_SIM_DETECTION , /**< Unauthorized SIM detection - SIM is unauthorized if its ICCID does not match any of the values stored in the authorized SIM list */ + CI_SIM_UDP_CAT_INVALID_SIM_DETECTION , /**< Invalid SIM detection - SIM is invalid if it is rejected by the network */ + CI_SIM_UDP_CAT_NUM + } _CiSimUDPCat; + +typedef UINT8 CiSimUDPCat ; +//ICAT EXPORTED ENUM + typedef enum CiSIMUDPSTATUS_TAG { + CI_SIM_UDP_UNKNOWN , /**< Data based was not read */ + CI_SIM_UDP_INACTIVE , /**< UDP lock is not active */ + CI_SIM_UDP_ACTIVE , /**< UDP lock is active */ + CI_SIM_UDP_IS_NOT_SUPPORTED , /**< UDP lock feature is not supported */ + CI_SIM_UDP_STATUS_NUM + } _CiSimUDPStatus; + +typedef UINT8 CiSimUDPStatus ; +//ICAT EXPORTED STRUCT + typedef struct CiSimIccid_Tag + { + UINT8 data [ 10 ] ; + } CiSimIccid; + +//ICAT EXPORTED ENUM + typedef enum CiSIMUDPASLOPER_Tag { + CI_SIM_UDP_ASL_ADD_CURRENT_SIM , /**< Add ICCID of current SIM to authorized SIM list */ + CI_SIM_UDP_ASL_DELETE , /**< Delete specified ICCID from authorized SIM list */ + CI_SIM_UDP_ASL_DELETE_ALL , /**< Delete all values from authorized SIM list */ + CI_SIM_UDP_ASL_READ_ALL , /**< Read authorized SIM list */ + CI_SIM_UDP_ASL_OPER_NUM + } _CiSimUDPASLOper; + +typedef UINT8 CiSimUDPASLOper ; +//ICAT EXPORTED STRUCT + typedef struct CiRtcDate_Tag + { + UINT16 year ; /**< RTC year */ + UINT8 month ; /**< RTC month ( 1 -12 ) */ + UINT8 day ; /**< RTC day of month ( 1 -31 ) */ + } CiRtcDate; + +//ICAT EXPORTED STRUCT + typedef struct CiSimUDPASLEntry_Tag + { + CiSimIccid iccid ; /**< \sa CiSimIccid_Tag */ + CiRtcDate updateTime ; /**< \sa CiRtcDate_Tag */ + } CiSimUDPASLEntry; + +//ICAT EXPORTED ENUM + typedef enum CISIMPERSSTATUS_TAG { + CI_SIM_MEP_ACTIVATED , /**< Activated */ + CI_SIM_MEP_DEACTIVATED , /**< Deactivated */ + CI_SIM_MEP_DISABLED , /**< Disabled - permanently deactivated */ + CI_SIM_MEP_BLOCKED , /**< Blocked */ + CI_SIM_MEP_UNKNOWN , /**< Unknown - database not read or corrupted */ + CI_SIM_PERS_ST_IS_NOT_SUPPORTED , /**< Personalization not supported */ + + CI_SIM_PERS_NUM_STATUSES + } _CiSimPersStatus; + +typedef UINT8 CiSimPersStatus ; +//ICAT EXPORTED STRUCT + typedef struct CiSimTermProfile_Struct { + UINT8 len ; /**< Length of the terminal profile [ 1 - CI_SIM_MAX_ME_PROFILE_SIZE ] */ + UINT8 data [ 64 ] ; /**< Terminal profile data. + * Content conforms to 3 GPP TS 11.140000 , v3.10.0 , 5.200000 ; if empty , communication + * subsystem assumes ME doesn ' t support SIMAT. */ + } CiSimTermProfile; + +//ICAT EXPORTED ENUM + typedef enum CISIMFACLCKMODE_TAG { + CI_SIM_FACLCK_MODE_UNLOCK = 0 , /**< Unlock */ + CI_SIM_FACLCK_MODE_LOCK , /**< Lock */ + CI_SIM_FACLCK_MODE_QUERY , /**< Query */ + + CI_SIM_FACLCK_NUM_MODES + } _CiSimFacLckMode; + +typedef UINT8 CiSimFacLckMode ; +//ICAT EXPORTED ENUM + typedef enum CISIMFACCODE_TAG { + CI_SIM_FAC_CODE_SIM = 0 , /**< Locks SIM , needs to be unlocked with CHV1 */ + CI_SIM_FAC_CODE_FDN , /**< Enables FDN feature , needs CHV2 verification , + * refer to 3 GPP 11.110000 and 3 GPP 11.140000 */ + + /* The following facility codes are related to personalization. Refer to 3 GPP TS 22.022000 */ + CI_SIM_FAC_CODE_PERS_FSIM , /**< SIM personalization , lock phone with the first inserted SIM. Not supported */ + + CI_SIM_FAC_CODE_P2 , /* Add by jungle for CQ00055548 on 2014 -03-04 */ + + CI_SIM_FAC_NUM_CODES + } _CiSimFacCode; + +typedef UINT8 CiSimFacCode ; +//ICAT EXPORTED ENUM + typedef enum CISIMFACSTATUS_TAG { + CI_SIM_FACLCK_ST_DEACTIVE = 0 , /**< Not active */ + CI_SIM_FACLCK_ST_ACTIVE , /**< Active */ + + CI_SIM_FACLCK_NUM_STS + } _CiSimFacStatus; + +typedef UINT8 CiSimFacStatus ; +//ICAT EXPORTED ENUM + typedef enum CISIMATNOTIFYSUPPORT_TAG { + CI_SIMATNOT_NOT_IMPLEMENTED = 0 , /**< Not implemented */ + CI_SIMATNOT_APP_IMPLEMENTS , /**< Implemented in the application */ + CI_SIMATNOT_SIMAT_IMPLEMENTS_NO_NOTIFY , /**< Implemented in the communication subsystem without notifying the application */ + CI_SIMATNOT_SIMAT_IMPLEMENTS_NOTIFY , /**< Implemented in the communication subsystem and the application is notified */ + CI_SIMATNOT_SIMAT_IMPLEMENTS_WITH_APP_INPUT , /**< Implemented in the communication subsystem but requires input from the application */ + + CI_NUM_SIMATNOT_SUPPORT_OPTIONS + } _CiSimatNotifySupport; + +typedef UINT8 CiSimatNotifySupport ; +//ICAT EXPORTED STRUCT + typedef struct CiSimatNotifyCap_struct { + CiSimatNotifySupport capDisplayText ; /**< DISPLAY TEXT , which displays text or an icon on the screen. \sa CiSimatNotifySupport */ + CiSimatNotifySupport capGetInkey ; /**< GET INKEY , which sends text or an icon to the display and requests a single character response in return. It is intended to allow a dialog between the SIM and the user , particularly for selecting an option from a menu. \sa CiSimatNotifySupport*/ + CiSimatNotifySupport capGetInput ; /**< GET INPUT , which sends text or an icon to the display and requests a response in return. It is intended to allow a dialog between the SIM and the user. \sa CiSimatNotifySupport*/ + CiSimatNotifySupport capMoreTime ; /**< MORE TIME , which does not request any action from the ME. The ME is required to respond with TERMINAL RESPONSE ( OK ) as normal. The purpose of the MORE TIME command is to provide a mechanism for the SIM Application Toolkit task in the SIM to request more processing time. \sa CiSimatNotifySupport */ + CiSimatNotifySupport capPlayTone ; /**< PLAY TONE , which requests the ME to play a tone in its earpiece , ringer , or other appropriate loudspeaker. \sa CiSimatNotifySupport */ + CiSimatNotifySupport capPollInterval ; /**< POLL INTERVAL , which negotiates how often the ME sends STATUS commands to the SIM during idle mode. Polling is disabled with POLLING OFF. Use of STATUS for the proactive SIM is described in TS 11.110000 . \sa CiSimatNotifySupport */ + CiSimatNotifySupport capRefresh ; /**< REFRESH , which requests the ME to carry out a SIM initialization according to TS 11.110000 subclause 12.200000 .1 , and / or advises the ME that the contents or structure of EFs on the SIM have been changed. The command also makes it possible to restart a card session by resetting the SIM. \sa CiSimatNotifySupport */ + CiSimatNotifySupport capSetupMenu ; /**< SETUP MENU: The SIM shall supply a set of menu items , which shall be integrated with the menu system ( or other MMI facility ) to give the user the opportunity to choose one of these menu items at his own discretion. Each item comprises a short identifier ( used to indicate the selection ) , a text string , and optionally an icon identifier , contained in an item icon identifier list data object located at the end of the list of items. \sa CiSimatNotifySupport*/ + CiSimatNotifySupport capSelectItem ; /**< SELECT ITEM , where the SIM supplies a list of items , and the user is expected to choose one. The ME presents the list in an implementation-dependent way. \sa CiSimatNotifySupport */ + CiSimatNotifySupport capSendSMS ; /**< SEND DATA , which requests the ME to send data on the specified channel provided by the SIM ( if class " e " is supported ) . \sa CiSimatNotifySupport */ + CiSimatNotifySupport capSendSS ; /**< SEND SS , which sends an SS request to the network. \sa CiSimatNotifySupport */ + CiSimatNotifySupport capSendUSSD ; /**< SEND USSD , which sends a USSD string to the network. \sa CiSimatNotifySupport */ + CiSimatNotifySupport capSetupCall ; /**< SET UP CALL , of which there are three types: + * set up a call , but only if not currently busy on another call ; + * set up a call , putting all other calls ( if any ) on hold ; + * set up a call , disconnecting all other calls ( if any ) \sa CiSimatNotifySupport*/ + CiSimatNotifySupport capPollingOff ; /**< POLLING OFF - This command disables the Proactive Polling ( defined in TS 11.110000 [ 20 ] ) . SIM Presence Detection ( defined in TS 11.110000 [ 20 ] ) is not affected by this command. \sa CiSimatNotifySupport */ + CiSimatNotifySupport capSetupIdleModeText ; /**< SETUP IDLE MODE TEXT \sa CiSimatNotifySupport */ + CiSimatNotifySupport capProvideLocalInfo ; /**< Provide local information - + * This command requests the ME to send current local information to the SIM. + * At present , this information is restricted to + * location information ( the mobile country code ( MCC ) , mobile network code ( MNC ) , location area code ( LAC ) and cell ID of the current serving cell ) ; + * the IMEI of the ME ; + * the network measurement results and the BCCH channel list ; + * the current date , time and time zone ; + * the current ME language setting ; + * the timing advance \sa CiSimatNotifySupport*/ + CiSimatNotifySupport capSetupEventList ; /**< SET UP EVENT LIST - The SIM shall use this command to supply a set of events. This set of events shall become the current list of events that the ME is to monitor. \sa CiSimatNotifySupport */ + CiSimatNotifySupport capLaunchBrowser ; /**< LAUNCH BROWSER , which requests a browser inside a browser enabled ME to interpret the content corresponding to a URL. \sa CiSimatNotifySupport */ + + /*Mason BIP support - START*/ + CiSimatNotifySupport capOpenChannel ; /**< OPEN CHANNEL realted to GPRS. \sa CiSimatNotifySupport */ + CiSimatNotifySupport capCloseChannel ; /**< CLOSE CHANNEL. \sa CiSimatNotifySupport */ + CiSimatNotifySupport capReceiveData ; /**< RECEIVE DATA. \sa CiSimatNotifySupport */ + CiSimatNotifySupport capSendData ; /**< SEND DATA. \sa CiSimatNotifySupport */ + CiSimatNotifySupport capGetChannelStatus ; /**< GET CHANNEL STATUS. \sa CiSimatNotifySupport */ + /*Mason BIP support - END*/ + } CiSimatNotifyCap; + +//ICAT EXPORTED STRUCT + typedef struct CiSimatAlphaTag_struct { + UINT16 len ; /**< Length */ + UINT8 tag [ 241 ] ; /**< Tag data */ + } CiSimatAlphaTag; + +//ICAT EXPORTED ENUM + typedef enum CI_SIM_MSGWAITING_FLAGS_TAG + { + CI_SIM_MSG_WAITING_VOICE = 0x01 , /**< Voice mail messages waiting */ + CI_SIM_MSG_WAITING_FAX = 0x02 , /**< Fax messages waiting */ + CI_SIM_MSG_WAITING_EMAIL = 0x04 , /**< Email messages waiting */ + CI_SIM_MSG_WAITING_OTHER = 0x08 /**< Other messages waiting */ + } _CiSimMsgWaitingFlags; + +typedef UINT8 CiSimMsgWaitingFlags ; +//ICAT EXPORTED STRUCT + typedef struct CiSimMsgWaitingInfo_struct + { + UINT8 flags ; /**< Bit mask indicating message waiting status. A set bit indicates there is a message waiting in the specified group. Bit 0 - Voice mail ; Bit 1 - Fax ; Bit 2 - Email ; Bit 3 - other */ + /*If " flags " == TRUE : next values contains message numbers ( for MWIS file ) + If FALSE: Next value are only flags: 0 - No Msg , Else Msg Exist ( for VMWF file ) */ + UINT8 numVoice ; /**< Number of voice mail messages waiting */ + UINT8 numFax ; /**< Number of fax messages waiting */ + UINT8 numEmail ; /**< Number of email messages waiting */ + UINT8 numOther ; /**< Number of other messages waiting */ + } CiSimMsgWaitingInfo; + +//ICAT EXPORTED STRUCT + typedef struct CiSimServiceTable_struct + { + UINT8 size ; /**< Actual number of bytes used in services [ ] array */ + UINT8 services [ ( ( 56 + 7 ) / 8 ) ] ; /**< SIM service table */ + } CiSimServiceTable; + +//ICAT EXPORTED STRUCT + typedef struct CiSimCustServiceProfile_struct + { + UINT8 cspCallOffering ; /**< Bitmap: Call offering services */ + UINT8 cspCallRestriction ; /**< Bitmap: Call restriction services */ + UINT8 cspOtherSuppServices ; /**< Bitmap: Other supplementary services */ + UINT8 cspCallCompletion ; /**< Bitmap: Call completion services */ + UINT8 cspTeleServices ; /**< Bitmap: Teleservices */ + UINT8 cspCphsTeleServices ; /**< Bitmap: CPHS teleservices */ + UINT8 cspCphsFeatures ; /**< Bitmap: CPHS features */ + UINT8 cspNumberIdent ; /**< Bitmap: Number identification services */ + UINT8 cspPhase2PlusServices ; /**< Bitmap: Phase 2 + services */ + UINT8 cspValueAddedServices ; /**< Bitmap: Value added services */ + UINT8 cspInformationNumbers ; /**< Bitmap: CPHS information numbers */ + } CiSimCustServiceProfile; + +//ICAT EXPORTED ENUM + typedef enum CISIMATDISPLAYCMDTYPE_TAG { + CI_SIMAT_DISPLAYCMD_SMS = 0 , /**< SMS */ + CI_SIMAT_DISPLAYCMD_USSD , /**< USSD */ + CI_SIMAT_DISPLAYCMD_SS , /**< SS */ + CI_SIMAT_DISPLAYCMD_SD , /**< SEND DTMF */ + CI_NUM_SIMAT_NUM_DISPLAYCMD_TYPES + } _CiSimatDisplayCmdType; + +typedef UINT8 CiSimatDisplayCmdType ; +//ICAT EXPORTED ENUM + typedef enum CISIMATICONDISPLAY_TAG { + CI_SIMAT_DISPLAY_ICONID_ONLY = 0 , /**< Display only icons */ + CI_SIMAT_DISPLAY_ICONID_WITH_ALPHAID , /**< Display icons and text */ + CI_NUM_SIMAT_NUM_DISPLAY_ICON_TYPES + } _CiSimatIconDisplay; + +typedef UINT8 CiSimatIconDisplay ; +//ICAT EXPORTED STRUCT + typedef struct CiSimatIconTag_struct { + CiSimatIconDisplay display ; /**< Icon display \sa CiSimatIconDisplay */ + UINT8 tag ; /**< Icon tag data */ + } CiSimatIconTag; + +//ICAT EXPORTED ENUM + typedef enum CISIMGENERICCMDTYPE_TAG + { + CI_SIM_SELECT = 0xa4 , + CI_SIM_STATUS = 0xf2 , + + CI_SIM_READ_BINARY = 0xb0 , + CI_SIM_UPDATE_BINARY = 0xd6 , + CI_SIM_READ_RECORD = 0xb2 , + CI_SIM_UPDATE_RECORD = 0xdc , + + CI_SIM_SEARCH_RECORD = 0xa2 , /**< Named as in ETSI TS 102.221000 sec 10.100000 .2 */ + CI_SIM_SEEK = 0xa2 , /**< Named as in 3 gpp TS 11.110000 sec 9.200000 */ + CI_SIM_INCREASE = 0x32 , + + CI_SIM_VERIFY = 0x20 , /**< Named as in ETSI TS 102.221000 sec 10.100000 .2 */ + CI_SIM_VERIFY_CHV = 0x20 , /**< Named as in 3 gpp TS 11.110000 sec 9.200000 */ + + CI_SIM_CHANGE_PIN = 0x24 , /**< Named as in ETSI TS 102.221000 sec 10.100000 .2 */ + CI_SIM_CHANGE_CHV = 0x24 , /**< Named as in 3 gpp TS 11.110000 sec 9.200000 */ + + CI_SIM_DISABLE_PIN = 0x26 , /**< Named as in ETSI TS 102.221000 sec 10.100000 .2 */ + CI_SIM_DISABLE_CHV = 0x26 , /**< Named as in 3 gpp TS 11.110000 sec 9.200000 */ + + CI_SIM_ENABLE_PIN = 0x28 , /**< Named as in ETSI TS 102.221000 sec 10.100000 .2 */ + CI_SIM_ENABLE_CHV = 0x28 , /**< Named as in 3 gpp TS 11.110000 sec 9.200000 */ + + CI_SIM_UNBLOCK_PIN = 0x2c , /**< Named as in ETSI TS 102.221000 sec 10.100000 .2 */ + CI_SIM_UNBLOCK_CHV = 0x2c , /**< Named as in 3 gpp TS 11.110000 sec 9.200000 */ + + CI_SIM_DEACTIVATE_FILE = 0x04 , /**< Named as in ETSI TS 102.221000 sec 10.100000 .2 */ + CI_SIM_INVALIDATE = 0x04 , /**< Named as in 3 gpp TS 11.110000 sec 9.200000 */ + + CI_SIM_ACTIVATE_FILE = 0x44 , /**< Named as in ETSI TS 102.221000 sec 10.100000 .2 */ + CI_SIM_REHABILITATE = 0x44 , /**< Named as in 3 gpp TS 11.110000 sec 9.200000 */ + + CI_SIM_AUTHENTICATE = 0x88 , /**< Named as in ETSI TS 102.221000 sec 10.100000 .2 */ + CI_SIM_RUN_GSM_ALGORITHM = 0x88 , /**< Named as in 3 gpp TS 11.110000 sec 9.200000 */ + + CI_SIM_SLEEP = 0xfa , /**< Only defined in 3 gpp TS 11.110000 sec 9.200000 */ + CI_SIM_GET_RESPONSE = 0xc0 , /**< Only defined in 3 gpp TS 11.110000 sec 9.200000 */ + + CI_SIM_TERMINAL_PROFILE = 0x10 , + CI_SIM_ENVELOPE = 0xC2 , + CI_SIM_FETCH = 0x12 , + CI_SIM_TERMINAL_RESPONSE = 0x14 , + + CI_SIM_MANAGE_CHANNEL = 0x70 , /**< Only defined in ETSI TS 102.221000 */ + + /* this should always be the last entry */ + CI_SIM_INVALID_CMD = 0x00 + + } _CiSimGenericCmdType; + +typedef UINT8 CiSimGenericCmdType ; +//ICAT EXPORTED ENUM + typedef enum CISIMGENERICRWMODETYPE_TAG + { + CI_SIM_NEXT_REC = 0x02 , + CI_SIM_PREVIOUS_REC = 0x03 , + CI_SIM_CURRENT_ABSOLUTE = 0x04 + } _CiSimGenericRwModeType; + +typedef UINT8 CiSimGenericRwModeType ; +//ICAT EXPORTED ENUM + typedef enum CISIMGENERICSELECTMODETYPE_TAG + { + CI_SIM_SELECT_BY_FILE_ID = 0x00 , + CI_SIM_SELECT_CHILD_DF = 0x01 , + CI_SIM_SELECT_PARENT_DF = 0x03 , + CI_SIM_SELECT_BY_DF_NAME = 0x04 , + CI_SIM_SELECT_BY_PATH_FROM_MF = 0x08 , + CI_SIM_SELECT_BY_PATH_FROM_DF = 0x09 + + } _CiSimGenericSelectModeType; + +typedef UINT8 CiSimGenericSelectModeType ; +typedef CiString CiSimFilePath ; +//ICAT EXPORTED ENUM + typedef enum CISIMGENERICRESPONSETYPE_TAG + { + CI_SIM_RETURN_FCP = 0x04 , + CI_SIM_RETURN_NO_DATA = 0x0C + + /* NOTE: more to be defined as needed */ + } _CiSimGenericResponseType; + +typedef UINT8 CiSimGenericResponseType ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimExecCmdReq_struct { + /*Michal Bukai - SIM Logic CH - NFC\ISIM support*/ + UINT16 SessionId ; /**< A session Id to be used in order to target a specific application on the smart card using logical channel mechanism. */ + CiSimCmdReq cmd ; /**< SIM Command. \sa CiSimCmdReq_Struct */ + } CiSimPrimExecCmdReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimExecCmdCnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + CiSimCmdRsp cnf ; /**< Confirmation of last SIM command request ; if rc is CI_SIM_CMDREQ_FAILURE , this field is optional. \sa CiSimCmdRsp */ + /*Michal Bukai - SIM Logic CH - NFC\ISIM support*/ + UINT16 SessionId ; /**< A session Id to be used in order to target a specific application on the smart card using logical channel mechanism. */ + } CiSimPrimExecCmdCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimExecLargeCmdCnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + CiSimLargeCmdRsp cnf ; /**< Confirmation of last SIM command request ; if rc is CI_SIM_CMDREQ_FAILURE , this field is optional. \sa CiSimCmdRsp */ + UINT16 SessionId ; /**< A session Id to be used in order to target a specific application on the smart card using logical channel mechanism. */ + } CiSimPrimExecLargeCmdCnf; + +//ICAT EXPORTED ENUM + typedef enum CI_SIM_CLOCK_STOP_LEVEL_TAG { + CI_SIM_CLOCK_STOP_NONE = 0 , /**< Clock Stop No Level Preferred */ + CI_SIM_CLOCK_STOP_LOW , /**< Clock Stop Low Level Preferred */ + CI_SIM_CLOCK_STOP_HIGH , /**< Clock Stop High Level Preferred */ + CI_SIM_CLOCK_STOP_NUM + } _CiSimClockStopLevel; + +typedef UINT8 CiSimClockStopLevel ; +//ICAT EXPORTED ENUM + typedef enum CI_SIM_ECALL_SUPPORT_TYPE_TAG { + CI_SIM_ECALL_NONE = 0 , + CI_SIM_ECALL_SUPPORTED , + CI_SIM_ECALL_ONLY , + CI_SIM_ECALL_NUM + } _CiSimEcallSuppurtType; + +typedef UINT8 CiSimEcallSuppurtType ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimDeviceInd_struct { + CiSimStatus status ; /**< SIM Status.\sa CiSimStatus */ + CiSimPinState pinState ; /**< PIN state when SIM becomes ready , ignored if status is NOT CI_SIM_ST_ READY. \sa CiSimPinState */ + /*Michal Bukai - OTA support for AT&T*/ + CiBoolean ProactiveSessionStatus ; /**< Indicates if in proactive session or not. \sa CCI API Ref Manual */ + /*merged by cherryli@04.26.2016 CQ105208 begin.*/ + CiBoolean EcallData ; /**< TRUE if service 48 is enabled on SIM and this SIM support eCall \sa */ + CiBoolean EcallOnlyMode ; /**< TRUE if the SIM works in eCall only mode \sa */ + /*merged by cherryli@04.26.2016 CQ105208 end.*/ + } CiSimPrimDeviceInd; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimPersonalizeMEReq_struct { + CiSimPersOper oper ; /**< Operation on ME personalization \sa CiSimPersOper */ + CiSimPersCat cat ; /**< Personalization category \sa CiSimPersCat */ + CiMepPassword pass ; /**< this field is optional if oper is CI_SIM_PERS_OPER_DISABLE or CI_SIM_PERS_OPER_QUERY. \sa CCI API Ref Manual */ + } CiSimPrimPersonalizeMEReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimPersonalizeMECnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + CiSimPersStatus status ; /**< Personalization indicator status \sa CiSimPersStatus */ + } CiSimPrimPersonalizeMECnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimReadMEPCodesReq_struct { + CiSimPersCat MEPCategory ; /**< Personalization category \sa CiSimPersCat */ + } CiSimPrimReadMEPCodesReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimReadMEPCodesCnf_struct { + CiSimRc rc ; /**< Result code \sa _CiSimRc */ + CiSimPersCat MEPCategory ; /**< Personalization category \sa CiSimPersCat */ + UINT8 NumberOfcodes ; /**< Number of codes stored in ME */ + CiSimMEPCodeType Codes [ 100 ] ; /**< MEP personalization codes \sa CiSimMEPCodeType_Tag */ + } CiSimPrimReadMEPCodesCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimUDPLockReq_struct { + CiSimUDPOper oper ; /**< Operation on UDP lock \sa CiSimUDPOper */ + CiSimUDPCat UDPCategory ; /**< UDP category \sa CiSimUDPCat */ + CiPassword Pass ; /**< This is the password required to deactivate the UDP lock. This field is optional in activate or read status operations. \sa CCI API Ref Manual */ + } CiSimPrimUDPLockReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimUDPLockCnf_struct { + CiSimRc rc ; /**< Result code. Note that the following values are not valid for UDP: CIR_SIM_ PERSONALISATION_DISABLED and CIRC_SIM_ PERSONALISATION_BLOCKED. \sa _CiSimRc */ + CiSimUDPStatus status ; /**< UDP lock status \sa CiSimUDPStatus */ + } CiSimPrimUDPLockCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimUDPChangePasswordReq_struct { + CiPassword oldPassword ; /**< This is the current password required to unlock the UE. \sa CCI API Ref Manual */ + CiPassword newPassword ; /**< This is the new password. \sa CCI API Ref Manual */ + } CiSimPrimUDPChangePasswordReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimUDPChangePasswordCnf_struct { + CiSimRc rc ; /**< Result code. Note that the following values are not valid for UDP: CIRC_SIM_ PERSONALISATION_DISABLED and CIRC_SIM_ PERSONALISATION_BLOCKED. \sa _CiSimRc */ + } CiSimPrimUDPChangePasswordCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimUDPASLReq_struct { + CiSimUDPASLOper Oper ; /**< Operation that should be performed on ASL \sa CiSimUDPASLOper */ + CiSimIccid Iccid ; /**< Required only for delete operation \sa CiSimIccid_Tag */ + } CiSimPrimUDPASLReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimUDPASLCnf_struct { + CiSimRc rc ; /**< Result code. Note that the following values are not valid for UDP: CIRC_SIM_ PERSONALISATION_DISABLED and CIRC_SIM_ PERSONALISATION_BLOCKED. \sa _CiSimRc */ + UINT8 num ; /**< Number of entries in ASL. Valid if operation was READ_ALL. 0 means there are no entries in ASL [ range: 0 - max number of ASL elements ] . */ + CiSimUDPASLEntry TypeAutherizedSIMlist [ 10 ] ; /**< Valid if operation was READ_ALL. Reports the ICCID of all SIMs in the authorized list and the date they were added. \sa CiSimUDPASLEntry_Tag */ + } CiSimPrimUDPASLCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimOperChvReq_struct { + CiSimChvOper oper ; /**< \sa CiSimChvOper */ + CiSimChvNo chvNo ; /**< \sa CiSimChvNo */ + CiPassword chvVal ; /**< \sa CCI API Ref Manual */ + CiPassword newChvVal ; /**< \sa CCI API Ref Manual */ + } CiSimPrimOperChvReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimOperChvCnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + CiBoolean enabled ; /**< Not optional if operation is CI_SIM_CHV_QUERY. TRUE: CHV1 is enabled ; FALSE: CHV1 is disabled. \sa CCI API Ref Manual */ + } CiSimPrimOperChvCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimDownloadProfileReq_struct { + CiSimTermProfile profile ; /**< Terminal profile structure \sa CiSimTermProfile_Struct */ + } CiSimPrimDownloadProfileReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimDownloadProfileCnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + } CiSimPrimDownloadProfileCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimEndAtSessionInd_struct { + UINT8 fetchSize ; + } CiSimPrimEndAtSessionInd; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimProactiveCmdInd_struct { + UINT16 len ; /**< Length of the proactive command data [ 1 -255 ] */ + UINT8 data [ 261 ] ; /**< Proactive command data */ + } CiSimPrimProactiveCmdInd; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimProactiveCmdRsp_struct { + UINT16 len ; /**< Length of the terminal response command data [ 1 -255 ] */ + UINT8 data [ 261 ] ; /**< Terminal response command data */ + } CiSimPrimProactiveCmdRsp; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimEnvelopeCmdReq_struct { + UINT16 len ; /**< Length of the envelope command data [ 1 -255 ] */ + UINT8 data [ 261 ] ; /**< Envelope command data */ + } CiSimPrimEnvelopeCmdReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimEnvelopeCmdCnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + CiSimCmdRsp cnf ; /**< Confirmation to an ENVELOPE command request ; if rc is CI_SIM_CMDREQ_FAILURE , this field is optional. \sa CiSimCmdRsp_Struct */ + } CiSimPrimEnvelopeCmdCnf; + +typedef CiEmptyPrim CiSimPrimGetSubscriberIdReq ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGetSubscriberIdCnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + CiString subscriberStr ; /**< Subscriber ID string \sa CCI API Ref Manual */ + } CiSimPrimGetSubscriberIdCnf; + +typedef CiEmptyPrim CiSimPrimGetPinStateReq ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGetPinStateCnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + CiSimPinState state ; /**< Current PIN state \sa CiSimPinState */ + UINT8 chv1NumRetrys ; /**< Pin1 status - number of remaining retries */ + UINT8 chv2NumRetrys ; /**< Pin2 status - number of remaining retries */ + UINT8 puk1NumRetrys ; /**< Unblock pin1 status - number of remaining retries */ + UINT8 puk2NumRetrys ; /**< Unblock pin2 status - number of remaining retries */ + UINT8 MEPSimNumRetrys ; /**< SIM MEP category - number of remaining retries */ + UINT8 MEPNwNumRetrys ; /**< Network MEP category - number of remaining retries */ + UINT8 MEPNwsubNumRetrys ; /**< Sub Network MEP category - number of remaining retries */ + UINT8 MEPSPNumRetrys ; /**< Service provider MEP category - number of remaining retries */ + UINT8 MEPCorpNumRetrys ; /**< Corporate MEP category - number of remaining retries */ + + } CiSimPrimGetPinStateCnf; + +typedef CiEmptyPrim CiSimPrimGetTerminalProfileReq ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGetTerminalProfileCnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + CiSimTermProfile profile ; /**< The terminal profile structure ; optional if rc is not CIRC_SIM_OK. \sa CiSimTermProfile_Struct */ + } CiSimPrimGetTerminalProfileCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimEnableSimatIndsReq_struct { + CiBoolean enable ; /**< TRUE: enable the indication report ; FALSE: disable the indication report , default \sa CCI API Ref Manual */ + } CiSimPrimEnableSimatIndsReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimEnableSimatIndsCnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + } CiSimPrimEnableSimatIndsCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimLockFacilityReq_struct { + CiSimFacLckMode mode ; /**< Facility setting mode \sa CiSimFacLckMode */ + CiSimFacCode fac ; /**< Facility code \sa CiSimFacCode */ + CiPassword pass ; /**< Password , optional if mode is CI_SIM_FACLCK_MODE_QUERY \sa CCI API Ref Manual */ + } CiSimPrimLockFacilityReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimLockFacilityCnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + CiSimFacStatus status ; /**< Optional if rc is not CIRC_SIM_OK \sa CiSimFacStatus */ + } CiSimPrimLockFacilityCnf; + +typedef CiEmptyPrim CiSimPrimGetFacilityCapReq ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGetFacilityCapCnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + CiBitRange bitsFac ; /**< Optional if rc is not CIRC_SIM_OK \sa CCI API Ref Manual */ + } CiSimPrimGetFacilityCapCnf; + +typedef CiEmptyPrim CiSimPrimGetSimatNotifyCapReq ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGetSimatNotifyCapCnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + CiSimatNotifyCap caps ; /**< SIMAT notification capability information \sa CiSimatNotifyCap_struct */ + } CiSimPrimGetSimatNotifyCapCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGetCallSetupAckInd_struct { + CiBoolean alphaIdPresent ; /**< Indicates whether the CALL SETUP has an accompanying alphanumeric ID string \sa CCI API Ref Manual */ + CiSimatAlphaTag alphaId ; /**< Optional alphanumeric ID \sa CiSimatAlphaTag_struct */ + } CiSimPrimGetCallSetupAckInd; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGetCallSetupAckRsp_struct { + CiBoolean accept ; /**< CALL SETUP response \sa CCI API Ref Manual */ + } CiSimPrimGetCallSetupAckRsp; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGetServiceProviderNameReq_struct { + UINT8 type ; /**< SPN type: 0 -GSM_SPN , 1 -USIM_SPN. \sa CCI API Ref Manual */ + } CiSimPrimGetServiceProviderNameReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGetServiceProviderNameCnf_struct + { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + UINT8 dispRplmn ; /**< Display RPLMN: 0 -no display , 1 -display , 99 -invalid. \sa CCI API Ref Manual */ + CiNameInfo spName ; /**< Service provider name ; NULL pointer if name is not available \sa CCI API Ref Manual */ + } CiSimPrimGetServiceProviderNameCnf; + +typedef CiEmptyPrim CiSimPrimGetMessageWaitingInfoReq ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGetMessageWaitingInfoCnf_struct + { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + CiSimMsgWaitingInfo info ; /**< Message waiting information \sa CiSimMsgWaitingInfo_struct */ + } CiSimPrimGetMessageWaitingInfoCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimSetMessageWaitingInfoReq_struct + { + CiSimMsgWaitingInfo info ; /**< Message waiting information \sa CiSimMsgWaitingInfo_struct */ + } CiSimPrimSetMessageWaitingInfoReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimSetMessageWaitingInfoCnf_struct + { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + } CiSimPrimSetMessageWaitingInfoCnf; + +typedef CiEmptyPrim CiSimPrimGetSimServiceTableReq ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGetSimServiceTableCnf_struct + { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + CiBoolean sstPresent ; /**< Indicates whether SIM Service Table is present \sa CCI API Ref Manual */ + CiSimServiceTable sst ; /**< SIM Service Table ( if available ) \sa CiSimServiceTable_struct */ + } CiSimPrimGetSimServiceTableCnf; + +typedef CiEmptyPrim CiSimPrimGetCustomerServiceProfileReq ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGetCustomerServiceProfileCnf_struct + { + CiSimRc rc ; /**< Result code \sa CiSimRc. */ + CiBoolean cspPresent ; /**< Indicates whether Customer Service Profile is present \sa CCI API Ref Manual */ + CiSimCustServiceProfile csp ; /**< Customer Service Profile ( if available ) \sa CiSimCustServiceProfile_struct */ + } CiSimPrimGetCustomerServiceProfileCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimSimatDisplayInfoInd_struct { + CiSimatDisplayCmdType type ; /**< Type of SIMAT proactive command that triggered the display info indication \sa CiSimatDisplayCmdType */ + CiBoolean alphaIdPresent ; /**< Indicates whether alpha identifier is present \sa CCI API Ref Manual */ + CiBoolean iconIdPresent ; /**< Indicates whether icon identifier is present \sa CCI API Ref Manual */ + CiSimatAlphaTag alphaId ; /**< Alpha ID ( if available ) \sa CiSimatAlphaTag_struct */ + CiSimatIconTag iconId ; /**< Icon ID ( if available ) \sa CiSimatIconTag_struct */ + } CiSimPrimSimatDisplayInfoInd; + +typedef CiEmptyPrim CiSimPrimGetDefaultLanguageReq ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGetDefaultLanguageCnf_struct + { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + UINT16 language ; /**< One byte for each alphanumeric character */ + + } CiSimPrimGetDefaultLanguageCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGenericCmdReq_struct + { + CiSimFilePath path ; /**< Path of the elementary file \sa CiSimFilePath */ + CiSimGenericCmdType instruction ; /**< Instruction code \sa CiSimGenericCmdType */ + UINT8 param1 ; /**< Instruction parameter 1 for the instruction */ + UINT8 param2 ; /**< Instruction parameter 2 for the instruction*/ + UINT8 length ; /**< Number of bytes in the command data string */ + UINT8 data [ 255 ] ; /**< Command data string */ + CiBoolean responseExpected ; /**< Indicates if a response is expected by the application \sa CCI API Ref Manual */ + UINT8 responseLength ; /**< Number of bytes expected in the response data string */ + /*Michal Bukai - SIM Logic CH - NFC\ISIM support*/ + UINT16 SessionId ; /**< A session Id to be used in order to target a specific application on the smart card using logical channel mechanism. */ + } CiSimPrimGenericCmdReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGenericCmdCnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + CiSimCmdRsp cnf ; /**< SIM generic command response \sa CiSimCmdRsp_Struct */ + UINT8 sw1 ; /**< Status byte 1 as returned from the card */ + UINT8 sw2 ; /**< Status byte 2 as returned from the card */ + /*Michal Bukai - SIM Logic CH - NFC\ISIM support*/ + UINT16 SessionId ; /**< A session Id to be used in order to target a specific application on the smart card using logical channel mechanism. */ + } CiSimPrimGenericCmdCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGenericLargeCmdCnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + CiSimLargeCmdRsp cnf ; /**< SIM generic command response \sa CiSimCmdRsp_Struct */ + UINT16 SessionId ; /**< A session Id to be used in order to target a specific application on the smart card using logical channel mechanism. */ + } CiSimPrimGenericLargeCmdCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimSetPollReq_struct { + UINT8 mode ; /*0: disable polling ; 1 : enable polling ( Default ) ; others RFU*/ + UINT8 pollingConfig ; /*0: use UE default inverval , 28 s , ( Default ) ; 1 : enable polling config value ; others RFU*/ + UINT8 stkPolling ; /*0: don ' t use stk polling interval ; 1 : use the stk polling interval ( default ) ; others RFU*/ + UINT32 interval ; /*unit: second*/ + } CiSimPrimSetPollReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimSetPollCnf_struct { + CiSimRc result ; /**< Result code \sa CiSimRc */ + } CiSimPrimSetPollCnf; + +typedef CiEmptyPrim CiSimPrimGetPollReq ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGetPollCnf_struct { + CiSimRc result ; /**< Result code \sa CiSimRc */ + UINT8 mode ; /*0: disable polling ; 1 : enable polling ( Default ) ; others RFU*/ + UINT8 pollingConfig ; /*0: use UE default inverval , 28 s , ( Default ) ; 1 : enable polling config value ; others RFU*/ + UINT8 stkPolling ; /*0: don ' t use stk polling interval ; 1 : use the stk polling interval ( default ) ; others RFU*/ + UINT32 interval ; /*unit: second*/ + } CiSimPrimGetPollCnf; + +typedef CiEmptyPrim CiSimPrimDeviceRsp ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimCardInd_struct { + CiSimStatus status ; /**< SIM Status. \sa CiSimStatus */ + CiSimPinState pinState ; /**< PIN state when SIM becomes ready , ignored if status is NOT CI_SIM_ST_READY. \sa CiSimPinState */ + CiBoolean cardIsUicc ; /**< TRUE if USIM card ; FALSE if SIM card. \sa CCI API Ref Manual */ + + CiBoolean isTestCard ; /**< TRUE if Test card ; FALSE if normal / special card. \sa CCI API Ref Manual */ + /*2015.01.13 , mod by Xili for #517213 , CQ00081907 begin*/ + /*mod for CQ00085367 by yunhail 2015 2 13 begin*/ + /*delete the SS_IPC_SUPPORT*/ + /*mod for CQ00085367 by yunhail 2015 2 13 end*/ + CiString ImsiStr ; /**< Subscriber ID ( IMSI ) string. The value is valid + only if SIM status is CI_SIM_ST_READY and pin state is CI_SIM_PIN_ST_READY \sa */ + /*mod for CQ00085367 by yunhail 2015 2 13 begin*/ + /*delete the SS_IPC_SUPPORT*/ + /*mod for CQ00085367 by yunhail 2015 2 13 end*/ + /*2015.01.13 , mod by Xili for #517213 , CQ00081907 end*/ + } CiSimPrimCardInd; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimIsEmergencyNumberReq_struct { + CHAR eccDigitsStr [ 7 ] ; /**< Null-terminated dial string \sa CCI API Ref Manual */ + } CiSimPrimIsEmergencyNumberReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimIsEmergencyNumberCnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + CiBoolean isEmergency ; /**< TRUE = number is an emergency call code ; FALSE = otherwise \sa CCI API Ref Manual */ + } CiSimPrimIsEmergencyNumberCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimSimOwnedInd_struct { + + CiBoolean isOwned ; /**< TRUE = the SIM is owned ; FALSE = the SIM is not owned \sa CCI API Ref Manual */ + + } CiSimPrimSimOwnedInd; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimSimChangedInd_struct { + + CiBoolean isChanged ; /**< TRUE = the current SIM card has changed ; FALSE = the current SIM card has not changed \sa CCI API Ref Manual */ + + } CiSimPrimSimChangedInd; + +typedef CiEmptyPrim CiSimPrimDeviceStatusReq ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimDeviceStatusCnf_struct { + + CiSimRc rc ; /**< Result code \sa CiSimRc */ + CiSimStatus SIMstatus ; /**< SIM status \sa CiSimStatus */ + CiSimPinState pinState ; /**< Not in use \sa CiSimPinState */ + } CiSimPrimDeviceStatusCnf; + +typedef CiEmptyPrim CiSimPrimSetVSimReq ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimSetVSimCnf_struct { + CiSimRc result ; /**< Result code \sa CiSimRc */ + } CiSimPrimSetVSimCnf; + +typedef CiEmptyPrim CiSimPrimGetVSimReq ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGetVSimCnf_struct { + CiSimRc result ; /**< Result code \sa CiSimRc */ + CiBoolean status ; /**< Virtual SIM status: TRUE = enabled ; FALSE = disabled \sa CCI API Ref Manual */ + } CiSimPrimGetVSimCnf; + +typedef CiEmptyPrim CiSimPrimCheckMMIStateInd ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimCheckMMIStateRsp_struct { + CiSimMMIState MMIState ; /**< Indicates if MMI state is IDLE or BUSY. \sa CiSimPinState */ + } CiSimPrimCheckMMIStateRsp; + +//ICAT EXPORTED ENUM + typedef enum CI_SIM_BTSAP_CONN_STAT_TAG { + CI_SIM_BTSAP_OK = 0 , /**< OK , Server can fulfill requirements */ + CI_SIM_BTSAP_UNABLE_TO_ESTABLISH_CONNECTION , /**< Error , Server unable to establish connection */ + CI_SIM_BTSAP_MAX_MESSAGE_SIZE_NOT_SUPPORTED , /**< SIM personalization , lock phone with the first */ + CI_SIM_BTSAP_MAX_MESSAGE_SIZE_TOO_SMALL , /**< Error , maximum message size by Client is too small */ + CI_SIM_BTSAP_ONGOING_CALL , /**< OK , ongoing call */ + CI_SIM_BTSAP_NUM_STATE + } _CiSimBTSapConnectionStatus; + +typedef UINT8 CiSimBTSapConnectionStatus ; +//ICAT EXPORTED ENUM + typedef enum CI_SIM_BTSAP_STATUS_TAG { + CI_SIM_BTSAP_STAT_ERR = 0 , /**< Unknown error */ + CI_SIM_BTSAP_STAT_CARD_RESET , /**< Card reset */ + CI_SIM_BTSAP_STAT_CARD_NOT_ACC , /**< Card not accessible */ + CI_SIM_BTSAP_STAT_CARD_REMOVED , /**< Card removed */ + CI_SIM_BTSAP_STAT_CARD_INSERTED , /**< Card inserted */ + CI_SIM_BTSAP_STAT_CARD_RECOVERED , /**< Card recovered */ + CI_SIM_BTSAP_STAT_NUM_STATE + } _CiSimBTSapStatus; + +typedef UINT8 CiSimBTSapStatus ; +//ICAT EXPORTED ENUM + typedef enum CI_SIM_BTSAP_TP_TAG { + CI_SIM_BTSAP_TP_T0 = 0 , /**< T=0 */ + CI_SIM_BTSAP_TP_T1 , /**< T=1 */ + CI_SIM_BTSAP_TP_NUM_STATE + + } _CiSimTransportProtocol; + +typedef UINT8 CiSimTransportProtocol ; +//ICAT EXPORTED ENUM + typedef enum CI_SIM_BTSAP_CONTROL_TAG { + CI_SIM_BTSAP_POWER_OFF = 0 , /**< Power off the SIM / USIM */ + CI_SIM_BTSAP_POWER_ON , /**< Power on the SIM / USIM */ + CI_SIM_BTSAP_RESET , /**< Reset the SIM / USIM */ + CI_SIM_BTSAP_NUM_CONTROL + + } _CiSimBTSapControl; + +typedef UINT8 CiSimBTSapControl ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimBTSAPConnectReq_struct { + UINT16 maxMsgSize ; /**< Maximum message size requested by the Client */ + } CiSimPrimBTSAPConnectReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimBTSAPConnectCnf_struct { + CiSimBTSapConnectionStatus ConnectionStatus ; /**< Connection status. \sa CiSimBTSapConnectionStatus */ + UINT16 maxMsgSize ; /**< Maximum message size supported by comm. subsystem */ + CiSimRc ResultCode ; /**< result code. \sa CiSimRc */ + } CiSimPrimBTSAPConnectCnf; + +typedef CiEmptyPrim CiSimPrimBTSAPDisconnectReq ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimBTSAPDisconnectCnf_struct { + CiSimRc ResultCode ; /**< result code. \sa CiSimRc */ + } CiSimPrimBTSAPDisconnectCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimBTSAPTransferApduReq_struct { + CiSimCmdReq CommandAPDU ; /**< SIM command ; If command type is not APDU7816 it is coded according to Referenced Documents [ 12 ] ; If command type is APDU7816 it is coded according to Referenced Documents [ 25 ] . \sa CiSimCmdReq */ + } CiSimPrimBTSAPTransferApduReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimBTSAPTransferApduCnf_struct { + CiSimCmdRsp ResponseAPDU ; /**< SIM response is optional and will be present only if command was processed without errors. + Coding of the response depends on the APDU that was sent to the SIM / USIM + If command type is not APDU7816 it is coded according to Referenced Documents [ 12 ] + If command type is APDU7816 it is coded according to Referenced Documents [ 25 ] . \sa CiSimCmdRsp */ + CiSimRc ResultCode ; /**< result code. \sa CiSimRc */ + } CiSimPrimBTSAPTransferApduCnf; + +typedef CiEmptyPrim CiSimPrimBTSAPTransferAtrReq ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimBTSAPTransferAtrCnf_struct { + CiSimCmdRsp ATRData ; /**< ATR will be present only if there are no errors ATR is coded according to Referenced Documents [ 25 ] \sa CiSimCmdRsp */ + CiSimRc ResultCode ; /**< result code. \sa CiSimRc */ + } CiSimPrimBTSAPTransferAtrCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimBTSAPSimControlReq_struct { + CiSimBTSapControl Control ; /**< SIM control operation. \sa CiSimBTSapControl */ + } CiSimPrimBTSAPSimControlReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimBTSAPSimControlCnf_struct { + CiSimRc ResultCode ; /**< result code. \sa CiSimRc */ + } CiSimPrimBTSAPSimControlCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimBTSAPStatusInd_struct { + CiSimBTSapStatus StatusChange ; /**< Subscription module availability status. \sa CiSimBTSapStatus */ + } CiSimPrimBTSAPStatusInd; + +typedef CiEmptyPrim CiSimPrimBTSAPStatusReq ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimBTSAPStatusCnf_struct { + CiSimBTSapStatus Status ; /**< Status of the subscription module availability \sa CiSimBTSapStatus */ + CiSimRc ResultCode ; /**< result code. \sa CiSimRc */ + } CiSimPrimBTSAPStatusCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimBTSAPSetTransportProtocolReq_struct { + CiSimTransportProtocol TransportProtocol ; /**< Transport Protocol type T=0 or T=1 \sa CiSimTransportProtocol */ + } CiSimPrimBTSAPSetTransportProtocolReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimBTSAPSetTransportProtocolCnf_struct { + CiSimRc ResultCode ; /**< result code. \sa CiSimRc */ + } CiSimPrimBTSAPSetTransportProtocolCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimMEPAddIMSIReq_struct { + + /* # Start Contiguous Code Section # */ + CiPassword pass ; /**< The password is the personalization control key PCK. \sa CCI API Ref Manual */ + /* # End Contiguous Code Section # */ + } CiSimPrimMEPAddIMSIReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimMEPAddIMSICnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + } CiSimPrimMEPAddIMSICnf; + +//ICAT EXPORTED ENUM + typedef enum CISIMUICCEXTAUTHTYPE_TAG { + CI_SIM_UICC_AUTH_IMS_AKA = 0 , /**< See 3 GPP TS 31.103000 section 7.100000 .2.1 */ + CI_SIM_UICC_AUTH_GBA_BOOT , /**< See 3 GPP TS 31.103000 section 7.100000 .2.3 */ + CI_SIM_UICC_AUTH_GBA_NAF , /**< See 3 GPP TS 31.103000 section 7.100000 .2.4 */ + CI_SIM_UICC_AUTH_HTTP_DIGEST , /**< See 3 GPP TS 31.103000 section 7.100000 .2.2 */ + + CI_SIM_UICC_AUTH_NUM_TYPES + } _CiSimUiccExtAuthType; + +typedef UINT8 CiSimUiccExtAuthType ; +//ICAT EXPORTED STRUCT + typedef struct CISIMDfName_struct { + UINT8 len ; /**< Length */ + UINT8 data [ 16 ] ; /**< Array of 1 to 16 bytes in hexadecimal format representing the AID of the UICC application */ + } CISIMDfName; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimOpenLogicalChannelReq_struct + { + CISIMDfName DFname ; /**< DFName is the AID. All selectable applications are represented in the UICC by an AID coded on 1 to 16 hexadecimal bytes. \sa CISIMDfName_struct */ + } CiSimPrimOpenLogicalChannelReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimOpenLogicalChannelCnf_struct + { + CiSimRc rc ; /**< result code. \sa CiSimRc */ + UINT16 SessionId ; /**< A session ID to be used to target a specific application on the smart card using the logical channel mechanism. */ + } CiSimPrimOpenLogicalChannelCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimCloseLogicalChannelReq_struct + { + UINT16 SessionId ; /**< A session ID to be used to target a specific application on the smart card using the logical channel mechanism. */ + } CiSimPrimCloseLogicalChannelReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimCloseLogicalChannelCnf_struct + { + CiSimRc rc ; /**< result code. \sa CiSimRc */ + } CiSimPrimCloseLogicalChannelCnf; + +typedef CiEmptyPrim CiSimPrimAppPinReq ; +//ICAT EXPORTED STRUCT + typedef struct AppPinInfoArrTag + { + UINT8 AIDlength ; + UINT8 AIDdata [ 16 ] ; + + CiBoolean isPIN1Enabled ; + UINT8 PIN1RetryCount ; + UINT8 PUK1RetryCount ; + + CiBoolean isPIN2Enabled ; + UINT8 PIN2RetryCount ; + UINT8 PUK2RetryCount ; + } AppPinInfoArr; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimAppPinCnf_struct + { + CiSimRc rc ; + UINT8 AIDnum ; + AppPinInfoArr appPinInfo [ 8 ] ; + } CiSimPrimAppPinCnf; + +//ICAT EXPORTED ENUM + typedef enum CISIMSIMATCCSTATUS_TAG { + CI_SIM_SIMAT_CC_STATUS_NO_CHANGE = 0 , /**< The request was not modified by SIMAT CC */ + CI_SIM_SIMAT_CC_STATUS_CALL_CHANGED , /**< SIMAT CC changed a call setup request */ + CI_SIM_SIMAT_CC_STATUS_CALL_BARRED , /**< SIMAT CC barred a call setup request */ + CI_SIM_SIMAT_CC_STATUS_CALL_REPLACED_BY_SS , /**< SIMAT CC replaced a call setup request with an SS operation */ + CI_SIM_SIMAT_CC_STATUS_SS_CHANGED , /**< SIMAT CC changed an SS operation */ + CI_SIM_SIMAT_CC_STATUS_SS_BARRED , /**< SIMAT CC barred an SS operation */ + CI_SIM_SIMAT_CC_STATUS_SS_REPLACED_BY_CALL , /**< SIMAT CC replaced an SS operation request with call setup */ + CI_SIM_SIMAT_CC_STATUS_SS_FAILED , /**< SIMAT CC changed an SS operation or replaced a call setup request or a USSD operation with an SS operation and SS operation failed */ + CI_SIM_SIMAT_CC_STATUS_CALL_FAILED , /**< SIMAT CC changed a call setup request or replaced an SS operation or a USSD operation with a call setup request and call setup failed */ + CI_SIM_SIMAT_CC_STATUS_SS_OK , /**< SIMAT CC changed an SS operation or replaced a call setup request or a USSD operation with an SS operation and SS operation is OK */ + CI_SIM_SIMAT_CC_STATUS_USSD_FAILED , /**< SIMAT CC changed a USSD operation or replaced a call setup request or an SS operation with a USSD operation and USSD operation failed */ + CI_SIM_SIMAT_CC_STATUS_USSD_OK , /**< SIMAT CC changed a USSD operation or replaced a call setup request or an SS operation with a USSD operation and USSD operation is OK */ + CI_SIM_SIMAT_CC_STATUS_CALL_REPLACED_BY_USSD , /**< SIMAT CC replaced a call setup request with a USSD operation */ + CI_SIM_SIMAT_CC_STATUS_SS_REPLACED_BY_USSD , /**< SIMAT CC replaced an SS operation request with a USSD operation */ + CI_SIM_SIMAT_CC_STATUS_USSD_CHANGED , /**< SIMAT CC changed a USSD operation */ + CI_SIM_SIMAT_CC_STATUS_USSD_BARRED , /**< SIMAT CC barred a USSD operation */ + CI_SIM_SIMAT_CC_STATUS_USSD_REPLACED_BY_CALL , /**< SIMAT CC replaced a USSD operation with call setup */ + CI_SIM_SIMAT_CC_STATUS_USSD_REPLACED_BY_SS , /**< SIMAT CC replaced a USSD operation with an SS operation */ + + CI_SIM_SIMAT_CC_STATUS_NUM_TYPES + } _CiSimSIMATCcStatus; + +typedef UINT8 CiSimSIMATCcStatus ; +//ICAT EXPORTED ENUM + typedef enum CISIMSIMATCCOPERATION_TAG { + CI_SIM_SIMAT_CC_CALL_SET_UP = 0 , /**< Call setup */ + CI_SIM_SIMAT_CC_SS_OPERATION , /**< SS operation */ + CI_SIM_SIMAT_CC_USSD_OPERATION , /**< USSD operation */ + + CI_SIM_SIMAT_CC_OPERATION_NUM_TYPES + } _CiSimSIMATCcOperation; + +typedef UINT8 CiSimSIMATCcOperation ; +//ICAT EXPORTED ENUM + typedef enum CISIMSIMATSMSTATUS_TAG { + CI_SIM_SIMAT_SM_STATUS_NO_CHANGE = 0 , /**< SIMAT SM did not modify an SMS request */ + CI_SIM_SIMAT_SM_STATUS_CHANGED , /**< SIMAT SM changed an SMS destination address */ + CI_SIM_SIMAT_SM_STATUS_BARRED , /**< SIMAT CC barred a call setup request */ + + CI_SIM_SIMAT_SM_STATUS_NUM_TYPES + } _CiSimSIMATSmStatus; + +typedef UINT8 CiSimSIMATSmStatus ; +//ICAT EXPORTED ENUM + typedef enum CISIMCCCONTROLRESULT_TAG { + CI_SIM_CC_NO_CONTROL , /**< SIMAT CC did not allow a request */ + CI_SIM_CC_ALLOWED_NO_MOD , /**< SIMAT CC did allow a request without modifications */ + CI_SIM_CC_NOT_ALLOWED , /**< SIMAT CC barred a request */ + CI_SIM_CC_ALLOWED_WITH_MOD , /**< SIMAT CC did allow a request with modifications */ + + CI_SIM_CC_NUM_TYPES + } _CiSimCcControlResult; + +typedef UINT8 CiSimCcControlResult ; +//ICAT EXPORTED ENUM + typedef enum CISIMCCCALLTYPE_TAG { + CI_SIM_CC_CALL_TYPE_MO_VOICE , /**< SIMAT CC original call type is MO voice */ + CI_SIM_CC_CALL_TYPE_MO_SMS , /**< SIMAT CC original call type is MO SMS */ + CI_SIM_CC_CALL_TYPE_MO_SS , /**< SIMAT CC original call type is MO SS */ + CI_SIM_CC_CALL_TYPE_MO_USSD , /**< SIMAT CC original call type is MO USSD */ + CI_SIM_CC_CALL_PDP_CTXT , /**< SIMAT CC original call type is PDP context ( not supported ) */ + + CI_SIM_CC_CALL_TYPE_NUM_TYPES + } _CiSimCcCallType; + +typedef UINT8 CiSimCcCallType ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimSIMATCcStatusInd_struct { + CiSimSIMATCcStatus status ; /**< SIMAT CC status response \sa CiSimSIMATCcStatus */ + CiSimSIMATCcOperation OperationType ; /**< The operation type that was passed to USIM \sa CiSimSIMATCcOperation */ + CiBoolean alphaIdPresent ; /**< Indicates whether the SIMAT CC status response has an accompanying alphanumeric ID string \sa CCI API Ref Manual */ + CiSimatAlphaTag alphaId ; /**< Optional alphanumeric ID \sa CiSimatAlphaTag_struct */ + + CiBoolean addressPresent ; /**< Indicates whether the SIMAT CC status response has a changed called number \sa CCI API Ref Manual */ + CiAddressInfo AddressInfo ; /**< Optional changed called number \sa CiAddressInfo_struct */ + + /* Add by jungle for CQ00057794 on 2014 -03-31 Begin */ + UINT8 ccRawDataLen ; + UINT8 ccRawData [ 255 ] ; + /* Add by jungle for CQ00057794 on 2014 -03-31 End */ + } CiSimPrimSIMATCcStatusInd; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimSIMATSendCallSetupRspInd_struct { + CiBoolean status ; /**< Response sent to SIMAT ; TRUE: call setup is OK ; FALSE: call setup failed. \sa CCI API Ref Manual */ + + UINT8 generalResult ; /** If status is set to FALSE , will fill general result to notify AP if it is ME ( 0x20 ) or NET ( 0x21 ) failed */ + UINT8 additionResult ; /** If addtion result is present will fill it , else set it to 0x00 */ + } CiSimPrimSIMATSendCallSetupRspInd; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimSIMATSendSsUssdRspInd_struct { + CiBoolean status ; /**< Response sent to SIMAT ; TRUE: SS or USSD operation is OK ; FALSE: SS or USSD operation failed. \sa CCI API Ref Manual */ + CiSimSIMATCcOperation OperationType ; /**< The operation type that was passed to USIM \sa CiSimSIMATCcOperation */ + } CiSimPrimSIMATSendSsUssdRspInd; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimSIMATSmControlStatusInd_struct { + CiSimSIMATSmStatus status ; /**< SIMAT SM status response \sa CiSimSIMATSmStatus */ + CiBoolean alphaIdPresent ; /**< Indicates whether the SIMAT SM status response has an accompanying alphanumeric ID string \sa CCI API Ref Manual */ + CiSimatAlphaTag alphaId ; /**< Optional alphanumeric ID \sa CiSimatAlphaTag_struct */ + /* Add by jungle for CQ00057794 on 2014 -03-31 Begin */ + UINT8 ccRawDataLen ; + UINT8 ccRawData [ 255 ] ; + /* Add by jungle for CQ00057794 on 2014 -03-31 End */ + } CiSimPrimSIMATSmControlStatusInd; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimSIMATSendSmRspInd_struct { + CiBoolean status ; /**< Response sent to SIMAT ; TRUE: SM operation is OK ; FALSE: SM operation failed. \sa CCI API Ref Manual */ + + UINT8 generalResult ; /** If status is set to FALSE , will fill general result to notify AP if it is ME ( 0x20 ) or RP-ERR ( 0x35 ) or SMS control ( 0x39 ) failed */ + UINT8 additionResult ; /** If addtion result is present will fill it , else set it to 0x00 */ + } CiSimPrimSIMATSendSmRspInd; + +//ICAT EXPORTED ENUM + typedef enum CISIMRSAPSERVICETYPE_TAG { + CI_SIM_RSAP_SERVICE_RECONNECT = 0 , /**< Reconnect to local or remote SIM */ + CI_SIM_RSAP_SERVICE_DISCONNECT , /**< Disconnect from local or remote SIM */ + CI_SIM_RSAP_SERVICE_NUM_TYPES + } _CiSimRsapServiceType; + +typedef UINT8 CiSimRsapServiceType ; +typedef CiEmptyPrim CiSimPrimRsapConnReqInd ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimRsapConnReqRsp_struct { + CiSimRc ResultCode ; /**< Result code \sa CiSimRc */ + CiSimBTSapConnectionStatus ConnecitonStatus ; /**< RSAP connection status \sa CiSimBTSapConnectionStatus */ + } CiSimPrimRsapConnReqRsp; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimRsapStatReq_struct { + CiSimBTSapStatus status ; /**< RSAP connection status \sa CiSimBTSapStatus */ + } CiSimPrimRsapStatReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimRsapStatCnf_struct { + CiSimRc ResultCode ; /**< Result code \sa CiSimRc */ + } CiSimPrimRsapStatCnf; + +typedef CiEmptyPrim CiSimPrimRsapDisconnReqInd ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimRsapDisconnReqRsp_struct { + CiSimRc ResultCode ; /**< Result code \sa CiSimRc */ + } CiSimPrimRsapDisconnReqRsp; + +typedef CiEmptyPrim CiSimPrimRsapGetAtrInd ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimRsapGetAtrRsp_struct { + CiSimRc ResultCode ; /**< Result code \sa CiSimRc */ + CiSimCmdRsp ATRData ; /**< ATR will be present only if there are no errors.\sa CiSimCmdRsp */ + } CiSimPrimRsapGetAtrRsp; + +typedef CiEmptyPrim CiSimPrimRsapGetStatusInd ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimRsapSetTranPReqInd_struct { + CiSimTransportProtocol TransportProtocol ; /**< Transport Protocol type T=0 or T=1 \sa CiSimTransportProtocol */ + } CiSimPrimRsapSetTranPReqInd; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimRsapSetTranPReqRsp_struct { + CiSimRc ResultCode ; /**< Result code \sa CiSimRc */ + } CiSimPrimRsapSetTranPReqRsp; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimRsapSimControlReqInd_struct { + CiSimBTSapControl Control ; /**< SIM control operation. \sa CiSimBTSapControl */ + } CiSimPrimRsapSimControlReqInd; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimRsapSimControlReqRsp_struct { + CiSimRc ResultCode ; /**< Result code \sa CiSimRc */ + } CiSimPrimRsapSimControlReqRsp; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimRsapSimSelectReq_struct { + CiSimRsapServiceType ServiceType ; /**< Type of operation required: reconnect or disconnect \sa CiSimRsapServiceType */ + CiBoolean RemoteSIM ; /**< TRUE - Select remote SIM ; FALSE - Select local SIM \sa CCI API Ref Manual */ + } CiSimPrimRsapSimSelectReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimRsapSimSelectCnf_struct { + CiSimRc ResultCode ; /**< Result code \sa CiSimRc */ + } CiSimPrimRsapSimSelectCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimRsapStatusInd_struct { + CiSimBTSapStatus status ; /**< RSAP connection status \sa CiSimBTSapStatus */ + } CiSimPrimRsapStatusInd; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimRsapTransferAPDUInd_struct { + CiSimCmdReq CommandAPDU ; /**< SIM command.\sa CiSimCmdReq */ + } CiSimPrimRsapTransferAPDUInd; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimRsapTransferAPDURsp_struct { + CiSimRc ResultCode ; /**< Result code \sa CiSimRc */ + CiSimCmdRsp ResponseAPDU ; /**< SIM response is optional and is only sent if the command was processed without errors.\sa CiSimCmdRsp */ + } CiSimPrimRsapTransferAPDURsp; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimIccidInd_struct { + CiSimIccid iccid ; /**< ICC Id value \sa CiSimIccid */ + } CiSimPrimIccidInd; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimIsimAidInd_struct { + CiSimPinState isimPinState ; + UINT8 isimAIDlength ; + UINT8 isimAIDdata [ 16 ] ; /**< ISIM Aid value \sa CiSimIsimAid */ + } CiSimPrimIsimAidInd; + +//ICAT EXPORTED ENUM + typedef enum EfAdMsOperationModeTag + { + EF_AD_MS_OPERN_NORMAL = 0x00 , /* normal operation */ + EF_AD_MS_OPERN_TA = 0x80 , /* type approval operation */ + EF_AD_MS_OPERN_NORMAL_PLUS_SPECIFIC = 0x01 , /* normal + specific operation */ + EF_AD_MS_OPERN_TA_PLUS_SPECIFIC = 0x81 , /* type approval + specific operation */ + EF_AD_MS_OPERN_MAINTENANCE = 0x02 , /* maintenance operation */ + EF_AD_MS_OPERN_CELL_TEST = 0x04 /* cell test operation */ + } _EfAdMsOperationMode; + +typedef UINT8 EfAdMsOperationMode ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimAdminDataInd_struct + { + EfAdMsOperationMode efadmsOperationMode ; + /* MSB is byte 1 2 of AD file */ + UINT8 mncLength ; + UINT32 additionalInfo ; + } CiSimPrimAdminDataInd; + +//ICAT EXPORTED STRUCT + typedef struct CiSimEmergencyCallCode_struct + { + UINT8 serviceCategory ; + CHAR EmergencyCallCode [ 7 ] ; + } CiSimEmergencyCallCode; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimEccListInd_struct + { + UINT8 numEccsOnSim ; + CiSimEmergencyCallCode eccList [ 20 ] ; + } CiSimPrimEccListInd; + +typedef CiEmptyPrim CiSimPrimGetIccidReq ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGetIccidCnf_struct { + CiSimRc ResultCode ; /**< Result code \sa CiSimRc */ + CiSimIccid iccid ; /**< ICC Id value \sa CiSimIccid */ + } CiSimPrimGetIccidCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimEAPAuthenticationReq_struct { + CISIMDfName DFname ; + UINT8 EAPMethod [ 8 ] ; + UINT8 length ; + UINT8 EAPPacketData [ 256 ] ; + UINT16 DFeap ; + } CiSimPrimEAPAuthenticationReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimEAPAuthenticationCnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + UINT8 length ; + UINT8 EAPPacketResponse [ 256 ] ; + UINT32 EAPSessionID ; + } CiSimPrimEAPAuthenticationCnf; + +//ICAT EXPORTED ENUM + typedef enum CISIMACTAPPYPE_TAG { + CI_SIM_ACT_APP_NONE = 0 , /**< no SIM or USIM active */ + CI_SIM_ACT_APP_SIM , /**< active application is SIM */ + CI_SIM_ACT_APP_USIM , /**< active application is USIM , followed by */ + CI_SIM_ACT_APP_NUM_TYPES + } _CiSimActAppType; + +typedef UINT8 CiSimActAppType ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGetNumUiccApplicationsReq_struct { + UINT8 option ; + } CiSimPrimGetNumUiccApplicationsReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGetNumUiccApplicationsCnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + UINT16 NumUiccApplication ; + CiSimActAppType active_application ; + CISIMDfName aid ; + } CiSimPrimGetNumUiccApplicationsCnf; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGetUiccApplicationsInfoReq_struct { + UINT8 index ; + } CiSimPrimGetUiccApplicationsInfoReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimGetUiccApplicationsInfoCnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + UINT8 responseLen ; + UINT8 response [ 127 ] ; + UINT8 index ; + } CiSimPrimGetUiccApplicationsInfoCnf; + +typedef UINT8 CiSimEapParameters ; +//ICAT EXPORTED STRUCT + typedef struct CiSimEapRetrieveParametersReq_struct { + UINT32 EAPSessionID ; + CiSimEapParameters EAPParameters ; + } CiSimEapRetrieveParametersReq; + +//ICAT EXPORTED STRUCT + typedef struct CiSimEapRetrieveParametersCnf_struct { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + UINT8 length ; + UINT8 EAPParamResp [ 256 ] ; + } CiSimEapRetrieveParametersCnf; + +typedef CiEmptyPrim CiSimPrimUpdateCountReq ; +//ICAT EXPORTED STRUCT + typedef struct CiSimPrimUpdateCountCnf_struct + { + CiSimRc rc ; /**< Result code \sa CiSimRc */ + UINT32 totalCount ; + UINT16 startHfn ; + UINT32 updateStartHfnCount ; + UINT16 keyps ; + UINT32 updateKeypsCount ; + UINT16 kc ; + UINT32 updateKcCount ; + UINT16 psloci ; + UINT32 updatePsLociCount ; + UINT16 kcGprs ; + UINT32 updateKcGprsCount ; + UINT16 loci ; + UINT32 updateLociCount ; + UINT16 keys ; + UINT32 updateKeysCount ; + /*CQ00113882 , Cgliu , 2019 -11-27 , Begin*/ + UINT16 epsloci ; /*6FE3*/ + UINT32 updateEpslociCount ; + UINT16 epsnsc ; /*6FE4*/ + UINT32 updateEpsnscCount ; + /*CQ00113882 , Cgliu , 2019 -11-27 , End */ + } CiSimPrimUpdateCountCnf; + +typedef void ( *quec_soc_event_cb ) ( int sockfd , uint32 event_mask , int err_no , void * user_data ) ; +typedef int ( * callback_t ) ( void * user_argv , void * argv ) ; +typedef UINT32 Attribs_Mmu ; +typedef void ( * mmuNotifyEventFunc ) ( MMU_ERROR_STATUS mmuErrorHandle ) ; +typedef union { + rw_region_item compress_rw_region_list [ 5 ] ; + + UINT8 filer [ 224 ] ; + } LOADTABLE_AREA_RW_CPZ_INFO ; +typedef unsigned char BYTE ; +typedef unsigned short int WORD ; +typedef unsigned long DWORD ; +typedef WORD * WORD_PTR ; +typedef DWORD * DWORD_PTR ; +typedef BYTE BYTE_BITMASK ; +typedef VOID_PTR * VOID_PTR_PTR ; +typedef WORD FLASH_DATA_WIDTH ; +typedef char FDI_TCHAR ; +typedef OSASemaRef SEM_ID ; +typedef int SEM_STATUS ; +typedef SEM_MTX * SEM_MTX_ID ; +typedef WORD IDTYPE ; +typedef DATA_LOOKUP * DATA_LOOKUP_PTR ; +typedef DATA_LOCATION * DATA_LOC_PTR ; +typedef OPEN_PARAM * OPEN_STREAM_PTR ; +typedef COMMAND * COMMAND_PTR ; +typedef UNIT_HEADER * UNIT_HDR_PTR ; +typedef MULTI_INSTANCE * MULTI_INST_PTR ; +typedef BLOCK_INFO * BLK_INFO_PTR ; +typedef COMMAND_CONTROL * CMD_CNTRL_PTR ; +typedef unsigned short FILE_ID ; +typedef UINT8 MEP_BCD ; +//ICAT EXPORTED STRUCT + typedef struct + { + UINT8 number [ 32 ] ; + UINT8 length ; + } MEP_PASSWORD; + +//ICAT EXPORTED STRUCT + typedef struct + { + UINT16 year ; + UINT8 month ; + UINT8 day ; + } MEP_DATE; + +typedef UINT16 MEP_MNC ; +typedef UINT16 MEP_MCC ; +typedef UINT16 MEP_AccessTechnologyId ; +typedef UINT8 MEP_Boolean ; +//ICAT EXPORTED STRUCT + typedef struct + { + UINT8 serviceproviderId [ 4 ] ; + } MEP_CODE_SP; + +//ICAT EXPORTED STRUCT + typedef struct + { + UINT8 corporateId [ 4 ] ; + } MEP_CODE_CP; + +//ICAT EXPORTED STRUCT + typedef struct + { + MEP_SIMPLMN networkIds [ 100 ] ; + MEP_CODE_NS lockNS [ 100 ] ; + MEP_CODE_SP lockSP [ 100 ] ; + MEP_CODE_CP lockCP [ 100 ] ; + MEP_CODE_SIMUSIM SimUsim ; + } MEP_CODE; + +//ICAT EXPORTED STRUCT + typedef struct + { + MEP_CODE code ; + UINT8 DefaultSiActivated ; + UINT8 DefaultSiEnabled ; + } MEP_CAT_DATA; + +//ICAT EXPORTED STRUCT + typedef struct + { + MEP_PASSWORD CatPsw [ MEP_MAX_CAT ] ; + MEP_PASSWORD UnblockPsw ; + // #if defined ( SS_IPC_SUPPORT ) && defined ( EXTENED_TRIAL_LIMIT_MEP ) + + + UINT8 TrialLimit [ MEP_MAX_CAT ] ; + + + + } MEP_BLOCK_DATA; + +//ICAT EXPORTED STRUCT + typedef struct + { + /*modified for #499867 2014.031800 by yunhail begin*/ + UINT32 VersionSize ; + /*modified for #499867 2014.031800 by yunhail end*/ + MEP_CAT_DATA data ; // !!! Run F8 And F9 on this field + MEP_BLOCK_DATA blocking ; // !!! Run F8 And F9 on this field + UINT8 signature [ 20 ] ; // This is the output of the F9 function + UINT8 DataIsEncrypted ; // Should be set to FALSE or TRUE -- do not run F8 | F9 + } MEP_FIX; + +//ICAT EXPORTED STRUCT + typedef struct + { + UINT8 SiActivated ; + UINT8 SiEnabled ; + UINT8 TrialCounter [ MEP_MAX_CAT ] ; + UINT8 padding [ 15 ] ; + UINT8 signature [ 20 ] ; + } MEP_CHANGEABLE; + +//ICAT EXPORTED STRUCT + typedef struct + { + UINT8 iccid [ 10 ] ; + MEP_DATE date ; + } UDP_ASL_DATA; + +//ICAT EXPORTED STRUCT + typedef struct + { + UDP_ASL_DATA data [ 10 ] ; + UINT8 NumAslEntries ; + } UDP_ASL; + +//ICAT EXPORTED STRUCT + typedef struct + { + MEP_PASSWORD psw ; + UDP_ASL asl ; + UINT8 si ; + UINT8 padding [ 15 ] ; + UINT8 signature [ 20 ] ; + } UDP_CHANGEABLE; + +typedef void ( *MEP_Callback ) ( MEP_UDP_RC* ) ; +typedef union + { + void ( *MEP_PutTC_Callback ) ( MEP_UDP_RC* ) ; + void ( *MEP_PutSI_Callback ) ( MEP_UDP_RC* ) ; + void ( *UDP_PutSI_Callback ) ( MEP_UDP_RC* ) ; + void ( *UDP_PutASL_Callback ) ( MEP_UDP_RC* ) ; + void ( *UDP_PutPassword_Callback ) ( MEP_UDP_RC* ) ; + } MEP_UDP_CallBackFuncS ; +//ICAT EXPORTED STRUCT + typedef struct + { + UINT32 ulDebugInfoTag ; + UINT32 ulMrdInfo ; + UINT32 ulMepInfo ; + } MRD_DEBUG_INFO; + +typedef void ( * ql_data_call_event_cb_t ) ( int profile_idx , int state ) ; +typedef void ( * nw_status_cb ) ( int profile_idx , int nw_status ) ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( *pfn_network_notify ) ( void* user , boolean succ ) ; +typedef void ( *pfn_sock_notify ) ( hal_sock_t* sock , void* user , int error ) ; +typedef void ( *oem_notify_cb_t ) ( void* user ) ; +typedef void ( *oem_stream_dB_cb_t ) ( int dB , void* user ) ; +typedef void ( *oem_stream_has_data_cb_t ) ( const void* data , size_t size , void* user ) ; +typedef void ( *oem_tone_cb_t ) ( void* user ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\oem_platform.ppp +//PPL Source File Name : src\\oem_platform.c +typedef unsigned char u8 ; +typedef signed char s8 ; +typedef unsigned short u16 ; +typedef short s16 ; +typedef unsigned int u32 ; +typedef int s32 ; +typedef unsigned long long u64 ; +typedef long long s64 ; +typedef unsigned int ticks ; +typedef unsigned int size_t ; +typedef unsigned char uint8_t ; +typedef u8 UINT8 ; +typedef s8 INT8 ; +typedef u16 UINT16 ; +typedef s16 INT16 ; +typedef int INT ; +typedef u64 UINT64 ; +typedef s64 INT64 ; +typedef char CHAR ; +typedef unsigned char BOOL ; +typedef unsigned char UINT8 ; +typedef unsigned short UINT16 ; +typedef unsigned long UINT32 ; +typedef char CHAR ; +typedef signed char INT8 ; +typedef signed short INT16 ; +typedef signed long INT32 ; +typedef unsigned char Bool ; +typedef UINT8 BYTE ; +typedef UINT8 UBYTE ; +typedef UINT16 UWORD ; +typedef UINT16 WORD ; +typedef INT16 SWORD ; +typedef UINT32 DWORD ; +typedef unsigned long long UINT64 ; +typedef void* VOID_PTR ; +typedef volatile UINT8 *V_UINT8_PTR ; +typedef volatile UINT16 *V_UINT16_PTR ; +typedef volatile UINT32 *V_UINT32_PTR ; +typedef unsigned int U32Bits ; +typedef BOOL BOOLEAN ; +typedef const char * SwVersion ; +//ICAT EXPORTED ENUM + typedef enum + { + PMU_POR = 1 , + PMU_EMR , + PMU_WDTR = ( PMU_EMR+2 ) + } PMU_LastResetStatus; + +//ICAT EXPORTED STRUCT + typedef struct + { + UINT32 dbID ; + UINT32 filterBitLength ; + UINT32 reserved [ 6 ] ; + } DIAG_Nvm_Filter_File_Header_t; + +//ICAT EXPORTED ENUM + typedef enum + { + LOG_DISABLE = 0x0 , + UART_LOG_ENABLE = 0x1 , + ACAT_LOG_ENABLE = 0x2 + } Log_ConfigE; + +//ICAT EXPORTED ENUM + typedef enum + { + MSG_DISABLE = 0x0 , + ACAT_MSG_ENABLE = 0x1 + } Msg_ConfigE; + +//ICAT EXPORTED ENUM + typedef enum + { + RTI_LOG_DISABLE = 0x0 , + RTI_DUMP_ENABLE = 0x1 , + RTI_TASK_ENABLE = 0x2 , + RTI_MIPS_ENABLE = 0x3 + } RTI_ConfigE; + +//ICAT EXPORTED ENUM + typedef enum + { + SD_ACAT_LOG_DISABLE = 0x0 , + SD_ACAT_LOG_ENABLE = 0x1 + } SD_ACAT_LOG_ConfigE; + +//ICAT EXPORTED ENUM + typedef enum + { + SD_DUMP_BIN_DISABLE = 0x0 , + SD_DUMP_BIN_ENABLE = 0x1 + } SD_Dump_bin_ConfigE; + +//ICAT EXPORTED STRUCT + typedef struct { + Log_ConfigE log_cfg ; + Msg_ConfigE msg_cfg ; + RTI_ConfigE rti_cfg ; + } Log_ConfigS; + +//ICAT EXPORTED STRUCT + typedef struct { + SD_ACAT_LOG_ConfigE log_cfg ; + SD_Dump_bin_ConfigE dump_cfg ; + } SD_ConfigS; + +//ICAT EXPORTED ENUM + typedef enum + { + YMODEM_DISABLE = 0x0 , + YMODEM_ENABLE = 0x1 + } Ymodem_Dump_config; + +//ICAT EXPORTED STRUCT + typedef struct { + Ymodem_Dump_config config ; + } Ymodem_Dump_type; + +//ICAT EXPORTED ENUM + typedef enum { + DIAG_DEV_USB , + DIAG_DEV_SD , + DIAG_DEV_FS , + DIAG_DEV_UART , + DIAG_DEV_SPI , + DIAG_DEV_SHM , + DIAG_DEV_NONE + } DIAG_DEV_TYPE; + +typedef UINT8 UART_Activity ; +//ICAT EXPORTED STRUCT + typedef struct /* This is structure of the UART Configuration */ + { + UART_OpMode opMode ; /* fifo mode , non fifo mode or DMA for basic interface*/ + UART_TriggerLevel triggerLevel ; /* the trigger level interrupt on 1 , 8 , 16 , 32 */ + UART_BaudRates baudRate ; /* the rate of the transmit and the receive up to 111520 ( default - 9600 ) .*/ + UART_WordLen numDataBits ; /* 5 , 6 , 7 , or 8 number of data bits in the UART data frame ( default - 8 ) . */ + UART_StopBits stopBits ; /* 1 , 1.500000 or 2 stop bits in the UART data frame ( default - 1 ) . */ + UART_ParityTBits parityBitType ; /* Even , Odd or no-parity bit type in the UART data frame ( default - Non ) . */ + UART_InterfaceType interfaceType ; /* number of interface that the UART driver supplies ( default - UART_IF_TYPE_L2 ) */ + BOOL modemSignal ; /* enable operate modem - TRUE , disable modem - FALSE */ + BOOL flowControl ; /* enable Auto flow Control - TRUE , disable Auto flow Control - FALSE */ + UINT8 sleepMode ; /* enable sleep mode - TRUE , more fine control - see UARTSleepMode enum */ + BOOL auto_baud ; /* enable auto_baud , auto-baud-rate detection within the UART ( default - FALSE ) */ + UART_SIRConfigure sirIrDA ; + } UARTConfiguration; + +//ICAT EXPORTED ENUM + typedef enum // change the order -1 to + + { + UART_RC_OK = 1 , /* 1 - no errors */ + + UART_RC_PORT_NUM_ERROR = -100 , /* -100 - Error in the UART port number */ + UART_RC_NO_DATA_TO_READ , /* -99 - Eror no data to read from the FIFO UART */ + UART_RC_ILLEGAL_BAUD_RATE , /* -98 - Error in the UART Bayd Rate */ + UART_RC_UART_PARITY_BITS_ERROR , /* -97 - Error in parity bit */ + UART_RC_UART_ONE_STOP_BIT_ERROR , /* -96 - Error in one stop bit */ + UART_RC_ONE_HALF_OR_TWO_STOP_BIT_ERROR , /* -95 - Error in two stop bit */ + UART_RC_BAD_INTERFACE_TYPE , /* -94 - Error in the Interface Type */ + UART_RC_UART_NOT_AVAILABLE , /* -93 - Error in try to open UART that is open */ + UART_RC_NO_DATA_TO_WRITE , /* -92 - Error No data to writ the len = 0 */ + UART_RC_NOT_ALL_BYTE_WRITTEN , /* -91 - Error Not all the Byte write to the UART FIFO */ + UART_RC_ISR_ALREADY_BIND , /* -90 - Error try to bind ISR for Basic Interface */ + UART_RC_WRONG_ISR_UNBIND , /* -89 - Error in the UnBind ISR for Basic Interface */ + UART_RC_FIFO_NOT_EMPTY , /* -88 - Error , the UART FIFO not empty */ + UART_RC_UART_OPEN , /* -87 - Error try chance the configurr when the UART open */ + UART_RC_GPIO_ERR , /* -86 - Error in the Configure of the GPIO */ + UART_RC_IRDA_CONFIG_ERR , /* -85 - Illegal IrDA configuration */ + UART_RC_TX_DMA_ERR /* -84 - DMA TX Error */ + + } UART_ReturnCode; + +typedef void ( *UARTNotifyInterrupt ) ( UART_Port ) ; +typedef unsigned int size_t ; +typedef va_list __gnuc_va_list ; +typedef unsigned int size_t ; +typedef char CHAR ; +typedef unsigned char UCHAR ; +typedef int INT ; +typedef unsigned int UINT ; +typedef long LONG ; +typedef unsigned long ULONG ; +typedef short SHORT ; +typedef unsigned short USHORT ; +//ICAT EXPORTED ENUM + typedef enum + { + OSA_TASK_READY , + OSA_TASK_COMPLETED , + OSA_TASK_TERMINATED , + OSA_TASK_SUSPENDED , + OSA_TASK_SLEEP , + OSA_TASK_QUEUE_SUSP , + OSA_TASK_SEMAPHORE_SUSP , + OSA_TASK_EVENT_FLAG , + OSA_TASK_BLOCK_MEMORY , + OSA_TASK_MUTEX_SUSP , + OSA_TASK_STATE_UNKNOWN , + } OSA_TASK_STATE; + +//ICAT EXPORTED STRUCT + typedef struct OSA_TASK_STRUCT + { + char *task_name ; /* Pointer to thread ' s name */ + unsigned int task_priority ; /* Priority of thread ( 0 -255 ) */ + unsigned long task_stack_def_val ; /* default vaule of thread */ + OSA_TASK_STATE task_state ; /* Thread ' s execution state */ + unsigned long task_stack_ptr ; /* Thread ' s stack pointer */ + unsigned long task_stack_start ; /* Stack starting address */ + unsigned long task_stack_end ; /* Stack ending address */ + unsigned long task_stack_size ; /* Stack size */ + unsigned long task_run_count ; /* Thread ' s run counter */ + + } OSA_TASK; + +typedef void *OsaRefT ; +typedef UINT8 OSA_STATUS ; +typedef UINT8 OS_STATUS ; +typedef void* OS_HISR ; +typedef void* OSATaskRef ; +typedef void* OSAHISRRef ; +typedef void* OSASemaRef ; +typedef void* OSAMutexRef ; +typedef void* OSAMsgQRef ; +typedef void* OSAMailboxQRef ; +typedef void* OSAPoolRef ; +typedef void* OSATimerRef ; +typedef void* OSAFlagRef ; +typedef void* OSAPartitionPoolRef ; +typedef void* OSTaskRef ; +typedef void* OSSemaRef ; +typedef void* OSMutexRef ; +typedef void* OSMsgQRef ; +typedef void* OSMailboxQRef ; +typedef void* OSPoolRef ; +typedef void* OSTimerRef ; +typedef void* OSFlagRef ; +typedef UINT8 OS_STATUS ; +typedef OsaTimerStatusParamsT OSATimerStatus ; +typedef void* OSATaskRef ; +typedef void* OSAHISRRef ; +typedef void* OSAMsgQRef ; +typedef void* OSAMailboxQRef ; +typedef void* OSAPartitionPoolRef ; +typedef UINT8 OS_STATUS ; +typedef unsigned long UNSIGNED ; +typedef long SIGNED ; +typedef unsigned char DATA_ELEMENT ; +typedef DATA_ELEMENT OPTION ; +typedef DATA_ELEMENT BOOLEAN ; +typedef int STATUS ; +typedef unsigned char UNSIGNED_CHAR ; +typedef unsigned int UNSIGNED_INT ; +typedef int INT ; +typedef unsigned long * UNSIGNED_PTR ; +typedef unsigned char * BYTE_PTR ; +typedef void ( *CommandAddress ) ( void ) ; +typedef char* CommandProto ; +typedef const char * DiagDBVersion ; +//ICAT EXPORTED ENUM + typedef enum + { + PROTOCOL_TYPE_0 = 0 , + MAX_PROTOCOL_TYPES + } ProtocolType; + +//ICAT EXPORTED STRUCT + typedef struct + { + BOOL bEnabled ; // enable / disable the trace logging feature + ProtocolType eProtocolType ; // protocol type for communication with ICAT , currently only protocol type 0 is supported + UINT16 nMaxDataPerTrace ; // for each trace , what is the maximum data length to accompany the trace , in protocol type 0 , this is relevant only to DSP messages + } DiagLoggerDefs; + +typedef void ( *TIMER_CALLBACK_FUNCTION ) ( UINT8 ) ; +typedef void ( *ACC_TIMER_CALLBACK ) ( UINT32 ) ; +typedef int TIMER_STATUS ; +typedef int TIMER_ID ; +//ICAT EXPORTED ENUM + typedef enum + { + PM_RC_OK = 0 , + PM_RC_FAIL , // General Failure + PM_RC_ALREADY_EXISTS // Exit function since required target alrteady exists + } PM_ReturnCodeE; + +typedef void ( *PM_CallbackFuncDDRstateT ) ( BOOL b_DDR_ready ) ; +typedef unsigned long long UINT64 ; +typedef unsigned long TimeIn32KhzUnit ; +typedef void ( *TickCallbackPtr ) ( UINT32 ) ; +typedef TimeIn32KhzUnit ( *SuspendCallbackPtr ) ( void ) ; +typedef void ( *PrepareTimeCallbackPtr ) ( void ) ; +typedef void ( *GPIOCallback ) ( void ) ; +//ICAT EXPORTED ENUM + typedef enum + { + GPIO_PIN_NOT_ASSIGNED = -1 , + + GPIO_PIN_0=0 , GPIO_PIN_1 , GPIO_PIN_2 , GPIO_PIN_3 , GPIO_PIN_4 , GPIO_PIN_5 , GPIO_PIN_6 , GPIO_PIN_7 , + GPIO_PIN_8 , GPIO_PIN_9 , GPIO_PIN_10 , GPIO_PIN_11 , GPIO_PIN_12 , GPIO_PIN_13 , GPIO_PIN_14 , GPIO_PIN_15 , + GPIO_PIN_16 , GPIO_PIN_17 , GPIO_PIN_18 , GPIO_PIN_19 , GPIO_PIN_20 , GPIO_PIN_21 , GPIO_PIN_22 , GPIO_PIN_23 , + GPIO_PIN_24 , GPIO_PIN_25 , GPIO_PIN_26 , GPIO_PIN_27 , GPIO_PIN_28 , GPIO_PIN_29 , GPIO_PIN_30 , GPIO_PIN_31 , + GPIO_PIN_32 , + // #ifndef SILICON_PV2 + GPIO_PIN_33 , GPIO_PIN_34 , GPIO_PIN_35 , GPIO_PIN_36 , GPIO_PIN_37 , GPIO_PIN_38 , GPIO_PIN_39 , + GPIO_PIN_40 , GPIO_PIN_41 , GPIO_PIN_42 , GPIO_PIN_43 , GPIO_PIN_44 , GPIO_PIN_45 , GPIO_PIN_46 , GPIO_PIN_47 , + GPIO_PIN_48 , GPIO_PIN_49 , GPIO_PIN_50 , GPIO_PIN_51 , GPIO_PIN_52 , GPIO_PIN_53 , GPIO_PIN_54 , GPIO_PIN_55 , + GPIO_PIN_56 , GPIO_PIN_57 , GPIO_PIN_58 , GPIO_PIN_59 , GPIO_PIN_60 , GPIO_PIN_61 , GPIO_PIN_62 , GPIO_PIN_63 , + // #endif // _TAVOR_HARBELL_ + + // #if 1 // quectel define for build defined ( GPIO_128_ENTRIES ) + GPIO_PIN_64 , GPIO_PIN_65 , GPIO_PIN_66 , GPIO_PIN_67 , GPIO_PIN_68 , GPIO_PIN_69 , GPIO_PIN_70 , GPIO_PIN_71 , + GPIO_PIN_72 , GPIO_PIN_73 , GPIO_PIN_74 , GPIO_PIN_75 , GPIO_PIN_76 , GPIO_PIN_77 , GPIO_PIN_78 , GPIO_PIN_79 , + GPIO_PIN_80 , GPIO_PIN_81 , GPIO_PIN_82 , GPIO_PIN_83 , GPIO_PIN_84 , GPIO_PIN_85 , GPIO_PIN_86 , GPIO_PIN_87 , + GPIO_PIN_88 , GPIO_PIN_89 , GPIO_PIN_90 , GPIO_PIN_91 , GPIO_PIN_92 , GPIO_PIN_93 , GPIO_PIN_94 , GPIO_PIN_95 , + GPIO_PIN_96 , GPIO_PIN_97 , GPIO_PIN_98 , GPIO_PIN_99 , GPIO_PIN_100 , GPIO_PIN_101 , GPIO_PIN_102 , GPIO_PIN_103 , + GPIO_PIN_104 , GPIO_PIN_105 , GPIO_PIN_106 , GPIO_PIN_107 , GPIO_PIN_108 , GPIO_PIN_109 , GPIO_PIN_110 , GPIO_PIN_111 , + GPIO_PIN_112 , GPIO_PIN_113 , GPIO_PIN_114 , GPIO_PIN_115 , GPIO_PIN_116 , GPIO_PIN_117 , GPIO_PIN_118 , GPIO_PIN_119 , + GPIO_PIN_120 , GPIO_PIN_121 , GPIO_PIN_122 , GPIO_PIN_123 , GPIO_PIN_124 , GPIO_PIN_125 , GPIO_PIN_126 , GPIO_PIN_127 , + // #endif // INTEL_2CHIP_PLAT_BVD + GPIO_MAX_AMOUNT_OF_PINS + + + + } GPIO_PinNumbers; + +//ICAT EXPORTED ENUM + typedef enum + { + GPIO_RC_OK = 1 , + + GPIO_RC_INVALID_PORT_HANDLE = -100 , + GPIO_RC_NOT_OUTPUT_PORT , + GPIO_RC_NO_TIMER , + GPIO_RC_NO_FREE_HANDLE , + GPIO_RC_AMOUNT_OUT_OF_RANGE , + GPIO_RC_INCORRECT_PORT_SIZE , + GPIO_RC_PORT_NOT_ON_ONE_REG , + GPIO_RC_INVALID_PIN_NUM , + GPIO_RC_PIN_USED_IN_PORT , + GPIO_RC_PIN_NOT_FREE , + GPIO_RC_PIN_NOT_LOCKED , + GPIO_RC_NULL_POINTER , + GPIO_RC_PULLED_AND_OUTPUT , + GPIO_RC_INCORRECT_PORT_TYPE , + GPIO_RC_INCORRECT_TRANSITION_TYPE , + GPIO_RC_INCORRECT_DEBOUNCE , + GPIO_RC_INCORRECT_DIRECTION , + GPIO_RC_INCORRECT_INIT_VALUE , + GPIO_RC_INTC_ERROR , + GPIO_RC_PRM_ERROR , + GPIO_RC_PIN_LOCKED , + } GPIO_ReturnCode; + +//ICAT EXPORTED ENUM + typedef enum + { + GPIO_PIN_FREE_FOR_USE = 0 , + GPIO_PIN_USE_IN_PORT , + GPIO_PIN_USE_IN_INTERRUPT , + GPIO_PIN_USE_IN_PORT_WITH_INTERRUPT , + GPIO_PIN_LOCKED + } GPIO_PinUsage; + +//ICAT EXPORTED STRUCT + typedef struct + { + GPIO_PinUsage pinUsage ; + GPIOPinDirection direction ; + } GPIO_PinStatus; + +//ICAT EXPORTED ENUM + typedef enum + { + GPIO_INITIAL_VALUE_NO_CHANGE = 0 , + GPIO_INITIAL_VALUE_LOW=0 , + GPIO_INITIAL_VALUE_HIGH + } GPIO_BitInitialValue; + +//ICAT EXPORTED ENUM + typedef enum + { + GPIO_PULL_UP_DOWN_DISABLE = 0 , + GPIO_PULL_UP_ENABLE , + GPIO_PULL_DOWN_ENABLE + } GPIO_PullUpDown; + +//ICAT EXPORTED STRUCT + typedef struct + { + GPIO_PinNumbers pinNumber ; + GPIOPinDirection direction ; + GPIOTransitionType transitionType ; + GPIO_Debounce debounce ; + GPIOPullUpDown pullUpDown ; + GPIO_BitInitialValue initialValue ; + } GPIO_PinConfiguration; + +typedef void ( *GPIO_ISR ) ( void ) ; +typedef UINT32 INTC_InterruptPriorityTable [ MAX_INTERRUPT_CONTROLLER_SOURCES ] ; +typedef UINT32 INTC_InterruptInfo ; +typedef void ( *INTC_ISR ) ( INTC_InterruptInfo interruptInfo ) ; +typedef void ( *PMCNotifyEventFunc ) ( UINT64 eventRegs ) ; +typedef void ( *PMCGetStatusNotifyFunc ) ( UINT16 status ) ; +typedef void ( *PMCReadCallback ) ( UINT8 *dataBuffPtr , UINT16 dataSize , UINT16 userId ) ; +typedef void ( *PMCWriteCallback ) ( UINT16 dataBuffPtr ) ; +typedef void ( *PMCGetGPADCValueNotifyFunc ) ( PMC_adc_reg_t reg , UINT16 value ) ; +typedef void ( * ReadingCallback ) ( int ) ; +typedef void ( * LTETempReadingCallback ) ( unsigned short , unsigned short ) ; +typedef void ( * ReadingCallbackBoth ) ( BOOL , int , int ) ; +typedef union + { + UINT8 autoControl ; + UINT8 autoControl2 ; + UINT8 manControl ; + } adcModeCntrl_t ; +typedef union + { + UINT64 all ; + Registers_ts regs ; + } PMCEvents ; +//ICAT EXPORTED ENUM + typedef enum + { + SHD_POWER_DOWN , + SHD_RESET , + SHD_GHOST , + SHD_SW_ERROR /* EEHandler triggered the reset */ + } ShutDownType_te; + +//ICAT EXPORTED ENUM + typedef enum + { + RR_NORMAL_POWER_ON = 0x00 , // default , not combined with others + RR_WATCH_DOG_TIMEOUT = 0x01 , + RR_SOFTWARE_GENERATED = 0x02 , + RR_CHARGING_BATTERY = 0x04 , + RR_LOW_BATTERY = 0x08 , + RR_ALARM_POWER_ON = 0x10 , + RR_EXT_POWER_ON = 0x20 + } + StartupReason_te; + +//ICAT EXPORTED ENUM + typedef enum + { + RE_RTC_ALARM = 0x01 + } StartupExtInd_te; + +typedef BOOL ( *DiagPSisRunningFn ) ( void ) ; +typedef UINT8 u8_t ; +typedef UINT16 u16_t ; +typedef UINT32 u32_t ; +typedef UINT64 u64_t ; +typedef INT8 s8_t ; +typedef INT16 s16_t ; +typedef INT32 s32_t ; +typedef void* msg_t ; +typedef u32_t mem_ptr_t ; +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef union { + ip_addr_t ip4 ; + ip6_addr_t ip6 ; + } ipX_addr_t ; +typedef s8_t err_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef size_t mem_size_t ; +typedef UINT32 sys_prot_t ; +typedef void * sys_mutex_t ; +typedef void * sys_sem_t ; +typedef void * sys_mbox_t ; +typedef void * sys_thread_t ; +typedef void ( *printCallback ) ( char *printstr ) ; +typedef void ( *lwip_thread_fn ) ( void *pArgs ) ; +typedef err_t ( *lwip_run_entry ) ( void *pArgs ) ; +typedef void ( * socket_callback ) ( int s , int evt , u16_t len ) ; +typedef u32_t socklen_t ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( *oem_notify_cb_t ) ( void* user ) ; +typedef void ( *oem_stream_dB_cb_t ) ( int dB , void* user ) ; +typedef void ( *oem_stream_has_data_cb_t ) ( const void* data , size_t size , void* user ) ; +typedef void ( *oem_tone_cb_t ) ( void* user ) ; +typedef int oem_socket_t ; +typedef void * oem_thread_id_t ; +typedef void* ( *oem_thread_function_t ) ( void* arg ) ; +typedef void* oem_semaphore_t ; +typedef void* oem_mutex_t ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\oem_queue.ppp +//PPL Source File Name : src\\oem_queue.c +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef unsigned int size_t ; +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( * pfn_hal_looper_user_free ) ( void* user ) ; +typedef void ( *pfn_looper_event_destroy ) ( hal_looper_event_t* event ) ; +typedef void ( * pfn_hal_looper_event_processer ) ( hal_looper_t* looper , hal_looper_event_t* event , void* user ) ; +typedef void ( * pfn_hal_looper_timer_callback ) ( hal_looper_t* looper , hal_time_t now , void* user ) ; +typedef int ( * pfn_hal_looper_routine ) ( hal_looper_t* looper , void* user ) ; +typedef int SCL_CHECK_UINT32_1 [ 4 -sizeof ( uint32_t ) ] ; +typedef int SCL_CHECK_UINT32_2 [ sizeof ( uint32_t ) -4 ] ; +typedef int ( *SCL_cbfn_t ) ( const char* , long , void* , void* ) ; +typedef uint32_t ( *SCL_mdfn_t ) ( const char* , size_t ) ; +typedef void* ( *SCL_getfn_t ) ( size_t ) ; +typedef int ( *SCL_putfn_t ) ( void* , size_t ) ; +typedef void* SCL_iterator_t ; +typedef void ( *oem_notify_cb_t ) ( void* user ) ; +typedef void ( *oem_stream_dB_cb_t ) ( int dB , void* user ) ; +typedef void ( *oem_stream_has_data_cb_t ) ( const void* data , size_t size , void* user ) ; +typedef void ( *oem_tone_cb_t ) ( void* user ) ; +typedef int oem_socket_t ; +typedef void * oem_thread_id_t ; +typedef void* ( *oem_thread_function_t ) ( void* arg ) ; +typedef void* oem_semaphore_t ; +typedef void* oem_mutex_t ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\oem_thread.ppp +//PPL Source File Name : src\\oem_thread.c +typedef unsigned char u8 ; +typedef signed char s8 ; +typedef unsigned short u16 ; +typedef short s16 ; +typedef unsigned int u32 ; +typedef int s32 ; +typedef unsigned long long u64 ; +typedef long long s64 ; +typedef unsigned int ticks ; +typedef unsigned int size_t ; +typedef unsigned char uint8_t ; +typedef u8 UINT8 ; +typedef s8 INT8 ; +typedef u16 UINT16 ; +typedef s16 INT16 ; +typedef int INT ; +typedef u64 UINT64 ; +typedef s64 INT64 ; +typedef char CHAR ; +typedef unsigned int size_t ; +typedef char CHAR ; +typedef unsigned char UCHAR ; +typedef int INT ; +typedef unsigned int UINT ; +typedef long LONG ; +typedef unsigned long ULONG ; +typedef short SHORT ; +typedef unsigned short USHORT ; +typedef unsigned char BOOL ; +typedef unsigned char UINT8 ; +typedef unsigned short UINT16 ; +typedef unsigned long UINT32 ; +typedef char CHAR ; +typedef signed char INT8 ; +typedef signed short INT16 ; +typedef signed long INT32 ; +typedef unsigned char Bool ; +typedef UINT8 BYTE ; +typedef UINT8 UBYTE ; +typedef UINT16 UWORD ; +typedef UINT16 WORD ; +typedef INT16 SWORD ; +typedef UINT32 DWORD ; +typedef unsigned long long UINT64 ; +typedef void* VOID_PTR ; +//ICAT EXPORTED ENUM + typedef enum + { + OSA_TASK_READY , + OSA_TASK_COMPLETED , + OSA_TASK_TERMINATED , + OSA_TASK_SUSPENDED , + OSA_TASK_SLEEP , + OSA_TASK_QUEUE_SUSP , + OSA_TASK_SEMAPHORE_SUSP , + OSA_TASK_EVENT_FLAG , + OSA_TASK_BLOCK_MEMORY , + OSA_TASK_MUTEX_SUSP , + OSA_TASK_STATE_UNKNOWN , + } OSA_TASK_STATE; + +//ICAT EXPORTED STRUCT + typedef struct OSA_TASK_STRUCT + { + char *task_name ; /* Pointer to thread ' s name */ + unsigned int task_priority ; /* Priority of thread ( 0 -255 ) */ + unsigned long task_stack_def_val ; /* default vaule of thread */ + OSA_TASK_STATE task_state ; /* Thread ' s execution state */ + unsigned long task_stack_ptr ; /* Thread ' s stack pointer */ + unsigned long task_stack_start ; /* Stack starting address */ + unsigned long task_stack_end ; /* Stack ending address */ + unsigned long task_stack_size ; /* Stack size */ + unsigned long task_run_count ; /* Thread ' s run counter */ + + } OSA_TASK; + +typedef void *OsaRefT ; +typedef UINT8 OSA_STATUS ; +typedef UINT8 OS_STATUS ; +typedef void* OS_HISR ; +typedef void* OSATaskRef ; +typedef void* OSAHISRRef ; +typedef void* OSASemaRef ; +typedef void* OSAMutexRef ; +typedef void* OSAMsgQRef ; +typedef void* OSAMailboxQRef ; +typedef void* OSAPoolRef ; +typedef void* OSATimerRef ; +typedef void* OSAFlagRef ; +typedef void* OSAPartitionPoolRef ; +typedef void* OSTaskRef ; +typedef void* OSSemaRef ; +typedef void* OSMutexRef ; +typedef void* OSMsgQRef ; +typedef void* OSMailboxQRef ; +typedef void* OSPoolRef ; +typedef void* OSTimerRef ; +typedef void* OSFlagRef ; +typedef UINT8 OS_STATUS ; +typedef OsaTimerStatusParamsT OSATimerStatus ; +typedef void* OSATaskRef ; +typedef void* OSAHISRRef ; +typedef void* OSAMsgQRef ; +typedef void* OSAMailboxQRef ; +typedef void* OSAPartitionPoolRef ; +typedef UINT8 OS_STATUS ; +typedef unsigned long UNSIGNED ; +typedef long SIGNED ; +typedef unsigned char DATA_ELEMENT ; +typedef DATA_ELEMENT OPTION ; +typedef DATA_ELEMENT BOOLEAN ; +typedef int STATUS ; +typedef unsigned char UNSIGNED_CHAR ; +typedef unsigned int UNSIGNED_INT ; +typedef int INT ; +typedef unsigned long * UNSIGNED_PTR ; +typedef unsigned char * BYTE_PTR ; +typedef volatile UINT8 *V_UINT8_PTR ; +typedef volatile UINT16 *V_UINT16_PTR ; +typedef volatile UINT32 *V_UINT32_PTR ; +typedef unsigned int U32Bits ; +typedef BOOL BOOLEAN ; +typedef const char * SwVersion ; +//ICAT EXPORTED ENUM + typedef enum + { + PMU_POR = 1 , + PMU_EMR , + PMU_WDTR = ( PMU_EMR+2 ) + } PMU_LastResetStatus; + +//ICAT EXPORTED STRUCT + typedef struct + { + UINT32 dbID ; + UINT32 filterBitLength ; + UINT32 reserved [ 6 ] ; + } DIAG_Nvm_Filter_File_Header_t; + +//ICAT EXPORTED ENUM + typedef enum + { + LOG_DISABLE = 0x0 , + UART_LOG_ENABLE = 0x1 , + ACAT_LOG_ENABLE = 0x2 + } Log_ConfigE; + +//ICAT EXPORTED ENUM + typedef enum + { + MSG_DISABLE = 0x0 , + ACAT_MSG_ENABLE = 0x1 + } Msg_ConfigE; + +//ICAT EXPORTED ENUM + typedef enum + { + RTI_LOG_DISABLE = 0x0 , + RTI_DUMP_ENABLE = 0x1 , + RTI_TASK_ENABLE = 0x2 , + RTI_MIPS_ENABLE = 0x3 + } RTI_ConfigE; + +//ICAT EXPORTED ENUM + typedef enum + { + SD_ACAT_LOG_DISABLE = 0x0 , + SD_ACAT_LOG_ENABLE = 0x1 + } SD_ACAT_LOG_ConfigE; + +//ICAT EXPORTED ENUM + typedef enum + { + SD_DUMP_BIN_DISABLE = 0x0 , + SD_DUMP_BIN_ENABLE = 0x1 + } SD_Dump_bin_ConfigE; + +//ICAT EXPORTED STRUCT + typedef struct { + Log_ConfigE log_cfg ; + Msg_ConfigE msg_cfg ; + RTI_ConfigE rti_cfg ; + } Log_ConfigS; + +//ICAT EXPORTED STRUCT + typedef struct { + SD_ACAT_LOG_ConfigE log_cfg ; + SD_Dump_bin_ConfigE dump_cfg ; + } SD_ConfigS; + +//ICAT EXPORTED ENUM + typedef enum + { + YMODEM_DISABLE = 0x0 , + YMODEM_ENABLE = 0x1 + } Ymodem_Dump_config; + +//ICAT EXPORTED STRUCT + typedef struct { + Ymodem_Dump_config config ; + } Ymodem_Dump_type; + +//ICAT EXPORTED ENUM + typedef enum { + DIAG_DEV_USB , + DIAG_DEV_SD , + DIAG_DEV_FS , + DIAG_DEV_UART , + DIAG_DEV_SPI , + DIAG_DEV_SHM , + DIAG_DEV_NONE + } DIAG_DEV_TYPE; + +typedef UINT8 UART_Activity ; +//ICAT EXPORTED STRUCT + typedef struct /* This is structure of the UART Configuration */ + { + UART_OpMode opMode ; /* fifo mode , non fifo mode or DMA for basic interface*/ + UART_TriggerLevel triggerLevel ; /* the trigger level interrupt on 1 , 8 , 16 , 32 */ + UART_BaudRates baudRate ; /* the rate of the transmit and the receive up to 111520 ( default - 9600 ) .*/ + UART_WordLen numDataBits ; /* 5 , 6 , 7 , or 8 number of data bits in the UART data frame ( default - 8 ) . */ + UART_StopBits stopBits ; /* 1 , 1.500000 or 2 stop bits in the UART data frame ( default - 1 ) . */ + UART_ParityTBits parityBitType ; /* Even , Odd or no-parity bit type in the UART data frame ( default - Non ) . */ + UART_InterfaceType interfaceType ; /* number of interface that the UART driver supplies ( default - UART_IF_TYPE_L2 ) */ + BOOL modemSignal ; /* enable operate modem - TRUE , disable modem - FALSE */ + BOOL flowControl ; /* enable Auto flow Control - TRUE , disable Auto flow Control - FALSE */ + UINT8 sleepMode ; /* enable sleep mode - TRUE , more fine control - see UARTSleepMode enum */ + BOOL auto_baud ; /* enable auto_baud , auto-baud-rate detection within the UART ( default - FALSE ) */ + UART_SIRConfigure sirIrDA ; + } UARTConfiguration; + +//ICAT EXPORTED ENUM + typedef enum // change the order -1 to + + { + UART_RC_OK = 1 , /* 1 - no errors */ + + UART_RC_PORT_NUM_ERROR = -100 , /* -100 - Error in the UART port number */ + UART_RC_NO_DATA_TO_READ , /* -99 - Eror no data to read from the FIFO UART */ + UART_RC_ILLEGAL_BAUD_RATE , /* -98 - Error in the UART Bayd Rate */ + UART_RC_UART_PARITY_BITS_ERROR , /* -97 - Error in parity bit */ + UART_RC_UART_ONE_STOP_BIT_ERROR , /* -96 - Error in one stop bit */ + UART_RC_ONE_HALF_OR_TWO_STOP_BIT_ERROR , /* -95 - Error in two stop bit */ + UART_RC_BAD_INTERFACE_TYPE , /* -94 - Error in the Interface Type */ + UART_RC_UART_NOT_AVAILABLE , /* -93 - Error in try to open UART that is open */ + UART_RC_NO_DATA_TO_WRITE , /* -92 - Error No data to writ the len = 0 */ + UART_RC_NOT_ALL_BYTE_WRITTEN , /* -91 - Error Not all the Byte write to the UART FIFO */ + UART_RC_ISR_ALREADY_BIND , /* -90 - Error try to bind ISR for Basic Interface */ + UART_RC_WRONG_ISR_UNBIND , /* -89 - Error in the UnBind ISR for Basic Interface */ + UART_RC_FIFO_NOT_EMPTY , /* -88 - Error , the UART FIFO not empty */ + UART_RC_UART_OPEN , /* -87 - Error try chance the configurr when the UART open */ + UART_RC_GPIO_ERR , /* -86 - Error in the Configure of the GPIO */ + UART_RC_IRDA_CONFIG_ERR , /* -85 - Illegal IrDA configuration */ + UART_RC_TX_DMA_ERR /* -84 - DMA TX Error */ + + } UART_ReturnCode; + +typedef void ( *UARTNotifyInterrupt ) ( UART_Port ) ; +typedef unsigned int size_t ; +typedef va_list __gnuc_va_list ; +typedef void ( *CommandAddress ) ( void ) ; +typedef char* CommandProto ; +typedef const char * DiagDBVersion ; +//ICAT EXPORTED ENUM + typedef enum + { + PROTOCOL_TYPE_0 = 0 , + MAX_PROTOCOL_TYPES + } ProtocolType; + +//ICAT EXPORTED STRUCT + typedef struct + { + BOOL bEnabled ; // enable / disable the trace logging feature + ProtocolType eProtocolType ; // protocol type for communication with ICAT , currently only protocol type 0 is supported + UINT16 nMaxDataPerTrace ; // for each trace , what is the maximum data length to accompany the trace , in protocol type 0 , this is relevant only to DSP messages + } DiagLoggerDefs; + +typedef void ( *TIMER_CALLBACK_FUNCTION ) ( UINT8 ) ; +typedef void ( *ACC_TIMER_CALLBACK ) ( UINT32 ) ; +typedef int TIMER_STATUS ; +typedef int TIMER_ID ; +//ICAT EXPORTED ENUM + typedef enum + { + PM_RC_OK = 0 , + PM_RC_FAIL , // General Failure + PM_RC_ALREADY_EXISTS // Exit function since required target alrteady exists + } PM_ReturnCodeE; + +typedef void ( *PM_CallbackFuncDDRstateT ) ( BOOL b_DDR_ready ) ; +typedef unsigned long long UINT64 ; +typedef unsigned long TimeIn32KhzUnit ; +typedef void ( *TickCallbackPtr ) ( UINT32 ) ; +typedef TimeIn32KhzUnit ( *SuspendCallbackPtr ) ( void ) ; +typedef void ( *PrepareTimeCallbackPtr ) ( void ) ; +typedef void ( *GPIOCallback ) ( void ) ; +//ICAT EXPORTED ENUM + typedef enum + { + GPIO_PIN_NOT_ASSIGNED = -1 , + + GPIO_PIN_0=0 , GPIO_PIN_1 , GPIO_PIN_2 , GPIO_PIN_3 , GPIO_PIN_4 , GPIO_PIN_5 , GPIO_PIN_6 , GPIO_PIN_7 , + GPIO_PIN_8 , GPIO_PIN_9 , GPIO_PIN_10 , GPIO_PIN_11 , GPIO_PIN_12 , GPIO_PIN_13 , GPIO_PIN_14 , GPIO_PIN_15 , + GPIO_PIN_16 , GPIO_PIN_17 , GPIO_PIN_18 , GPIO_PIN_19 , GPIO_PIN_20 , GPIO_PIN_21 , GPIO_PIN_22 , GPIO_PIN_23 , + GPIO_PIN_24 , GPIO_PIN_25 , GPIO_PIN_26 , GPIO_PIN_27 , GPIO_PIN_28 , GPIO_PIN_29 , GPIO_PIN_30 , GPIO_PIN_31 , + GPIO_PIN_32 , + // #ifndef SILICON_PV2 + GPIO_PIN_33 , GPIO_PIN_34 , GPIO_PIN_35 , GPIO_PIN_36 , GPIO_PIN_37 , GPIO_PIN_38 , GPIO_PIN_39 , + GPIO_PIN_40 , GPIO_PIN_41 , GPIO_PIN_42 , GPIO_PIN_43 , GPIO_PIN_44 , GPIO_PIN_45 , GPIO_PIN_46 , GPIO_PIN_47 , + GPIO_PIN_48 , GPIO_PIN_49 , GPIO_PIN_50 , GPIO_PIN_51 , GPIO_PIN_52 , GPIO_PIN_53 , GPIO_PIN_54 , GPIO_PIN_55 , + GPIO_PIN_56 , GPIO_PIN_57 , GPIO_PIN_58 , GPIO_PIN_59 , GPIO_PIN_60 , GPIO_PIN_61 , GPIO_PIN_62 , GPIO_PIN_63 , + // #endif // _TAVOR_HARBELL_ + + // #if 1 // quectel define for build defined ( GPIO_128_ENTRIES ) + GPIO_PIN_64 , GPIO_PIN_65 , GPIO_PIN_66 , GPIO_PIN_67 , GPIO_PIN_68 , GPIO_PIN_69 , GPIO_PIN_70 , GPIO_PIN_71 , + GPIO_PIN_72 , GPIO_PIN_73 , GPIO_PIN_74 , GPIO_PIN_75 , GPIO_PIN_76 , GPIO_PIN_77 , GPIO_PIN_78 , GPIO_PIN_79 , + GPIO_PIN_80 , GPIO_PIN_81 , GPIO_PIN_82 , GPIO_PIN_83 , GPIO_PIN_84 , GPIO_PIN_85 , GPIO_PIN_86 , GPIO_PIN_87 , + GPIO_PIN_88 , GPIO_PIN_89 , GPIO_PIN_90 , GPIO_PIN_91 , GPIO_PIN_92 , GPIO_PIN_93 , GPIO_PIN_94 , GPIO_PIN_95 , + GPIO_PIN_96 , GPIO_PIN_97 , GPIO_PIN_98 , GPIO_PIN_99 , GPIO_PIN_100 , GPIO_PIN_101 , GPIO_PIN_102 , GPIO_PIN_103 , + GPIO_PIN_104 , GPIO_PIN_105 , GPIO_PIN_106 , GPIO_PIN_107 , GPIO_PIN_108 , GPIO_PIN_109 , GPIO_PIN_110 , GPIO_PIN_111 , + GPIO_PIN_112 , GPIO_PIN_113 , GPIO_PIN_114 , GPIO_PIN_115 , GPIO_PIN_116 , GPIO_PIN_117 , GPIO_PIN_118 , GPIO_PIN_119 , + GPIO_PIN_120 , GPIO_PIN_121 , GPIO_PIN_122 , GPIO_PIN_123 , GPIO_PIN_124 , GPIO_PIN_125 , GPIO_PIN_126 , GPIO_PIN_127 , + // #endif // INTEL_2CHIP_PLAT_BVD + GPIO_MAX_AMOUNT_OF_PINS + + + + } GPIO_PinNumbers; + +//ICAT EXPORTED ENUM + typedef enum + { + GPIO_RC_OK = 1 , + + GPIO_RC_INVALID_PORT_HANDLE = -100 , + GPIO_RC_NOT_OUTPUT_PORT , + GPIO_RC_NO_TIMER , + GPIO_RC_NO_FREE_HANDLE , + GPIO_RC_AMOUNT_OUT_OF_RANGE , + GPIO_RC_INCORRECT_PORT_SIZE , + GPIO_RC_PORT_NOT_ON_ONE_REG , + GPIO_RC_INVALID_PIN_NUM , + GPIO_RC_PIN_USED_IN_PORT , + GPIO_RC_PIN_NOT_FREE , + GPIO_RC_PIN_NOT_LOCKED , + GPIO_RC_NULL_POINTER , + GPIO_RC_PULLED_AND_OUTPUT , + GPIO_RC_INCORRECT_PORT_TYPE , + GPIO_RC_INCORRECT_TRANSITION_TYPE , + GPIO_RC_INCORRECT_DEBOUNCE , + GPIO_RC_INCORRECT_DIRECTION , + GPIO_RC_INCORRECT_INIT_VALUE , + GPIO_RC_INTC_ERROR , + GPIO_RC_PRM_ERROR , + GPIO_RC_PIN_LOCKED , + } GPIO_ReturnCode; + +//ICAT EXPORTED ENUM + typedef enum + { + GPIO_PIN_FREE_FOR_USE = 0 , + GPIO_PIN_USE_IN_PORT , + GPIO_PIN_USE_IN_INTERRUPT , + GPIO_PIN_USE_IN_PORT_WITH_INTERRUPT , + GPIO_PIN_LOCKED + } GPIO_PinUsage; + +//ICAT EXPORTED STRUCT + typedef struct + { + GPIO_PinUsage pinUsage ; + GPIOPinDirection direction ; + } GPIO_PinStatus; + +//ICAT EXPORTED ENUM + typedef enum + { + GPIO_INITIAL_VALUE_NO_CHANGE = 0 , + GPIO_INITIAL_VALUE_LOW=0 , + GPIO_INITIAL_VALUE_HIGH + } GPIO_BitInitialValue; + +//ICAT EXPORTED ENUM + typedef enum + { + GPIO_PULL_UP_DOWN_DISABLE = 0 , + GPIO_PULL_UP_ENABLE , + GPIO_PULL_DOWN_ENABLE + } GPIO_PullUpDown; + +//ICAT EXPORTED STRUCT + typedef struct + { + GPIO_PinNumbers pinNumber ; + GPIOPinDirection direction ; + GPIOTransitionType transitionType ; + GPIO_Debounce debounce ; + GPIOPullUpDown pullUpDown ; + GPIO_BitInitialValue initialValue ; + } GPIO_PinConfiguration; + +typedef void ( *GPIO_ISR ) ( void ) ; +typedef UINT32 INTC_InterruptPriorityTable [ MAX_INTERRUPT_CONTROLLER_SOURCES ] ; +typedef UINT32 INTC_InterruptInfo ; +typedef void ( *INTC_ISR ) ( INTC_InterruptInfo interruptInfo ) ; +typedef void ( *PMCNotifyEventFunc ) ( UINT64 eventRegs ) ; +typedef void ( *PMCGetStatusNotifyFunc ) ( UINT16 status ) ; +typedef void ( *PMCReadCallback ) ( UINT8 *dataBuffPtr , UINT16 dataSize , UINT16 userId ) ; +typedef void ( *PMCWriteCallback ) ( UINT16 dataBuffPtr ) ; +typedef void ( *PMCGetGPADCValueNotifyFunc ) ( PMC_adc_reg_t reg , UINT16 value ) ; +typedef void ( * ReadingCallback ) ( int ) ; +typedef void ( * LTETempReadingCallback ) ( unsigned short , unsigned short ) ; +typedef void ( * ReadingCallbackBoth ) ( BOOL , int , int ) ; +typedef union + { + UINT8 autoControl ; + UINT8 autoControl2 ; + UINT8 manControl ; + } adcModeCntrl_t ; +typedef union + { + UINT64 all ; + Registers_ts regs ; + } PMCEvents ; +//ICAT EXPORTED ENUM + typedef enum + { + SHD_POWER_DOWN , + SHD_RESET , + SHD_GHOST , + SHD_SW_ERROR /* EEHandler triggered the reset */ + } ShutDownType_te; + +//ICAT EXPORTED ENUM + typedef enum + { + RR_NORMAL_POWER_ON = 0x00 , // default , not combined with others + RR_WATCH_DOG_TIMEOUT = 0x01 , + RR_SOFTWARE_GENERATED = 0x02 , + RR_CHARGING_BATTERY = 0x04 , + RR_LOW_BATTERY = 0x08 , + RR_ALARM_POWER_ON = 0x10 , + RR_EXT_POWER_ON = 0x20 + } + StartupReason_te; + +//ICAT EXPORTED ENUM + typedef enum + { + RE_RTC_ALARM = 0x01 + } StartupExtInd_te; + +typedef BOOL ( *DiagPSisRunningFn ) ( void ) ; +typedef UINT8 u8_t ; +typedef UINT16 u16_t ; +typedef UINT32 u32_t ; +typedef UINT64 u64_t ; +typedef INT8 s8_t ; +typedef INT16 s16_t ; +typedef INT32 s32_t ; +typedef void* msg_t ; +typedef u32_t mem_ptr_t ; +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef union { + ip_addr_t ip4 ; + ip6_addr_t ip6 ; + } ipX_addr_t ; +typedef s8_t err_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef size_t mem_size_t ; +typedef UINT32 sys_prot_t ; +typedef void * sys_mutex_t ; +typedef void * sys_sem_t ; +typedef void * sys_mbox_t ; +typedef void * sys_thread_t ; +typedef void ( *printCallback ) ( char *printstr ) ; +typedef void ( *lwip_thread_fn ) ( void *pArgs ) ; +typedef err_t ( *lwip_run_entry ) ( void *pArgs ) ; +typedef void ( * socket_callback ) ( int s , int evt , u16_t len ) ; +typedef u32_t socklen_t ; +typedef int QlOSStatus ; +typedef void * ql_task_t ; +typedef void * ql_sem_t ; +typedef void * ql_mutex_t ; +typedef void * ql_queue_t ; +typedef void * ql_timer_t ; +typedef void * ql_flag_t ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( *oem_notify_cb_t ) ( void* user ) ; +typedef void ( *oem_stream_dB_cb_t ) ( int dB , void* user ) ; +typedef void ( *oem_stream_has_data_cb_t ) ( const void* data , size_t size , void* user ) ; +typedef void ( *oem_tone_cb_t ) ( void* user ) ; +typedef int oem_socket_t ; +typedef void * oem_thread_id_t ; +typedef void* ( *oem_thread_function_t ) ( void* arg ) ; +typedef void* oem_semaphore_t ; +typedef void* oem_mutex_t ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\oem_time.ppp +//PPL Source File Name : src\\oem_time.c +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef unsigned int size_t ; +typedef unsigned int clock_t ; +typedef unsigned int time_t ; +typedef unsigned char u8 ; +typedef signed char s8 ; +typedef unsigned short u16 ; +typedef short s16 ; +typedef unsigned int u32 ; +typedef int s32 ; +typedef unsigned long long u64 ; +typedef long long s64 ; +typedef unsigned int ticks ; +typedef unsigned int size_t ; +typedef unsigned char uint8_t ; +typedef u8 UINT8 ; +typedef s8 INT8 ; +typedef u16 UINT16 ; +typedef s16 INT16 ; +typedef int INT ; +typedef u64 UINT64 ; +typedef s64 INT64 ; +typedef char CHAR ; +typedef unsigned int size_t ; +typedef char CHAR ; +typedef unsigned char UCHAR ; +typedef int INT ; +typedef unsigned int UINT ; +typedef long LONG ; +typedef unsigned long ULONG ; +typedef short SHORT ; +typedef unsigned short USHORT ; +typedef unsigned char BOOL ; +typedef unsigned char UINT8 ; +typedef unsigned short UINT16 ; +typedef unsigned long UINT32 ; +typedef char CHAR ; +typedef signed char INT8 ; +typedef signed short INT16 ; +typedef signed long INT32 ; +typedef unsigned char Bool ; +typedef UINT8 BYTE ; +typedef UINT8 UBYTE ; +typedef UINT16 UWORD ; +typedef UINT16 WORD ; +typedef INT16 SWORD ; +typedef UINT32 DWORD ; +typedef unsigned long long UINT64 ; +typedef void* VOID_PTR ; +//ICAT EXPORTED ENUM + typedef enum + { + OSA_TASK_READY , + OSA_TASK_COMPLETED , + OSA_TASK_TERMINATED , + OSA_TASK_SUSPENDED , + OSA_TASK_SLEEP , + OSA_TASK_QUEUE_SUSP , + OSA_TASK_SEMAPHORE_SUSP , + OSA_TASK_EVENT_FLAG , + OSA_TASK_BLOCK_MEMORY , + OSA_TASK_MUTEX_SUSP , + OSA_TASK_STATE_UNKNOWN , + } OSA_TASK_STATE; + +//ICAT EXPORTED STRUCT + typedef struct OSA_TASK_STRUCT + { + char *task_name ; /* Pointer to thread ' s name */ + unsigned int task_priority ; /* Priority of thread ( 0 -255 ) */ + unsigned long task_stack_def_val ; /* default vaule of thread */ + OSA_TASK_STATE task_state ; /* Thread ' s execution state */ + unsigned long task_stack_ptr ; /* Thread ' s stack pointer */ + unsigned long task_stack_start ; /* Stack starting address */ + unsigned long task_stack_end ; /* Stack ending address */ + unsigned long task_stack_size ; /* Stack size */ + unsigned long task_run_count ; /* Thread ' s run counter */ + + } OSA_TASK; + +typedef void *OsaRefT ; +typedef UINT8 OSA_STATUS ; +typedef UINT8 OS_STATUS ; +typedef void* OS_HISR ; +typedef void* OSATaskRef ; +typedef void* OSAHISRRef ; +typedef void* OSASemaRef ; +typedef void* OSAMutexRef ; +typedef void* OSAMsgQRef ; +typedef void* OSAMailboxQRef ; +typedef void* OSAPoolRef ; +typedef void* OSATimerRef ; +typedef void* OSAFlagRef ; +typedef void* OSAPartitionPoolRef ; +typedef void* OSTaskRef ; +typedef void* OSSemaRef ; +typedef void* OSMutexRef ; +typedef void* OSMsgQRef ; +typedef void* OSMailboxQRef ; +typedef void* OSPoolRef ; +typedef void* OSTimerRef ; +typedef void* OSFlagRef ; +typedef UINT8 OS_STATUS ; +typedef OsaTimerStatusParamsT OSATimerStatus ; +typedef void* OSATaskRef ; +typedef void* OSAHISRRef ; +typedef void* OSAMsgQRef ; +typedef void* OSAMailboxQRef ; +typedef void* OSAPartitionPoolRef ; +typedef UINT8 OS_STATUS ; +typedef unsigned long UNSIGNED ; +typedef long SIGNED ; +typedef unsigned char DATA_ELEMENT ; +typedef DATA_ELEMENT OPTION ; +typedef DATA_ELEMENT BOOLEAN ; +typedef int STATUS ; +typedef unsigned char UNSIGNED_CHAR ; +typedef unsigned int UNSIGNED_INT ; +typedef int INT ; +typedef unsigned long * UNSIGNED_PTR ; +typedef unsigned char * BYTE_PTR ; +typedef volatile UINT8 *V_UINT8_PTR ; +typedef volatile UINT16 *V_UINT16_PTR ; +typedef volatile UINT32 *V_UINT32_PTR ; +typedef unsigned int U32Bits ; +typedef BOOL BOOLEAN ; +typedef const char * SwVersion ; +//ICAT EXPORTED ENUM + typedef enum + { + PMU_POR = 1 , + PMU_EMR , + PMU_WDTR = ( PMU_EMR+2 ) + } PMU_LastResetStatus; + +//ICAT EXPORTED STRUCT + typedef struct + { + UINT32 dbID ; + UINT32 filterBitLength ; + UINT32 reserved [ 6 ] ; + } DIAG_Nvm_Filter_File_Header_t; + +//ICAT EXPORTED ENUM + typedef enum + { + LOG_DISABLE = 0x0 , + UART_LOG_ENABLE = 0x1 , + ACAT_LOG_ENABLE = 0x2 + } Log_ConfigE; + +//ICAT EXPORTED ENUM + typedef enum + { + MSG_DISABLE = 0x0 , + ACAT_MSG_ENABLE = 0x1 + } Msg_ConfigE; + +//ICAT EXPORTED ENUM + typedef enum + { + RTI_LOG_DISABLE = 0x0 , + RTI_DUMP_ENABLE = 0x1 , + RTI_TASK_ENABLE = 0x2 , + RTI_MIPS_ENABLE = 0x3 + } RTI_ConfigE; + +//ICAT EXPORTED ENUM + typedef enum + { + SD_ACAT_LOG_DISABLE = 0x0 , + SD_ACAT_LOG_ENABLE = 0x1 + } SD_ACAT_LOG_ConfigE; + +//ICAT EXPORTED ENUM + typedef enum + { + SD_DUMP_BIN_DISABLE = 0x0 , + SD_DUMP_BIN_ENABLE = 0x1 + } SD_Dump_bin_ConfigE; + +//ICAT EXPORTED STRUCT + typedef struct { + Log_ConfigE log_cfg ; + Msg_ConfigE msg_cfg ; + RTI_ConfigE rti_cfg ; + } Log_ConfigS; + +//ICAT EXPORTED STRUCT + typedef struct { + SD_ACAT_LOG_ConfigE log_cfg ; + SD_Dump_bin_ConfigE dump_cfg ; + } SD_ConfigS; + +//ICAT EXPORTED ENUM + typedef enum + { + YMODEM_DISABLE = 0x0 , + YMODEM_ENABLE = 0x1 + } Ymodem_Dump_config; + +//ICAT EXPORTED STRUCT + typedef struct { + Ymodem_Dump_config config ; + } Ymodem_Dump_type; + +//ICAT EXPORTED ENUM + typedef enum { + DIAG_DEV_USB , + DIAG_DEV_SD , + DIAG_DEV_FS , + DIAG_DEV_UART , + DIAG_DEV_SPI , + DIAG_DEV_SHM , + DIAG_DEV_NONE + } DIAG_DEV_TYPE; + +typedef UINT8 UART_Activity ; +//ICAT EXPORTED STRUCT + typedef struct /* This is structure of the UART Configuration */ + { + UART_OpMode opMode ; /* fifo mode , non fifo mode or DMA for basic interface*/ + UART_TriggerLevel triggerLevel ; /* the trigger level interrupt on 1 , 8 , 16 , 32 */ + UART_BaudRates baudRate ; /* the rate of the transmit and the receive up to 111520 ( default - 9600 ) .*/ + UART_WordLen numDataBits ; /* 5 , 6 , 7 , or 8 number of data bits in the UART data frame ( default - 8 ) . */ + UART_StopBits stopBits ; /* 1 , 1.500000 or 2 stop bits in the UART data frame ( default - 1 ) . */ + UART_ParityTBits parityBitType ; /* Even , Odd or no-parity bit type in the UART data frame ( default - Non ) . */ + UART_InterfaceType interfaceType ; /* number of interface that the UART driver supplies ( default - UART_IF_TYPE_L2 ) */ + BOOL modemSignal ; /* enable operate modem - TRUE , disable modem - FALSE */ + BOOL flowControl ; /* enable Auto flow Control - TRUE , disable Auto flow Control - FALSE */ + UINT8 sleepMode ; /* enable sleep mode - TRUE , more fine control - see UARTSleepMode enum */ + BOOL auto_baud ; /* enable auto_baud , auto-baud-rate detection within the UART ( default - FALSE ) */ + UART_SIRConfigure sirIrDA ; + } UARTConfiguration; + +//ICAT EXPORTED ENUM + typedef enum // change the order -1 to + + { + UART_RC_OK = 1 , /* 1 - no errors */ + + UART_RC_PORT_NUM_ERROR = -100 , /* -100 - Error in the UART port number */ + UART_RC_NO_DATA_TO_READ , /* -99 - Eror no data to read from the FIFO UART */ + UART_RC_ILLEGAL_BAUD_RATE , /* -98 - Error in the UART Bayd Rate */ + UART_RC_UART_PARITY_BITS_ERROR , /* -97 - Error in parity bit */ + UART_RC_UART_ONE_STOP_BIT_ERROR , /* -96 - Error in one stop bit */ + UART_RC_ONE_HALF_OR_TWO_STOP_BIT_ERROR , /* -95 - Error in two stop bit */ + UART_RC_BAD_INTERFACE_TYPE , /* -94 - Error in the Interface Type */ + UART_RC_UART_NOT_AVAILABLE , /* -93 - Error in try to open UART that is open */ + UART_RC_NO_DATA_TO_WRITE , /* -92 - Error No data to writ the len = 0 */ + UART_RC_NOT_ALL_BYTE_WRITTEN , /* -91 - Error Not all the Byte write to the UART FIFO */ + UART_RC_ISR_ALREADY_BIND , /* -90 - Error try to bind ISR for Basic Interface */ + UART_RC_WRONG_ISR_UNBIND , /* -89 - Error in the UnBind ISR for Basic Interface */ + UART_RC_FIFO_NOT_EMPTY , /* -88 - Error , the UART FIFO not empty */ + UART_RC_UART_OPEN , /* -87 - Error try chance the configurr when the UART open */ + UART_RC_GPIO_ERR , /* -86 - Error in the Configure of the GPIO */ + UART_RC_IRDA_CONFIG_ERR , /* -85 - Illegal IrDA configuration */ + UART_RC_TX_DMA_ERR /* -84 - DMA TX Error */ + + } UART_ReturnCode; + +typedef void ( *UARTNotifyInterrupt ) ( UART_Port ) ; +typedef va_list __gnuc_va_list ; +typedef void ( *CommandAddress ) ( void ) ; +typedef char* CommandProto ; +typedef const char * DiagDBVersion ; +//ICAT EXPORTED ENUM + typedef enum + { + PROTOCOL_TYPE_0 = 0 , + MAX_PROTOCOL_TYPES + } ProtocolType; + +//ICAT EXPORTED STRUCT + typedef struct + { + BOOL bEnabled ; // enable / disable the trace logging feature + ProtocolType eProtocolType ; // protocol type for communication with ICAT , currently only protocol type 0 is supported + UINT16 nMaxDataPerTrace ; // for each trace , what is the maximum data length to accompany the trace , in protocol type 0 , this is relevant only to DSP messages + } DiagLoggerDefs; + +typedef void ( *TIMER_CALLBACK_FUNCTION ) ( UINT8 ) ; +typedef void ( *ACC_TIMER_CALLBACK ) ( UINT32 ) ; +typedef int TIMER_STATUS ; +typedef int TIMER_ID ; +//ICAT EXPORTED ENUM + typedef enum + { + PM_RC_OK = 0 , + PM_RC_FAIL , // General Failure + PM_RC_ALREADY_EXISTS // Exit function since required target alrteady exists + } PM_ReturnCodeE; + +typedef void ( *PM_CallbackFuncDDRstateT ) ( BOOL b_DDR_ready ) ; +typedef unsigned long long UINT64 ; +typedef unsigned long TimeIn32KhzUnit ; +typedef void ( *TickCallbackPtr ) ( UINT32 ) ; +typedef TimeIn32KhzUnit ( *SuspendCallbackPtr ) ( void ) ; +typedef void ( *PrepareTimeCallbackPtr ) ( void ) ; +typedef void ( *GPIOCallback ) ( void ) ; +//ICAT EXPORTED ENUM + typedef enum + { + GPIO_PIN_NOT_ASSIGNED = -1 , + + GPIO_PIN_0=0 , GPIO_PIN_1 , GPIO_PIN_2 , GPIO_PIN_3 , GPIO_PIN_4 , GPIO_PIN_5 , GPIO_PIN_6 , GPIO_PIN_7 , + GPIO_PIN_8 , GPIO_PIN_9 , GPIO_PIN_10 , GPIO_PIN_11 , GPIO_PIN_12 , GPIO_PIN_13 , GPIO_PIN_14 , GPIO_PIN_15 , + GPIO_PIN_16 , GPIO_PIN_17 , GPIO_PIN_18 , GPIO_PIN_19 , GPIO_PIN_20 , GPIO_PIN_21 , GPIO_PIN_22 , GPIO_PIN_23 , + GPIO_PIN_24 , GPIO_PIN_25 , GPIO_PIN_26 , GPIO_PIN_27 , GPIO_PIN_28 , GPIO_PIN_29 , GPIO_PIN_30 , GPIO_PIN_31 , + GPIO_PIN_32 , + // #ifndef SILICON_PV2 + GPIO_PIN_33 , GPIO_PIN_34 , GPIO_PIN_35 , GPIO_PIN_36 , GPIO_PIN_37 , GPIO_PIN_38 , GPIO_PIN_39 , + GPIO_PIN_40 , GPIO_PIN_41 , GPIO_PIN_42 , GPIO_PIN_43 , GPIO_PIN_44 , GPIO_PIN_45 , GPIO_PIN_46 , GPIO_PIN_47 , + GPIO_PIN_48 , GPIO_PIN_49 , GPIO_PIN_50 , GPIO_PIN_51 , GPIO_PIN_52 , GPIO_PIN_53 , GPIO_PIN_54 , GPIO_PIN_55 , + GPIO_PIN_56 , GPIO_PIN_57 , GPIO_PIN_58 , GPIO_PIN_59 , GPIO_PIN_60 , GPIO_PIN_61 , GPIO_PIN_62 , GPIO_PIN_63 , + // #endif // _TAVOR_HARBELL_ + + // #if 1 // quectel define for build defined ( GPIO_128_ENTRIES ) + GPIO_PIN_64 , GPIO_PIN_65 , GPIO_PIN_66 , GPIO_PIN_67 , GPIO_PIN_68 , GPIO_PIN_69 , GPIO_PIN_70 , GPIO_PIN_71 , + GPIO_PIN_72 , GPIO_PIN_73 , GPIO_PIN_74 , GPIO_PIN_75 , GPIO_PIN_76 , GPIO_PIN_77 , GPIO_PIN_78 , GPIO_PIN_79 , + GPIO_PIN_80 , GPIO_PIN_81 , GPIO_PIN_82 , GPIO_PIN_83 , GPIO_PIN_84 , GPIO_PIN_85 , GPIO_PIN_86 , GPIO_PIN_87 , + GPIO_PIN_88 , GPIO_PIN_89 , GPIO_PIN_90 , GPIO_PIN_91 , GPIO_PIN_92 , GPIO_PIN_93 , GPIO_PIN_94 , GPIO_PIN_95 , + GPIO_PIN_96 , GPIO_PIN_97 , GPIO_PIN_98 , GPIO_PIN_99 , GPIO_PIN_100 , GPIO_PIN_101 , GPIO_PIN_102 , GPIO_PIN_103 , + GPIO_PIN_104 , GPIO_PIN_105 , GPIO_PIN_106 , GPIO_PIN_107 , GPIO_PIN_108 , GPIO_PIN_109 , GPIO_PIN_110 , GPIO_PIN_111 , + GPIO_PIN_112 , GPIO_PIN_113 , GPIO_PIN_114 , GPIO_PIN_115 , GPIO_PIN_116 , GPIO_PIN_117 , GPIO_PIN_118 , GPIO_PIN_119 , + GPIO_PIN_120 , GPIO_PIN_121 , GPIO_PIN_122 , GPIO_PIN_123 , GPIO_PIN_124 , GPIO_PIN_125 , GPIO_PIN_126 , GPIO_PIN_127 , + // #endif // INTEL_2CHIP_PLAT_BVD + GPIO_MAX_AMOUNT_OF_PINS + + + + } GPIO_PinNumbers; + +//ICAT EXPORTED ENUM + typedef enum + { + GPIO_RC_OK = 1 , + + GPIO_RC_INVALID_PORT_HANDLE = -100 , + GPIO_RC_NOT_OUTPUT_PORT , + GPIO_RC_NO_TIMER , + GPIO_RC_NO_FREE_HANDLE , + GPIO_RC_AMOUNT_OUT_OF_RANGE , + GPIO_RC_INCORRECT_PORT_SIZE , + GPIO_RC_PORT_NOT_ON_ONE_REG , + GPIO_RC_INVALID_PIN_NUM , + GPIO_RC_PIN_USED_IN_PORT , + GPIO_RC_PIN_NOT_FREE , + GPIO_RC_PIN_NOT_LOCKED , + GPIO_RC_NULL_POINTER , + GPIO_RC_PULLED_AND_OUTPUT , + GPIO_RC_INCORRECT_PORT_TYPE , + GPIO_RC_INCORRECT_TRANSITION_TYPE , + GPIO_RC_INCORRECT_DEBOUNCE , + GPIO_RC_INCORRECT_DIRECTION , + GPIO_RC_INCORRECT_INIT_VALUE , + GPIO_RC_INTC_ERROR , + GPIO_RC_PRM_ERROR , + GPIO_RC_PIN_LOCKED , + } GPIO_ReturnCode; + +//ICAT EXPORTED ENUM + typedef enum + { + GPIO_PIN_FREE_FOR_USE = 0 , + GPIO_PIN_USE_IN_PORT , + GPIO_PIN_USE_IN_INTERRUPT , + GPIO_PIN_USE_IN_PORT_WITH_INTERRUPT , + GPIO_PIN_LOCKED + } GPIO_PinUsage; + +//ICAT EXPORTED STRUCT + typedef struct + { + GPIO_PinUsage pinUsage ; + GPIOPinDirection direction ; + } GPIO_PinStatus; + +//ICAT EXPORTED ENUM + typedef enum + { + GPIO_INITIAL_VALUE_NO_CHANGE = 0 , + GPIO_INITIAL_VALUE_LOW=0 , + GPIO_INITIAL_VALUE_HIGH + } GPIO_BitInitialValue; + +//ICAT EXPORTED ENUM + typedef enum + { + GPIO_PULL_UP_DOWN_DISABLE = 0 , + GPIO_PULL_UP_ENABLE , + GPIO_PULL_DOWN_ENABLE + } GPIO_PullUpDown; + +//ICAT EXPORTED STRUCT + typedef struct + { + GPIO_PinNumbers pinNumber ; + GPIOPinDirection direction ; + GPIOTransitionType transitionType ; + GPIO_Debounce debounce ; + GPIOPullUpDown pullUpDown ; + GPIO_BitInitialValue initialValue ; + } GPIO_PinConfiguration; + +typedef void ( *GPIO_ISR ) ( void ) ; +typedef UINT32 INTC_InterruptPriorityTable [ MAX_INTERRUPT_CONTROLLER_SOURCES ] ; +typedef UINT32 INTC_InterruptInfo ; +typedef void ( *INTC_ISR ) ( INTC_InterruptInfo interruptInfo ) ; +typedef void ( *PMCNotifyEventFunc ) ( UINT64 eventRegs ) ; +typedef void ( *PMCGetStatusNotifyFunc ) ( UINT16 status ) ; +typedef void ( *PMCReadCallback ) ( UINT8 *dataBuffPtr , UINT16 dataSize , UINT16 userId ) ; +typedef void ( *PMCWriteCallback ) ( UINT16 dataBuffPtr ) ; +typedef void ( *PMCGetGPADCValueNotifyFunc ) ( PMC_adc_reg_t reg , UINT16 value ) ; +typedef void ( * ReadingCallback ) ( int ) ; +typedef void ( * LTETempReadingCallback ) ( unsigned short , unsigned short ) ; +typedef void ( * ReadingCallbackBoth ) ( BOOL , int , int ) ; +typedef union + { + UINT8 autoControl ; + UINT8 autoControl2 ; + UINT8 manControl ; + } adcModeCntrl_t ; +typedef union + { + UINT64 all ; + Registers_ts regs ; + } PMCEvents ; +//ICAT EXPORTED ENUM + typedef enum + { + SHD_POWER_DOWN , + SHD_RESET , + SHD_GHOST , + SHD_SW_ERROR /* EEHandler triggered the reset */ + } ShutDownType_te; + +//ICAT EXPORTED ENUM + typedef enum + { + RR_NORMAL_POWER_ON = 0x00 , // default , not combined with others + RR_WATCH_DOG_TIMEOUT = 0x01 , + RR_SOFTWARE_GENERATED = 0x02 , + RR_CHARGING_BATTERY = 0x04 , + RR_LOW_BATTERY = 0x08 , + RR_ALARM_POWER_ON = 0x10 , + RR_EXT_POWER_ON = 0x20 + } + StartupReason_te; + +//ICAT EXPORTED ENUM + typedef enum + { + RE_RTC_ALARM = 0x01 + } StartupExtInd_te; + +typedef BOOL ( *DiagPSisRunningFn ) ( void ) ; +typedef UINT8 u8_t ; +typedef UINT16 u16_t ; +typedef UINT32 u32_t ; +typedef UINT64 u64_t ; +typedef INT8 s8_t ; +typedef INT16 s16_t ; +typedef INT32 s32_t ; +typedef void* msg_t ; +typedef u32_t mem_ptr_t ; +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef union { + ip_addr_t ip4 ; + ip6_addr_t ip6 ; + } ipX_addr_t ; +typedef s8_t err_t ; +typedef size_t mem_size_t ; +typedef UINT32 sys_prot_t ; +typedef void * sys_mutex_t ; +typedef void * sys_sem_t ; +typedef void * sys_mbox_t ; +typedef void * sys_thread_t ; +typedef void ( *printCallback ) ( char *printstr ) ; +typedef void ( *lwip_thread_fn ) ( void *pArgs ) ; +typedef err_t ( *lwip_run_entry ) ( void *pArgs ) ; +typedef void ( * socket_callback ) ( int s , int evt , u16_t len ) ; +typedef u32_t socklen_t ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( *oem_notify_cb_t ) ( void* user ) ; +typedef void ( *oem_stream_dB_cb_t ) ( int dB , void* user ) ; +typedef void ( *oem_stream_has_data_cb_t ) ( const void* data , size_t size , void* user ) ; +typedef void ( *oem_tone_cb_t ) ( void* user ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\oem_tone_pcm.ppp +//PPL Source File Name : src\\oem_tone_pcm.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( * pfn_hal_looper_user_free ) ( void* user ) ; +typedef void ( *pfn_looper_event_destroy ) ( hal_looper_event_t* event ) ; +typedef void ( * pfn_hal_looper_event_processer ) ( hal_looper_t* looper , hal_looper_event_t* event , void* user ) ; +typedef void ( * pfn_hal_looper_timer_callback ) ( hal_looper_t* looper , hal_time_t now , void* user ) ; +typedef int ( * pfn_hal_looper_routine ) ( hal_looper_t* looper , void* user ) ; +typedef void ( *hal_device_alarm_timer_cb_t ) ( void* user ) ; +typedef int ( *pfn_play_type_cb ) ( int status ) ; +typedef int ( *pfn_record_cb ) ( int result , unsigned char *pBuf , unsigned int len ) ; +typedef void ( *pfn_ini_parser ) ( void* user , const char* section , const char* name , const char* value ) ; +typedef void ( *oem_notify_cb_t ) ( void* user ) ; +typedef void ( *oem_stream_dB_cb_t ) ( int dB , void* user ) ; +typedef void ( *oem_stream_has_data_cb_t ) ( const void* data , size_t size , void* user ) ; +typedef void ( *oem_tone_cb_t ) ( void* user ) ; +typedef float float_t ; +typedef double double_t ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\oem_tts.ppp +//PPL Source File Name : src\\oem_tts.c +typedef unsigned int size_t ; +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( * pfn_hal_looper_user_free ) ( void* user ) ; +typedef void ( *pfn_looper_event_destroy ) ( hal_looper_event_t* event ) ; +typedef void ( * pfn_hal_looper_event_processer ) ( hal_looper_t* looper , hal_looper_event_t* event , void* user ) ; +typedef void ( * pfn_hal_looper_timer_callback ) ( hal_looper_t* looper , hal_time_t now , void* user ) ; +typedef int ( * pfn_hal_looper_routine ) ( hal_looper_t* looper , void* user ) ; +typedef void ( *oem_notify_cb_t ) ( void* user ) ; +typedef void ( *oem_stream_dB_cb_t ) ( int dB , void* user ) ; +typedef void ( *oem_stream_has_data_cb_t ) ( const void* data , size_t size , void* user ) ; +typedef void ( *oem_tone_cb_t ) ( void* user ) ; +typedef void ( *ql_tts_cb_type ) ( QL_TTS_ENVENT_E event , char *str ) ; +typedef unsigned long UTF32 ; +typedef unsigned short UTF16 ; +typedef unsigned char UTF8 ; +typedef unsigned int INT ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\pack.ppp +//PPL Source File Name : src\\pack.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef int protobuf_c_boolean ; +typedef void ( *ProtobufCClosure ) ( const ProtobufCMessage * , void *closure_data ) ; +typedef void ( *ProtobufCMessageInit ) ( const ProtobufCMessageDescriptor* , ProtobufCMessage * ) ; +typedef void ( *ProtobufCServiceDestroy ) ( ProtobufCService * ) ; +typedef uint32_t hal_time_t ; +typedef void ( *Ptt__AgentInfo_Closure ) + ( const Ptt__AgentInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__CompanyInfo_Closure ) + ( const Ptt__CompanyInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__UserInfo_Closure ) + ( const Ptt__UserInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__User_Closure ) + ( const Ptt__User *message , + void *closure_data ) ; +typedef void ( *Ptt__Member_Closure ) + ( const Ptt__Member *message , + void *closure_data ) ; +typedef void ( *Ptt__ChatUser_Closure ) + ( const Ptt__ChatUser *message , + void *closure_data ) ; +typedef void ( *Ptt__Group_Closure ) + ( const Ptt__Group *message , + void *closure_data ) ; +typedef void ( *Ptt__GroupMembers_Closure ) + ( const Ptt__GroupMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__GroupMembers2_Closure ) + ( const Ptt__GroupMembers2 *message , + void *closure_data ) ; +typedef void ( *Ptt__Department_Closure ) + ( const Ptt__Department *message , + void *closure_data ) ; +typedef void ( *Ptt__DepartmentMembers_Closure ) + ( const Ptt__DepartmentMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__Coordinate_Closure ) + ( const Ptt__Coordinate *message , + void *closure_data ) ; +typedef void ( *Ptt__Location_Closure ) + ( const Ptt__Location *message , + void *closure_data ) ; +typedef void ( *Ptt__Configure_Closure ) + ( const Ptt__Configure *message , + void *closure_data ) ; +typedef void ( *Ptt__MediaFile_Closure ) + ( const Ptt__MediaFile *message , + void *closure_data ) ; +typedef void ( *Ptt__Worksheet_Closure ) + ( const Ptt__Worksheet *message , + void *closure_data ) ; +typedef void ( *Ptt__DateTime_Closure ) + ( const Ptt__DateTime *message , + void *closure_data ) ; +typedef void ( *Ptt__SystemInfo_Closure ) + ( const Ptt__SystemInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__MobileCardInfo_Closure ) + ( const Ptt__MobileCardInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__Server_Closure ) + ( const Ptt__Server *message , + void *closure_data ) ; +typedef void ( *Ptt__Version_Closure ) + ( const Ptt__Version *message , + void *closure_data ) ; +typedef void ( *Ptt__Net__HeartBeat_Closure ) + ( const Ptt__Net__HeartBeat *message , + void *closure_data ) ; +typedef void ( *Ptt__Net__Ping_Closure ) + ( const Ptt__Net__Ping *message , + void *closure_data ) ; +typedef void ( *Ptt__Net__Pong_Closure ) + ( const Ptt__Net__Pong *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Login_Closure ) + ( const Ptt__Rr__Login *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LoginAck_Closure ) + ( const Ptt__Rr__LoginAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Logout_Closure ) + ( const Ptt__Rr__Logout *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LogoutAck_Closure ) + ( const Ptt__Rr__LogoutAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryGroup_Closure ) + ( const Ptt__Rr__QueryGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryGroupAck_Closure ) + ( const Ptt__Rr__QueryGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryEnterpriseGroup_Closure ) + ( const Ptt__Rr__QueryEnterpriseGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryEnterpriseGroupAck_Closure ) + ( const Ptt__Rr__QueryEnterpriseGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryMembers_Closure ) + ( const Ptt__Rr__QueryMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryMembersAck_Closure ) + ( const Ptt__Rr__QueryMembersAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryMembersAck2_Closure ) + ( const Ptt__Rr__QueryMembersAck2 *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryContacts_Closure ) + ( const Ptt__Rr__QueryContacts *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryContactsAck_Closure ) + ( const Ptt__Rr__QueryContactsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryUsers_Closure ) + ( const Ptt__Rr__QueryUsers *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryUsersAck_Closure ) + ( const Ptt__Rr__QueryUsersAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartments_Closure ) + ( const Ptt__Rr__QueryDepartments *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentsAck_Closure ) + ( const Ptt__Rr__QueryDepartmentsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentMembers_Closure ) + ( const Ptt__Rr__QueryDepartmentMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentMembersAck_Closure ) + ( const Ptt__Rr__QueryDepartmentMembersAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentTree_Closure ) + ( const Ptt__Rr__QueryDepartmentTree *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentTreeAck_Closure ) + ( const Ptt__Rr__QueryDepartmentTreeAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__JoinGroup_Closure ) + ( const Ptt__Rr__JoinGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__JoinGroupAck_Closure ) + ( const Ptt__Rr__JoinGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroup_Closure ) + ( const Ptt__Rr__WatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroupAck_Closure ) + ( const Ptt__Rr__WatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ByeGroup_Closure ) + ( const Ptt__Rr__ByeGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__IgnoreTalk_Closure ) + ( const Ptt__Rr__IgnoreTalk *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ContinueTalk_Closure ) + ( const Ptt__Rr__ContinueTalk *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Dnd_Closure ) + ( const Ptt__Rr__Dnd *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LeaveGroup_Closure ) + ( const Ptt__Rr__LeaveGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LeaveGroupAck_Closure ) + ( const Ptt__Rr__LeaveGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestMic_Closure ) + ( const Ptt__Rr__RequestMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestMicAck_Closure ) + ( const Ptt__Rr__RequestMicAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReleaseMic_Closure ) + ( const Ptt__Rr__ReleaseMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReleaseMicAck_Closure ) + ( const Ptt__Rr__ReleaseMicAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Call_Closure ) + ( const Ptt__Rr__Call *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CallAck_Closure ) + ( const Ptt__Rr__CallAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SingleCall_Closure ) + ( const Ptt__Rr__SingleCall *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SingleCallAck_Closure ) + ( const Ptt__Rr__SingleCallAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QuickDial_Closure ) + ( const Ptt__Rr__QuickDial *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QuickDialAck_Closure ) + ( const Ptt__Rr__QuickDialAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeName_Closure ) + ( const Ptt__Rr__ChangeName *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeNameAck_Closure ) + ( const Ptt__Rr__ChangeNameAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangePassword_Closure ) + ( const Ptt__Rr__ChangePassword *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangePasswordAck_Closure ) + ( const Ptt__Rr__ChangePasswordAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContacts_Closure ) + ( const Ptt__Rr__MakeContacts *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContactsAck_Closure ) + ( const Ptt__Rr__MakeContactsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContactsResponse_Closure ) + ( const Ptt__Rr__MakeContactsResponse *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContactsResponseAck_Closure ) + ( const Ptt__Rr__MakeContactsResponseAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveContacts_Closure ) + ( const Ptt__Rr__RemoveContacts *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveContactsAck_Closure ) + ( const Ptt__Rr__RemoveContactsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReportLocation_Closure ) + ( const Ptt__Rr__ReportLocation *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReportLocationAck_Closure ) + ( const Ptt__Rr__ReportLocationAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Kick_Closure ) + ( const Ptt__Rr__Kick *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__KickAck_Closure ) + ( const Ptt__Rr__KickAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CreateGroup_Closure ) + ( const Ptt__Rr__CreateGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CreateGroupAck_Closure ) + ( const Ptt__Rr__CreateGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DeleteGroup_Closure ) + ( const Ptt__Rr__DeleteGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DeleteGroupAck_Closure ) + ( const Ptt__Rr__DeleteGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ModifyGroup_Closure ) + ( const Ptt__Rr__ModifyGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ModifyGroupAck_Closure ) + ( const Ptt__Rr__ModifyGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__EmpowerMembership_Closure ) + ( const Ptt__Rr__EmpowerMembership *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__EmpowerMembershipAck_Closure ) + ( const Ptt__Rr__EmpowerMembershipAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DepriveMembership_Closure ) + ( const Ptt__Rr__DepriveMembership *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DepriveMembershipAck_Closure ) + ( const Ptt__Rr__DepriveMembershipAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Dispatch_Closure ) + ( const Ptt__Rr__Dispatch *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DispatchAck_Closure ) + ( const Ptt__Rr__DispatchAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ConfigureUser_Closure ) + ( const Ptt__Rr__ConfigureUser *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ConfigureUserAck_Closure ) + ( const Ptt__Rr__ConfigureUserAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__TakeMic_Closure ) + ( const Ptt__Rr__TakeMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__TakeMicAck_Closure ) + ( const Ptt__Rr__TakeMicAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SynchDatabase_Closure ) + ( const Ptt__Rr__SynchDatabase *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SynchDatabaseAck_Closure ) + ( const Ptt__Rr__SynchDatabaseAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__PostWorksheet_Closure ) + ( const Ptt__Rr__PostWorksheet *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__PostWorksheetAck_Closure ) + ( const Ptt__Rr__PostWorksheetAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryServer_Closure ) + ( const Ptt__Rr__QueryServer *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryServerAck_Closure ) + ( const Ptt__Rr__QueryServerAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestConfigure_Closure ) + ( const Ptt__Rr__RequestConfigure *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestConfigureAck_Closure ) + ( const Ptt__Rr__RequestConfigureAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestActivate_Closure ) + ( const Ptt__Rr__RequestActivate *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestActivateAck_Closure ) + ( const Ptt__Rr__RequestActivateAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CustomBroadcast_Closure ) + ( const Ptt__Rr__CustomBroadcast *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CustomBroadcastAck_Closure ) + ( const Ptt__Rr__CustomBroadcastAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeUserRoles_Closure ) + ( const Ptt__Rr__ChangeUserRoles *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeUserRolesAck_Closure ) + ( const Ptt__Rr__ChangeUserRolesAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CurrentTime_Closure ) + ( const Ptt__Rr__CurrentTime *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CurrentTimeAck_Closure ) + ( const Ptt__Rr__CurrentTimeAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__GetWatchGroup_Closure ) + ( const Ptt__Rr__GetWatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__GetWatchGroupAck_Closure ) + ( const Ptt__Rr__GetWatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__AddWatchGroup_Closure ) + ( const Ptt__Rr__AddWatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__AddWatchGroupAck_Closure ) + ( const Ptt__Rr__AddWatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveWatchGroup_Closure ) + ( const Ptt__Rr__RemoveWatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveWatchGroupAck_Closure ) + ( const Ptt__Rr__RemoveWatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroupEx_Closure ) + ( const Ptt__Rr__WatchGroupEx *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroupExAck_Closure ) + ( const Ptt__Rr__WatchGroupExAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Invite_Closure ) + ( const Ptt__Rr__Invite *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__InviteAck_Closure ) + ( const Ptt__Rr__InviteAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ResponseInvite_Closure ) + ( const Ptt__Rr__ResponseInvite *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ResponseInviteAck_Closure ) + ( const Ptt__Rr__ResponseInviteAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__Reconfigured_Closure ) + ( const Ptt__Push__Reconfigured *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__UsersChanged_Closure ) + ( const Ptt__Push__UsersChanged *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__GroupListChanged_Closure ) + ( const Ptt__Push__GroupListChanged *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__MembersChanged__MemberChanged_Closure ) + ( const Ptt__Push__MembersChanged__MemberChanged *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__MembersChanged_Closure ) + ( const Ptt__Push__MembersChanged *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__ContactshipAsked__Request_Closure ) + ( const Ptt__Push__ContactshipAsked__Request *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__ContactshipAsked_Closure ) + ( const Ptt__Push__ContactshipAsked *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__ContactsChanged_Closure ) + ( const Ptt__Push__ContactsChanged *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__MemberGetMic_Closure ) + ( const Ptt__Push__MemberGetMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__MemberLostMic_Closure ) + ( const Ptt__Push__MemberLostMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__LostMic_Closure ) + ( const Ptt__Push__LostMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__CurrentGroup_Closure ) + ( const Ptt__Push__CurrentGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__Kickout_Closure ) + ( const Ptt__Push__Kickout *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__NewWorksheet_Closure ) + ( const Ptt__Push__NewWorksheet *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__CustomBroadcast_Closure ) + ( const Ptt__Push__CustomBroadcast *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__ChangeRoles_Closure ) + ( const Ptt__Push__ChangeRoles *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__Invite_Closure ) + ( const Ptt__Push__Invite *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__ResponseInvite_Closure ) + ( const Ptt__Push__ResponseInvite *message , + void *closure_data ) ; +typedef void ( *Ptt__Serv__TxtBroadcast_Closure ) + ( const Ptt__Serv__TxtBroadcast *message , + void *closure_data ) ; +typedef void ( *Ptt__Serv__MobileStandard_Closure ) + ( const Ptt__Serv__MobileStandard *message , + void *closure_data ) ; +typedef void ( *Ptt__Serv__DispatchReconnection_Closure ) + ( const Ptt__Serv__DispatchReconnection *message , + void *closure_data ) ; +typedef void ( *Ptt__Serv__Configuration_Closure ) + ( const Ptt__Serv__Configuration *message , + void *closure_data ) ; +typedef void ( *Ptt__Serv__MultimediaMessage_Closure ) + ( const Ptt__Serv__MultimediaMessage *message , + void *closure_data ) ; +typedef void ( *Ptt__Serv__ExternalServMsg_Closure ) + ( const Ptt__Serv__ExternalServMsg *message , + void *closure_data ) ; +typedef void ( *Ptt__Collect__User_Closure ) + ( const Ptt__Collect__User *message , + void *closure_data ) ; +typedef void ( *Ptt__Collect__Server_Closure ) + ( const Ptt__Collect__Server *message , + void *closure_data ) ; +typedef void ( *Ptt__Collect__Terminal_Closure ) + ( const Ptt__Collect__Terminal *message , + void *closure_data ) ; +typedef void ( *Ptt__Collect__NetWork_Closure ) + ( const Ptt__Collect__NetWork *message , + void *closure_data ) ; +typedef void ( *Ptt__Collect__NetDelay_Closure ) + ( const Ptt__Collect__NetDelay *message , + void *closure_data ) ; +typedef void ( *Ptt__Collect__GpsCnoInfo_Closure ) + ( const Ptt__Collect__GpsCnoInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__Collect__BaseInfo_Closure ) + ( const Ptt__Collect__BaseInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__Collect__Disconnect_Closure ) + ( const Ptt__Collect__Disconnect *message , + void *closure_data ) ; +typedef void ( *Ptt__Collect__Reconnect_Closure ) + ( const Ptt__Collect__Reconnect *message , + void *closure_data ) ; +typedef void ( *Ptt__Collect__NetStat_Closure ) + ( const Ptt__Collect__NetStat *message , + void *closure_data ) ; +typedef void ( *Ptt__Collect__Speaker_Closure ) + ( const Ptt__Collect__Speaker *message , + void *closure_data ) ; +typedef void ( *Ptt__Collect__Listener_Closure ) + ( const Ptt__Collect__Listener *message , + void *closure_data ) ; +typedef void ( *Ptt__Collect__SessionStat_Closure ) + ( const Ptt__Collect__SessionStat *message , + void *closure_data ) ; +typedef void ( *Terminal__Status__TerminalStatusDetail_Closure ) + ( const Terminal__Status__TerminalStatusDetail *message , + void *closure_data ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\pinyin.ppp +//PPL Source File Name : src\\pinyin.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef void* hal_mutex_t ; +typedef void ( *hal_device_alarm_timer_cb_t ) ( void* user ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\platform.ppp +//PPL Source File Name : src\\platform.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef void* hal_mutex_t ; +typedef uint32_t hal_time_t ; +typedef void ( *oem_notify_cb_t ) ( void* user ) ; +typedef void ( *oem_stream_dB_cb_t ) ( int dB , void* user ) ; +typedef void ( *oem_stream_has_data_cb_t ) ( const void* data , size_t size , void* user ) ; +typedef void ( *oem_tone_cb_t ) ( void* user ) ; +typedef int oem_socket_t ; +typedef void * oem_thread_id_t ; +typedef void* ( *oem_thread_function_t ) ( void* arg ) ; +typedef void* oem_semaphore_t ; +typedef void* oem_mutex_t ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\post_util.ppp +//PPL Source File Name : src\\post_util.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( *pfn_location_cb ) ( loc_info_t* loc_info , void* user ) ; +typedef uint32_t echat_uid_t ; +typedef uint32_t echat_gid_t ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( *echat_notify_cb_t ) ( void* user , echat_notify_t* notify ) ; +typedef void ( *echat_notify_param_cb_t ) ( void* user , int param , void * arg ) ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( *pfn_network_notify ) ( void* user , boolean succ ) ; +typedef void ( *pfn_sock_notify ) ( hal_sock_t* sock , void* user , int error ) ; +typedef void ( *pfn_sound_notify ) ( hal_sound_t* sound , int param , void * user ) ; +typedef void ( *pfn_sound_on_record_stop ) ( hal_sound_t* sound , int param , void * user , const hal_frame_t** frames , size_t count ) ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef int protobuf_c_boolean ; +typedef void ( *ProtobufCClosure ) ( const ProtobufCMessage * , void *closure_data ) ; +typedef void ( *ProtobufCMessageInit ) ( const ProtobufCMessageDescriptor* , ProtobufCMessage * ) ; +typedef void ( *ProtobufCServiceDestroy ) ( ProtobufCService * ) ; +typedef void ( *pfn_connection_notify ) ( connection_t* connection , CONNECTION_STATUS status , void* user ) ; +typedef void ( *pfn_connection_on_recv_msg_timeout ) ( connection_t* connection , const char* message_name , void* user ) ; +typedef void ( *Ptt__AgentInfo_Closure ) + ( const Ptt__AgentInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__CompanyInfo_Closure ) + ( const Ptt__CompanyInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__UserInfo_Closure ) + ( const Ptt__UserInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__User_Closure ) + ( const Ptt__User *message , + void *closure_data ) ; +typedef void ( *Ptt__Member_Closure ) + ( const Ptt__Member *message , + void *closure_data ) ; +typedef void ( *Ptt__ChatUser_Closure ) + ( const Ptt__ChatUser *message , + void *closure_data ) ; +typedef void ( *Ptt__Group_Closure ) + ( const Ptt__Group *message , + void *closure_data ) ; +typedef void ( *Ptt__GroupMembers_Closure ) + ( const Ptt__GroupMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__GroupMembers2_Closure ) + ( const Ptt__GroupMembers2 *message , + void *closure_data ) ; +typedef void ( *Ptt__Department_Closure ) + ( const Ptt__Department *message , + void *closure_data ) ; +typedef void ( *Ptt__DepartmentMembers_Closure ) + ( const Ptt__DepartmentMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__Coordinate_Closure ) + ( const Ptt__Coordinate *message , + void *closure_data ) ; +typedef void ( *Ptt__Location_Closure ) + ( const Ptt__Location *message , + void *closure_data ) ; +typedef void ( *Ptt__Configure_Closure ) + ( const Ptt__Configure *message , + void *closure_data ) ; +typedef void ( *Ptt__MediaFile_Closure ) + ( const Ptt__MediaFile *message , + void *closure_data ) ; +typedef void ( *Ptt__Worksheet_Closure ) + ( const Ptt__Worksheet *message , + void *closure_data ) ; +typedef void ( *Ptt__DateTime_Closure ) + ( const Ptt__DateTime *message , + void *closure_data ) ; +typedef void ( *Ptt__SystemInfo_Closure ) + ( const Ptt__SystemInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__MobileCardInfo_Closure ) + ( const Ptt__MobileCardInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__Server_Closure ) + ( const Ptt__Server *message , + void *closure_data ) ; +typedef void ( *Ptt__Version_Closure ) + ( const Ptt__Version *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Login_Closure ) + ( const Ptt__Rr__Login *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LoginAck_Closure ) + ( const Ptt__Rr__LoginAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Logout_Closure ) + ( const Ptt__Rr__Logout *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LogoutAck_Closure ) + ( const Ptt__Rr__LogoutAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryGroup_Closure ) + ( const Ptt__Rr__QueryGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryGroupAck_Closure ) + ( const Ptt__Rr__QueryGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryEnterpriseGroup_Closure ) + ( const Ptt__Rr__QueryEnterpriseGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryEnterpriseGroupAck_Closure ) + ( const Ptt__Rr__QueryEnterpriseGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryMembers_Closure ) + ( const Ptt__Rr__QueryMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryMembersAck_Closure ) + ( const Ptt__Rr__QueryMembersAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryMembersAck2_Closure ) + ( const Ptt__Rr__QueryMembersAck2 *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryContacts_Closure ) + ( const Ptt__Rr__QueryContacts *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryContactsAck_Closure ) + ( const Ptt__Rr__QueryContactsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryUsers_Closure ) + ( const Ptt__Rr__QueryUsers *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryUsersAck_Closure ) + ( const Ptt__Rr__QueryUsersAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartments_Closure ) + ( const Ptt__Rr__QueryDepartments *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentsAck_Closure ) + ( const Ptt__Rr__QueryDepartmentsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentMembers_Closure ) + ( const Ptt__Rr__QueryDepartmentMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentMembersAck_Closure ) + ( const Ptt__Rr__QueryDepartmentMembersAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentTree_Closure ) + ( const Ptt__Rr__QueryDepartmentTree *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentTreeAck_Closure ) + ( const Ptt__Rr__QueryDepartmentTreeAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__JoinGroup_Closure ) + ( const Ptt__Rr__JoinGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__JoinGroupAck_Closure ) + ( const Ptt__Rr__JoinGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroup_Closure ) + ( const Ptt__Rr__WatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroupAck_Closure ) + ( const Ptt__Rr__WatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ByeGroup_Closure ) + ( const Ptt__Rr__ByeGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__IgnoreTalk_Closure ) + ( const Ptt__Rr__IgnoreTalk *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ContinueTalk_Closure ) + ( const Ptt__Rr__ContinueTalk *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Dnd_Closure ) + ( const Ptt__Rr__Dnd *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LeaveGroup_Closure ) + ( const Ptt__Rr__LeaveGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LeaveGroupAck_Closure ) + ( const Ptt__Rr__LeaveGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestMic_Closure ) + ( const Ptt__Rr__RequestMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestMicAck_Closure ) + ( const Ptt__Rr__RequestMicAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReleaseMic_Closure ) + ( const Ptt__Rr__ReleaseMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReleaseMicAck_Closure ) + ( const Ptt__Rr__ReleaseMicAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Call_Closure ) + ( const Ptt__Rr__Call *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CallAck_Closure ) + ( const Ptt__Rr__CallAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SingleCall_Closure ) + ( const Ptt__Rr__SingleCall *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SingleCallAck_Closure ) + ( const Ptt__Rr__SingleCallAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QuickDial_Closure ) + ( const Ptt__Rr__QuickDial *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QuickDialAck_Closure ) + ( const Ptt__Rr__QuickDialAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeName_Closure ) + ( const Ptt__Rr__ChangeName *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeNameAck_Closure ) + ( const Ptt__Rr__ChangeNameAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangePassword_Closure ) + ( const Ptt__Rr__ChangePassword *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangePasswordAck_Closure ) + ( const Ptt__Rr__ChangePasswordAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContacts_Closure ) + ( const Ptt__Rr__MakeContacts *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContactsAck_Closure ) + ( const Ptt__Rr__MakeContactsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContactsResponse_Closure ) + ( const Ptt__Rr__MakeContactsResponse *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContactsResponseAck_Closure ) + ( const Ptt__Rr__MakeContactsResponseAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveContacts_Closure ) + ( const Ptt__Rr__RemoveContacts *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveContactsAck_Closure ) + ( const Ptt__Rr__RemoveContactsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReportLocation_Closure ) + ( const Ptt__Rr__ReportLocation *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReportLocationAck_Closure ) + ( const Ptt__Rr__ReportLocationAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Kick_Closure ) + ( const Ptt__Rr__Kick *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__KickAck_Closure ) + ( const Ptt__Rr__KickAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CreateGroup_Closure ) + ( const Ptt__Rr__CreateGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CreateGroupAck_Closure ) + ( const Ptt__Rr__CreateGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DeleteGroup_Closure ) + ( const Ptt__Rr__DeleteGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DeleteGroupAck_Closure ) + ( const Ptt__Rr__DeleteGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ModifyGroup_Closure ) + ( const Ptt__Rr__ModifyGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ModifyGroupAck_Closure ) + ( const Ptt__Rr__ModifyGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__EmpowerMembership_Closure ) + ( const Ptt__Rr__EmpowerMembership *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__EmpowerMembershipAck_Closure ) + ( const Ptt__Rr__EmpowerMembershipAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DepriveMembership_Closure ) + ( const Ptt__Rr__DepriveMembership *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DepriveMembershipAck_Closure ) + ( const Ptt__Rr__DepriveMembershipAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Dispatch_Closure ) + ( const Ptt__Rr__Dispatch *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DispatchAck_Closure ) + ( const Ptt__Rr__DispatchAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ConfigureUser_Closure ) + ( const Ptt__Rr__ConfigureUser *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ConfigureUserAck_Closure ) + ( const Ptt__Rr__ConfigureUserAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__TakeMic_Closure ) + ( const Ptt__Rr__TakeMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__TakeMicAck_Closure ) + ( const Ptt__Rr__TakeMicAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SynchDatabase_Closure ) + ( const Ptt__Rr__SynchDatabase *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SynchDatabaseAck_Closure ) + ( const Ptt__Rr__SynchDatabaseAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__PostWorksheet_Closure ) + ( const Ptt__Rr__PostWorksheet *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__PostWorksheetAck_Closure ) + ( const Ptt__Rr__PostWorksheetAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryServer_Closure ) + ( const Ptt__Rr__QueryServer *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryServerAck_Closure ) + ( const Ptt__Rr__QueryServerAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestConfigure_Closure ) + ( const Ptt__Rr__RequestConfigure *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestConfigureAck_Closure ) + ( const Ptt__Rr__RequestConfigureAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestActivate_Closure ) + ( const Ptt__Rr__RequestActivate *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestActivateAck_Closure ) + ( const Ptt__Rr__RequestActivateAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CustomBroadcast_Closure ) + ( const Ptt__Rr__CustomBroadcast *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CustomBroadcastAck_Closure ) + ( const Ptt__Rr__CustomBroadcastAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeUserRoles_Closure ) + ( const Ptt__Rr__ChangeUserRoles *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeUserRolesAck_Closure ) + ( const Ptt__Rr__ChangeUserRolesAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CurrentTime_Closure ) + ( const Ptt__Rr__CurrentTime *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CurrentTimeAck_Closure ) + ( const Ptt__Rr__CurrentTimeAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__GetWatchGroup_Closure ) + ( const Ptt__Rr__GetWatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__GetWatchGroupAck_Closure ) + ( const Ptt__Rr__GetWatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__AddWatchGroup_Closure ) + ( const Ptt__Rr__AddWatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__AddWatchGroupAck_Closure ) + ( const Ptt__Rr__AddWatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveWatchGroup_Closure ) + ( const Ptt__Rr__RemoveWatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveWatchGroupAck_Closure ) + ( const Ptt__Rr__RemoveWatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroupEx_Closure ) + ( const Ptt__Rr__WatchGroupEx *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroupExAck_Closure ) + ( const Ptt__Rr__WatchGroupExAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Invite_Closure ) + ( const Ptt__Rr__Invite *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__InviteAck_Closure ) + ( const Ptt__Rr__InviteAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ResponseInvite_Closure ) + ( const Ptt__Rr__ResponseInvite *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ResponseInviteAck_Closure ) + ( const Ptt__Rr__ResponseInviteAck *message , + void *closure_data ) ; +typedef void ( *pfn_ini_parser ) ( void* user , const char* section , const char* name , const char* value ) ; +typedef void ( *hal_device_alarm_timer_cb_t ) ( void* user ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\protobuf-c.ppp +//PPL Source File Name : src\\protobuf-c.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef va_list __gnuc_va_list ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef int protobuf_c_boolean ; +typedef void ( *ProtobufCClosure ) ( const ProtobufCMessage * , void *closure_data ) ; +typedef void ( *ProtobufCMessageInit ) ( const ProtobufCMessageDescriptor* , ProtobufCMessage * ) ; +typedef void ( *ProtobufCServiceDestroy ) ( ProtobufCService * ) ; +typedef void ( *GenericHandler ) ( void *service , + const ProtobufCMessage *input , + ProtobufCClosure closure , + void *closure_data ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\ptt.pb-c.ppp +//PPL Source File Name : src\\ptt.pb-c.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef va_list __gnuc_va_list ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef int protobuf_c_boolean ; +typedef void ( *ProtobufCClosure ) ( const ProtobufCMessage * , void *closure_data ) ; +typedef void ( *ProtobufCMessageInit ) ( const ProtobufCMessageDescriptor* , ProtobufCMessage * ) ; +typedef void ( *ProtobufCServiceDestroy ) ( ProtobufCService * ) ; +typedef void ( *Ptt__AgentInfo_Closure ) + ( const Ptt__AgentInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__CompanyInfo_Closure ) + ( const Ptt__CompanyInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__UserInfo_Closure ) + ( const Ptt__UserInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__User_Closure ) + ( const Ptt__User *message , + void *closure_data ) ; +typedef void ( *Ptt__Member_Closure ) + ( const Ptt__Member *message , + void *closure_data ) ; +typedef void ( *Ptt__ChatUser_Closure ) + ( const Ptt__ChatUser *message , + void *closure_data ) ; +typedef void ( *Ptt__Group_Closure ) + ( const Ptt__Group *message , + void *closure_data ) ; +typedef void ( *Ptt__GroupMembers_Closure ) + ( const Ptt__GroupMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__GroupMembers2_Closure ) + ( const Ptt__GroupMembers2 *message , + void *closure_data ) ; +typedef void ( *Ptt__Department_Closure ) + ( const Ptt__Department *message , + void *closure_data ) ; +typedef void ( *Ptt__DepartmentMembers_Closure ) + ( const Ptt__DepartmentMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__Coordinate_Closure ) + ( const Ptt__Coordinate *message , + void *closure_data ) ; +typedef void ( *Ptt__Location_Closure ) + ( const Ptt__Location *message , + void *closure_data ) ; +typedef void ( *Ptt__Configure_Closure ) + ( const Ptt__Configure *message , + void *closure_data ) ; +typedef void ( *Ptt__MediaFile_Closure ) + ( const Ptt__MediaFile *message , + void *closure_data ) ; +typedef void ( *Ptt__Worksheet_Closure ) + ( const Ptt__Worksheet *message , + void *closure_data ) ; +typedef void ( *Ptt__DateTime_Closure ) + ( const Ptt__DateTime *message , + void *closure_data ) ; +typedef void ( *Ptt__SystemInfo_Closure ) + ( const Ptt__SystemInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__MobileCardInfo_Closure ) + ( const Ptt__MobileCardInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__Server_Closure ) + ( const Ptt__Server *message , + void *closure_data ) ; +typedef void ( *Ptt__Version_Closure ) + ( const Ptt__Version *message , + void *closure_data ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\push.pb-c.ppp +//PPL Source File Name : src\\push.pb-c.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef va_list __gnuc_va_list ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef int protobuf_c_boolean ; +typedef void ( *ProtobufCClosure ) ( const ProtobufCMessage * , void *closure_data ) ; +typedef void ( *ProtobufCMessageInit ) ( const ProtobufCMessageDescriptor* , ProtobufCMessage * ) ; +typedef void ( *ProtobufCServiceDestroy ) ( ProtobufCService * ) ; +typedef void ( *Ptt__AgentInfo_Closure ) + ( const Ptt__AgentInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__CompanyInfo_Closure ) + ( const Ptt__CompanyInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__UserInfo_Closure ) + ( const Ptt__UserInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__User_Closure ) + ( const Ptt__User *message , + void *closure_data ) ; +typedef void ( *Ptt__Member_Closure ) + ( const Ptt__Member *message , + void *closure_data ) ; +typedef void ( *Ptt__ChatUser_Closure ) + ( const Ptt__ChatUser *message , + void *closure_data ) ; +typedef void ( *Ptt__Group_Closure ) + ( const Ptt__Group *message , + void *closure_data ) ; +typedef void ( *Ptt__GroupMembers_Closure ) + ( const Ptt__GroupMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__GroupMembers2_Closure ) + ( const Ptt__GroupMembers2 *message , + void *closure_data ) ; +typedef void ( *Ptt__Department_Closure ) + ( const Ptt__Department *message , + void *closure_data ) ; +typedef void ( *Ptt__DepartmentMembers_Closure ) + ( const Ptt__DepartmentMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__Coordinate_Closure ) + ( const Ptt__Coordinate *message , + void *closure_data ) ; +typedef void ( *Ptt__Location_Closure ) + ( const Ptt__Location *message , + void *closure_data ) ; +typedef void ( *Ptt__Configure_Closure ) + ( const Ptt__Configure *message , + void *closure_data ) ; +typedef void ( *Ptt__MediaFile_Closure ) + ( const Ptt__MediaFile *message , + void *closure_data ) ; +typedef void ( *Ptt__Worksheet_Closure ) + ( const Ptt__Worksheet *message , + void *closure_data ) ; +typedef void ( *Ptt__DateTime_Closure ) + ( const Ptt__DateTime *message , + void *closure_data ) ; +typedef void ( *Ptt__SystemInfo_Closure ) + ( const Ptt__SystemInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__MobileCardInfo_Closure ) + ( const Ptt__MobileCardInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__Server_Closure ) + ( const Ptt__Server *message , + void *closure_data ) ; +typedef void ( *Ptt__Version_Closure ) + ( const Ptt__Version *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__Reconfigured_Closure ) + ( const Ptt__Push__Reconfigured *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__UsersChanged_Closure ) + ( const Ptt__Push__UsersChanged *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__GroupListChanged_Closure ) + ( const Ptt__Push__GroupListChanged *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__MembersChanged__MemberChanged_Closure ) + ( const Ptt__Push__MembersChanged__MemberChanged *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__MembersChanged_Closure ) + ( const Ptt__Push__MembersChanged *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__ContactshipAsked__Request_Closure ) + ( const Ptt__Push__ContactshipAsked__Request *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__ContactshipAsked_Closure ) + ( const Ptt__Push__ContactshipAsked *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__ContactsChanged_Closure ) + ( const Ptt__Push__ContactsChanged *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__MemberGetMic_Closure ) + ( const Ptt__Push__MemberGetMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__MemberLostMic_Closure ) + ( const Ptt__Push__MemberLostMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__LostMic_Closure ) + ( const Ptt__Push__LostMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__CurrentGroup_Closure ) + ( const Ptt__Push__CurrentGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__Kickout_Closure ) + ( const Ptt__Push__Kickout *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__NewWorksheet_Closure ) + ( const Ptt__Push__NewWorksheet *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__CustomBroadcast_Closure ) + ( const Ptt__Push__CustomBroadcast *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__ChangeRoles_Closure ) + ( const Ptt__Push__ChangeRoles *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__Invite_Closure ) + ( const Ptt__Push__Invite *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__ResponseInvite_Closure ) + ( const Ptt__Push__ResponseInvite *message , + void *closure_data ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\queuebuf.ppp +//PPL Source File Name : src\\queuebuf.c +typedef unsigned int size_t ; +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef int SCL_CHECK_UINT32_1 [ 4 -sizeof ( uint32_t ) ] ; +typedef int SCL_CHECK_UINT32_2 [ sizeof ( uint32_t ) -4 ] ; +typedef int ( *SCL_cbfn_t ) ( const char* , long , void* , void* ) ; +typedef uint32_t ( *SCL_mdfn_t ) ( const char* , size_t ) ; +typedef void* ( *SCL_getfn_t ) ( size_t ) ; +typedef int ( *SCL_putfn_t ) ( void* , size_t ) ; +typedef void* SCL_iterator_t ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\recorder.ppp +//PPL Source File Name : src\\recorder.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( * pfn_hal_looper_user_free ) ( void* user ) ; +typedef void ( *pfn_looper_event_destroy ) ( hal_looper_event_t* event ) ; +typedef void ( * pfn_hal_looper_event_processer ) ( hal_looper_t* looper , hal_looper_event_t* event , void* user ) ; +typedef void ( * pfn_hal_looper_timer_callback ) ( hal_looper_t* looper , hal_time_t now , void* user ) ; +typedef int ( * pfn_hal_looper_routine ) ( hal_looper_t* looper , void* user ) ; +typedef void ( *pfn_location_cb ) ( loc_info_t* loc_info , void* user ) ; +typedef uint32_t echat_uid_t ; +typedef uint32_t echat_gid_t ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( *echat_notify_cb_t ) ( void* user , echat_notify_t* notify ) ; +typedef void ( *echat_notify_param_cb_t ) ( void* user , int param , void * arg ) ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef int SCL_CHECK_UINT32_1 [ 4 -sizeof ( uint32_t ) ] ; +typedef int SCL_CHECK_UINT32_2 [ sizeof ( uint32_t ) -4 ] ; +typedef int ( *SCL_cbfn_t ) ( const char* , long , void* , void* ) ; +typedef uint32_t ( *SCL_mdfn_t ) ( const char* , size_t ) ; +typedef void* ( *SCL_getfn_t ) ( size_t ) ; +typedef int ( *SCL_putfn_t ) ( void* , size_t ) ; +typedef void* SCL_iterator_t ; +typedef void* hal_mutex_t ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\recorder_c2c.ppp +//PPL Source File Name : src\\recorder_c2c.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( * pfn_hal_looper_user_free ) ( void* user ) ; +typedef void ( *pfn_looper_event_destroy ) ( hal_looper_event_t* event ) ; +typedef void ( * pfn_hal_looper_event_processer ) ( hal_looper_t* looper , hal_looper_event_t* event , void* user ) ; +typedef void ( * pfn_hal_looper_timer_callback ) ( hal_looper_t* looper , hal_time_t now , void* user ) ; +typedef int ( * pfn_hal_looper_routine ) ( hal_looper_t* looper , void* user ) ; +typedef void ( *pfn_sound_notify ) ( hal_sound_t* sound , int param , void * user ) ; +typedef void ( *pfn_sound_on_record_stop ) ( hal_sound_t* sound , int param , void * user , const hal_frame_t** frames , size_t count ) ; +typedef void ( *pfn_location_cb ) ( loc_info_t* loc_info , void* user ) ; +typedef uint32_t echat_uid_t ; +typedef uint32_t echat_gid_t ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( *echat_notify_cb_t ) ( void* user , echat_notify_t* notify ) ; +typedef void ( *echat_notify_param_cb_t ) ( void* user , int param , void * arg ) ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void VO_VOID ; +typedef unsigned char VO_U8 ; +typedef unsigned char VO_BYTE ; +typedef signed char VO_S8 ; +typedef char VO_CHAR ; +typedef unsigned short VO_U16 ; +typedef signed short VO_S16 ; +typedef unsigned long VO_U32 ; +typedef signed long VO_S32 ; +typedef unsigned long long VO_U64 ; +typedef signed long long VO_S64 ; +typedef void* VO_PTR ; +typedef const void* VO_CPTR ; +typedef void* VO_HANDLE ; +typedef char* VO_PCHAR ; +typedef unsigned char* VO_PBYTE ; +typedef char* VO_PTTCHAR ; +typedef char VO_TTCHAR ; +typedef int ( * VOThreadCreate ) ( void ** pHandle , int * pID , void * fProc , void * pParam ) ; +typedef int ( * VOLOG_PRINT ) ( void * pUserData , int nLevel , char * pLogText ) ; +typedef VO_S32 ( * VOAUDIOCALLBACKPROC ) ( VO_PTR pUserData , VO_CODECBUFFER * pAudioBuffer , VO_AUDIO_FORMAT * pAudioFormat , VO_S32 nStart ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\ringbuffer.ppp +//PPL Source File Name : src\\ringbuffer.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( *oem_notify_cb_t ) ( void* user ) ; +typedef void ( *oem_stream_dB_cb_t ) ( int dB , void* user ) ; +typedef void ( *oem_stream_has_data_cb_t ) ( const void* data , size_t size , void* user ) ; +typedef void ( *oem_tone_cb_t ) ( void* user ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\rr.pb-c.ppp +//PPL Source File Name : src\\rr.pb-c.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef va_list __gnuc_va_list ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef int protobuf_c_boolean ; +typedef void ( *ProtobufCClosure ) ( const ProtobufCMessage * , void *closure_data ) ; +typedef void ( *ProtobufCMessageInit ) ( const ProtobufCMessageDescriptor* , ProtobufCMessage * ) ; +typedef void ( *ProtobufCServiceDestroy ) ( ProtobufCService * ) ; +typedef void ( *Ptt__AgentInfo_Closure ) + ( const Ptt__AgentInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__CompanyInfo_Closure ) + ( const Ptt__CompanyInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__UserInfo_Closure ) + ( const Ptt__UserInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__User_Closure ) + ( const Ptt__User *message , + void *closure_data ) ; +typedef void ( *Ptt__Member_Closure ) + ( const Ptt__Member *message , + void *closure_data ) ; +typedef void ( *Ptt__ChatUser_Closure ) + ( const Ptt__ChatUser *message , + void *closure_data ) ; +typedef void ( *Ptt__Group_Closure ) + ( const Ptt__Group *message , + void *closure_data ) ; +typedef void ( *Ptt__GroupMembers_Closure ) + ( const Ptt__GroupMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__GroupMembers2_Closure ) + ( const Ptt__GroupMembers2 *message , + void *closure_data ) ; +typedef void ( *Ptt__Department_Closure ) + ( const Ptt__Department *message , + void *closure_data ) ; +typedef void ( *Ptt__DepartmentMembers_Closure ) + ( const Ptt__DepartmentMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__Coordinate_Closure ) + ( const Ptt__Coordinate *message , + void *closure_data ) ; +typedef void ( *Ptt__Location_Closure ) + ( const Ptt__Location *message , + void *closure_data ) ; +typedef void ( *Ptt__Configure_Closure ) + ( const Ptt__Configure *message , + void *closure_data ) ; +typedef void ( *Ptt__MediaFile_Closure ) + ( const Ptt__MediaFile *message , + void *closure_data ) ; +typedef void ( *Ptt__Worksheet_Closure ) + ( const Ptt__Worksheet *message , + void *closure_data ) ; +typedef void ( *Ptt__DateTime_Closure ) + ( const Ptt__DateTime *message , + void *closure_data ) ; +typedef void ( *Ptt__SystemInfo_Closure ) + ( const Ptt__SystemInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__MobileCardInfo_Closure ) + ( const Ptt__MobileCardInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__Server_Closure ) + ( const Ptt__Server *message , + void *closure_data ) ; +typedef void ( *Ptt__Version_Closure ) + ( const Ptt__Version *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Login_Closure ) + ( const Ptt__Rr__Login *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LoginAck_Closure ) + ( const Ptt__Rr__LoginAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Logout_Closure ) + ( const Ptt__Rr__Logout *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LogoutAck_Closure ) + ( const Ptt__Rr__LogoutAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryGroup_Closure ) + ( const Ptt__Rr__QueryGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryGroupAck_Closure ) + ( const Ptt__Rr__QueryGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryEnterpriseGroup_Closure ) + ( const Ptt__Rr__QueryEnterpriseGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryEnterpriseGroupAck_Closure ) + ( const Ptt__Rr__QueryEnterpriseGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryMembers_Closure ) + ( const Ptt__Rr__QueryMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryMembersAck_Closure ) + ( const Ptt__Rr__QueryMembersAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryMembersAck2_Closure ) + ( const Ptt__Rr__QueryMembersAck2 *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryContacts_Closure ) + ( const Ptt__Rr__QueryContacts *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryContactsAck_Closure ) + ( const Ptt__Rr__QueryContactsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryUsers_Closure ) + ( const Ptt__Rr__QueryUsers *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryUsersAck_Closure ) + ( const Ptt__Rr__QueryUsersAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartments_Closure ) + ( const Ptt__Rr__QueryDepartments *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentsAck_Closure ) + ( const Ptt__Rr__QueryDepartmentsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentMembers_Closure ) + ( const Ptt__Rr__QueryDepartmentMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentMembersAck_Closure ) + ( const Ptt__Rr__QueryDepartmentMembersAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentTree_Closure ) + ( const Ptt__Rr__QueryDepartmentTree *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentTreeAck_Closure ) + ( const Ptt__Rr__QueryDepartmentTreeAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__JoinGroup_Closure ) + ( const Ptt__Rr__JoinGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__JoinGroupAck_Closure ) + ( const Ptt__Rr__JoinGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroup_Closure ) + ( const Ptt__Rr__WatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroupAck_Closure ) + ( const Ptt__Rr__WatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ByeGroup_Closure ) + ( const Ptt__Rr__ByeGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__IgnoreTalk_Closure ) + ( const Ptt__Rr__IgnoreTalk *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ContinueTalk_Closure ) + ( const Ptt__Rr__ContinueTalk *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Dnd_Closure ) + ( const Ptt__Rr__Dnd *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LeaveGroup_Closure ) + ( const Ptt__Rr__LeaveGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LeaveGroupAck_Closure ) + ( const Ptt__Rr__LeaveGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestMic_Closure ) + ( const Ptt__Rr__RequestMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestMicAck_Closure ) + ( const Ptt__Rr__RequestMicAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReleaseMic_Closure ) + ( const Ptt__Rr__ReleaseMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReleaseMicAck_Closure ) + ( const Ptt__Rr__ReleaseMicAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Call_Closure ) + ( const Ptt__Rr__Call *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CallAck_Closure ) + ( const Ptt__Rr__CallAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SingleCall_Closure ) + ( const Ptt__Rr__SingleCall *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SingleCallAck_Closure ) + ( const Ptt__Rr__SingleCallAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QuickDial_Closure ) + ( const Ptt__Rr__QuickDial *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QuickDialAck_Closure ) + ( const Ptt__Rr__QuickDialAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeName_Closure ) + ( const Ptt__Rr__ChangeName *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeNameAck_Closure ) + ( const Ptt__Rr__ChangeNameAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangePassword_Closure ) + ( const Ptt__Rr__ChangePassword *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangePasswordAck_Closure ) + ( const Ptt__Rr__ChangePasswordAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContacts_Closure ) + ( const Ptt__Rr__MakeContacts *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContactsAck_Closure ) + ( const Ptt__Rr__MakeContactsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContactsResponse_Closure ) + ( const Ptt__Rr__MakeContactsResponse *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContactsResponseAck_Closure ) + ( const Ptt__Rr__MakeContactsResponseAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveContacts_Closure ) + ( const Ptt__Rr__RemoveContacts *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveContactsAck_Closure ) + ( const Ptt__Rr__RemoveContactsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReportLocation_Closure ) + ( const Ptt__Rr__ReportLocation *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReportLocationAck_Closure ) + ( const Ptt__Rr__ReportLocationAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Kick_Closure ) + ( const Ptt__Rr__Kick *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__KickAck_Closure ) + ( const Ptt__Rr__KickAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CreateGroup_Closure ) + ( const Ptt__Rr__CreateGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CreateGroupAck_Closure ) + ( const Ptt__Rr__CreateGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DeleteGroup_Closure ) + ( const Ptt__Rr__DeleteGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DeleteGroupAck_Closure ) + ( const Ptt__Rr__DeleteGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ModifyGroup_Closure ) + ( const Ptt__Rr__ModifyGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ModifyGroupAck_Closure ) + ( const Ptt__Rr__ModifyGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__EmpowerMembership_Closure ) + ( const Ptt__Rr__EmpowerMembership *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__EmpowerMembershipAck_Closure ) + ( const Ptt__Rr__EmpowerMembershipAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DepriveMembership_Closure ) + ( const Ptt__Rr__DepriveMembership *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DepriveMembershipAck_Closure ) + ( const Ptt__Rr__DepriveMembershipAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Dispatch_Closure ) + ( const Ptt__Rr__Dispatch *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DispatchAck_Closure ) + ( const Ptt__Rr__DispatchAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ConfigureUser_Closure ) + ( const Ptt__Rr__ConfigureUser *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ConfigureUserAck_Closure ) + ( const Ptt__Rr__ConfigureUserAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__TakeMic_Closure ) + ( const Ptt__Rr__TakeMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__TakeMicAck_Closure ) + ( const Ptt__Rr__TakeMicAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SynchDatabase_Closure ) + ( const Ptt__Rr__SynchDatabase *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SynchDatabaseAck_Closure ) + ( const Ptt__Rr__SynchDatabaseAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__PostWorksheet_Closure ) + ( const Ptt__Rr__PostWorksheet *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__PostWorksheetAck_Closure ) + ( const Ptt__Rr__PostWorksheetAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryServer_Closure ) + ( const Ptt__Rr__QueryServer *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryServerAck_Closure ) + ( const Ptt__Rr__QueryServerAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestConfigure_Closure ) + ( const Ptt__Rr__RequestConfigure *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestConfigureAck_Closure ) + ( const Ptt__Rr__RequestConfigureAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestActivate_Closure ) + ( const Ptt__Rr__RequestActivate *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestActivateAck_Closure ) + ( const Ptt__Rr__RequestActivateAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CustomBroadcast_Closure ) + ( const Ptt__Rr__CustomBroadcast *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CustomBroadcastAck_Closure ) + ( const Ptt__Rr__CustomBroadcastAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeUserRoles_Closure ) + ( const Ptt__Rr__ChangeUserRoles *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeUserRolesAck_Closure ) + ( const Ptt__Rr__ChangeUserRolesAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CurrentTime_Closure ) + ( const Ptt__Rr__CurrentTime *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CurrentTimeAck_Closure ) + ( const Ptt__Rr__CurrentTimeAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__GetWatchGroup_Closure ) + ( const Ptt__Rr__GetWatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__GetWatchGroupAck_Closure ) + ( const Ptt__Rr__GetWatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__AddWatchGroup_Closure ) + ( const Ptt__Rr__AddWatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__AddWatchGroupAck_Closure ) + ( const Ptt__Rr__AddWatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveWatchGroup_Closure ) + ( const Ptt__Rr__RemoveWatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveWatchGroupAck_Closure ) + ( const Ptt__Rr__RemoveWatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroupEx_Closure ) + ( const Ptt__Rr__WatchGroupEx *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroupExAck_Closure ) + ( const Ptt__Rr__WatchGroupExAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Invite_Closure ) + ( const Ptt__Rr__Invite *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__InviteAck_Closure ) + ( const Ptt__Rr__InviteAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ResponseInvite_Closure ) + ( const Ptt__Rr__ResponseInvite *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ResponseInviteAck_Closure ) + ( const Ptt__Rr__ResponseInviteAck *message , + void *closure_data ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\rtpistream.ppp +//PPL Source File Name : src\\rtpistream.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef int protobuf_c_boolean ; +typedef void ( *ProtobufCClosure ) ( const ProtobufCMessage * , void *closure_data ) ; +typedef void ( *ProtobufCMessageInit ) ( const ProtobufCMessageDescriptor* , ProtobufCMessage * ) ; +typedef void ( *ProtobufCServiceDestroy ) ( ProtobufCService * ) ; +typedef uint32_t hal_time_t ; +typedef void ( *pfn_rtp_istream_notify ) ( rtp_istream_t* rtpis , RTP_ISTREAM_EVENT event , void* user ) ; +typedef int16_t spx_int16_t ; +typedef uint16_t spx_uint16_t ; +typedef int32_t spx_int32_t ; +typedef uint32_t spx_uint32_t ; +typedef void ( * pfn_hal_looper_user_free ) ( void* user ) ; +typedef void ( *pfn_looper_event_destroy ) ( hal_looper_event_t* event ) ; +typedef void ( * pfn_hal_looper_event_processer ) ( hal_looper_t* looper , hal_looper_event_t* event , void* user ) ; +typedef void ( * pfn_hal_looper_timer_callback ) ( hal_looper_t* looper , hal_time_t now , void* user ) ; +typedef int ( * pfn_hal_looper_routine ) ( hal_looper_t* looper , void* user ) ; +typedef void ( *pfn_ini_parser ) ( void* user , const char* section , const char* name , const char* value ) ; +typedef int SCL_CHECK_UINT32_1 [ 4 -sizeof ( uint32_t ) ] ; +typedef int SCL_CHECK_UINT32_2 [ sizeof ( uint32_t ) -4 ] ; +typedef int ( *SCL_cbfn_t ) ( const char* , long , void* , void* ) ; +typedef uint32_t ( *SCL_mdfn_t ) ( const char* , size_t ) ; +typedef void* ( *SCL_getfn_t ) ( size_t ) ; +typedef int ( *SCL_putfn_t ) ( void* , size_t ) ; +typedef void* SCL_iterator_t ; +typedef union { + dwsplit_t split ; + uint32_t one ; + } poly32_t ; +typedef void ( *pfn_location_cb ) ( loc_info_t* loc_info , void* user ) ; +typedef uint32_t echat_uid_t ; +typedef uint32_t echat_gid_t ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( *echat_notify_cb_t ) ( void* user , echat_notify_t* notify ) ; +typedef void ( *echat_notify_param_cb_t ) ( void* user , int param , void * arg ) ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( *pfn_network_notify ) ( void* user , boolean succ ) ; +typedef void ( *pfn_sock_notify ) ( hal_sock_t* sock , void* user , int error ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\rtpostream.ppp +//PPL Source File Name : src\\rtpostream.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef int protobuf_c_boolean ; +typedef void ( *ProtobufCClosure ) ( const ProtobufCMessage * , void *closure_data ) ; +typedef void ( *ProtobufCMessageInit ) ( const ProtobufCMessageDescriptor* , ProtobufCMessage * ) ; +typedef void ( *ProtobufCServiceDestroy ) ( ProtobufCService * ) ; +typedef void ( *pfn_rtp_ostream_notify ) ( rtp_ostream_t* rtpos , RTP_OSTREAM_EVENT event , void* user ) ; +typedef void ( * pfn_hal_looper_user_free ) ( void* user ) ; +typedef void ( *pfn_looper_event_destroy ) ( hal_looper_event_t* event ) ; +typedef void ( * pfn_hal_looper_event_processer ) ( hal_looper_t* looper , hal_looper_event_t* event , void* user ) ; +typedef void ( * pfn_hal_looper_timer_callback ) ( hal_looper_t* looper , hal_time_t now , void* user ) ; +typedef int ( * pfn_hal_looper_routine ) ( hal_looper_t* looper , void* user ) ; +typedef void ( *pfn_sound_notify ) ( hal_sound_t* sound , int param , void * user ) ; +typedef void ( *pfn_sound_on_record_stop ) ( hal_sound_t* sound , int param , void * user , const hal_frame_t** frames , size_t count ) ; +typedef void ( *pfn_ini_parser ) ( void* user , const char* section , const char* name , const char* value ) ; +typedef int SCL_CHECK_UINT32_1 [ 4 -sizeof ( uint32_t ) ] ; +typedef int SCL_CHECK_UINT32_2 [ sizeof ( uint32_t ) -4 ] ; +typedef int ( *SCL_cbfn_t ) ( const char* , long , void* , void* ) ; +typedef uint32_t ( *SCL_mdfn_t ) ( const char* , size_t ) ; +typedef void* ( *SCL_getfn_t ) ( size_t ) ; +typedef int ( *SCL_putfn_t ) ( void* , size_t ) ; +typedef void* SCL_iterator_t ; +typedef union { + dwsplit_t split ; + uint32_t one ; + } poly32_t ; +typedef void ( *pfn_location_cb ) ( loc_info_t* loc_info , void* user ) ; +typedef uint32_t echat_uid_t ; +typedef uint32_t echat_gid_t ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( *echat_notify_cb_t ) ( void* user , echat_notify_t* notify ) ; +typedef void ( *echat_notify_param_cb_t ) ( void* user , int param , void * arg ) ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( *pfn_network_notify ) ( void* user , boolean succ ) ; +typedef void ( *pfn_sock_notify ) ( hal_sock_t* sock , void* user , int error ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\rtpstream_d.ppp +//PPL Source File Name : src\\rtpstream_d.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef int SCL_CHECK_UINT32_1 [ 4 -sizeof ( uint32_t ) ] ; +typedef int SCL_CHECK_UINT32_2 [ sizeof ( uint32_t ) -4 ] ; +typedef int ( *SCL_cbfn_t ) ( const char* , long , void* , void* ) ; +typedef uint32_t ( *SCL_mdfn_t ) ( const char* , size_t ) ; +typedef void* ( *SCL_getfn_t ) ( size_t ) ; +typedef int ( *SCL_putfn_t ) ( void* , size_t ) ; +typedef void* SCL_iterator_t ; +typedef unsigned int size_t ; +typedef int protobuf_c_boolean ; +typedef void ( *ProtobufCClosure ) ( const ProtobufCMessage * , void *closure_data ) ; +typedef void ( *ProtobufCMessageInit ) ( const ProtobufCMessageDescriptor* , ProtobufCMessage * ) ; +typedef void ( *ProtobufCServiceDestroy ) ( ProtobufCService * ) ; +typedef uint32_t hal_time_t ; +typedef union { + dwsplit_t split ; + uint32_t one ; + } poly32_t ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\serv.pb-c.ppp +//PPL Source File Name : src\\serv.pb-c.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef va_list __gnuc_va_list ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef int protobuf_c_boolean ; +typedef void ( *ProtobufCClosure ) ( const ProtobufCMessage * , void *closure_data ) ; +typedef void ( *ProtobufCMessageInit ) ( const ProtobufCMessageDescriptor* , ProtobufCMessage * ) ; +typedef void ( *ProtobufCServiceDestroy ) ( ProtobufCService * ) ; +typedef void ( *Ptt__Serv__TxtBroadcast_Closure ) + ( const Ptt__Serv__TxtBroadcast *message , + void *closure_data ) ; +typedef void ( *Ptt__Serv__MobileStandard_Closure ) + ( const Ptt__Serv__MobileStandard *message , + void *closure_data ) ; +typedef void ( *Ptt__Serv__DispatchReconnection_Closure ) + ( const Ptt__Serv__DispatchReconnection *message , + void *closure_data ) ; +typedef void ( *Ptt__Serv__Configuration_Closure ) + ( const Ptt__Serv__Configuration *message , + void *closure_data ) ; +typedef void ( *Ptt__Serv__MultimediaMessage_Closure ) + ( const Ptt__Serv__MultimediaMessage *message , + void *closure_data ) ; +typedef void ( *Ptt__Serv__ExternalServMsg_Closure ) + ( const Ptt__Serv__ExternalServMsg *message , + void *closure_data ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\session.ppp +//PPL Source File Name : src\\session.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef int SCL_CHECK_UINT32_1 [ 4 -sizeof ( uint32_t ) ] ; +typedef int SCL_CHECK_UINT32_2 [ sizeof ( uint32_t ) -4 ] ; +typedef int ( *SCL_cbfn_t ) ( const char* , long , void* , void* ) ; +typedef uint32_t ( *SCL_mdfn_t ) ( const char* , size_t ) ; +typedef void* ( *SCL_getfn_t ) ( size_t ) ; +typedef int ( *SCL_putfn_t ) ( void* , size_t ) ; +typedef void* SCL_iterator_t ; +typedef void ( *pfn_ini_parser ) ( void* user , const char* section , const char* name , const char* value ) ; +typedef uint32_t hal_time_t ; +typedef void ( * pfn_hal_looper_user_free ) ( void* user ) ; +typedef void ( *pfn_looper_event_destroy ) ( hal_looper_event_t* event ) ; +typedef void ( * pfn_hal_looper_event_processer ) ( hal_looper_t* looper , hal_looper_event_t* event , void* user ) ; +typedef void ( * pfn_hal_looper_timer_callback ) ( hal_looper_t* looper , hal_time_t now , void* user ) ; +typedef int ( * pfn_hal_looper_routine ) ( hal_looper_t* looper , void* user ) ; +typedef void ( *pfn_network_notify ) ( void* user , boolean succ ) ; +typedef void ( *pfn_sock_notify ) ( hal_sock_t* sock , void* user , int error ) ; +typedef void ( *pfn_sound_notify ) ( hal_sound_t* sound , int param , void * user ) ; +typedef void ( *pfn_sound_on_record_stop ) ( hal_sound_t* sound , int param , void * user , const hal_frame_t** frames , size_t count ) ; +typedef void ( *hal_device_alarm_timer_cb_t ) ( void* user ) ; +typedef unsigned int size_t ; +typedef int protobuf_c_boolean ; +typedef void ( *ProtobufCClosure ) ( const ProtobufCMessage * , void *closure_data ) ; +typedef void ( *ProtobufCMessageInit ) ( const ProtobufCMessageDescriptor* , ProtobufCMessage * ) ; +typedef void ( *ProtobufCServiceDestroy ) ( ProtobufCService * ) ; +typedef uint32_t echat_uid_t ; +typedef uint32_t echat_gid_t ; +typedef void ( *pfn_location_cb ) ( loc_info_t* loc_info , void* user ) ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( *echat_notify_cb_t ) ( void* user , echat_notify_t* notify ) ; +typedef void ( *echat_notify_param_cb_t ) ( void* user , int param , void * arg ) ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( *pfn_connection_notify ) ( connection_t* connection , CONNECTION_STATUS status , void* user ) ; +typedef void ( *pfn_connection_on_recv_msg_timeout ) ( connection_t* connection , const char* message_name , void* user ) ; +typedef void ( *pfn_registerprocess_cb ) ( const ProtobufCMessage* message , void* user ) ; +typedef void ( *pfn_rtp_istream_notify ) ( rtp_istream_t* rtpis , RTP_ISTREAM_EVENT event , void* user ) ; +typedef void ( *pfn_rtp_ostream_notify ) ( rtp_ostream_t* rtpos , RTP_OSTREAM_EVENT event , void* user ) ; +typedef void ( *pfn_focus_notify ) ( focus_manager_t* fm , void* requestor , boolean focus ) ; +typedef void ( *Ptt__Net__HeartBeat_Closure ) + ( const Ptt__Net__HeartBeat *message , + void *closure_data ) ; +typedef void ( *Ptt__Net__Ping_Closure ) + ( const Ptt__Net__Ping *message , + void *closure_data ) ; +typedef void ( *Ptt__Net__Pong_Closure ) + ( const Ptt__Net__Pong *message , + void *closure_data ) ; +typedef void ( *Ptt__AgentInfo_Closure ) + ( const Ptt__AgentInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__CompanyInfo_Closure ) + ( const Ptt__CompanyInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__UserInfo_Closure ) + ( const Ptt__UserInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__User_Closure ) + ( const Ptt__User *message , + void *closure_data ) ; +typedef void ( *Ptt__Member_Closure ) + ( const Ptt__Member *message , + void *closure_data ) ; +typedef void ( *Ptt__ChatUser_Closure ) + ( const Ptt__ChatUser *message , + void *closure_data ) ; +typedef void ( *Ptt__Group_Closure ) + ( const Ptt__Group *message , + void *closure_data ) ; +typedef void ( *Ptt__GroupMembers_Closure ) + ( const Ptt__GroupMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__GroupMembers2_Closure ) + ( const Ptt__GroupMembers2 *message , + void *closure_data ) ; +typedef void ( *Ptt__Department_Closure ) + ( const Ptt__Department *message , + void *closure_data ) ; +typedef void ( *Ptt__DepartmentMembers_Closure ) + ( const Ptt__DepartmentMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__Coordinate_Closure ) + ( const Ptt__Coordinate *message , + void *closure_data ) ; +typedef void ( *Ptt__Location_Closure ) + ( const Ptt__Location *message , + void *closure_data ) ; +typedef void ( *Ptt__Configure_Closure ) + ( const Ptt__Configure *message , + void *closure_data ) ; +typedef void ( *Ptt__MediaFile_Closure ) + ( const Ptt__MediaFile *message , + void *closure_data ) ; +typedef void ( *Ptt__Worksheet_Closure ) + ( const Ptt__Worksheet *message , + void *closure_data ) ; +typedef void ( *Ptt__DateTime_Closure ) + ( const Ptt__DateTime *message , + void *closure_data ) ; +typedef void ( *Ptt__SystemInfo_Closure ) + ( const Ptt__SystemInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__MobileCardInfo_Closure ) + ( const Ptt__MobileCardInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__Server_Closure ) + ( const Ptt__Server *message , + void *closure_data ) ; +typedef void ( *Ptt__Version_Closure ) + ( const Ptt__Version *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Login_Closure ) + ( const Ptt__Rr__Login *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LoginAck_Closure ) + ( const Ptt__Rr__LoginAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Logout_Closure ) + ( const Ptt__Rr__Logout *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LogoutAck_Closure ) + ( const Ptt__Rr__LogoutAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryGroup_Closure ) + ( const Ptt__Rr__QueryGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryGroupAck_Closure ) + ( const Ptt__Rr__QueryGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryEnterpriseGroup_Closure ) + ( const Ptt__Rr__QueryEnterpriseGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryEnterpriseGroupAck_Closure ) + ( const Ptt__Rr__QueryEnterpriseGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryMembers_Closure ) + ( const Ptt__Rr__QueryMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryMembersAck_Closure ) + ( const Ptt__Rr__QueryMembersAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryMembersAck2_Closure ) + ( const Ptt__Rr__QueryMembersAck2 *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryContacts_Closure ) + ( const Ptt__Rr__QueryContacts *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryContactsAck_Closure ) + ( const Ptt__Rr__QueryContactsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryUsers_Closure ) + ( const Ptt__Rr__QueryUsers *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryUsersAck_Closure ) + ( const Ptt__Rr__QueryUsersAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartments_Closure ) + ( const Ptt__Rr__QueryDepartments *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentsAck_Closure ) + ( const Ptt__Rr__QueryDepartmentsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentMembers_Closure ) + ( const Ptt__Rr__QueryDepartmentMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentMembersAck_Closure ) + ( const Ptt__Rr__QueryDepartmentMembersAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentTree_Closure ) + ( const Ptt__Rr__QueryDepartmentTree *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentTreeAck_Closure ) + ( const Ptt__Rr__QueryDepartmentTreeAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__JoinGroup_Closure ) + ( const Ptt__Rr__JoinGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__JoinGroupAck_Closure ) + ( const Ptt__Rr__JoinGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroup_Closure ) + ( const Ptt__Rr__WatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroupAck_Closure ) + ( const Ptt__Rr__WatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ByeGroup_Closure ) + ( const Ptt__Rr__ByeGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__IgnoreTalk_Closure ) + ( const Ptt__Rr__IgnoreTalk *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ContinueTalk_Closure ) + ( const Ptt__Rr__ContinueTalk *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Dnd_Closure ) + ( const Ptt__Rr__Dnd *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LeaveGroup_Closure ) + ( const Ptt__Rr__LeaveGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LeaveGroupAck_Closure ) + ( const Ptt__Rr__LeaveGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestMic_Closure ) + ( const Ptt__Rr__RequestMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestMicAck_Closure ) + ( const Ptt__Rr__RequestMicAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReleaseMic_Closure ) + ( const Ptt__Rr__ReleaseMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReleaseMicAck_Closure ) + ( const Ptt__Rr__ReleaseMicAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Call_Closure ) + ( const Ptt__Rr__Call *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CallAck_Closure ) + ( const Ptt__Rr__CallAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SingleCall_Closure ) + ( const Ptt__Rr__SingleCall *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SingleCallAck_Closure ) + ( const Ptt__Rr__SingleCallAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QuickDial_Closure ) + ( const Ptt__Rr__QuickDial *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QuickDialAck_Closure ) + ( const Ptt__Rr__QuickDialAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeName_Closure ) + ( const Ptt__Rr__ChangeName *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeNameAck_Closure ) + ( const Ptt__Rr__ChangeNameAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangePassword_Closure ) + ( const Ptt__Rr__ChangePassword *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangePasswordAck_Closure ) + ( const Ptt__Rr__ChangePasswordAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContacts_Closure ) + ( const Ptt__Rr__MakeContacts *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContactsAck_Closure ) + ( const Ptt__Rr__MakeContactsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContactsResponse_Closure ) + ( const Ptt__Rr__MakeContactsResponse *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContactsResponseAck_Closure ) + ( const Ptt__Rr__MakeContactsResponseAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveContacts_Closure ) + ( const Ptt__Rr__RemoveContacts *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveContactsAck_Closure ) + ( const Ptt__Rr__RemoveContactsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReportLocation_Closure ) + ( const Ptt__Rr__ReportLocation *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReportLocationAck_Closure ) + ( const Ptt__Rr__ReportLocationAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Kick_Closure ) + ( const Ptt__Rr__Kick *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__KickAck_Closure ) + ( const Ptt__Rr__KickAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CreateGroup_Closure ) + ( const Ptt__Rr__CreateGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CreateGroupAck_Closure ) + ( const Ptt__Rr__CreateGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DeleteGroup_Closure ) + ( const Ptt__Rr__DeleteGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DeleteGroupAck_Closure ) + ( const Ptt__Rr__DeleteGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ModifyGroup_Closure ) + ( const Ptt__Rr__ModifyGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ModifyGroupAck_Closure ) + ( const Ptt__Rr__ModifyGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__EmpowerMembership_Closure ) + ( const Ptt__Rr__EmpowerMembership *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__EmpowerMembershipAck_Closure ) + ( const Ptt__Rr__EmpowerMembershipAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DepriveMembership_Closure ) + ( const Ptt__Rr__DepriveMembership *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DepriveMembershipAck_Closure ) + ( const Ptt__Rr__DepriveMembershipAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Dispatch_Closure ) + ( const Ptt__Rr__Dispatch *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DispatchAck_Closure ) + ( const Ptt__Rr__DispatchAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ConfigureUser_Closure ) + ( const Ptt__Rr__ConfigureUser *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ConfigureUserAck_Closure ) + ( const Ptt__Rr__ConfigureUserAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__TakeMic_Closure ) + ( const Ptt__Rr__TakeMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__TakeMicAck_Closure ) + ( const Ptt__Rr__TakeMicAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SynchDatabase_Closure ) + ( const Ptt__Rr__SynchDatabase *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SynchDatabaseAck_Closure ) + ( const Ptt__Rr__SynchDatabaseAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__PostWorksheet_Closure ) + ( const Ptt__Rr__PostWorksheet *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__PostWorksheetAck_Closure ) + ( const Ptt__Rr__PostWorksheetAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryServer_Closure ) + ( const Ptt__Rr__QueryServer *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryServerAck_Closure ) + ( const Ptt__Rr__QueryServerAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestConfigure_Closure ) + ( const Ptt__Rr__RequestConfigure *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestConfigureAck_Closure ) + ( const Ptt__Rr__RequestConfigureAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestActivate_Closure ) + ( const Ptt__Rr__RequestActivate *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestActivateAck_Closure ) + ( const Ptt__Rr__RequestActivateAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CustomBroadcast_Closure ) + ( const Ptt__Rr__CustomBroadcast *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CustomBroadcastAck_Closure ) + ( const Ptt__Rr__CustomBroadcastAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeUserRoles_Closure ) + ( const Ptt__Rr__ChangeUserRoles *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeUserRolesAck_Closure ) + ( const Ptt__Rr__ChangeUserRolesAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CurrentTime_Closure ) + ( const Ptt__Rr__CurrentTime *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CurrentTimeAck_Closure ) + ( const Ptt__Rr__CurrentTimeAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__GetWatchGroup_Closure ) + ( const Ptt__Rr__GetWatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__GetWatchGroupAck_Closure ) + ( const Ptt__Rr__GetWatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__AddWatchGroup_Closure ) + ( const Ptt__Rr__AddWatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__AddWatchGroupAck_Closure ) + ( const Ptt__Rr__AddWatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveWatchGroup_Closure ) + ( const Ptt__Rr__RemoveWatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveWatchGroupAck_Closure ) + ( const Ptt__Rr__RemoveWatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroupEx_Closure ) + ( const Ptt__Rr__WatchGroupEx *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroupExAck_Closure ) + ( const Ptt__Rr__WatchGroupExAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Invite_Closure ) + ( const Ptt__Rr__Invite *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__InviteAck_Closure ) + ( const Ptt__Rr__InviteAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ResponseInvite_Closure ) + ( const Ptt__Rr__ResponseInvite *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ResponseInviteAck_Closure ) + ( const Ptt__Rr__ResponseInviteAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__Reconfigured_Closure ) + ( const Ptt__Push__Reconfigured *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__UsersChanged_Closure ) + ( const Ptt__Push__UsersChanged *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__GroupListChanged_Closure ) + ( const Ptt__Push__GroupListChanged *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__MembersChanged__MemberChanged_Closure ) + ( const Ptt__Push__MembersChanged__MemberChanged *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__MembersChanged_Closure ) + ( const Ptt__Push__MembersChanged *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__ContactshipAsked__Request_Closure ) + ( const Ptt__Push__ContactshipAsked__Request *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__ContactshipAsked_Closure ) + ( const Ptt__Push__ContactshipAsked *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__ContactsChanged_Closure ) + ( const Ptt__Push__ContactsChanged *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__MemberGetMic_Closure ) + ( const Ptt__Push__MemberGetMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__MemberLostMic_Closure ) + ( const Ptt__Push__MemberLostMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__LostMic_Closure ) + ( const Ptt__Push__LostMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__CurrentGroup_Closure ) + ( const Ptt__Push__CurrentGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__Kickout_Closure ) + ( const Ptt__Push__Kickout *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__NewWorksheet_Closure ) + ( const Ptt__Push__NewWorksheet *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__CustomBroadcast_Closure ) + ( const Ptt__Push__CustomBroadcast *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__ChangeRoles_Closure ) + ( const Ptt__Push__ChangeRoles *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__Invite_Closure ) + ( const Ptt__Push__Invite *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__ResponseInvite_Closure ) + ( const Ptt__Push__ResponseInvite *message , + void *closure_data ) ; +typedef unsigned int size_t ; +typedef int ( *pfn_session_transaction ) ( session_t* self , SESSION_STATUS status , SESSION_SIGNAL sig ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\sessionset.ppp +//PPL Source File Name : src\\sessionset.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( *pfn_location_cb ) ( loc_info_t* loc_info , void* user ) ; +typedef uint32_t echat_uid_t ; +typedef uint32_t echat_gid_t ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( *echat_notify_cb_t ) ( void* user , echat_notify_t* notify ) ; +typedef void ( *echat_notify_param_cb_t ) ( void* user , int param , void * arg ) ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( * pfn_hal_looper_user_free ) ( void* user ) ; +typedef void ( *pfn_looper_event_destroy ) ( hal_looper_event_t* event ) ; +typedef void ( * pfn_hal_looper_event_processer ) ( hal_looper_t* looper , hal_looper_event_t* event , void* user ) ; +typedef void ( * pfn_hal_looper_timer_callback ) ( hal_looper_t* looper , hal_time_t now , void* user ) ; +typedef int ( * pfn_hal_looper_routine ) ( hal_looper_t* looper , void* user ) ; +typedef void ( *pfn_ini_parser ) ( void* user , const char* section , const char* name , const char* value ) ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef int protobuf_c_boolean ; +typedef void ( *ProtobufCClosure ) ( const ProtobufCMessage * , void *closure_data ) ; +typedef void ( *ProtobufCMessageInit ) ( const ProtobufCMessageDescriptor* , ProtobufCMessage * ) ; +typedef void ( *ProtobufCServiceDestroy ) ( ProtobufCService * ) ; +typedef void ( *pfn_connection_notify ) ( connection_t* connection , CONNECTION_STATUS status , void* user ) ; +typedef void ( *pfn_connection_on_recv_msg_timeout ) ( connection_t* connection , const char* message_name , void* user ) ; +typedef int SCL_CHECK_UINT32_1 [ 4 -sizeof ( uint32_t ) ] ; +typedef int SCL_CHECK_UINT32_2 [ sizeof ( uint32_t ) -4 ] ; +typedef int ( *SCL_cbfn_t ) ( const char* , long , void* , void* ) ; +typedef uint32_t ( *SCL_mdfn_t ) ( const char* , size_t ) ; +typedef void* ( *SCL_getfn_t ) ( size_t ) ; +typedef int ( *SCL_putfn_t ) ( void* , size_t ) ; +typedef void* SCL_iterator_t ; +typedef void ( *pfn_registerprocess_cb ) ( const ProtobufCMessage* message , void* user ) ; +typedef void ( *pfn_network_notify ) ( void* user , boolean succ ) ; +typedef void ( *pfn_sock_notify ) ( hal_sock_t* sock , void* user , int error ) ; +typedef void ( *pfn_sound_notify ) ( hal_sound_t* sound , int param , void * user ) ; +typedef void ( *pfn_sound_on_record_stop ) ( hal_sound_t* sound , int param , void * user , const hal_frame_t** frames , size_t count ) ; +typedef void ( *Ptt__AgentInfo_Closure ) + ( const Ptt__AgentInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__CompanyInfo_Closure ) + ( const Ptt__CompanyInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__UserInfo_Closure ) + ( const Ptt__UserInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__User_Closure ) + ( const Ptt__User *message , + void *closure_data ) ; +typedef void ( *Ptt__Member_Closure ) + ( const Ptt__Member *message , + void *closure_data ) ; +typedef void ( *Ptt__ChatUser_Closure ) + ( const Ptt__ChatUser *message , + void *closure_data ) ; +typedef void ( *Ptt__Group_Closure ) + ( const Ptt__Group *message , + void *closure_data ) ; +typedef void ( *Ptt__GroupMembers_Closure ) + ( const Ptt__GroupMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__GroupMembers2_Closure ) + ( const Ptt__GroupMembers2 *message , + void *closure_data ) ; +typedef void ( *Ptt__Department_Closure ) + ( const Ptt__Department *message , + void *closure_data ) ; +typedef void ( *Ptt__DepartmentMembers_Closure ) + ( const Ptt__DepartmentMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__Coordinate_Closure ) + ( const Ptt__Coordinate *message , + void *closure_data ) ; +typedef void ( *Ptt__Location_Closure ) + ( const Ptt__Location *message , + void *closure_data ) ; +typedef void ( *Ptt__Configure_Closure ) + ( const Ptt__Configure *message , + void *closure_data ) ; +typedef void ( *Ptt__MediaFile_Closure ) + ( const Ptt__MediaFile *message , + void *closure_data ) ; +typedef void ( *Ptt__Worksheet_Closure ) + ( const Ptt__Worksheet *message , + void *closure_data ) ; +typedef void ( *Ptt__DateTime_Closure ) + ( const Ptt__DateTime *message , + void *closure_data ) ; +typedef void ( *Ptt__SystemInfo_Closure ) + ( const Ptt__SystemInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__MobileCardInfo_Closure ) + ( const Ptt__MobileCardInfo *message , + void *closure_data ) ; +typedef void ( *Ptt__Server_Closure ) + ( const Ptt__Server *message , + void *closure_data ) ; +typedef void ( *Ptt__Version_Closure ) + ( const Ptt__Version *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Login_Closure ) + ( const Ptt__Rr__Login *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LoginAck_Closure ) + ( const Ptt__Rr__LoginAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Logout_Closure ) + ( const Ptt__Rr__Logout *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LogoutAck_Closure ) + ( const Ptt__Rr__LogoutAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryGroup_Closure ) + ( const Ptt__Rr__QueryGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryGroupAck_Closure ) + ( const Ptt__Rr__QueryGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryEnterpriseGroup_Closure ) + ( const Ptt__Rr__QueryEnterpriseGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryEnterpriseGroupAck_Closure ) + ( const Ptt__Rr__QueryEnterpriseGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryMembers_Closure ) + ( const Ptt__Rr__QueryMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryMembersAck_Closure ) + ( const Ptt__Rr__QueryMembersAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryMembersAck2_Closure ) + ( const Ptt__Rr__QueryMembersAck2 *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryContacts_Closure ) + ( const Ptt__Rr__QueryContacts *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryContactsAck_Closure ) + ( const Ptt__Rr__QueryContactsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryUsers_Closure ) + ( const Ptt__Rr__QueryUsers *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryUsersAck_Closure ) + ( const Ptt__Rr__QueryUsersAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartments_Closure ) + ( const Ptt__Rr__QueryDepartments *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentsAck_Closure ) + ( const Ptt__Rr__QueryDepartmentsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentMembers_Closure ) + ( const Ptt__Rr__QueryDepartmentMembers *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentMembersAck_Closure ) + ( const Ptt__Rr__QueryDepartmentMembersAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentTree_Closure ) + ( const Ptt__Rr__QueryDepartmentTree *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryDepartmentTreeAck_Closure ) + ( const Ptt__Rr__QueryDepartmentTreeAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__JoinGroup_Closure ) + ( const Ptt__Rr__JoinGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__JoinGroupAck_Closure ) + ( const Ptt__Rr__JoinGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroup_Closure ) + ( const Ptt__Rr__WatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroupAck_Closure ) + ( const Ptt__Rr__WatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ByeGroup_Closure ) + ( const Ptt__Rr__ByeGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__IgnoreTalk_Closure ) + ( const Ptt__Rr__IgnoreTalk *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ContinueTalk_Closure ) + ( const Ptt__Rr__ContinueTalk *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Dnd_Closure ) + ( const Ptt__Rr__Dnd *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LeaveGroup_Closure ) + ( const Ptt__Rr__LeaveGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__LeaveGroupAck_Closure ) + ( const Ptt__Rr__LeaveGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestMic_Closure ) + ( const Ptt__Rr__RequestMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestMicAck_Closure ) + ( const Ptt__Rr__RequestMicAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReleaseMic_Closure ) + ( const Ptt__Rr__ReleaseMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReleaseMicAck_Closure ) + ( const Ptt__Rr__ReleaseMicAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Call_Closure ) + ( const Ptt__Rr__Call *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CallAck_Closure ) + ( const Ptt__Rr__CallAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SingleCall_Closure ) + ( const Ptt__Rr__SingleCall *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SingleCallAck_Closure ) + ( const Ptt__Rr__SingleCallAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QuickDial_Closure ) + ( const Ptt__Rr__QuickDial *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QuickDialAck_Closure ) + ( const Ptt__Rr__QuickDialAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeName_Closure ) + ( const Ptt__Rr__ChangeName *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeNameAck_Closure ) + ( const Ptt__Rr__ChangeNameAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangePassword_Closure ) + ( const Ptt__Rr__ChangePassword *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangePasswordAck_Closure ) + ( const Ptt__Rr__ChangePasswordAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContacts_Closure ) + ( const Ptt__Rr__MakeContacts *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContactsAck_Closure ) + ( const Ptt__Rr__MakeContactsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContactsResponse_Closure ) + ( const Ptt__Rr__MakeContactsResponse *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__MakeContactsResponseAck_Closure ) + ( const Ptt__Rr__MakeContactsResponseAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveContacts_Closure ) + ( const Ptt__Rr__RemoveContacts *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveContactsAck_Closure ) + ( const Ptt__Rr__RemoveContactsAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReportLocation_Closure ) + ( const Ptt__Rr__ReportLocation *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ReportLocationAck_Closure ) + ( const Ptt__Rr__ReportLocationAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Kick_Closure ) + ( const Ptt__Rr__Kick *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__KickAck_Closure ) + ( const Ptt__Rr__KickAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CreateGroup_Closure ) + ( const Ptt__Rr__CreateGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CreateGroupAck_Closure ) + ( const Ptt__Rr__CreateGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DeleteGroup_Closure ) + ( const Ptt__Rr__DeleteGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DeleteGroupAck_Closure ) + ( const Ptt__Rr__DeleteGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ModifyGroup_Closure ) + ( const Ptt__Rr__ModifyGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ModifyGroupAck_Closure ) + ( const Ptt__Rr__ModifyGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__EmpowerMembership_Closure ) + ( const Ptt__Rr__EmpowerMembership *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__EmpowerMembershipAck_Closure ) + ( const Ptt__Rr__EmpowerMembershipAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DepriveMembership_Closure ) + ( const Ptt__Rr__DepriveMembership *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DepriveMembershipAck_Closure ) + ( const Ptt__Rr__DepriveMembershipAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Dispatch_Closure ) + ( const Ptt__Rr__Dispatch *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__DispatchAck_Closure ) + ( const Ptt__Rr__DispatchAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ConfigureUser_Closure ) + ( const Ptt__Rr__ConfigureUser *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ConfigureUserAck_Closure ) + ( const Ptt__Rr__ConfigureUserAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__TakeMic_Closure ) + ( const Ptt__Rr__TakeMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__TakeMicAck_Closure ) + ( const Ptt__Rr__TakeMicAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SynchDatabase_Closure ) + ( const Ptt__Rr__SynchDatabase *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__SynchDatabaseAck_Closure ) + ( const Ptt__Rr__SynchDatabaseAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__PostWorksheet_Closure ) + ( const Ptt__Rr__PostWorksheet *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__PostWorksheetAck_Closure ) + ( const Ptt__Rr__PostWorksheetAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryServer_Closure ) + ( const Ptt__Rr__QueryServer *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__QueryServerAck_Closure ) + ( const Ptt__Rr__QueryServerAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestConfigure_Closure ) + ( const Ptt__Rr__RequestConfigure *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestConfigureAck_Closure ) + ( const Ptt__Rr__RequestConfigureAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestActivate_Closure ) + ( const Ptt__Rr__RequestActivate *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RequestActivateAck_Closure ) + ( const Ptt__Rr__RequestActivateAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CustomBroadcast_Closure ) + ( const Ptt__Rr__CustomBroadcast *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CustomBroadcastAck_Closure ) + ( const Ptt__Rr__CustomBroadcastAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeUserRoles_Closure ) + ( const Ptt__Rr__ChangeUserRoles *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ChangeUserRolesAck_Closure ) + ( const Ptt__Rr__ChangeUserRolesAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CurrentTime_Closure ) + ( const Ptt__Rr__CurrentTime *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__CurrentTimeAck_Closure ) + ( const Ptt__Rr__CurrentTimeAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__GetWatchGroup_Closure ) + ( const Ptt__Rr__GetWatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__GetWatchGroupAck_Closure ) + ( const Ptt__Rr__GetWatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__AddWatchGroup_Closure ) + ( const Ptt__Rr__AddWatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__AddWatchGroupAck_Closure ) + ( const Ptt__Rr__AddWatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveWatchGroup_Closure ) + ( const Ptt__Rr__RemoveWatchGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__RemoveWatchGroupAck_Closure ) + ( const Ptt__Rr__RemoveWatchGroupAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroupEx_Closure ) + ( const Ptt__Rr__WatchGroupEx *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__WatchGroupExAck_Closure ) + ( const Ptt__Rr__WatchGroupExAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__Invite_Closure ) + ( const Ptt__Rr__Invite *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__InviteAck_Closure ) + ( const Ptt__Rr__InviteAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ResponseInvite_Closure ) + ( const Ptt__Rr__ResponseInvite *message , + void *closure_data ) ; +typedef void ( *Ptt__Rr__ResponseInviteAck_Closure ) + ( const Ptt__Rr__ResponseInviteAck *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__Reconfigured_Closure ) + ( const Ptt__Push__Reconfigured *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__UsersChanged_Closure ) + ( const Ptt__Push__UsersChanged *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__GroupListChanged_Closure ) + ( const Ptt__Push__GroupListChanged *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__MembersChanged__MemberChanged_Closure ) + ( const Ptt__Push__MembersChanged__MemberChanged *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__MembersChanged_Closure ) + ( const Ptt__Push__MembersChanged *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__ContactshipAsked__Request_Closure ) + ( const Ptt__Push__ContactshipAsked__Request *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__ContactshipAsked_Closure ) + ( const Ptt__Push__ContactshipAsked *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__ContactsChanged_Closure ) + ( const Ptt__Push__ContactsChanged *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__MemberGetMic_Closure ) + ( const Ptt__Push__MemberGetMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__MemberLostMic_Closure ) + ( const Ptt__Push__MemberLostMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__LostMic_Closure ) + ( const Ptt__Push__LostMic *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__CurrentGroup_Closure ) + ( const Ptt__Push__CurrentGroup *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__Kickout_Closure ) + ( const Ptt__Push__Kickout *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__NewWorksheet_Closure ) + ( const Ptt__Push__NewWorksheet *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__CustomBroadcast_Closure ) + ( const Ptt__Push__CustomBroadcast *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__ChangeRoles_Closure ) + ( const Ptt__Push__ChangeRoles *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__Invite_Closure ) + ( const Ptt__Push__Invite *message , + void *closure_data ) ; +typedef void ( *Ptt__Push__ResponseInvite_Closure ) + ( const Ptt__Push__ResponseInvite *message , + void *closure_data ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\sl_tts.ppp +//PPL Source File Name : src\\sl_tts.c +typedef unsigned int size_t ; +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( * pfn_hal_looper_user_free ) ( void* user ) ; +typedef void ( *pfn_looper_event_destroy ) ( hal_looper_event_t* event ) ; +typedef void ( * pfn_hal_looper_event_processer ) ( hal_looper_t* looper , hal_looper_event_t* event , void* user ) ; +typedef void ( * pfn_hal_looper_timer_callback ) ( hal_looper_t* looper , hal_time_t now , void* user ) ; +typedef int ( * pfn_hal_looper_routine ) ( hal_looper_t* looper , void* user ) ; +typedef void ( *pfn_sound_notify ) ( hal_sound_t* sound , int param , void * user ) ; +typedef void ( *pfn_sound_on_record_stop ) ( hal_sound_t* sound , int param , void * user , const hal_frame_t** frames , size_t count ) ; +typedef void ( *pfn_location_cb ) ( loc_info_t* loc_info , void* user ) ; +typedef uint32_t echat_uid_t ; +typedef uint32_t echat_gid_t ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( *echat_notify_cb_t ) ( void* user , echat_notify_t* notify ) ; +typedef void ( *echat_notify_param_cb_t ) ( void* user , int param , void * arg ) ; +typedef void ( *tts_netnifo_notify_cb ) ( void* arg ) ; +typedef unsigned int size_t ; +typedef void ( *pfn_sl_notify_adapter ) ( void* user , void* notify ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\sl_ui.ppp +//PPL Source File Name : src\\sl_ui.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( * pfn_hal_looper_user_free ) ( void* user ) ; +typedef void ( *pfn_looper_event_destroy ) ( hal_looper_event_t* event ) ; +typedef void ( * pfn_hal_looper_event_processer ) ( hal_looper_t* looper , hal_looper_event_t* event , void* user ) ; +typedef void ( * pfn_hal_looper_timer_callback ) ( hal_looper_t* looper , hal_time_t now , void* user ) ; +typedef int ( * pfn_hal_looper_routine ) ( hal_looper_t* looper , void* user ) ; +typedef unsigned int size_t ; +typedef void ( *pfn_location_cb ) ( loc_info_t* loc_info , void* user ) ; +typedef uint32_t echat_uid_t ; +typedef uint32_t echat_gid_t ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( *echat_notify_cb_t ) ( void* user , echat_notify_t* notify ) ; +typedef void ( *echat_notify_param_cb_t ) ( void* user , int param , void * arg ) ; +typedef void ( *pfn_sl_notify_adapter ) ( void* user , void* notify ) ; +typedef void ( *tts_netnifo_notify_cb ) ( void* arg ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\slmos.ppp +//PPL Source File Name : src\\slmos.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( * pfn_hal_looper_user_free ) ( void* user ) ; +typedef void ( *pfn_looper_event_destroy ) ( hal_looper_event_t* event ) ; +typedef void ( * pfn_hal_looper_event_processer ) ( hal_looper_t* looper , hal_looper_event_t* event , void* user ) ; +typedef void ( * pfn_hal_looper_timer_callback ) ( hal_looper_t* looper , hal_time_t now , void* user ) ; +typedef int ( * pfn_hal_looper_routine ) ( hal_looper_t* looper , void* user ) ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef int SCL_CHECK_UINT32_1 [ 4 -sizeof ( uint32_t ) ] ; +typedef int SCL_CHECK_UINT32_2 [ sizeof ( uint32_t ) -4 ] ; +typedef int ( *SCL_cbfn_t ) ( const char* , long , void* , void* ) ; +typedef uint32_t ( *SCL_mdfn_t ) ( const char* , size_t ) ; +typedef void* ( *SCL_getfn_t ) ( size_t ) ; +typedef int ( *SCL_putfn_t ) ( void* , size_t ) ; +typedef void* SCL_iterator_t ; +typedef void ( *pfn_location_cb ) ( loc_info_t* loc_info , void* user ) ; +typedef uint32_t echat_uid_t ; +typedef uint32_t echat_gid_t ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( *echat_notify_cb_t ) ( void* user , echat_notify_t* notify ) ; +typedef void ( *echat_notify_param_cb_t ) ( void* user , int param , void * arg ) ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\sound.ppp +//PPL Source File Name : src\\sound.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( *pfn_sound_notify ) ( hal_sound_t* sound , int param , void * user ) ; +typedef void ( *pfn_sound_on_record_stop ) ( hal_sound_t* sound , int param , void * user , const hal_frame_t** frames , size_t count ) ; +typedef void ( *pfn_ini_parser ) ( void* user , const char* section , const char* name , const char* value ) ; +typedef void ( * pfn_hal_looper_user_free ) ( void* user ) ; +typedef void ( *pfn_looper_event_destroy ) ( hal_looper_event_t* event ) ; +typedef void ( * pfn_hal_looper_event_processer ) ( hal_looper_t* looper , hal_looper_event_t* event , void* user ) ; +typedef void ( * pfn_hal_looper_timer_callback ) ( hal_looper_t* looper , hal_time_t now , void* user ) ; +typedef int ( * pfn_hal_looper_routine ) ( hal_looper_t* looper , void* user ) ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef int SCL_CHECK_UINT32_1 [ 4 -sizeof ( uint32_t ) ] ; +typedef int SCL_CHECK_UINT32_2 [ sizeof ( uint32_t ) -4 ] ; +typedef int ( *SCL_cbfn_t ) ( const char* , long , void* , void* ) ; +typedef uint32_t ( *SCL_mdfn_t ) ( const char* , size_t ) ; +typedef void* ( *SCL_getfn_t ) ( size_t ) ; +typedef int ( *SCL_putfn_t ) ( void* , size_t ) ; +typedef void* SCL_iterator_t ; +typedef void ( *pfn_dsp_on_play_stop ) ( hal_dsp_t* dsp , void* user ) ; +typedef void ( *pfn_dsp_on_record_stop ) ( hal_dsp_t* dsp , void* user , const hal_frame_t** frames , size_t count ) ; +typedef void ( *pfn_tts_notify ) ( void* user ) ; +typedef void ( *pfn_tone_notify ) ( void* user ) ; +typedef int ( *pfn_sound_action ) ( hal_sound_t* self , sound_action_t* action ) ; +typedef void ( *pfn_sound_action_destroy ) ( sound_action_t** p_action ) ; +typedef void ( *oem_notify_cb_t ) ( void* user ) ; +typedef void ( *oem_stream_dB_cb_t ) ( int dB , void* user ) ; +typedef void ( *oem_stream_has_data_cb_t ) ( const void* data , size_t size , void* user ) ; +typedef void ( *oem_tone_cb_t ) ( void* user ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\speex_jitter.ppp +//PPL Source File Name : src\\speex_jitter.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef int16_t spx_int16_t ; +typedef uint16_t spx_uint16_t ; +typedef int32_t spx_int32_t ; +typedef uint32_t spx_uint32_t ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\stackbuf.ppp +//PPL Source File Name : src\\stackbuf.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef int SCL_CHECK_UINT32_1 [ 4 -sizeof ( uint32_t ) ] ; +typedef int SCL_CHECK_UINT32_2 [ sizeof ( uint32_t ) -4 ] ; +typedef int ( *SCL_cbfn_t ) ( const char* , long , void* , void* ) ; +typedef uint32_t ( *SCL_mdfn_t ) ( const char* , size_t ) ; +typedef void* ( *SCL_getfn_t ) ( size_t ) ; +typedef int ( *SCL_putfn_t ) ( void* , size_t ) ; +typedef void* SCL_iterator_t ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\symbol.ppp +//PPL Source File Name : src\\symbol.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef int SCL_CHECK_UINT32_1 [ 4 -sizeof ( uint32_t ) ] ; +typedef int SCL_CHECK_UINT32_2 [ sizeof ( uint32_t ) -4 ] ; +typedef int ( *SCL_cbfn_t ) ( const char* , long , void* , void* ) ; +typedef uint32_t ( *SCL_mdfn_t ) ( const char* , size_t ) ; +typedef void* ( *SCL_getfn_t ) ( size_t ) ; +typedef int ( *SCL_putfn_t ) ( void* , size_t ) ; +typedef void* SCL_iterator_t ; +typedef union U_symbol_t + { + long integer ; + double real ; + void* pointer ; + } + U_symbol_t ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\terminal.pb-c.ppp +//PPL Source File Name : src\\terminal.pb-c.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef va_list __gnuc_va_list ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef int protobuf_c_boolean ; +typedef void ( *ProtobufCClosure ) ( const ProtobufCMessage * , void *closure_data ) ; +typedef void ( *ProtobufCMessageInit ) ( const ProtobufCMessageDescriptor* , ProtobufCMessage * ) ; +typedef void ( *ProtobufCServiceDestroy ) ( ProtobufCService * ) ; +typedef void ( *Terminal__Status__TerminalStatusDetail_Closure ) + ( const Terminal__Status__TerminalStatusDetail *message , + void *closure_data ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\timet.ppp +//PPL Source File Name : src\\timet.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( *oem_notify_cb_t ) ( void* user ) ; +typedef void ( *oem_stream_dB_cb_t ) ( int dB , void* user ) ; +typedef void ( *oem_stream_has_data_cb_t ) ( const void* data , size_t size , void* user ) ; +typedef void ( *oem_tone_cb_t ) ( void* user ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\tone.ppp +//PPL Source File Name : src\\tone.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( * pfn_hal_looper_user_free ) ( void* user ) ; +typedef void ( *pfn_looper_event_destroy ) ( hal_looper_event_t* event ) ; +typedef void ( * pfn_hal_looper_event_processer ) ( hal_looper_t* looper , hal_looper_event_t* event , void* user ) ; +typedef void ( * pfn_hal_looper_timer_callback ) ( hal_looper_t* looper , hal_time_t now , void* user ) ; +typedef int ( * pfn_hal_looper_routine ) ( hal_looper_t* looper , void* user ) ; +typedef void ( *pfn_ini_parser ) ( void* user , const char* section , const char* name , const char* value ) ; +typedef void ( *hal_device_alarm_timer_cb_t ) ( void* user ) ; +typedef void ( *pfn_tone_notify ) ( void* user ) ; +typedef void ( *oem_notify_cb_t ) ( void* user ) ; +typedef void ( *oem_stream_dB_cb_t ) ( int dB , void* user ) ; +typedef void ( *oem_stream_has_data_cb_t ) ( const void* data , size_t size , void* user ) ; +typedef void ( *oem_tone_cb_t ) ( void* user ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\tree.ppp +//PPL Source File Name : src\\tree.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef int SCL_CHECK_UINT32_1 [ 4 -sizeof ( uint32_t ) ] ; +typedef int SCL_CHECK_UINT32_2 [ sizeof ( uint32_t ) -4 ] ; +typedef int ( *SCL_cbfn_t ) ( const char* , long , void* , void* ) ; +typedef uint32_t ( *SCL_mdfn_t ) ( const char* , size_t ) ; +typedef void* ( *SCL_getfn_t ) ( size_t ) ; +typedef int ( *SCL_putfn_t ) ( void* , size_t ) ; +typedef void* SCL_iterator_t ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\tts.ppp +//PPL Source File Name : src\\tts.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( * pfn_hal_looper_user_free ) ( void* user ) ; +typedef void ( *pfn_looper_event_destroy ) ( hal_looper_event_t* event ) ; +typedef void ( * pfn_hal_looper_event_processer ) ( hal_looper_t* looper , hal_looper_event_t* event , void* user ) ; +typedef void ( * pfn_hal_looper_timer_callback ) ( hal_looper_t* looper , hal_time_t now , void* user ) ; +typedef int ( * pfn_hal_looper_routine ) ( hal_looper_t* looper , void* user ) ; +typedef void ( *pfn_ini_parser ) ( void* user , const char* section , const char* name , const char* value ) ; +typedef void ( *hal_device_alarm_timer_cb_t ) ( void* user ) ; +typedef void ( *pfn_tts_notify ) ( void* user ) ; +typedef void ( *oem_notify_cb_t ) ( void* user ) ; +typedef void ( *oem_stream_dB_cb_t ) ( int dB , void* user ) ; +typedef void ( *oem_stream_has_data_cb_t ) ( const void* data , size_t size , void* user ) ; +typedef void ( *oem_tone_cb_t ) ( void* user ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\vector.ppp +//PPL Source File Name : src\\vector.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef int SCL_CHECK_UINT32_1 [ 4 -sizeof ( uint32_t ) ] ; +typedef int SCL_CHECK_UINT32_2 [ sizeof ( uint32_t ) -4 ] ; +typedef int ( *SCL_cbfn_t ) ( const char* , long , void* , void* ) ; +typedef uint32_t ( *SCL_mdfn_t ) ( const char* , size_t ) ; +typedef void* ( *SCL_getfn_t ) ( size_t ) ; +typedef int ( *SCL_putfn_t ) ( void* , size_t ) ; +typedef void* SCL_iterator_t ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\vocodec.ppp +//PPL Source File Name : src\\vocodec.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( * pfn_hal_looper_user_free ) ( void* user ) ; +typedef void ( *pfn_looper_event_destroy ) ( hal_looper_event_t* event ) ; +typedef void ( * pfn_hal_looper_event_processer ) ( hal_looper_t* looper , hal_looper_event_t* event , void* user ) ; +typedef void ( * pfn_hal_looper_timer_callback ) ( hal_looper_t* looper , hal_time_t now , void* user ) ; +typedef int ( * pfn_hal_looper_routine ) ( hal_looper_t* looper , void* user ) ; +typedef void ( *pfn_ini_parser ) ( void* user , const char* section , const char* name , const char* value ) ; +typedef void VO_VOID ; +typedef unsigned char VO_U8 ; +typedef unsigned char VO_BYTE ; +typedef signed char VO_S8 ; +typedef char VO_CHAR ; +typedef unsigned short VO_U16 ; +typedef signed short VO_S16 ; +typedef unsigned long VO_U32 ; +typedef signed long VO_S32 ; +typedef unsigned long long VO_U64 ; +typedef signed long long VO_S64 ; +typedef void* VO_PTR ; +typedef const void* VO_CPTR ; +typedef void* VO_HANDLE ; +typedef char* VO_PCHAR ; +typedef unsigned char* VO_PBYTE ; +typedef char* VO_PTTCHAR ; +typedef char VO_TTCHAR ; +typedef int ( * VOThreadCreate ) ( void ** pHandle , int * pID , void * fProc , void * pParam ) ; +typedef int ( * VOLOG_PRINT ) ( void * pUserData , int nLevel , char * pLogText ) ; +typedef VO_S32 ( * VOAUDIOCALLBACKPROC ) ( VO_PTR pUserData , VO_CODECBUFFER * pAudioBuffer , VO_AUDIO_FORMAT * pAudioFormat , VO_S32 nStart ) ; +typedef unsigned int size_t ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\a2lsp.ppp +//PPL Source File Name : src\\evrc\\a2lsp.c +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef long int Longword ; +typedef short int Shortword ; +typedef short int ShortwordRom ; +typedef long int LongwordRom ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\acb_ex.ppp +//PPL Source File Name : src\\evrc\\acb_ex.c +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +typedef void VO_VOID ; +typedef unsigned char VO_U8 ; +typedef unsigned char VO_BYTE ; +typedef signed char VO_S8 ; +typedef char VO_CHAR ; +typedef unsigned short VO_U16 ; +typedef signed short VO_S16 ; +typedef unsigned long VO_U32 ; +typedef signed long VO_S32 ; +typedef unsigned long long VO_U64 ; +typedef signed long long VO_S64 ; +typedef void* VO_PTR ; +typedef const void* VO_CPTR ; +typedef void* VO_HANDLE ; +typedef char* VO_PCHAR ; +typedef unsigned char* VO_PBYTE ; +typedef char* VO_PTTCHAR ; +typedef char VO_TTCHAR ; +typedef int ( * VOThreadCreate ) ( void ** pHandle , int * pID , void * fProc , void * pParam ) ; +typedef int ( * VOLOG_PRINT ) ( void * pUserData , int nLevel , char * pLogText ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\acelp_pf.ppp +//PPL Source File Name : src\\evrc\\acelp_pf.c +typedef long int Longword ; +typedef short int Shortword ; +typedef short int ShortwordRom ; +typedef long int LongwordRom ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\apf.ppp +//PPL Source File Name : src\\evrc\\apf.c +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +typedef void VO_VOID ; +typedef unsigned char VO_U8 ; +typedef unsigned char VO_BYTE ; +typedef signed char VO_S8 ; +typedef char VO_CHAR ; +typedef unsigned short VO_U16 ; +typedef signed short VO_S16 ; +typedef unsigned long VO_U32 ; +typedef signed long VO_S32 ; +typedef unsigned long long VO_U64 ; +typedef signed long long VO_S64 ; +typedef void* VO_PTR ; +typedef const void* VO_CPTR ; +typedef void* VO_HANDLE ; +typedef char* VO_PCHAR ; +typedef unsigned char* VO_PBYTE ; +typedef char* VO_PTTCHAR ; +typedef char VO_TTCHAR ; +typedef int ( * VOThreadCreate ) ( void ** pHandle , int * pID , void * fProc , void * pParam ) ; +typedef int ( * VOLOG_PRINT ) ( void * pUserData , int nLevel , char * pLogText ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\auto.ppp +//PPL Source File Name : src\\evrc\\auto.c +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef void VO_VOID ; +typedef unsigned char VO_U8 ; +typedef unsigned char VO_BYTE ; +typedef signed char VO_S8 ; +typedef char VO_CHAR ; +typedef unsigned short VO_U16 ; +typedef signed short VO_S16 ; +typedef unsigned long VO_U32 ; +typedef signed long VO_S32 ; +typedef unsigned long long VO_U64 ; +typedef signed long long VO_S64 ; +typedef void* VO_PTR ; +typedef const void* VO_CPTR ; +typedef void* VO_HANDLE ; +typedef char* VO_PCHAR ; +typedef unsigned char* VO_PBYTE ; +typedef char* VO_PTTCHAR ; +typedef char VO_TTCHAR ; +typedef int ( * VOThreadCreate ) ( void ** pHandle , int * pID , void * fProc , void * pParam ) ; +typedef int ( * VOLOG_PRINT ) ( void * pUserData , int nLevel , char * pLogText ) ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\bitpack.ppp +//PPL Source File Name : src\\evrc\\bitpack.c +typedef unsigned int size_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\bitupack.ppp +//PPL Source File Name : src\\evrc\\bitupack.c +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\bl_intrp.ppp +//PPL Source File Name : src\\evrc\\bl_intrp.c +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\bqiir.ppp +//PPL Source File Name : src\\evrc\\bqiir.c +typedef unsigned int size_t ; +typedef long int Longword ; +typedef short int Shortword ; +typedef short int ShortwordRom ; +typedef long int LongwordRom ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef void VO_VOID ; +typedef unsigned char VO_U8 ; +typedef unsigned char VO_BYTE ; +typedef signed char VO_S8 ; +typedef char VO_CHAR ; +typedef unsigned short VO_U16 ; +typedef signed short VO_S16 ; +typedef unsigned long VO_U32 ; +typedef signed long VO_S32 ; +typedef unsigned long long VO_U64 ; +typedef signed long long VO_S64 ; +typedef void* VO_PTR ; +typedef const void* VO_CPTR ; +typedef void* VO_HANDLE ; +typedef char* VO_PCHAR ; +typedef unsigned char* VO_PBYTE ; +typedef char* VO_PTTCHAR ; +typedef char VO_TTCHAR ; +typedef int ( * VOThreadCreate ) ( void ** pHandle , int * pID , void * fProc , void * pParam ) ; +typedef int ( * VOLOG_PRINT ) ( void * pUserData , int nLevel , char * pLogText ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\c3_10pf.ppp +//PPL Source File Name : src\\evrc\\c3_10pf.c +typedef long int Longword ; +typedef short int Shortword ; +typedef short int ShortwordRom ; +typedef long int LongwordRom ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\c8_35pf.ppp +//PPL Source File Name : src\\evrc\\c8_35pf.c +typedef long int Longword ; +typedef short int Shortword ; +typedef short int ShortwordRom ; +typedef long int LongwordRom ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\cmnMemory.ppp +//PPL Source File Name : src\\evrc\\cmnMemory.c +typedef void VO_VOID ; +typedef unsigned char VO_U8 ; +typedef unsigned char VO_BYTE ; +typedef signed char VO_S8 ; +typedef char VO_CHAR ; +typedef unsigned short VO_U16 ; +typedef signed short VO_S16 ; +typedef unsigned long VO_U32 ; +typedef signed long VO_S32 ; +typedef unsigned long long VO_U64 ; +typedef signed long long VO_S64 ; +typedef void* VO_PTR ; +typedef const void* VO_CPTR ; +typedef void* VO_HANDLE ; +typedef char* VO_PCHAR ; +typedef unsigned char* VO_PBYTE ; +typedef char* VO_PTTCHAR ; +typedef char VO_TTCHAR ; +typedef int ( * VOThreadCreate ) ( void ** pHandle , int * pID , void * fProc , void * pParam ) ; +typedef int ( * VOLOG_PRINT ) ( void * pUserData , int nLevel , char * pLogText ) ; +typedef unsigned int size_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\comacb.ppp +//PPL Source File Name : src\\evrc\\comacb.c +typedef unsigned int size_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef void VO_VOID ; +typedef unsigned char VO_U8 ; +typedef unsigned char VO_BYTE ; +typedef signed char VO_S8 ; +typedef char VO_CHAR ; +typedef unsigned short VO_U16 ; +typedef signed short VO_S16 ; +typedef unsigned long VO_U32 ; +typedef signed long VO_S32 ; +typedef unsigned long long VO_U64 ; +typedef signed long long VO_S64 ; +typedef void* VO_PTR ; +typedef const void* VO_CPTR ; +typedef void* VO_HANDLE ; +typedef char* VO_PCHAR ; +typedef unsigned char* VO_PBYTE ; +typedef char* VO_PTTCHAR ; +typedef char VO_TTCHAR ; +typedef int ( * VOThreadCreate ) ( void ** pHandle , int * pID , void * fProc , void * pParam ) ; +typedef int ( * VOLOG_PRINT ) ( void * pUserData , int nLevel , char * pLogText ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\convh.ppp +//PPL Source File Name : src\\evrc\\convh.c +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\cshift.ppp +//PPL Source File Name : src\\evrc\\cshift.c +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +typedef void VO_VOID ; +typedef unsigned char VO_U8 ; +typedef unsigned char VO_BYTE ; +typedef signed char VO_S8 ; +typedef char VO_CHAR ; +typedef unsigned short VO_U16 ; +typedef signed short VO_S16 ; +typedef unsigned long VO_U32 ; +typedef signed long VO_S32 ; +typedef unsigned long long VO_U64 ; +typedef signed long long VO_S64 ; +typedef void* VO_PTR ; +typedef const void* VO_CPTR ; +typedef void* VO_HANDLE ; +typedef char* VO_PCHAR ; +typedef unsigned char* VO_PBYTE ; +typedef char* VO_PTTCHAR ; +typedef char VO_TTCHAR ; +typedef int ( * VOThreadCreate ) ( void ** pHandle , int * pID , void * fProc , void * pParam ) ; +typedef int ( * VOLOG_PRINT ) ( void * pUserData , int nLevel , char * pLogText ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\d_fer.ppp +//PPL Source File Name : src\\evrc\\d_fer.c +typedef unsigned int size_t ; +typedef unsigned int size_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +typedef void VO_VOID ; +typedef unsigned char VO_U8 ; +typedef unsigned char VO_BYTE ; +typedef signed char VO_S8 ; +typedef char VO_CHAR ; +typedef unsigned short VO_U16 ; +typedef signed short VO_S16 ; +typedef unsigned long VO_U32 ; +typedef signed long VO_S32 ; +typedef unsigned long long VO_U64 ; +typedef signed long long VO_S64 ; +typedef void* VO_PTR ; +typedef const void* VO_CPTR ; +typedef void* VO_HANDLE ; +typedef char* VO_PCHAR ; +typedef unsigned char* VO_PBYTE ; +typedef char* VO_PTTCHAR ; +typedef char VO_TTCHAR ; +typedef int ( * VOThreadCreate ) ( void ** pHandle , int * pID , void * fProc , void * pParam ) ; +typedef int ( * VOLOG_PRINT ) ( void * pUserData , int nLevel , char * pLogText ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\d_no_fer.ppp +//PPL Source File Name : src\\evrc\\d_no_fer.c +typedef unsigned int size_t ; +typedef unsigned int size_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +typedef void VO_VOID ; +typedef unsigned char VO_U8 ; +typedef unsigned char VO_BYTE ; +typedef signed char VO_S8 ; +typedef char VO_CHAR ; +typedef unsigned short VO_U16 ; +typedef signed short VO_S16 ; +typedef unsigned long VO_U32 ; +typedef signed long VO_S32 ; +typedef unsigned long long VO_U64 ; +typedef signed long long VO_S64 ; +typedef void* VO_PTR ; +typedef const void* VO_CPTR ; +typedef void* VO_HANDLE ; +typedef char* VO_PCHAR ; +typedef unsigned char* VO_PBYTE ; +typedef char* VO_PTTCHAR ; +typedef char VO_TTCHAR ; +typedef int ( * VOThreadCreate ) ( void ** pHandle , int * pID , void * fProc , void * pParam ) ; +typedef int ( * VOLOG_PRINT ) ( void * pUserData , int nLevel , char * pLogText ) ; +typedef long int Longword ; +typedef short int Shortword ; +typedef short int ShortwordRom ; +typedef long int LongwordRom ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\d_rate_1.ppp +//PPL Source File Name : src\\evrc\\d_rate_1.c +typedef unsigned int size_t ; +typedef unsigned int size_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +typedef void VO_VOID ; +typedef unsigned char VO_U8 ; +typedef unsigned char VO_BYTE ; +typedef signed char VO_S8 ; +typedef char VO_CHAR ; +typedef unsigned short VO_U16 ; +typedef signed short VO_S16 ; +typedef unsigned long VO_U32 ; +typedef signed long VO_S32 ; +typedef unsigned long long VO_U64 ; +typedef signed long long VO_S64 ; +typedef void* VO_PTR ; +typedef const void* VO_CPTR ; +typedef void* VO_HANDLE ; +typedef char* VO_PCHAR ; +typedef unsigned char* VO_PBYTE ; +typedef char* VO_PTTCHAR ; +typedef char VO_TTCHAR ; +typedef int ( * VOThreadCreate ) ( void ** pHandle , int * pID , void * fProc , void * pParam ) ; +typedef int ( * VOLOG_PRINT ) ( void * pUserData , int nLevel , char * pLogText ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\d3_10pf.ppp +//PPL Source File Name : src\\evrc\\d3_10pf.c +typedef long int Longword ; +typedef short int Shortword ; +typedef short int ShortwordRom ; +typedef long int LongwordRom ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\d8_35pf.ppp +//PPL Source File Name : src\\evrc\\d8_35pf.c +typedef long int Longword ; +typedef short int Shortword ; +typedef short int ShortwordRom ; +typedef long int LongwordRom ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\decode.ppp +//PPL Source File Name : src\\evrc\\decode.c +typedef unsigned int size_t ; +typedef unsigned int size_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +typedef void VO_VOID ; +typedef unsigned char VO_U8 ; +typedef unsigned char VO_BYTE ; +typedef signed char VO_S8 ; +typedef char VO_CHAR ; +typedef unsigned short VO_U16 ; +typedef signed short VO_S16 ; +typedef unsigned long VO_U32 ; +typedef signed long VO_S32 ; +typedef unsigned long long VO_U64 ; +typedef signed long long VO_S64 ; +typedef void* VO_PTR ; +typedef const void* VO_CPTR ; +typedef void* VO_HANDLE ; +typedef char* VO_PCHAR ; +typedef unsigned char* VO_PBYTE ; +typedef char* VO_PTTCHAR ; +typedef char VO_TTCHAR ; +typedef int ( * VOThreadCreate ) ( void ** pHandle , int * pID , void * fProc , void * pParam ) ; +typedef int ( * VOLOG_PRINT ) ( void * pUserData , int nLevel , char * pLogText ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\durbin.ppp +//PPL Source File Name : src\\evrc\\durbin.c +typedef unsigned int size_t ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\encode.ppp +//PPL Source File Name : src\\evrc\\encode.c +typedef unsigned int size_t ; +typedef unsigned int size_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +typedef void VO_VOID ; +typedef unsigned char VO_U8 ; +typedef unsigned char VO_BYTE ; +typedef signed char VO_S8 ; +typedef char VO_CHAR ; +typedef unsigned short VO_U16 ; +typedef signed short VO_S16 ; +typedef unsigned long VO_U32 ; +typedef signed long VO_S32 ; +typedef unsigned long long VO_U64 ; +typedef signed long long VO_S64 ; +typedef void* VO_PTR ; +typedef const void* VO_CPTR ; +typedef void* VO_HANDLE ; +typedef char* VO_PCHAR ; +typedef unsigned char* VO_PBYTE ; +typedef char* VO_PTTCHAR ; +typedef char VO_TTCHAR ; +typedef int ( * VOThreadCreate ) ( void ** pHandle , int * pID , void * fProc , void * pParam ) ; +typedef int ( * VOLOG_PRINT ) ( void * pUserData , int nLevel , char * pLogText ) ; +typedef long int Longword ; +typedef short int Shortword ; +typedef short int ShortwordRom ; +typedef long int LongwordRom ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\evrcc.ppp +//PPL Source File Name : src\\evrc\\evrcc.c +typedef unsigned int size_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef void VO_VOID ; +typedef unsigned char VO_U8 ; +typedef unsigned char VO_BYTE ; +typedef signed char VO_S8 ; +typedef char VO_CHAR ; +typedef unsigned short VO_U16 ; +typedef signed short VO_S16 ; +typedef unsigned long VO_U32 ; +typedef signed long VO_S32 ; +typedef unsigned long long VO_U64 ; +typedef signed long long VO_S64 ; +typedef void* VO_PTR ; +typedef const void* VO_CPTR ; +typedef void* VO_HANDLE ; +typedef char* VO_PCHAR ; +typedef unsigned char* VO_PBYTE ; +typedef char* VO_PTTCHAR ; +typedef char VO_TTCHAR ; +typedef int ( * VOThreadCreate ) ( void ** pHandle , int * pID , void * fProc , void * pParam ) ; +typedef int ( * VOLOG_PRINT ) ( void * pUserData , int nLevel , char * pLogText ) ; +typedef VO_S32 ( * VOAUDIOCALLBACKPROC ) ( VO_PTR pUserData , VO_CODECBUFFER * pAudioBuffer , VO_AUDIO_FORMAT * pAudioFormat , VO_S32 nStart ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\fcbgq.ppp +//PPL Source File Name : src\\evrc\\fcbgq.c +typedef unsigned int size_t ; +typedef unsigned int size_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +typedef void VO_VOID ; +typedef unsigned char VO_U8 ; +typedef unsigned char VO_BYTE ; +typedef signed char VO_S8 ; +typedef char VO_CHAR ; +typedef unsigned short VO_U16 ; +typedef signed short VO_S16 ; +typedef unsigned long VO_U32 ; +typedef signed long VO_S32 ; +typedef unsigned long long VO_U64 ; +typedef signed long long VO_S64 ; +typedef void* VO_PTR ; +typedef const void* VO_CPTR ; +typedef void* VO_HANDLE ; +typedef char* VO_PCHAR ; +typedef unsigned char* VO_PBYTE ; +typedef char* VO_PTTCHAR ; +typedef char VO_TTCHAR ; +typedef int ( * VOThreadCreate ) ( void ** pHandle , int * pID , void * fProc , void * pParam ) ; +typedef int ( * VOLOG_PRINT ) ( void * pUserData , int nLevel , char * pLogText ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\fer.ppp +//PPL Source File Name : src\\evrc\\fer.c +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef void VO_VOID ; +typedef unsigned char VO_U8 ; +typedef unsigned char VO_BYTE ; +typedef signed char VO_S8 ; +typedef char VO_CHAR ; +typedef unsigned short VO_U16 ; +typedef signed short VO_S16 ; +typedef unsigned long VO_U32 ; +typedef signed long VO_S32 ; +typedef unsigned long long VO_U64 ; +typedef signed long long VO_S64 ; +typedef void* VO_PTR ; +typedef const void* VO_CPTR ; +typedef void* VO_HANDLE ; +typedef char* VO_PCHAR ; +typedef unsigned char* VO_PBYTE ; +typedef char* VO_PTTCHAR ; +typedef char VO_TTCHAR ; +typedef int ( * VOThreadCreate ) ( void ** pHandle , int * pID , void * fProc , void * pParam ) ; +typedef int ( * VOLOG_PRINT ) ( void * pUserData , int nLevel , char * pLogText ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\filter.ppp +//PPL Source File Name : src\\evrc\\filter.c +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\fndppf.ppp +//PPL Source File Name : src\\evrc\\fndppf.c +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef void VO_VOID ; +typedef unsigned char VO_U8 ; +typedef unsigned char VO_BYTE ; +typedef signed char VO_S8 ; +typedef char VO_CHAR ; +typedef unsigned short VO_U16 ; +typedef signed short VO_S16 ; +typedef unsigned long VO_U32 ; +typedef signed long VO_S32 ; +typedef unsigned long long VO_U64 ; +typedef signed long long VO_S64 ; +typedef void* VO_PTR ; +typedef const void* VO_CPTR ; +typedef void* VO_HANDLE ; +typedef char* VO_PCHAR ; +typedef unsigned char* VO_PBYTE ; +typedef char* VO_PTTCHAR ; +typedef char VO_TTCHAR ; +typedef int ( * VOThreadCreate ) ( void ** pHandle , int * pID , void * fProc , void * pParam ) ; +typedef int ( * VOLOG_PRINT ) ( void * pUserData , int nLevel , char * pLogText ) ; +typedef long int Longword ; +typedef short int Shortword ; +typedef short int ShortwordRom ; +typedef long int LongwordRom ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\getext1k.ppp +//PPL Source File Name : src\\evrc\\getext1k.c +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\getgain.ppp +//PPL Source File Name : src\\evrc\\getgain.c +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +typedef void VO_VOID ; +typedef unsigned char VO_U8 ; +typedef unsigned char VO_BYTE ; +typedef signed char VO_S8 ; +typedef char VO_CHAR ; +typedef unsigned short VO_U16 ; +typedef signed short VO_S16 ; +typedef unsigned long VO_U32 ; +typedef signed long VO_S32 ; +typedef unsigned long long VO_U64 ; +typedef signed long long VO_S64 ; +typedef void* VO_PTR ; +typedef const void* VO_CPTR ; +typedef void* VO_HANDLE ; +typedef char* VO_PCHAR ; +typedef unsigned char* VO_PBYTE ; +typedef char* VO_PTTCHAR ; +typedef char VO_TTCHAR ; +typedef int ( * VOThreadCreate ) ( void ** pHandle , int * pID , void * fProc , void * pParam ) ; +typedef int ( * VOLOG_PRINT ) ( void * pUserData , int nLevel , char * pLogText ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\getres.ppp +//PPL Source File Name : src\\evrc\\getres.c +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\impulser.ppp +//PPL Source File Name : src\\evrc\\impulser.c +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +typedef void VO_VOID ; +typedef unsigned char VO_U8 ; +typedef unsigned char VO_BYTE ; +typedef signed char VO_S8 ; +typedef char VO_CHAR ; +typedef unsigned short VO_U16 ; +typedef signed short VO_S16 ; +typedef unsigned long VO_U32 ; +typedef signed long VO_S32 ; +typedef unsigned long long VO_U64 ; +typedef signed long long VO_S64 ; +typedef void* VO_PTR ; +typedef const void* VO_CPTR ; +typedef void* VO_HANDLE ; +typedef char* VO_PCHAR ; +typedef unsigned char* VO_PBYTE ; +typedef char* VO_PTTCHAR ; +typedef char VO_TTCHAR ; +typedef int ( * VOThreadCreate ) ( void ** pHandle , int * pID , void * fProc , void * pParam ) ; +typedef int ( * VOLOG_PRINT ) ( void * pUserData , int nLevel , char * pLogText ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\interpol.ppp +//PPL Source File Name : src\\evrc\\interpol.c +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\intr_cos.ppp +//PPL Source File Name : src\\evrc\\intr_cos.c +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\inv_sqrt_evrcc.ppp +//PPL Source File Name : src\\evrc\\inv_sqrt_evrcc.c +typedef long int Longword ; +typedef short int Shortword ; +typedef short int ShortwordRom ; +typedef long int LongwordRom ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\lpcana.ppp +//PPL Source File Name : src\\evrc\\lpcana.c +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +typedef void VO_VOID ; +typedef unsigned char VO_U8 ; +typedef unsigned char VO_BYTE ; +typedef signed char VO_S8 ; +typedef char VO_CHAR ; +typedef unsigned short VO_U16 ; +typedef signed short VO_S16 ; +typedef unsigned long VO_U32 ; +typedef signed long VO_S32 ; +typedef unsigned long long VO_U64 ; +typedef signed long long VO_S64 ; +typedef void* VO_PTR ; +typedef const void* VO_CPTR ; +typedef void* VO_HANDLE ; +typedef char* VO_PCHAR ; +typedef unsigned char* VO_PBYTE ; +typedef char* VO_PTTCHAR ; +typedef char VO_TTCHAR ; +typedef int ( * VOThreadCreate ) ( void ** pHandle , int * pID , void * fProc , void * pParam ) ; +typedef int ( * VOLOG_PRINT ) ( void * pUserData , int nLevel , char * pLogText ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\lsp2a.ppp +//PPL Source File Name : src\\evrc\\lsp2a.c +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\lspmaq.ppp +//PPL Source File Name : src\\evrc\\lspmaq.c +typedef unsigned int size_t ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\math_adv.ppp +//PPL Source File Name : src\\evrc\\math_adv.c +typedef unsigned int size_t ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\math_ext32.ppp +//PPL Source File Name : src\\evrc\\math_ext32.c +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\maxeloc.ppp +//PPL Source File Name : src\\evrc\\maxeloc.c +typedef unsigned int size_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\mdfyorig.ppp +//PPL Source File Name : src\\evrc\\mdfyorig.c +typedef unsigned int size_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef void VO_VOID ; +typedef unsigned char VO_U8 ; +typedef unsigned char VO_BYTE ; +typedef signed char VO_S8 ; +typedef char VO_CHAR ; +typedef unsigned short VO_U16 ; +typedef signed short VO_S16 ; +typedef unsigned long VO_U32 ; +typedef signed long VO_S32 ; +typedef unsigned long long VO_U64 ; +typedef signed long long VO_S64 ; +typedef void* VO_PTR ; +typedef const void* VO_CPTR ; +typedef void* VO_HANDLE ; +typedef char* VO_PCHAR ; +typedef unsigned char* VO_PBYTE ; +typedef char* VO_PTTCHAR ; +typedef char VO_TTCHAR ; +typedef int ( * VOThreadCreate ) ( void ** pHandle , int * pID , void * fProc , void * pParam ) ; +typedef int ( * VOLOG_PRINT ) ( void * pUserData , int nLevel , char * pLogText ) ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\mem_align.ppp +//PPL Source File Name : src\\evrc\\mem_align.c +typedef void VO_VOID ; +typedef unsigned char VO_U8 ; +typedef unsigned char VO_BYTE ; +typedef signed char VO_S8 ; +typedef char VO_CHAR ; +typedef unsigned short VO_U16 ; +typedef signed short VO_S16 ; +typedef unsigned long VO_U32 ; +typedef signed long VO_S32 ; +typedef unsigned long long VO_U64 ; +typedef signed long long VO_S64 ; +typedef void* VO_PTR ; +typedef const void* VO_CPTR ; +typedef void* VO_HANDLE ; +typedef char* VO_PCHAR ; +typedef unsigned char* VO_PBYTE ; +typedef char* VO_PTTCHAR ; +typedef char VO_TTCHAR ; +typedef int ( * VOThreadCreate ) ( void ** pHandle , int * pID , void * fProc , void * pParam ) ; +typedef int ( * VOLOG_PRINT ) ( void * pUserData , int nLevel , char * pLogText ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\mod.ppp +//PPL Source File Name : src\\evrc\\mod.c +typedef unsigned int size_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +typedef void VO_VOID ; +typedef unsigned char VO_U8 ; +typedef unsigned char VO_BYTE ; +typedef signed char VO_S8 ; +typedef char VO_CHAR ; +typedef unsigned short VO_U16 ; +typedef signed short VO_S16 ; +typedef unsigned long VO_U32 ; +typedef signed long VO_S32 ; +typedef unsigned long long VO_U64 ; +typedef signed long long VO_S64 ; +typedef void* VO_PTR ; +typedef const void* VO_CPTR ; +typedef void* VO_HANDLE ; +typedef char* VO_PCHAR ; +typedef unsigned char* VO_PBYTE ; +typedef char* VO_PTTCHAR ; +typedef char VO_TTCHAR ; +typedef int ( * VOThreadCreate ) ( void ** pHandle , int * pID , void * fProc , void * pParam ) ; +typedef int ( * VOLOG_PRINT ) ( void * pUserData , int nLevel , char * pLogText ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\ns127.ppp +//PPL Source File Name : src\\evrc\\ns127.c +typedef unsigned int size_t ; +typedef float float_t ; +typedef double double_t ; +typedef long int Longword ; +typedef short int Shortword ; +typedef short int ShortwordRom ; +typedef long int LongwordRom ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef void VO_VOID ; +typedef unsigned char VO_U8 ; +typedef unsigned char VO_BYTE ; +typedef signed char VO_S8 ; +typedef char VO_CHAR ; +typedef unsigned short VO_U16 ; +typedef signed short VO_S16 ; +typedef unsigned long VO_U32 ; +typedef signed long VO_S32 ; +typedef unsigned long long VO_U64 ; +typedef signed long long VO_S64 ; +typedef void* VO_PTR ; +typedef const void* VO_CPTR ; +typedef void* VO_HANDLE ; +typedef char* VO_PCHAR ; +typedef unsigned char* VO_PBYTE ; +typedef char* VO_PTTCHAR ; +typedef char VO_TTCHAR ; +typedef int ( * VOThreadCreate ) ( void ** pHandle , int * pID , void * fProc , void * pParam ) ; +typedef int ( * VOLOG_PRINT ) ( void * pUserData , int nLevel , char * pLogText ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\pit_shrp.ppp +//PPL Source File Name : src\\evrc\\pit_shrp.c +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\pktoav.ppp +//PPL Source File Name : src\\evrc\\pktoav.c +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +typedef void VO_VOID ; +typedef unsigned char VO_U8 ; +typedef unsigned char VO_BYTE ; +typedef signed char VO_S8 ; +typedef char VO_CHAR ; +typedef unsigned short VO_U16 ; +typedef signed short VO_S16 ; +typedef unsigned long VO_U32 ; +typedef signed long VO_S32 ; +typedef unsigned long long VO_U64 ; +typedef signed long long VO_S64 ; +typedef void* VO_PTR ; +typedef const void* VO_CPTR ; +typedef void* VO_HANDLE ; +typedef char* VO_PCHAR ; +typedef unsigned char* VO_PBYTE ; +typedef char* VO_PTTCHAR ; +typedef char VO_TTCHAR ; +typedef int ( * VOThreadCreate ) ( void ** pHandle , int * pID , void * fProc , void * pParam ) ; +typedef int ( * VOLOG_PRINT ) ( void * pUserData , int nLevel , char * pLogText ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\pre_enc.ppp +//PPL Source File Name : src\\evrc\\pre_enc.c +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +typedef void VO_VOID ; +typedef unsigned char VO_U8 ; +typedef unsigned char VO_BYTE ; +typedef signed char VO_S8 ; +typedef char VO_CHAR ; +typedef unsigned short VO_U16 ; +typedef signed short VO_S16 ; +typedef unsigned long VO_U32 ; +typedef signed long VO_S32 ; +typedef unsigned long long VO_U64 ; +typedef signed long long VO_S64 ; +typedef void* VO_PTR ; +typedef const void* VO_CPTR ; +typedef void* VO_HANDLE ; +typedef char* VO_PCHAR ; +typedef unsigned char* VO_PBYTE ; +typedef char* VO_PTTCHAR ; +typedef char VO_TTCHAR ; +typedef int ( * VOThreadCreate ) ( void ** pHandle , int * pID , void * fProc , void * pParam ) ; +typedef int ( * VOLOG_PRINT ) ( void * pUserData , int nLevel , char * pLogText ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\putacbc.ppp +//PPL Source File Name : src\\evrc\\putacbc.c +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +typedef void VO_VOID ; +typedef unsigned char VO_U8 ; +typedef unsigned char VO_BYTE ; +typedef signed char VO_S8 ; +typedef char VO_CHAR ; +typedef unsigned short VO_U16 ; +typedef signed short VO_S16 ; +typedef unsigned long VO_U32 ; +typedef signed long VO_S32 ; +typedef unsigned long long VO_U64 ; +typedef signed long long VO_S64 ; +typedef void* VO_PTR ; +typedef const void* VO_CPTR ; +typedef void* VO_HANDLE ; +typedef char* VO_PCHAR ; +typedef unsigned char* VO_PBYTE ; +typedef char* VO_PTTCHAR ; +typedef char VO_TTCHAR ; +typedef int ( * VOThreadCreate ) ( void ** pHandle , int * pID , void * fProc , void * pParam ) ; +typedef int ( * VOLOG_PRINT ) ( void * pUserData , int nLevel , char * pLogText ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\r_fft_evrcc.ppp +//PPL Source File Name : src\\evrc\\r_fft_evrcc.c +typedef long int Longword ; +typedef short int Shortword ; +typedef short int ShortwordRom ; +typedef long int LongwordRom ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\rda.ppp +//PPL Source File Name : src\\evrc\\rda.c +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +typedef unsigned int size_t ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\rom.ppp +//PPL Source File Name : src\\evrc\\rom.c +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\stream.ppp +//PPL Source File Name : src\\evrc\\stream.c +typedef void VO_VOID ; +typedef unsigned char VO_U8 ; +typedef unsigned char VO_BYTE ; +typedef signed char VO_S8 ; +typedef char VO_CHAR ; +typedef unsigned short VO_U16 ; +typedef signed short VO_S16 ; +typedef unsigned long VO_U32 ; +typedef signed long VO_S32 ; +typedef unsigned long long VO_U64 ; +typedef signed long long VO_S64 ; +typedef void* VO_PTR ; +typedef const void* VO_CPTR ; +typedef void* VO_HANDLE ; +typedef char* VO_PCHAR ; +typedef unsigned char* VO_PBYTE ; +typedef char* VO_PTTCHAR ; +typedef char VO_TTCHAR ; +typedef int ( * VOThreadCreate ) ( void ** pHandle , int * pID , void * fProc , void * pParam ) ; +typedef int ( * VOLOG_PRINT ) ( void * pUserData , int nLevel , char * pLogText ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\synfltr.ppp +//PPL Source File Name : src\\evrc\\synfltr.c +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\voEVRCDec.ppp +//PPL Source File Name : src\\evrc\\voEVRCDec.c +typedef unsigned int size_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef void VO_VOID ; +typedef unsigned char VO_U8 ; +typedef unsigned char VO_BYTE ; +typedef signed char VO_S8 ; +typedef char VO_CHAR ; +typedef unsigned short VO_U16 ; +typedef signed short VO_S16 ; +typedef unsigned long VO_U32 ; +typedef signed long VO_S32 ; +typedef unsigned long long VO_U64 ; +typedef signed long long VO_S64 ; +typedef void* VO_PTR ; +typedef const void* VO_CPTR ; +typedef void* VO_HANDLE ; +typedef char* VO_PCHAR ; +typedef unsigned char* VO_PBYTE ; +typedef char* VO_PTTCHAR ; +typedef char VO_TTCHAR ; +typedef int ( * VOThreadCreate ) ( void ** pHandle , int * pID , void * fProc , void * pParam ) ; +typedef int ( * VOLOG_PRINT ) ( void * pUserData , int nLevel , char * pLogText ) ; +typedef VO_S32 ( * VOAUDIOCALLBACKPROC ) ( VO_PTR pUserData , VO_CODECBUFFER * pAudioBuffer , VO_AUDIO_FORMAT * pAudioFormat , VO_S32 nStart ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\voEVRCEnc.ppp +//PPL Source File Name : src\\evrc\\voEVRCEnc.c +typedef unsigned int size_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef void VO_VOID ; +typedef unsigned char VO_U8 ; +typedef unsigned char VO_BYTE ; +typedef signed char VO_S8 ; +typedef char VO_CHAR ; +typedef unsigned short VO_U16 ; +typedef signed short VO_S16 ; +typedef unsigned long VO_U32 ; +typedef signed long VO_S32 ; +typedef unsigned long long VO_U64 ; +typedef signed long long VO_S64 ; +typedef void* VO_PTR ; +typedef const void* VO_CPTR ; +typedef void* VO_HANDLE ; +typedef char* VO_PCHAR ; +typedef unsigned char* VO_PBYTE ; +typedef char* VO_PTTCHAR ; +typedef char VO_TTCHAR ; +typedef int ( * VOThreadCreate ) ( void ** pHandle , int * pID , void * fProc , void * pParam ) ; +typedef int ( * VOLOG_PRINT ) ( void * pUserData , int nLevel , char * pLogText ) ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +typedef VO_S32 ( * VOAUDIOCALLBACKPROC ) ( VO_PTR pUserData , VO_CODECBUFFER * pAudioBuffer , VO_AUDIO_FORMAT * pAudioFormat , VO_S32 nStart ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\w2res.ppp +//PPL Source File Name : src\\evrc\\w2res.c +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +typedef void VO_VOID ; +typedef unsigned char VO_U8 ; +typedef unsigned char VO_BYTE ; +typedef signed char VO_S8 ; +typedef char VO_CHAR ; +typedef unsigned short VO_U16 ; +typedef signed short VO_S16 ; +typedef unsigned long VO_U32 ; +typedef signed long VO_S32 ; +typedef unsigned long long VO_U64 ; +typedef signed long long VO_S64 ; +typedef void* VO_PTR ; +typedef const void* VO_CPTR ; +typedef void* VO_HANDLE ; +typedef char* VO_PCHAR ; +typedef unsigned char* VO_PBYTE ; +typedef char* VO_PTTCHAR ; +typedef char VO_TTCHAR ; +typedef int ( * VOThreadCreate ) ( void ** pHandle , int * pID , void * fProc , void * pParam ) ; +typedef int ( * VOLOG_PRINT ) ( void * pUserData , int nLevel , char * pLogText ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\weight.ppp +//PPL Source File Name : src\\evrc\\weight.c +typedef unsigned int size_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef short Word16 ; +typedef unsigned short UNS_Word16 ; +typedef short Word16Rom ; +typedef int Word32 ; +typedef int Word32Rom ; +typedef double Word40 ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\evrc\zeroinpt.ppp +//PPL Source File Name : src\\evrc\\zeroinpt.c +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef unsigned int size_t ; +typedef void VO_VOID ; +typedef unsigned char VO_U8 ; +typedef unsigned char VO_BYTE ; +typedef signed char VO_S8 ; +typedef char VO_CHAR ; +typedef unsigned short VO_U16 ; +typedef signed short VO_S16 ; +typedef unsigned long VO_U32 ; +typedef signed long VO_S32 ; +typedef unsigned long long VO_U64 ; +typedef signed long long VO_S64 ; +typedef void* VO_PTR ; +typedef const void* VO_CPTR ; +typedef void* VO_HANDLE ; +typedef char* VO_PCHAR ; +typedef unsigned char* VO_PBYTE ; +typedef char* VO_PTTCHAR ; +typedef char VO_TTCHAR ; +typedef int ( * VOThreadCreate ) ( void ** pHandle , int * pID , void * fProc , void * pParam ) ; +typedef int ( * VOLOG_PRINT ) ( void * pUserData , int nLevel , char * pLogText ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\at\at_keyEvt.ppp +//PPL Source File Name : src\\at\\at_keyEvt.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef uint32_t echat_uid_t ; +typedef uint32_t echat_gid_t ; +typedef void ( *pfn_notify_at ) ( void* user , unsigned char cid , unsigned char rst ) ; +typedef void ( *pfn_location_cb ) ( loc_info_t* loc_info , void* user ) ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( *echat_notify_cb_t ) ( void* user , echat_notify_t* notify ) ; +typedef void ( *echat_notify_param_cb_t ) ( void* user , int param , void * arg ) ; +typedef void ( *tts_netnifo_notify_cb ) ( void* arg ) ; +typedef unsigned int size_t ; +typedef void ( *pfn_sl_notify_adapter ) ( void* user , void* notify ) ; +typedef void ( * pfn_hal_looper_user_free ) ( void* user ) ; +typedef void ( *pfn_looper_event_destroy ) ( hal_looper_event_t* event ) ; +typedef void ( * pfn_hal_looper_event_processer ) ( hal_looper_t* looper , hal_looper_event_t* event , void* user ) ; +typedef void ( * pfn_hal_looper_timer_callback ) ( hal_looper_t* looper , hal_time_t now , void* user ) ; +typedef int ( * pfn_hal_looper_routine ) ( hal_looper_t* looper , void* user ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\at\at_swap.ppp +//PPL Source File Name : src\\at\\at_swap.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( *pfn_location_cb ) ( loc_info_t* loc_info , void* user ) ; +typedef uint32_t echat_uid_t ; +typedef uint32_t echat_gid_t ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( *echat_notify_cb_t ) ( void* user , echat_notify_t* notify ) ; +typedef void ( *echat_notify_param_cb_t ) ( void* user , int param , void * arg ) ; +typedef void ( *HOOK_FUN ) ( void* , void* ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\at\sl_at.ppp +//PPL Source File Name : src\\at\\sl_at.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( *pfn_location_cb ) ( loc_info_t* loc_info , void* user ) ; +typedef uint32_t echat_uid_t ; +typedef uint32_t echat_gid_t ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( *echat_notify_cb_t ) ( void* user , echat_notify_t* notify ) ; +typedef void ( *echat_notify_param_cb_t ) ( void* user , int param , void * arg ) ; +typedef void ( *HOOK_FUN ) ( void* , void* ) ; +typedef void ( *tts_netnifo_notify_cb ) ( void* arg ) ; +typedef void ( *pfn_sl_notify_adapter ) ( void* user , void* notify ) ; +typedef void ( * pfn_hal_looper_user_free ) ( void* user ) ; +typedef void ( *pfn_looper_event_destroy ) ( hal_looper_event_t* event ) ; +typedef void ( * pfn_hal_looper_event_processer ) ( hal_looper_t* looper , hal_looper_event_t* event , void* user ) ; +typedef void ( * pfn_hal_looper_timer_callback ) ( hal_looper_t* looper , hal_time_t now , void* user ) ; +typedef int ( * pfn_hal_looper_routine ) ( hal_looper_t* looper , void* user ) ; +typedef void ( *pfn_ini_parser ) ( void* user , const char* section , const char* name , const char* value ) ; +typedef void ( *pfn_notify_at ) ( void* user , unsigned char cid , unsigned char rst ) ; +typedef void ( *oem_notify_cb_t ) ( void* user ) ; +typedef void ( *oem_stream_dB_cb_t ) ( int dB , void* user ) ; +typedef void ( *oem_stream_has_data_cb_t ) ( const void* data , size_t size , void* user ) ; +typedef void ( *oem_tone_cb_t ) ( void* user ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\at\sl_at_backdoor.ppp +//PPL Source File Name : src\\at\\sl_at_backdoor.c +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef int ( *__heapprt ) ( void * , char const * , ... ) ; +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef void ( *pfn_location_cb ) ( loc_info_t* loc_info , void* user ) ; +typedef uint32_t echat_uid_t ; +typedef uint32_t echat_gid_t ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( *echat_notify_cb_t ) ( void* user , echat_notify_t* notify ) ; +typedef void ( *echat_notify_param_cb_t ) ( void* user , int param , void * arg ) ; +typedef void ( *HOOK_FUN ) ( void* , void* ) ; +typedef void ( *tts_netnifo_notify_cb ) ( void* arg ) ; +typedef void ( *pfn_sl_notify_adapter ) ( void* user , void* notify ) ; +typedef void ( *oem_notify_cb_t ) ( void* user ) ; +typedef void ( *oem_stream_dB_cb_t ) ( int dB , void* user ) ; +typedef void ( *oem_stream_has_data_cb_t ) ( const void* data , size_t size , void* user ) ; +typedef void ( *oem_tone_cb_t ) ( void* user ) ; +//PPC Version : V2.1.9.30 +//PPL Source File Name : build\obj\src\bnd_sdk\broad.ppp +//PPL Source File Name : src\\bnd_sdk\\broad.c +typedef signed int ptrdiff_t ; +typedef unsigned int size_t ; +typedef unsigned short wchar_t ; +typedef va_list __gnuc_va_list ; +typedef signed char int8_t ; +typedef signed short int int16_t ; +typedef signed int int32_t ; +typedef signed __int64 int64_t ; +typedef unsigned char uint8_t ; +typedef unsigned short int uint16_t ; +typedef unsigned int uint32_t ; +typedef unsigned __int64 uint64_t ; +typedef signed char int_least8_t ; +typedef signed short int int_least16_t ; +typedef signed int int_least32_t ; +typedef signed __int64 int_least64_t ; +typedef unsigned char uint_least8_t ; +typedef unsigned short int uint_least16_t ; +typedef unsigned int uint_least32_t ; +typedef unsigned __int64 uint_least64_t ; +typedef signed int int_fast8_t ; +typedef signed int int_fast16_t ; +typedef signed int int_fast32_t ; +typedef signed __int64 int_fast64_t ; +typedef unsigned int uint_fast8_t ; +typedef unsigned int uint_fast16_t ; +typedef unsigned int uint_fast32_t ; +typedef unsigned __int64 uint_fast64_t ; +typedef signed int intptr_t ; +typedef unsigned int uintptr_t ; +typedef signed long long intmax_t ; +typedef unsigned long long uintmax_t ; +typedef int8_t byte_t ; +typedef unsigned char boolean ; +typedef uint32_t hal_time_t ; +typedef uint32_t echat_uid_t ; +typedef uint32_t echat_gid_t ; +typedef void ( *pfn_location_cb ) ( loc_info_t* loc_info , void* user ) ; +typedef void ( *win_pfn_broadcast_record_async_stop ) ( void ) ; +typedef void ( *win_pfn_broadcast_play_async_stop ) ( void ) ; +typedef void ( *echat_notify_cb_t ) ( void* user , echat_notify_t* notify ) ; +typedef void ( *echat_notify_param_cb_t ) ( void* user , int param , void * arg ) ; +typedef void ( *tts_netnifo_notify_cb ) ( void* arg ) ; +typedef unsigned int uid_t ; +typedef unsigned int gid_t ; +typedef unsigned char boolean ; +typedef void ( *init_cb ) ( int ret ) ; +typedef void ( *login_state_cb ) ( int online ) ; +typedef void ( *join_group_cb ) ( const char* groupname , gid_t gid ) ; +typedef void ( *audio_cb ) ( AUDIO_STATE state , uid_t uid , const char* name , int flag ) ; +typedef void ( *callmember_cb ) ( int ret ) ; +typedef void ( *listupdate_cb ) ( int flag ) ; +typedef void ( *member_change_cb ) ( int flag , int nun , uid_t* uids ) ; +typedef void ( *error_cb ) ( const char* info ) ; +typedef void ( *poc_at_cb ) ( char* at ) ; +typedef void ( *upgrade_cb ) ( int ret ) ; diff --git a/components/poc/bnd/inc/broad.h b/components/poc/bnd/inc/broad.h new file mode 100644 index 0000000..71c04b1 --- /dev/null +++ b/components/poc/bnd/inc/broad.h @@ -0,0 +1,230 @@ +#ifndef __BROAD_OPEN_H__ +#define __BROAD_OPEN_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "type_bnd.h" + +typedef enum AUDIO_STATE{ + AUDIO_IDLE, + BND_SPEAK_START, + BND_SPEAKING, + BND_SPEAK_STOP, + BND_LISTEN_START, + BND_LISTENING, + BND_LISTEN_STOP, + BND_TTS_START, + BND_TTS_STOP, + BND_TONE_START, + BND_TONE_STOP, + BND_REC_PLAY_START, + BND_REC_PLAY_STOP, +}AUDIO_STATE; + +typedef enum VOL_TYPE{ + BND_VOICE, + BND_TTS, + BND_TONE +}VOL_TYPE; + +/* + FUN:init_cb 库初始化结果回调 + PARAM: + ret: 0:失败; 1:成功 +*/ +typedef void(*init_cb)(int ret); + +/* + FUN:login_state_cb 登录状态回调 + PARAM: + online:USER_OFFLINE/USER_ONLINE +*/ +typedef void(*login_state_cb)(int online); + +/* + FUN:join_group_cb 进组回调,触发源包括主动进组和被动进组 + PARAM: + groupname:当前群组的名字 + gid:当前群组gid +*/ +typedef void(*join_group_cb)(const char* groupname, bnd_gid_t gid); + +/* + FUN:audio_cb 音频的回调 + PARAM: + state:当前语音状态:收听/讲话/TTS/TONE + uid:当前操作用户uid,讲话/TTS/TONE时为0 + name:当前操作用户名字,讲话/TTS/TONE时为NULL + flag:如果state为BND_LISTEN_START,flag==1表示本机可以打断对方讲话,flag==0表示本机不能打断对方讲话 +*/ +typedef void(*audio_cb)(AUDIO_STATE state, bnd_uid_t uid, const char* name, int flag); + +/* + FUN:callmember_cb 单呼的回调 + PARAM: + ret:1->成功,0->失败 +*/ +typedef void(*callmember_cb)(int ret); + +/* + FUN:listupdate_cb 数据变化的回调 + PARAM: + flag:1:群组列表变化, 2:成员列表变化 +*/ +typedef void(*listupdate_cb)(int flag); + +/* + FUN:member_change_cb 数据变化的回调 + PARAM: + flag:1 离组 + num:个数 + uids:uid集合 +*/ +typedef void(*member_change_cb)(int flag, int nun, bnd_uid_t* uids); + +/* + FUN:error_cb 异常错误信息的回调 + PARAM: + info: 异常信息 +*/ +typedef void(*error_cb)(const char* info); + +/* + FUN:poc_at_cb AT透传回调,用于接收POC处理后的返回AT数据 + PARAM: + at: POC处理后的返回AT数据 +*/ +typedef void(*poc_at_cb)(char* at); +typedef void(*upgrade_cb)(int ret); +typedef void(*member_audio_enable)(int enable); +typedef void(*reminder_cb)(char* reminder, int day); +typedef void(*pa_cb)(int on_off); +typedef void(*request_lbs_info_cb)(char *z8filename,char *z12filename, char *z16filename, char *lbs_tts,char is_lbs_tts, char is_static_map); +typedef void(*location_change_cb)(int location_switch, int report_rate); +typedef void(*weather_info_cb)(char *lbs_tts,char is_lbs_tts); +void broad_init(init_cb cb); +void broad_free(void); +void broad_log(boolean enable); +int broad_login(login_state_cb cb); +int broad_logout(void); +int broad_joingroup(bnd_gid_t gid); +int broad_leavegroup(void); +//1:start 0:stop +int broad_speak(boolean start); +int broad_calluser(const bnd_uid_t uid ,callmember_cb cb); +int broad_callusers( const bnd_uid_t* uids, int num, callmember_cb cb ); +//按索引查询群组信息 +int broad_group_getbyindex(int index,bnd_group_t* dst); + +//如果gid传入0,可查询当前群组信息 +int broad_group_getbyid(bnd_gid_t gid,bnd_group_t* dst); + +//如果uid传入0,可查询当前登录用户信息 +int broad_member_getbyid(bnd_uid_t uid,bnd_member_t* dst); +int broad_get_loginstate(void); +int broad_get_groupcount(void); + +/* + FUN:broad_get_grouplist + PARAM: + dst和dst_size为调用者的数组空间及数组大小 + index_begin为查询的索引起始值 + count为计划查询的个数 + RETURN: + 实际查询到的个数 +*/ +int broad_get_grouplist(bnd_group_t* dst, int dst_size, int index_begin, int count); + +const int broad_get_membercount(bnd_gid_t gid ); +/* + FUN:broad_get_memberlist + PARAM: + gid为群组id + dst和dst_size为调用者的数组空间及数组大小 + index_begin为查询的索引起始值 + count为计划查询的个数 + RETURN: + 实际查询到的个数 +*/ +const int broad_get_memberlist(bnd_gid_t gid, bnd_member_t* dst, int dst_size, int index_begin, int count); + +AUDIO_STATE broad_get_audiostate(void); + +//boolean interrupt : true--interrupt current tts playing +int broad_play_tts(const char* tts, boolean interrupt); + +int broad_send_ping(void); + +//lat:纬度, lon: 经度, time: 定位时间 +int broad_send_gpsinfo(double lon,double lat,bnd_time_t time, double alt, double speed, double dirang); +void broad_get_version(char* ver); +int broad_current_zone_time(bnd_time_t* now, int zone); + +//success return 0, failed return -1 +int broad_set_tts_enable(boolean enable); +int broad_set_vol(VOL_TYPE type, int vol); +int broad_get_vol(VOL_TYPE type); +//获取帐号可用天数 +int broad_get_account_day(void); + +//mode:1->open; 0->close; 2->clear all history +int broad_set_rec_audio_mode(unsigned char mode); + +int broad_get_rec_audio_count(void); + +//index:录音列表索引, name:讲话的用户名utf8格式, delay:语音时长(单位秒), time:录制时间 +int broad_get_rec_audio_info(int index, char* name, unsigned char* delay, bnd_time_t* time); + +//index:录音列表索引 +int broad_play_rec_audio(int index); + +int broad_stop_play_rec_audio(void); +// +void broad_register_audio_cb(audio_cb cb); +void broad_register_join_group_cb(join_group_cb cb); +void broad_register_listupdate_cb(listupdate_cb cb); +void broad_register_member_change_cb(member_change_cb cb); +void broad_register_error_cb(error_cb cb); +void broad_register_upgrade_cb(upgrade_cb cb); +void broad_register_member_audio_enable_cb(member_audio_enable cb); +void broad_register_reminder_cb(reminder_cb cb); +void broad_register_pa_cb(pa_cb cb); +void broad_register_request_lbs_info_cb(request_lbs_info_cb cb); +void broad_register_location_change_cb(location_change_cb cb); +void broad_register_weather_info_cb(weather_info_cb cb); +void broad_register_cell_location_change_cb(location_change_cb cb); +//建议broad_set_poc_uart_device用于broad_init(init_cb cb)注册的回调里 +/* + void ui_init(int ret){ + broad_set_poc_uart_device(0); + } + broad_init(ui_init); +*/ +int broad_set_poc_uart_device(int open); //默认uart设备是打开的,如需关闭请设置为0 +//AT 透传接口 +int broad_send_at(char* at); //发送 +void broad_register_poc_at_cb(poc_at_cb cb);//注册接收回调 +int broad_set_call_end_timeptr(int timeptr); +int broad_set_call_auto_leave_temp_group(int flag); +int broad_write_custom(BND_CUSTOM_TYPE type, const char* value); +int broad_read_custom(BND_CUSTOM_TYPE type, const char* value); +void broad_set_notify_mode(int flags); +int broad_set_solution(char *solution); +int broad_set_solution_version(char *version); +int broad_set_productInfo(char *productInfo); +int broad_set_manufacturer(char *manufacturer); +int broad_request_upgrade(); +int broad_get_init_status(); +int broad_set_tone_enable(int flags); +void broad_get_upgrade_version(char* ver); +int broad_request_lbs_info(int w, int h, double lon, double lat); +int broad_request_weather_info(double lon,double lat); +int broad_get_logininfo(char* account, char* pwd); +#ifdef __cplusplus +} +#endif + +#endif + diff --git a/components/poc/bnd/inc/type_bnd.h b/components/poc/bnd/inc/type_bnd.h new file mode 100644 index 0000000..8ae99f3 --- /dev/null +++ b/components/poc/bnd/inc/type_bnd.h @@ -0,0 +1,62 @@ +#ifndef __BROAD_OPEN_TYPE_H__ +#define __BROAD_OPEN_TYPE_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +typedef unsigned int bnd_uid_t; +typedef unsigned int bnd_gid_t; +typedef unsigned char boolean; + +#define USER_ONLINE 1 +#define USER_OFFLINE 2 +#define USER_INGROUP 3 +#define BRD_NAME_LEN 64 +//群组类型 +typedef enum BRD_GROUP_TYPE { + GRP_COMMON, + GRP_SINGLECALL +} BRD_GROUP_TYPE; + +typedef enum BND_CUSTOM_TYPE{ + ACCOUNT_LOGIN_ENABLE, + WRITE_CUSTOM_ACCOUNT, + QUERY_ALL_GROUP_MEMBER, + CHANGE_PLATFORM_CONTEXT, + SET_TONE_DURATION, + SET_SYNC_RECORD_STOP_DURATION, +}BND_CUSTOM_TYPE; + +//群组结构 +typedef struct bnd_group_t +{ + bnd_gid_t gid; //群组ID + char name[BRD_NAME_LEN]; //群组名 + BRD_GROUP_TYPE type; //群组类型 + int index; +} bnd_group_t; + +typedef struct _bnd_member_t { + bnd_uid_t uid; + char name[BRD_NAME_LEN]; + int state; //1在线,2,离线,3在线在组 + unsigned int prior; ///< 优先级 + int index; +}bnd_member_t; + +typedef struct bnd_time_t { + unsigned short year; + unsigned char month; + unsigned char day; + unsigned char hour; + unsigned char minute; + unsigned char second; + unsigned short millisecond; +} bnd_time_t; + +#ifdef __cplusplus +} +#endif +#endif + diff --git a/components/poc/bnd/txt.txt b/components/poc/bnd/txt.txt new file mode 100644 index 0000000000000000000000000000000000000000..87a29462f6303aa38cdec05c06cf277ad099ed8f GIT binary patch literal 12306 zcmeI2YjYIG6^8qBs`4M^8&KtyL$EPPu~gPbvQ;sdNOGK%pg?=kBB7O(-31Ik-p>2< z(V6a^ona-cZ%Iu_JD2X$Z=d@)Gr#@%Q&@z*p^~;ls@F6V2>u?^MOJdgj+^xHkAr&+^rqLtsq zl{Pf{7yVV?p`Ki5#p6i#w(#5ukK+BKOFVw>kKqrxzp1+m%{bL+A9Q^zG)I~Xy2F}I zrF(PTooR%vYNpSYDrR-@ zCar!He0AqZ*ShViJ4eu;Gwqe#EhE~JW9M<_bIAw3!9mls5^utFQRBMM{@5FmMd#q| zdajfb&$RS`+91>8-Zh0XRn8^8^`M!$AR`` z8g6#f3olxD)zqG=%CDqdN^Oy8^Di|XlXRE7y0m#69@n2z3zA&M_4;GU7N5F^e3{7x z@oc`X|2Fy296#5LCimSNnEx8d%9mQl>6e_!d9%3&8y?oIquti7gUu;*q4E9WciK7C zm!Dk7zs{mBUe(~Mp-DbCQA^U=t2wferM-=wY*j{%wF*0zJ_b*JtmuI)=kt&h{<6CC z#jkbNw!06t#yV~Ikkjf#sn4{Id9;H7KbBf^DSo^V-Dg5Oi5>(Tr@}*|z)zd!%c+?T zHIXHHi6e`eBS+!~+F(dZ-|DDWrQ-JEv%9soOGB!-FUuP&j~Lh7>M4eKykIwE6Vn*i z&h$T_N@q>`O0&9Rlii1lWD6d%JzgYEO+JC77cFucrQujU2MO^Txw1EMC^9r83|~G- zHj|7q-_>|{ia$s(+cD(7O+2^bN^t*B+G{xmdVWXehr&Rnv!}>12;b^AanJdcByW*5 zaq8!AAgn)#{-GitG>?>FqMy4$`jce1uYC=)!#CmYQMbvZ(tJF`d(E9|9(G^|UE{yd z9i-~EH`ZEa3q0YB=*u}g8EW=K(VXiGtvuB8!)Rq_K4YK`$FU{ukkgHH*J$8R(s;+1 z^Of_y)=cAi5rt*MoH*353<1yQgs-hyGI zYkT5+$nQ6KQa)pT;zjrR z7qoeINodE@&kdkk>ExUe5+mufn zgeUTm?fco&PT><3E_s9dgq+f9hLv~^$KijuR+9Iu#?~d7zR(Ti!M~RWe_G(Y8n!OF zj;y4fke$@X%F3s|hGX#YM`_z>JpwwbmA2{2PVOi76mux9hZNo+mv((X6#kXTCXWSG*UyF*-s}f?f+19eC z*GyJEgWnzPcBDPL6))gliqbYVdHX~WDbs!Q)v9nit8aVCmF{Hx+o?4T&Zf2c@)|qJ z$Z|Bz^MO#|Z+#?PVAF25N2_$rcUxDD=Xnk8DD%$8X^qJ;QTlj!B*E8o9Zilog=&R@ zM+--gDhscXz`2x_@jqF^c8$(wVv9#QuxsmPUKO2FFq!2PnpWW6#q>YbbE^@CwR`fV zo_(P?R7Kbg)<8{0W%zGd&Q`47nrJsQ%Ih=w(rNBEd?|iVT~Vi4uM7<+v%$nk=UQ`x z>t1`jOt{${@rt!m^dcLyp57>;_FnocT_MHua4YiVm3VwecCWs7BFyx$Z`~L|i$1n@eC;Y_ycD?xRUx?{mWKt=Kf^b-A6w#O z>S!KnR6fUIPEOV19y(5*ZvLUvQ`7T}xZ;64481dCcq$yLl_$7)&vZTXn_8WoulHha z61i(tPrlbJk+(nWvYm@$9d< z>75JnJ$>bjn>w0NDrIJ+uOg#B?~yZT&V?1el~nO7?BS98WL2-wg^VnWPP}zgK8-8S z8GjG5hij2R-Mh_AbgMFj+s`xu8DQo3e%|g9Eyy8PIYjk=UDMxmoo>^m_Rjf1)F0kB zEus|ON4uquX}!0Fp1TIvuUV?cKzpA=AH5An9*gXK-PMu70anLq*%uboS8r-ZTDGt1 zq(sG46IniXsOkXznMJTCG|zj)mYJsf#PcKir)}DXj-AMw@s>mi;xbwPwhp>g`zz=M zQ7h59e2isj-p@DQIA@7UAS~;XQoGqt8@?2Wq21Mg$~m|rPN$4BkK|C`I`x>~A<`-D zV$t?}KszR8IESII{>bgXdDNuhk}5M~B1inE{(fkn+7oRXV{#!spe{si z=#<5Ku+3wQoN~hTXwv%wY+)iCW`|E37_h!P8kM?ib;(xTzg3orRu#L%mJiXvqMHWS zQkN>1RE`JhBdepg(uRlF;ntKRNb}Gps%AV4`vMCYf??zi(jzainmM6vO3pD}?bmh- zH8^^ez1p`ayyt0K;fWBwiCE1)miFQ0&>k~9~>gx}%{|M(Z_^WBK!Se}|MJFMfD zU*#yjj=FJ@t#rRQf1{czA-b>8`Rx1A$2#6`ijh67ozGmz%JMtk2yc1kfv$6&aXrsy za6OZE9cq+UKvbFUR5#iaa!a%~t@}XZ?{++WsnL9K;9he7GKP_LG{1Y~E$NDIVrawPiBlqS+IF*?Oh_UXJ}=5lY-?>wa=8Vz&rcK zB1Mw?Y)>=L8+1B-k70B?y0MEy5iC$>Tg$$l&FSao&9%VVzD5-*1+zWskSctqp5Ws; z`)ga9NKF3Ueth2ArbQ-odq=pV_&d-VW6701lYcWs{$rgX=Z|HrbQ*c@{yL5wcAzuN z14%u-ZOHR?syd=PHillHqpS@*Fxqop*?LLWS$|9Zfs74W(6@{l?C7;+e0+h-yHIju z%i77t@IY9f&$JGXV=|ukcO{OmO?rH-Gm3j`li%-=p4-hpRm$V6f@nuU$Gi*2&7j!7 z0*>Tg&;tBnj;q8`j&-|SZ&%1D<&6XBRN~LBr0Q>($rQ*3EX$-~c_{58OS+Kf`BKOG icx-4ydN*R(^F)4^%zdg+M&+Y41+RLjJCF1fo%k<=0g|x* literal 0 HcmV?d00001 diff --git a/components/poc/poc.c b/components/poc/poc.c new file mode 100644 index 0000000..3aefa74 --- /dev/null +++ b/components/poc/poc.c @@ -0,0 +1,118 @@ +#include "poc.h" + + +#if defined(CONFIG_POC_SL) + +void shanli_init_poc(init_cb cb) { + shanli_init(); + cb(1); + return; +} + +static const poc_ops_t poc_ops = { + .init = shanli_init_poc, + .free = shanli_free, + .log = shanli_log, + .login = shanli_login, + .logout = shanli_logout, + .joingroup = shanli_joingroup, + .leavegroup = shanli_leavegroup, + .speak = shanli_speak, + .calluser = shanli_calluser, + .group_getbyindex = shanli_group_getbyindex, + .group_getbyid = shanli_group_getbyid, + .member_getbyid = shanli_member_getbyid, + .get_loginstate = shanli_get_loginstate, + .get_groupcount = shanli_get_groupcount, + .get_grouplist = shanli_get_grouplist, + .get_membercount = shanli_get_membercount, + .get_memberlist = shanli_get_memberlist, + .get_audiostate = shanli_get_audiostate, + .play_tts = shanli_play_tts, + .send_ping = shanli_send_ping, + .get_version = shanli_get_version, + .set_tts_enable = shanli_set_tts_enable, + .set_vol = shanli_set_vol, + .get_vol = shanli_get_vol, + .get_account_day = shanli_get_account_day, + .register_audio_cb = shanli_register_audio_cb, + .register_join_group_cb = shanli_register_join_group_cb, + .register_listupdate_cb = shanli_register_listupdate_cb, + .register_member_change_cb = shanli_register_member_change_cb, + .register_error_cb = shanli_register_error_cb, + .register_upgrade_cb = shanli_register_upgrade_cb, + .send_at = shanli_send_at, + .register_poc_at_cb = shanli_register_poc_at_cb, + .set_call_end_timeptr = shanli_set_call_end_timeptr, + .set_call_auto_leave_temp_group = shanli_set_call_auto_leave_temp_group, + .set_notify_mode = shanli_set_notify_mode, + .set_solution = shanli_set_solution, + .set_solution_version = shanli_set_solution_version, + .set_productInfo = shanli_set_productInfo, + .set_manufacturer = shanli_set_manufacturer, + .request_upgrade = shanli_request_upgrade, + .get_init_status = shanli_get_init_status, + .set_tone_enable = shanli_set_tone_enable, +}; + +#elif defined(CONFIG_POC_BND) + +static const poc_ops_t poc_ops = { + .init = broad_init, + .free = broad_free, + .log = broad_log, + .login = broad_login, + .logout = broad_logout, + .joingroup = broad_joingroup, + .leavegroup = broad_leavegroup, + .speak = broad_speak, + .calluser = broad_calluser, + .group_getbyindex = broad_group_getbyindex, + .group_getbyid = broad_group_getbyid, + .member_getbyid = broad_member_getbyid, + .get_loginstate = broad_get_loginstate, + .get_groupcount = broad_get_groupcount, + .get_grouplist = broad_get_grouplist, + .get_membercount = broad_get_membercount, + .get_memberlist = broad_get_memberlist, + .get_audiostate = broad_get_audiostate, + .play_tts = broad_play_tts, + .send_ping = broad_send_ping, + .get_version = broad_get_version, + .set_tts_enable = broad_set_tts_enable, + .set_vol = broad_set_vol, + .get_vol = broad_get_vol, + .get_account_day = broad_get_account_day, + .register_audio_cb = broad_register_audio_cb, + .register_join_group_cb = broad_register_join_group_cb, + .register_listupdate_cb = broad_register_listupdate_cb, + .register_member_change_cb = broad_register_member_change_cb, + .register_error_cb = broad_register_error_cb, + .register_upgrade_cb = broad_register_upgrade_cb, + .send_at = broad_send_at, + .register_poc_at_cb = broad_register_poc_at_cb, + .set_call_end_timeptr = broad_set_call_end_timeptr, + .set_call_auto_leave_temp_group = broad_set_call_auto_leave_temp_group, + .set_notify_mode = broad_set_notify_mode, + .set_solution = broad_set_solution, + .set_solution_version = broad_set_solution_version, + .set_productInfo = broad_set_productInfo, + .set_manufacturer = broad_set_manufacturer, + .request_upgrade = broad_request_upgrade, + .get_init_status = broad_get_init_status, + .set_tone_enable = broad_set_tone_enable, +}; + +#else + + #error "NO POC PLATFORM" + +#endif + + +poc_ops_t* poc_get_ops() { + + return &poc_ops; +} + + diff --git a/components/poc/poc.h b/components/poc/poc.h new file mode 100644 index 0000000..545a100 --- /dev/null +++ b/components/poc/poc.h @@ -0,0 +1,77 @@ +#if defined(CONFIG_POC_SL) +#include "type_sl.h" +#include "echat_api.h" +typedef sl_gid_t gid_t; +typedef sl_uid_t uid_t; +typedef sl_group_t group_t; +typedef sl_member_t member_t; + +#elif defined(CONFIG_POC_BND) +#include "type_bnd.h" +#include "broad.h" +typedef bnd_gid_t gid_t; +typedef bnd_uid_t uid_t; +typedef bnd_group_t group_t; +typedef bnd_member_t member_t; + +#endif + +typedef void(*init_cb)(int ret); +typedef unsigned char boolean; + + +typedef struct { + void (*init)(init_cb cb); + void (*free)(); + void (*log)(boolean enable); + int (*login)(login_state_cb cb); + int (*logout)(); + int (*joingroup)(gid_t gid); + int (*leavegroup)(); + int (*speak)(boolean start); + int (*calluser)(const uid_t uid ,callmember_cb cb); + int (*group_getbyindex)(int index,group_t* dst); + + int (*group_getbyid)(gid_t gid,group_t* dst); + int (*member_getbyid)(uid_t uid,member_t* dst); + + int (*get_loginstate)(); + int (*get_groupcount)(); + int (*get_grouplist)(group_t* dst, int dst_size, int index_begin, int count); + int (*get_membercount)(gid_t gid); + + int (*get_memberlist)(gid_t gid, member_t* dst, int dst_size, int index_begin, int count); + + AUDIO_STATE (*get_audiostate)(); + + int (*play_tts)(const char* tts, boolean interrupt); + int (*send_ping)(); + int (*get_version)(char* ver); + int (*set_tts_enable)(boolean enable); + int (*set_vol)(VOL_TYPE type, int vol); + int (*get_vol)(VOL_TYPE type); + int (*get_account_day)(); + + void (*register_audio_cb)(audio_cb cb); + void (*register_join_group_cb)(join_group_cb cb); + void (*register_listupdate_cb)(listupdate_cb cb); + void (*register_member_change_cb)(member_change_cb cb); + void (*register_error_cb)(error_cb cb); + void (*register_upgrade_cb)(upgrade_cb cb); + + int (*send_at)(char* at); + void (*register_poc_at_cb)(poc_at_cb cb); + int (*set_call_end_timeptr)(int timeptr); + int (*set_call_auto_leave_temp_group)(int flag); + int (*set_notify_mode)(int flags); + + int (*set_solution)(char *solution); + int (*set_solution_version)(char *version); + int (*set_productInfo)(char *productInfo); + int (*set_manufacturer)(char *manufacturer); + int (*request_upgrade)(); + int (*get_init_status)(); + int (*set_tone_enable)(); + + +}poc_ops_t; diff --git a/components/poc/poc.mk b/components/poc/poc.mk new file mode 100644 index 0000000..8ba07b1 --- /dev/null +++ b/components/poc/poc.mk @@ -0,0 +1,33 @@ +NAME := poc + +include config/$(KCONFIG_CONFIG) + +GLOBAL_INCS = include + +$(NAME)_SRCS += \ + poc.c + + +GLOBAL_INCS += \ + . \ + bnd/inc \ + sl/inc + + +ifeq ($(CONFIG_POC_BND), y) +$(NAME)_ARCHIVES:=bnd/broad.lib +endif + +ifeq ($(CONFIG_POC_SL), y) +$(NAME)_ARCHIVES:=sl/poclib.lib +endif + + +$(NAME)_CFLAGS = \ + -Wno-error=ignored-qualifiers \ + -Wno-error=incompatible-pointer-types \ + -Wno-error=discarded-qualifiers + +$(NAME)_COMPONENTS = peripheral + + diff --git a/components/poc/poc_option.in b/components/poc/poc_option.in new file mode 100644 index 0000000..82bfe4f --- /dev/null +++ b/components/poc/poc_option.in @@ -0,0 +1,20 @@ + +config POC + bool "Enable poc" + default n +help + This is poc support. + +choice POC_PLATFORM + + bool "Select POC platform" + default POC_BND + depends on POC + help + Select POC platform. + +config POC_BND + bool "bnd platform" +config POC_SL + bool "sl platform" +endchoice diff --git a/components/poc/sl/inc/echat_api.h b/components/poc/sl/inc/echat_api.h new file mode 100644 index 0000000..aedf165 --- /dev/null +++ b/components/poc/sl/inc/echat_api.h @@ -0,0 +1,212 @@ +#ifndef __SHANLI_OPEN_H__ +#define __SHANLI_OPEN_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "type_sl.h" + +typedef enum AUDIO_STATE{ + AUDIO_IDLE, + SL_SPEAK_START, + SL_SPEAKING, + SL_SPEAK_STOP, + SL_LISTEN_START, + SL_LISTENING, + SL_LISTEN_STOP, + SL_TTS_START, + SL_TTS_STOP, + SL_TONE_START, + SL_TONE_STOP, + SL_REC_PLAY_START, + SL_REC_PLAY_STOP, +}AUDIO_STATE; + +typedef enum VOL_TYPE{ + SHANLI_VOICE, + SHANLI_TTS, + SHANLI_TONE +}VOL_TYPE; + +/* + FUN:login_state_cb 登录状态回调 + PARAM: + online:USER_OFFLINE/USER_ONLINE +*/ +typedef void(*login_state_cb)(int online); + +/* + FUN:join_group_cb 进组回调,触发源包括主动进组和被动进组 + PARAM: + groupname:当前群组的名字 + gid:当前群组gid +*/ +typedef void(*join_group_cb)(const char* groupname, sl_gid_t gid); + +/* + FUN:audio_cb 音频的回调 + PARAM: + state:当前语音状态:收听/讲话/TTS/TONE + uid:当前操作用户uid,讲话/TTS/TONE时为0 + name:当前操作用户名字,讲话/TTS/TONE时为NULL + flag:如果state为SHANLI_LISTEN_START,flag==1表示本机可以打断对方讲话,flag==0表示本机不能打断对方讲话 +*/ +typedef void(*audio_cb)(AUDIO_STATE state, sl_uid_t uid, const char* name, int flag); + +/* + FUN:callmember_cb 单呼的回调 + PARAM: + ret:1->成功,0->失败 +*/ +typedef void(*callmember_cb)(int ret); + +/* + FUN:listupdate_cb 数据变化的回调 + PARAM: + flag:1:群组列表变化, 2:成员列表变化 +*/ +typedef void(*listupdate_cb)(int flag); + +/* + FUN:member_change_cb 数据变化的回调 + PARAM: + flag:1 离组 + num:个数 + uids:uid集合 +*/ +typedef void(*member_change_cb)(int flag, int nun, sl_uid_t* uids); + +/* + FUN:error_cb 异常错误信息的回调 + PARAM: + info: 异常信息 +*/ +typedef void(*error_cb)(const char* info); + +/* + FUN:poc_at_cb AT透传回调,用于接收POC处理后的返回AT数据 + PARAM: + at: POC处理后的返回AT数据 +*/ +typedef void(*poc_at_cb)(char* at); +typedef void(*upgrade_cb)(int ret); +typedef void(*write_account_cb)(int ret); +typedef void(*member_audio_enable)(int enable); +typedef void(*reminder_cb)(char* reminder, int day); +typedef void(*pa_cb)(int on_off); +void shanli_init(); +void shanli_free(void); +void shanli_log(boolean enable); +int shanli_login(login_state_cb cb); +int shanli_logout(void); +int shanli_joingroup(sl_gid_t gid); +int shanli_leavegroup(void); +//1:start 0:stop +int shanli_speak(boolean start); +int shanli_calluser(const sl_uid_t uid ,callmember_cb cb); +int shanli_callusers( const sl_uid_t* uids, int num, callmember_cb cb ); +//按索引查询群组信息 +int shanli_group_getbyindex(int index,sl_group_t* dst); + +//如果gid传入0,可查询当前群组信息 +int shanli_group_getbyid(sl_gid_t gid,sl_group_t* dst); + +//如果uid传入0,可查询当前登录用户信息 +int shanli_member_getbyid(sl_uid_t uid,sl_member_t* dst); +int shanli_get_loginstate(void); +int shanli_get_groupcount(void); + +/* + FUN:shanli_get_grouplist + PARAM: + dst和dst_size为调用者的数组空间及数组大小 + index_begin为查询的索引起始值 + count为计划查询的个数 + RETURN: + 实际查询到的个数 +*/ +int shanli_get_grouplist(sl_group_t* dst, int dst_size, int index_begin, int count); + +const int shanli_get_membercount(sl_gid_t gid ); +/* + FUN:shanli_get_memberlist + PARAM: + gid为群组id + dst和dst_size为调用者的数组空间及数组大小 + index_begin为查询的索引起始值 + count为计划查询的个数 + RETURN: + 实际查询到的个数 +*/ +const int shanli_get_memberlist(sl_gid_t gid, sl_member_t* dst, int dst_size, int index_begin, int count); + +AUDIO_STATE shanli_get_audiostate(void); + +//boolean interrupt : true--interrupt current tts playing +int shanli_play_tts(const char* tts, boolean interrupt); + +int shanli_send_ping(void); + +//lat:纬度, lon: 经度, time: 定位时间 +int shanli_send_gpsinfo(double lon,double lat,sl_time_t time); +void shanli_get_version(char* ver); +int shanli_current_zone_time(sl_time_t* now, int zone); + +//success return 0, failed return -1 +int shanli_set_tts_enable(boolean enable); +int shanli_set_vol(VOL_TYPE type, int vol); +int shanli_get_vol(VOL_TYPE type); +//获取帐号可用天数 +int shanli_get_account_day(void); + +//mode:1->open; 0->close; 2->clear all history +int shanli_set_rec_audio_mode(unsigned char mode); + +int shanli_get_rec_audio_count(void); + +//index:录音列表索引, name:讲话的用户名utf8格式, delay:语音时长(单位秒), time:录制时间 +int shanli_get_rec_audio_info(int index, char* name, unsigned char* delay, sl_time_t* time); + +//index:录音列表索引 +int shanli_play_rec_audio(int index); + +int shanli_stop_play_rec_audio(void); + +void* shanli_get_echat_handle(void); + +int shanli_set_call_end_timeptr(int timeptr); +int shanli_set_call_auto_leave_temp_group(int flag); +// +void shanli_register_audio_cb(audio_cb cb); +void shanli_register_join_group_cb(join_group_cb cb); +void shanli_register_listupdate_cb(listupdate_cb cb); +void shanli_register_member_change_cb(member_change_cb cb); +void shanli_register_error_cb(error_cb cb); +void shanli_register_upgrade_cb(upgrade_cb cb); +void shanli_register_write_account_cb(write_account_cb cb); +void shanli_register_member_audio_enable_cb(member_audio_enable cb); +void shanli_register_reminder_cb(reminder_cb cb); +void shanli_register_pa_cb(pa_cb cb); +int shanli_set_poc_uart_device(int open); //默认uart设备是打开的,如需关闭请设置为0 +//AT 透传接口 +int shanli_send_at(char* at); //发送 +void shanli_register_poc_at_cb(poc_at_cb cb);//注册接收回调 +int shanli_write_custom(SL_CUSTOM_TYPE type, const char* value); +int shanli_read_custom(SL_CUSTOM_TYPE type, const char* value); +void shanli_set_notify_mode(int flags); +int shanli_set_solution(char *solution); +int shanli_set_solution_version(char *version); +int shanli_set_productInfo(char *productInfo); +int shanli_set_manufacturer(char *manufacturer); +int shanli_request_upgrade(); +int shanli_get_init_status(); +int shanli_set_tone_enable(int flags); +int shanli_notify_pa_status(int on_off); +int shanli_change_logininfo(const char* account,const char* pwd);//传null为clear +#ifdef __cplusplus +} +#endif + +#endif + diff --git a/components/poc/sl/inc/type_sl.h b/components/poc/sl/inc/type_sl.h new file mode 100644 index 0000000..877d27e --- /dev/null +++ b/components/poc/sl/inc/type_sl.h @@ -0,0 +1,59 @@ +#ifndef __SHANLI_OPEN_TYPE_H__ +#define __SHANLI_OPEN_TYPE_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +typedef unsigned int sl_uid_t; +typedef unsigned int sl_gid_t; +typedef unsigned char boolean; + +#define USER_ONLINE 1 +#define USER_OFFLINE 2 +#define USER_INGROUP 3 +#define SL_NAME_LEN 64 +//群组类型 +typedef enum SL_GROUP_TYPE { + GRP_COMMON, + GRP_SINGLECALL +} SL_GROUP_TYPE; + +typedef enum SL_CUSTOM_TYPE{ + ACCOUNT_LOGIN_ENABLE, + WRITE_CUSTOM_ACCOUNT, + QUERY_ALL_GROUP_MEMBER, +}SL_CUSTOM_TYPE; + +//群组结构 +typedef struct sl_group_t +{ + sl_gid_t gid; //群组ID + char name[SL_NAME_LEN]; //群组名 + SL_GROUP_TYPE type; //群组类型 + int index; +} sl_group_t; + +typedef struct _sl_member_t { + sl_uid_t uid; + char name[SL_NAME_LEN]; + int state; //1在线,2,离线,3在线在组 + unsigned int prior; ///< 优先级 + int index; +}sl_member_t; + +typedef struct sl_time_t { + unsigned short year; + unsigned char month; + unsigned char day; + unsigned char hour; + unsigned char minute; + unsigned char second; + unsigned short millisecond; +} sl_time_t; + +#ifdef __cplusplus +} +#endif +#endif + diff --git a/components/poc/sl/poclib.lib b/components/poc/sl/poclib.lib new file mode 100644 index 0000000000000000000000000000000000000000..849ab5f6aeaa249df16da2f947c32e4de838c248 GIT binary patch literal 102038 zcmeEv2Y6Lg*7iOr+z=q4gc?eKgwO&3LT{miARR$PFChsbkY);CLq$}uVn;>6UI)9_ zdqv0Y*t;W+I*Q-u6vy(v@80XQodPK1H{bkopXc27?7h}r>)mVDbMCqKb{&;hnZJBY zV*j-8Yrv3!IfDn}3>i8!EiGG%g70Z*0|pNqXi6+eR7#Cds?m`DAC9W!d1WQV(c-e= zY9;5(DhmtU^OEwSz-e(=AW>f9l~_?;Tvk+BUQ^+T3-eYLhH|PZ3iDRF;{3dllA5Z* zN;_TUX6T~PqQdH>M;4bA6t1Z&zrf8bEi7GHSSi|GE(%A%zPPNaIBQr8(p6;;J$%gWt6 zl37()Syf!_MLWNyva+zOI(k%jSz)xgxYVmo6?9=gT3D91v?P?fs=Op*&`;*0#fu6} zY;3=I`MR#rg1jT$(sWT-m><=(ilj`z{Xx*a9!Xh*Z z+Sd@sU+R|e1nhmLQKNN8*-AAP1?U5HNu}>dOzJ3JSXo(K87RqcRFvmOYw{|qqXmVl ziu1jAc!Vg=s}24D|?RSCyC4 zR0sNQFwgGSlvPxg7u4iePYa9yW|!ub)hx@)udb=|r-{nKBWen(s-ra(MU{DeKlDN) z`GNSbi*jm`#vz6c$C8X2RfrBy9nGsK?pLlCj`~)M0omC@h77@Kk)1tg*f6da zOA?QpG-I;kI9N2y%TYa*pHeD)iB84mXmL-aoS#)jRnJ~&#Z_sDVOmv9MMZgKbzwoX zMAiJx#xuGvKlGl2>5ZqRF5f(*=RFU6);zb-v_?}S)7wo+The_w)9t3XzJmB`%2wQ& zI3s>CJvR<`u7Kx==eg(P2R^H)$9Kh@O?3G__ashFG|X=$TenR7v_{h#P2D_Y*6yFP zD;`h}1$n#Y&B3Aj@;+c-ETm}*roO@Q&Fd-upTeQy&ZdZE5?X`NY@(x?tz$7@^1j3~ z>rcDKHPe>bYFkaFH`TU=XD?EB5?aXBoij5FAwmWQj6ay0b1T^?YSy~nI>WS<|#j?HGhCJ$L1*y-}aAP zUV*^L{^~!!zTMuR(0s;4lN(J=p1cVotm>Ym=}9^^x%V`k)@*7s)Q0n2+$|4$_Tq_Y zOIA)!ydknP_Oa~A9gZK4sEwaIee$*`U)NK|UppV~pE+cI^rQXNUjI&9er?~`A9eY) z9R6MBonKq8ieJ5#`L$#3|9bgfznA-O8|;r5{=3-NUu((!vh!=l*S||#|2=s8Z_l^C z-v6(UnS{CLwN9JEdZrgpXPi8Xeab5EFSyLwux#Qn59I2CA6Ro#vxdOkCs}-2RNM zV%C^WMaYVai!a7UFY!E&Nr)WYh!Fo^Q-G7e58vWXfTU4eB#xNSD+a~;CSQ*8NZhq} zZ+s};cHl@n3vW$S!k8w|$Vz?;sYu*2c-In6Fy&#oJn(wWNNmYLyUwW#cQ5 zPRU2ObP$N>pIk;7_q#mMwTo~x7!G)iPfV_2r8YT{!xH8o(**MHmONJ}w~$J-5o;NjvVg*`3*P&IGNA65` zAKuzTD^%pJmRh+@v{FTOm_}_AU9BQ_>+^(^j-U{^r|~!xZkkfc{&BBPB(;eyU8W-U zwJ3wH<|(bHcE2vuE~SuFc`T8U=$LW|BLSK(Xqv;20M8e-pHV6EF{wmeX>kwAQ2 z86+mOiI%{?>)OD?luyvJB5&z3GgAHxdF1WHOtjtXluqm=@3s69eCMZpPqmMlZii%1 z$~k2HNfHOr;*t>5>h9yUPUpTnQEGPBYR14OakpUPc24XWJOFu z21aB`Y7Ci`8k^avOXbmXrDuBU)i(!&2X6(^bYKPKRt%>YMae6Qc)oZt8Hx zWR=mJnEE5f`f4ManwrFNYhqI7Aa_RUdkomoMss%RTO1U}#5CpvIzRPI%C^Qt6f_rg zWVer88PkeAeX7&(YL3*aVp_5%&u}`P&g6A5O_xIVotTb4pbtlW7t{Px5cwdc<5tci zH^(HFLHcD3x-NUGjypR}AntE4_>2p57DCi`5Za6VDWJnFSLbNzP@mn**Fov6$k0IL+$ z$)s*d?S^g;IoqV}NFB$poMTe=rzTMIT$6e{bvvi?^UP3rPPI4zY^k)H8H~$fn$V;1J=iVOPBpuX0gq!&R}N9#Igycz^GF=m-L4!f zZbx3OvlrsM1^dxjoM`Vcs@tig-Y>Q-r=V_==(B%pr&werEJ7k7L3fP!%_xyDAG2{n zW1W%E2F;(4*q)0-_iq?tho=cGl0JZD`rpv0RQh{x<){RT6H;OyfuQ?*yoqX?q!wt5 z^!r%7^qp|%q@Rj<$G{Jrb%^;A(0VbXGZH#Ak3zRiQE`Dv=+g9h2vo`zyd|V1P!N~$ z8b(k;*XDFSF{L}IpU_QDfKyH6%AuqyJXR&pVnX-WPRMF~IEu|q$Y{Qk)@x|JM-x_6 ztY=1y^}jO`J@v{sF=Ztay^`6AQ;nUzBOG36z#HKt6*9il3A}-}}MtGo3#HTz&$snC*lroqB&C%8p zR016(437N+oOa)V0GjYNPE5K9p40PLoAe~Khm+n911cu{YvjbHcYB~MlWhipayG|$Tl*%MJS*WKA^QR#&Qevy2g{t`6;Mb-pSU_=!uXy{X0zb)t|wsGdSruKqT%Yyz5o& zJe(x{3Cb$tXYh1}bgV*-cu;6aXH?Q{y2#yl@4+Z${ETkrjP7)euebx9z?qQrwpRQQ z@7nfmoS25qKr!V^OnbpEayfGj(6%$SW0G;Eca4D+@%$EMMQ2V@UryF>1M#j6j>C!6 zZy5Ft&fJb^evzLrMx8}TQC+0aEpjA_T*a=#o}@DFX1RmA%=60~f|=WiCS9n@UFw#* zi{t5>pBo8I(Uh?bjC{&XqBZmMYfc~b+dA+lVQ4OzMrCNE~;G+WtJ8 zn26{)>d1O;D&u4fD`#^?XWz^%%(=`|;sJK$tr>;BbP8rY=jx=hkQ0eJAMe`9^*AxJ zj2TCVlIS&EPV~zy!TjRfWUMaZkojHOeZF)A_3udfBXS~fU*KI^jf1a54g&MW^+9EP z#vyuV_c#5*T^RNI^n{af9SPsxtqn>_R1U(V;5?d?i=0T@WV~zBhtRZs)3J`k(Rjv@ zB=%U(9KUpLoI20w5tZ>dtFSYp(wF9826J9a+Jc-&+!c7&w(r78B4>Fsb7j23`RJw2 zoBVQ|ES%SqUe)E^a?Ab6EvGUb#B}Jq(fMh=$oZ`H2T2jMaU`x8-nFZ)I5Bb8b8p5M zB=lkCKmBrj*y(nexW`3s{#lPfC?vso7mChTNr!2x`L5MUTJ5X*;3`J%>t1vGB4gO= zzcU6oNSwd+Uhhi}B+Va^wj(DJcL&}z&6javy7yUZO&Mw|GXYoZaxt%+ym3z!6)I49#1zfgbDOmsA>%q&*3iPO71ikNyPeaE5H!bzTt ztVrApymwtlgIq~fW_K8JS~@+4`vu}SdfPe4t95~6SzrSTe24m}%*pI0?VYR@et{F& z@wzz4*XaV=S>PTPn58|ejJga)~mtIStOd6d&@reB~2`ObJJ`E*_292U5g1)kRhIIlSqoc_o81&Y|Z)12f7 zbb-fM;CU8!OBWc<&U%2;=N7-fX{_UHC;2N~;9C~>nFY8RP?;~1@Ej-OL%+ZXhJB%v zq<2_x8A$04mxB|tj1#i6LFAWnP;7MiboJ%8ayB?i z(Y*^VO#nGN1Q~_gw_{ zw;-9t2eX|!otXJhT7rYuLjBNS>Rd?sJF|^DmE99rN8`S{m(|~yBQiB04MGTF|KiNX z_2dSm=t^H+wNddTHSjx5R=@N4=0eHYG8OG)Q5%#CYKGQ!Lu(yW*W&1hu&drE;c-ye z>By>&mdYvPEPaiG{;5ZEiyDHXNG7R}h*y_3a4~FCuA(Tx*En z(pCKcWgVZ}Lqvw8A-_H%1NuT3jt^bw_;gV5d z0wzJX5v0r*}G zWyALz!?!bH&;f_$y8+Tb^!A=_ul4ZfoN7~>nF?x680Ax)Oj4VQ^HDf-C=Z8JLiseP zVQTy^P6ZEV%ORaWjW?hm z%H&FUFFf6aqxS(ERyEG>H=wr*8E@mzd{>}|^o8TWcLtJ%?<&K0Br=EM;J!xnht%hr z&FQ7yxhI|a&K%6mb7XF&D;?XGDxOSxeG0oynO%u4o!v^5IXzj4!=QFB4pWITX9O#8 zDl*pM(3J>ukmbm00Sl%Q<)#wvA@eO9x)R_1(n|FD3PE#V(75W{Q{l;`8nk$m%)GSiWyD;>!s6;Dn%iQG5N z4bB2LBU>-%bDeJ7J@ezqRXB7IAM&Xtfa>K)njp?IRQ~|QmtCssA@zf}50ikVN>`d{ zYkU@t^PD!xpgKKB^^mSYb-L3}Um0L7_|~NwXz$(V-ZP+UsLn7{=R%$l$8!3UFiV! zQ1RrHa~=aYI!N^rsOYvH?eylw+Yj)(+ogJ=PxWC?Jp)M-z%hpE>;yy=hYnx`q`xSD znkrpss_j)gIrW-=R&<8gqiA|}4DcPi_!;7)7by&GxG%$@LmSv^UI)ITp=|gLHGH3k z;!c-u8l*noeb|iWu+KRCgHiktwsaKxJ3V<#{dYL|(q;7xgfh4{#VYj*l7>~bVKoEW zhN(Do6z_u6XSJ^*hOTrJ+o^bR${EBhNzWkF)6<1&PiGkK7p#KD3LH9sTObswYhuxF zku+3$8LB&>$d6An)jUXlIaRvSRMS*EIpvJuJk&Kvb!diA?dlBVy^wF=`7@X56bOat z5>V}hq@mi)P@Rg^bs`Q;wJD^(oGM*us-09kIpwV8ZmvU+>PN`d9iW3VkoS2i;dvPj z9n}EUsi68QbPd&1L-k20KI&540qHNInv=|ZQ>!4WH9dq?E2k%KSM7$APh3`kZkY{M zE1+vwr5IKdVJ;Vk4&Z^1{vuXGo4~fy)E~#W7_`ooKf|6iWCyi_reV;`FjxlfOUZy2 zsV{^WG<=cTiy!Se@xIfE+UbT&OdkB$5~41gJT}4jdK{WbU|~~Wauk#en?{DsCs6!= zY3J@GTVol+6vp3ZxHb z-dgT2ewxHPp-&=xFZ1|7hx5}y-j(i#yBuwB=t>1<@Xt{3nea10-=6qc-3y?ROd8Z(KG!9KI za36wq>yANr(=Z=vdT>bsYLqBMM<4B8+Uky@lMvy#@W_Kx8^^dX!CLwd(`Q`YP|u zPW%|;N4WckOV8gW532AY_m-yC4I3MNkf$5#`!KZz8*A8ijX>jNkA{id;~tHdH4T1> zmy2T*e|f`sIg?}b2&4;f=*aoh`Yr;syHMUl?iEe%3Ftk7Lr3l+2=^^=a-}(vpG!K= zdR$G&rX%#jkKmT*+3x%VZ5RA}?DFy_wL!UF$ez=jnxc~>;LsuC$Ov$1IAp`);p}mb zh6&kEurR8ud^IG!I1LSfX?~nI{KGhE4`j&BLHcAII%I+MrzfcW3FS@5p3w9@h2BRv zbjY3y(?e?CI@{v^8(dPyPKMu@ zY7ARmvpU;7*15=cw%i9xI&#nA#O%rjeE|2y_08I~LKFNz*JxCA>E63GH@|6E@4=d@ zczPSgYY*pIkB8}m$Mi>}_?tY=wOu*8^@h*RIEJ_8s(Woej*qoSAB98nJskyP7x^^! zmLX|4U#B@=3B9d2bSInxVIW+4+X>|k5k2V&B&&GR%uU68TxVM|K54_(C>+j~xNIR7 z7`V51fxKLkdIE$VAt?s((=aKnxk$Kn`%FN!%AP2ym_7HNJaIsDLe%$vu&SS&VwV_r-m^9q=E zF!JW%(DC-G)ps+h^&YBg;(f8M+D7P|gri?)6nq52K)iF2RbSNx41*B54eUpT9gBK6 z=XjMjljlWV<*Sci=mAdcoAbT2g4cT)w*$DbnEDk*lltCCE+t36$Ak8O> zj(ipupwqmLJRd@5%esMX1Dw`_v;F}1;U|=)0Z!BR;?6+&1m@`mIBhh8{U@Z~Wu9(; z(`GVn61F45ap(p(2Zp7?FGroCNSZpGuIqFW^v=hj=ZEnS2I|BZ*V_PSt35P;zRah4 zJql7(JnJ~}@(8NC-m85s%s5*T2i58>gJyf9;3UoTKCs+Drp;00%P`Y)WYx!1jeNZ+ zd>m`JJhl#(!#tO3waa(m?oHQa6a@moY0%}cm7FwJc`nUlm7Rk&=Hrmgs&qa+6ltr} zKVjYsyj6oa@bZzj5QjZ@(m*X0W+)~!If+@kz3 zDeJkSygP@>hj8~A4nw(o5WDJVOa}vS*xfAwl%Mw~S7^#-L+=b6n)0m>1|quel&`^B z?JTz_UoaTGUtd}+*Pm$I2X{B)FqD^T%55<4W2xTJGXPs_>eilUF_WDJ zgU%sdWlS$`J=CqtA?bXW?^!54ghLZQWGIPe;=`y^9GZAwMSd8*6p9<-hic+SLvJ+> z9sZBQ#P_+!jBE_=&ODE?SrfLv=$J0OK(*t?||9g%P4eR(cQ}OgRY!^nTGt}c@;dPVW5mXJmVVYhHKEwNo^w^D_fG|LB@53{$ss(6e2d;RkMxa~k>%{E#?AGb{q{jhGD>3P7h44a(+Mb$ONR75yBi{FkuUPqY8iv`YeQT8orX4&*a3#4^QPk9Fs$(bvB|CZE zrATL?E6FZWTS=w`%j0n~Mw5=ZN&K`U6Tj|psMnY#Yz3crdQUL#2qGE5fXAQ-daw#? zu*{$-N_w`IkoM~5jBT$g4mVV8;k0a&+wQ{gnnLe*6BJD$rtOaL=s107Yg((E_O#Qt ziL;=8UOuMtkqfEBR9)Rot=JfpW2=u@p6PE|e4x$fy z{t=XCwh!?f44$_4A)ak|8X7Jgv_H%fVF1($0d70_{X#-8LMp2VjO2~1+X^c%O4tR} zM~BrzwHXs~iHMCwRWJ(9W%P2x1>K5VU>a;(SZd6Y!}xxRU8pR{tqdm`>xHR6Iche6 zQ;VY(5b(J_a|vlU;uP+_Z{=A(9MBLK+UA6nBac5c=rT*@Rpib@QWJ;a7+EU(D|}iXX^(uRwJE>-}He zbG@+RBoO)Es9(}M`zCrWfg8Ho-5Z(S3o`(e=MYRcKZwxXabUEA|QwmU##nszqpiJQp`F5bNtU8Ueab^}*M zNk)V4+gyH;mTWl99&&-dhnyYUL(UHDAr}Pqkh4R9fI08=zq3Ex4l53>qo*Oss+&G?l zx-ns0&NFE^Fl74yvdt;py%$??&-09{{;z2Bz_52mPI!_hJ<|^LU1yROLxyT{R!uXf zc(3!tpg@ygCf)^vp(d9w42N0Act%oK;0O$J!wVel(nEO;!Pq{?w>>9ld(Kwh_CZ10 z;kv_)_cFHU`nDJPw&wOpH3#D9Jk;&dejT8JRIS&`2Vz1%V-I*3sYeaiN8qsf?-mI`FjK?7 z*A|JK{&y!g5YVr{BxgGLZ*uR=^={fm-zNMITdMzaYbO1c&=Uvd7(y?7I-9`zt!6Re z*$6G*hva(FY21 zrJttZRJJlW^IoiG2ORb9QXAIz#NiH#uQ>hAw^4HDVy>jwRrt!)@8<46UFoSJpDpO7 zZOj$9i}NMz`dKV#mxo*4)pzA?+LgQI>r1=(uAZB={k!>li?+S`%DH+rx_n)9%iDT( z+SRks)l+yS;9zg!_A(8J`>HQL5eghWoGIDu+!ym*8$I1jAnj1UBaU<&?rVSP<9Q>^ zg|_>;#)0hJ^vP+QcZA$mefs;FUthiI%V&%^!)4>(C5QW}FAj_)<4fIK9PW$uSufg3 z!{NT_$6`U|NW(3AOHIN)~CO(@vqNLeewA%^6MI3|C@g6 z<5O3Def^=n{D$gPmwoE*kNkaY_lETA;=^$^if?$in5$FuubZ}fs_6fB9W{Y)c zzS-!;&BZqAV)u__vaU6b=q{BHsNO&dEXY`^fEDI*pa<`2xqznWJM zz#0B``^d#dlw?&Etc*^WIb$5p^C~JziXq2;jxVlW&cEqd(?7qww6wgee{orUNe%ue zyr6z7`DG<}w31(0UR9Mb|IFGPF)wVuz$ zKcXaBePl&pzvXOiB$m~b<(ouFdHzbAp<8H;Dsx^{T~JWC4Ck@y|#QG7oDZ?S3dc=$CgwowXH zfqnVb4{vde%zGOC$sKoy?2-uWfD<_YrQD z-!%S5n7EHX-20<~!R~F&J^y1GsQ>7_Xm=EMyW3=!#0Q4NWRmC~KN%!OH%y|T#-F~I zBn~ireyB@gmmx9KL}KWkBQbOTMZzQT)xMILy8lQFcO&tgAu-%UV)&jT!AU+adxz$N zee4t7!1%$CFatyP25&v_`eH+Vf5BKh5fc*Tpx?mdd^gmm8kh4;&!3M_Pv^YuG&1l0 zQsdRRp$0G7>#m>3$+y4D;%vjBziIIPU}08p-@P>n%xIv&_i^%F;gZ;FNUSiSSOF46 zdk96{%};9m%no87+(+Ha*S!{G3@g? z#&&P3Bh+YDH`LsJFw~RlBp1^rw7a<9xZLCJVlTFG*7~ovS&iJS9J!?7Mojk`H#EKP{eU0ny8PO>9BAr2aL;j{+d$**ecbV*#b%ECtMQ-FP?hI5;BxP)yx4X5 zqj9;IF8jwXMwR!pt~XTYeO$-9im#8+8yZvb_>4UV{@0Fr1kv5xdn8T^lBlP{?Vsp- zv&}iiWni|cdq1-m)4eqW>z(cgyDfi_@jcjd_QCbWd@p=23iru9``-53`yT1m`B zq^bAFUsLbH_p;tzdvE{k+q;)r?>mj}UZ&o?>aDjoxi-|-_hxbnjIk`2#QlaumLZW< zFNwYAbk^>p-cC2s_5GOfJ<<4{_-lOcZNm?6eeX2B2N>T2evR*g_OjD?^V&jVK~I0>xg~q`8jSR zJ~bqAOeAvl9ElbCk3_CZ;?IUet|5^N5_`CbR`*5AFWTadbxC|{NQ^Zk#_pNK#0Da< zk6Y|am&6Z-M5ZB;S#NXf$3fv;wVxQPcRS{)J-%nXzP52(+d6e9EpZD{QDS*Y?s7^hD5d@k-cXU)>iA+M8caWFEb>}M2Y_X zue;judcf6t*#q`s2w2wydtMiA`pv3~|F$qo(e1`%57W#&_T0?-udkIxtCr`Ll@v!; zloyv3RhHLOsAyhAv71|3Sh}>ZGFntvz4XZ9f@pO}SW%L9WVEs{KblvA4>KVYQ_zm` z=ccPlqS_)Po||R(a5QA3vaqPQsv16wk;1aPr6q;Y{G}*VmRB0qEh)@fRp^?;kGw{! zijN9wRKazAUP(!`uncUAOAGOn@nl_I7A;&;Tpi7;EUNO!)TIsO=;Q@6C(NHVYi2a6 zqO0?(%S)F=tE%&=3)Q?C(Rs5cjhjAg=9Ew+s_3q$qN=!T8RM|5BroVj$BDn~8;op8 zc@c?K;#cb=Y-CeaUQ)wH2BP?Z=PIC@H+9_18PlTk=g$k3W{6GOiiHJf#bwp3&-__4Cq?JYpEX;#E~6z&mzlttdK8xx6s}QGej;9( zmtP29LfC6M=_OVRhT~jTUR}KG$Y^Of9(;%vR#ujk<8$&-+O9-vhbmWDctlMhTDPX6 zs4}l0;LtR^>5Q6`*R29wj;+pk1bQ)_zKG`6RG}q(_6&DvURlkuy!`5#O8lO-+YHs^ z7140lR^VG+izdw3im*=iA?Nuum6doNAbJ#@($HNJN*-^L@JEmdPU%w9*&xU(2&>lW z9&U-slEO0Sqa4UG?hseDzcde0ZWZBGcZ|H6>hh=_Rnh9g(h5^dnRbMFMV@XNJgZP% zG>2fkc{Yv`%x&*U= zijFTXVn2;Wt4pJ+3-XQ(MV88%tB#k?qqwXXMJfxcYD%gV!|v95b!Bli<`&%%jLqfc zHD1G8-L94^n$$<)I^C_y2G3pA!Q>vkXaiF5br4{IhQU1wAu=9G8RGp25 zT1U$Y*HkZ43+GOoKPft40mkxy(Qy+d%vvyWe#nsK4;s~Zl^z*AaaCaEN4)aN3NRTl z?llz!nCQH@ecT7kT2rooEfrM+*v973UW!{2Y8yntlsSJJGzVd_7D# zSw*8&lc&v?gqgOW%C$vTda&zW;Ek4W`vnHLr|->%QEhX|+}Y82n5<_^nlNt03@ii7 zmVu`0g^amQdG>XO$~QLH*)ToMm^N?zq?zcgsnMS~3QG$s ziweu~k96HzbIhCtlja^A18qmyQi8;@R8o1&h?g5=rkSdFno;8w#7 zAHQ5MY-ZuZd|X*wzB<23CfIsbKRiDsF+km97|uU<_9SVmX%oRNF#oz!x$oHvYQsYi z8;9aDZ^kRkFGoQ1G!~7TE?7qh+%{y`^#;aFztM`pRZ8Y*)DN{pU8R=MQUu3cQ#_OG zGCqM&kDIG~RnENy#RYo3bh~CnVctr$6wjCz z=3z|=RLF~oJywHb%To&PLc-qldgEo)UO~ONf!k~>jWyVLqbGnT0-je|ny2@=I18*V z+$98}DYdb>Yegm0u;MJuL#(*D4Yfbb^YX;(JW9EFh(;I8z!C;O7;~mGa#buXE`gF6 zdT2I1ZltSv)$$?{U=>|f%n2tDR1(Az#I6*`t)r}^q31AeDCK%7T;9+n{d_hfuIap4 zoHKw~U-aCBf#yvm<~q>xEt|gpEjkTsuHmeii@UbsD*hXXd-320-1FnDkbyQc zT}(HGTmT(3YuW_t5thrPLoiz2PAk|Et;JPr>%h3{xQxT{s;&_>bo?l+!iFt`byF>Au~Xkc^Vm9wtL*oE{Cs_wq# zPIXkX8r@y1v`A0Iemhp_2_sm-UO^cV)3yn#yF7~(DTmhtD0r21{gnn+G!?~VK%TGU zwU*meKo5%+)~=$G@};=<5V(Rto$x;pUt``-!|Yyu65(49Uqew@CE;oM1?RY>Gl)QrwY$17ZuRhfe{wiS8RS@v(T{$D_56Su0&2=W&ZNfaK372R%KdNQCik4 zIKY}YIvl#!FcJk1erfRrTo9nyi(vp?t zh8Fsw$}<;ux@WBnmB;FUJs>RTz*g2&RI7t#;SL!$@pWCq`a@oZkM4GQ2Zt}~n45Be zp{)l&w4kayirKJ$8v%CiFa>Xjg;vsFrSy(LZVq~3VWu9GdNEi0)`{->yuS9Xy!BSx z?b@N)KyQWFMWWUE?yC+~pjoQ@ord1>>bnD2xAmo`p4NEf889s|#{9uMHU$NtFne_j ztg4J$v`XI&DB@+bSF?J01+xQNk+6P{u4jlL^5;KYV|digg0p}}F0>+%UR5>rc`KtO zdAu)Gx|COh_MVSE^y+8UanH9qwQvIBbcV)RR;F)7%e`3LGb)t!s0 zqWNp`LM+JF?DoB`!7P7+QdNkxP1jT3)H5>#`U^t=*-H05NpNT9GodYZHB1F{-PZMd z+Lx5-mwiodG4`eSnx4Ki<75ymD~0oN+@q<{trqBO-T**FJQ@tF>BgaLud9o{ewr|0 zL|RX-yYq29T9vk}yfSTEWoge#3WMQo{O}Go1qxpMN|_O>8oekcNEsRi92zR{@xd zV_Z`6^>HV~o(x;l6Q6(b32kkXIY|%b@>{6^-I=004*%Doe>uQa&DDCE+YHSO8o#xj zpg(>qH^6&#kasW^{MPgMq;~5YofLm^+$pge5RbWu&p-W?j)+xtIAYatL49?csC{{TBh=o(Uv^lmZKkbHI4N>+qf_EH#BGc{6|p-w z@%f$4_|Y@J{s2||3iQoT-)JbVd#YzJo`zG;^^H!BKP7HM>_+gJmzdOUJo{=e9=S*d z`bLBOzaefx-wnkrsP|ji+n3li#D7nAg0bCSeQjTS?x{V4{QfWK2K!4x?ed>muf47R zFVWlE@z;>vzQp~PaBQf}_qV_ecF#tZHrP zx7PYOo=R))j3=?Gt)<^q>yPrZ_;Zi`D^|6)^xIqZ`J>hTD^{gi`l*(Fs;`W*Sk=kW z?_}xoN0R+lEdIbO+#+4HzTY3Z_{unoRb4Ipu9kjROTW9N-(BnHdRqKxeE$`zGA#WJ zt?&1@3||>%u`1Kj&(!*yU(GAiJ<%A8-w6%Zx0lxU#}|Ky(|^U{f6~JGeYC#cANU7q z{wr2xS^8O8-;ZaOuZ*);{KZ4qet(NU|3krl#i{|8{s7B9{_{NWidBOw{XrK0K>=;@ z8Eokf*7|<@@$brkS1f)VJj{QnWq)WuoA!rW`ok^z!!7-hmi|b~KK}GG@QPKVE&b72 z-;e+3fHwJzwe-hYe8yV(<1GDgmi=*-{sc>Zg4WOVv?h3GJc(74Ed5CqpGlVf6ia`K z#b=78Kh4sgX6a9}^ru_;(=Gk!mi~d3{(+YMftLO(OMjN7Kg-geW9iSa^ygUm^DO;& zTHo)_^DO-Zmi_|E{sK#Xp{2jj(qCxlA8hF#Z0R3t=^tw8A8P3zYUv+l=^v)`{rVne z=|?U7sHGpZ^z$tJJWD^%($BZ_^R>P|f96~Ig_eGyrC(_27g_p6THhb6cpi<(7WArC)C8A7SYqq4oXx9%1QMS^8C$ewC$PW9ipe z`ZbpRYD<5$#ecP>f25ZCnMY!WW?pdsM;+;la2BhMvhTlyzh`X{KzL;5FJ`s*zHb?WVq{yIzlL`(lf^=(N1L`#3YrN3S^b&QIM z&w5M$BuoD!l@ZcE$^4(Xq4>7QchpP~*4>7QchZ?N7Q!ppJwTwrfv`EpJwTwZt0({ejn05-O@k9(mzAJ9nwF;(m&JE zKT~}b(m&JEKg-fTOU1|~wCN9LS^AqS{Y@%4q`%41KikqjTXhcUpKa-%W9grx`i1n* zvGmWi^v_k3L;B}h`sZ2t=c&U(`tImA#bVX@mj3ywBBX!5W&Z+8{{nSVNdE#$|3XXu zLbWZVf1#zn+0x&v9uMhnw)8Ku^e zSo&Km{Vi&INPml^f2pN^sahP;ztqyd%+kM1tqJL0X6bLW^tYSu z_=;8AE&c7PYe;{4P#ycdn=SpD)$ox1&6fTxmi{g3fRO$zmj11l{;lfZkp8Wf{%w~2 zZE96W|29kic6GYQn?mBK+b#JW>avjh4oiNgx<%woboo0i`CaN!kvG%wyDa$*^{U8| zw0wspzgvAO@)lZtwL+sJ z|9(sUfXWqlJ6-+(Oa7pmEArM_{-7m)NEL{jzi95Lhb;NSYE?-7uqA&)Z3xL9vE+}c zi$ne&wd9Yfn?&9g5=T8|$sbn_hU`CX$)8X!hU8CJ@+Z|tA~*4U(vm-=z7@HN?^Bli zY1JrVvQhw!dfJjdquPm_*JX}+#**(;y+z($%XeDxXVoZ?oA^I#$)8g*MV_q7KWE8* zua<=5zqjPit4fiZ{_(see?hGmxrzS^mi$F^fym82&b(;JUsBhJJQWg0y=2K>R`-U= zzii20QO}9o)c+Mr{;GN}WdBu5{+ik?aueUzEcqW)OoGY6kGO;1A1wLnDkUU;-IBkd zdWgKMF8_ule^U(;x$*y|C4WmDAaWC*w=DVFYO%;oeBZX@@2E17XF}qrcP#n4>UfcN z)be*N`FrXdk(>CwXUX4JSBc#8ulFta2kNen{SPephw5pO_khGvA6oK{)LSAqD>kEcu_*qEPuiS@O@-3Xz-k|J;&)p^gca|H6`gsm=_^zqI6kw$fi)>D^ZPf2{Pk zR{F12`tMfydn^49EB%9d!C^lz|A5gFpT}+!{#4`~yxmHdBhS~5s5o4&FrAB|B|d*` zA?b-a-9)8@H^UprPICC zl90bX>TkF{@cm_}4<&8N_g8DgUal@bK>MY>;X6om55;4!8YyWbAF9rf@`m4V`9nar z{7C(8tG@ry>fSiR$LNn$V?+MOsl}2u^`D@oN_~v}Bz36xH+-k4Q$%jk)6|Ed^mOHf z>VKf>8cNSnPloj8sP!R!^VH!X{RQey^hduw3)MTJ^ug-yq4c5ZMJaFiAEuHLgY}Q9 z#E`!{wI&qbd{rs@OuP%#O3^p^bMRk1sRJjcozm_5+W8Gs*9 z2w5IDz_vVaplx~Jpjwu5YUK>BRcc7BoT0UHYSm(3ty&DKRf|CbY&(Mn+I$A(*fkx5 zU$zO?ebC@qIkh+ssulS`wKxwNZu7~>w)x}?sFgF&Zk?P#wQ_3JBBxd@a%x3BXQ*BG zoLaTWsa1=dT9F@IEAoSD^`F7D`p@86{bz8k{xdkouIb>xHs`^$T4!*r))_q1j_TlH zwJZ;}Ef2}Al~b!;Lu%D)NUeGesa3BbwdysbR=tMQYOf(f>{<+|)q+FNg5hsw%P(2T zobD|hvL;z8qx;QFPc5**)RLK>eef2G+CQgp7u9=7xfYU^n`xS+}wd)m%2$Jl{AUK7!tmgCY>%i&l1S?+l9TalmQ)X(KtQQMy8e}}{gdYVtAqcnf;n<(|r`8&)tCgZI0 zs~vq!$9T*TJ#7!S7<4>bd-#Cewx{)Qt0Sa`3&%S3ezx?Es;#Hvj9Yu5b~~naT(sUZ zmfqUhdYZ>`=9-=L<+W1G@lsFJcQ(^*yWy6ft`GEdeb&{Evo8OJGI4^QF2CN<*T#(B zBC)6YGcMRQPw46ToLsw~YJd2J;ZXcG)DxG1Vh8qgxl?P`SM%#H^>g{1F8okW%?~^c zFDrg$iaqG*egZx12OkB5_-(4qPuFjr)lbi<9Y1aFAgjLT)no4yt358L$KJgbzsH0oq)%W7s@zeE~V$}l=ez@__{R#2W_Hc_;>$~lN8$3Erh?~}jp4P{$Qa#R~r`u;+ zJ^e4n@_R)+esLotOYeqy^g392H`Sxp!qVGb zTTj<>oE4W_>WNF5W$(7y_H=!5<17@vJL=KvZt2}sk6tHB@9x@q+FxI*9{1L+ht?Zr z>D^zC-e61b!Pa-vcauPuAwA>wBQ3 z_jEma6D_@+_2`YX^q#A&r|Z$ns>kzEkHGlVdOa+?7i-s7>)|7>P``S)wmmJMZSi}x zHorz(M_zaI_r_!1aq#UMq=CHWOyp-oF>g7lD-jQZ>GcNr{Y5@RaI~PFe;{8d=~aTq z3a%IAJ!9IxTacgPFwIXBh<_8rlBLs41u>L$8bd~7Pr)3)TtQ6zTE0|pgW&msR|?)N zc%R@?f(Vr^|7XGP1tT#gf2iO@!8w9_wu}5%3a%04Gg-_(M{uj)O@j9dJ}vl~;75YH z1(R`aly*7^_7)r}I8m@%@EF03f|m;NnIPJETaeH2FdY+TFj=spU@yTTf-3}93!W`_ znc$6re3pfFpAdXmurbyK=C>29|NboqpGXyUYyk2mJ;1hzc z2!1H|wcw9}O%ja%_JWy$g9RrD&Jm0XmI@v%__*N9f=%#Qf^H|lA%e#Vo-TNi;0=Oz z2|gV1?i@f)@y0DR_(E1A@;AzApHQ z;5ULz@NkZbD5^tci1M#S}Xrlbc6 z<`N%PYLcXv3YHUb{ah{S^98RU;(Ga7Nk1s~Eb#}WUX=7Vf7A>w-Ua!LPA@Lu9GNzP|6{es}TL~O=Bk~BAt^qWM)^-3#A4;Gw2 z#P!KkNiPu0C*pc!xuk0ZPbA{{V}qn`7JPt+>y1Yx{es}TL|k8dBBI5d?o22^-jwa%IVZ5Yg2_8no^}$j}mkS643eK1O!-?3;<`c1xUnBBk z1WzEs&Y48$ohRwbiP#(6Ao;gS{;Ndr`hd7ysjnsd4t8ayuaSv=VGbgnkAQ zdVM54j0ivDB!3za_U909RB9y=cFF~-MZT7Z>!TBi@V8myTLdpBqWpFu^zM-KBSiSy zDfur+{?7TvR-kXyClnB3HOa5Oazdat-qyG%z z6_^(#olAuOiGtH4e;yIny^DzOUn=q=1XmGZ=R_j(HcI*eBK&Wa{A(ot4kG+NOx%if zRMKw~;s1TXPbB{LWKVWJd8%Yrh+Yqu+y0cy>v+rAj1C$$sZ^A1w{C-AZ}6W zI7y#Igx#|Q&y)Pih`5h%B@zDb7Ww^xj}T$!c_Q>)mGp;1`2Sq;zmfcuj>w1qj>LLcl)MED;mm@D}Q5OKd_77_jnM7~_Gln6UV5utayq|YG2{{@nNspQ{Cg#R7H3zT|N z(k~O?{||z1Oa3lNe<8SA^1mnIe$CHB@Ji`q%C{5jM1=j`MCfHpdNdKdCQJT-l3zgt zuVaYkDs`HqFC>E3C4$=||0YS_B6z3dKSad+rpJlk^`^+*75s<@`(G2G_no9;@Q^Ke zH6bFuB@udQMDXfM+@#b&qVl5>1y=a33ei)d~YK3vL!v52)~mh|3Jw1kud!ef5q46E(CaGcenj{mD*0n1e+Ci$=M&c`RYrv0 zO2O44KY_U2Q704O_Y#qB6}*aw^0yM9w?op86XEywlK-mY|BVR0KND-P%}58rZzsWS zM9BLRZ*tTCBK%Gk`2m8nh$z392)(6}E+@k88p%IS@~cjD1RFfdUs3u31U3fU&((>@;@fR?-#@p{JK^TApABKOd>+wj(82?PlVrr zA|E0+l8EwCiO`!V=|hR}N)<@{O36Qx2)ic{i6JwIt(N?wC4VCk{?8-k<9b-q+llaho8S(~e^k;>3O+0Oe~|QBg6~WI=aT+P@Gp}8 zBXJw9+j;^~k2Xa3>mb;L2tIv@&>JY}u|(8ks^rg-{7NF~aV&8O?(<0c0^(&D=S29q zkqAFG3*JG5{v$-_JtgT^iSYBT;@MTA}_;ufrTMED&j z@*#pFiLf)32)&t-K9mT*1(IJvguT_oLzFsM(wm4EW8EOa{?$bAxL$BO5&HKLq4$WS zpC`ip>yrOI5%xbPE>!9tl8)<*H0&h^wiE0q*p-NKeTbW}9umQ0qR6KT9!P}ULx|8@ zBI!~hc&w8AV3mo+V5&qv7`Nx8v5n<;$BJ}<# z>4ZK=!+#4R^4k;PH=Q^~sX>w+LxkV)f^!8A5mIxlVNd6AVe}V|RFA`@e^}eJ(CxXvcf`5_xABpE+JoN>_e@i0t+6bl+VW%e% zdi^9lk_i73C4UAHeiss_D|G}Bc4`EV68TAz-Y9sc*~3{Bww~dns`g<^f6HMLZev015_jj5q_^G4#MXdMEHG7@M)31BI(x!-;w-XlKw()x8(m*(mxBv z4K#j|h{xmpBN6;FiL9p}9ud|&MiZeoLDI8{;D4~>FOmGsMDV|oh*;hx>HCRmv2GIK z=OrTiye9Y-5&FA`(EGEbzbC>^EMmd@CPdh8L&RK=A?g0aWAGdY5%wn%VSlRNfkfyZ zLWJHDNtY5~f0g8~CBptjBG$GmiLi66;10q21Ro|se<$%Mj2j~Se=PD{f?pD0?;k|y z{VeIGIY`5QYa;SH5}}93$+g{4MC|PjB7(;uf-3~e1gnVPaV&8S<}D(4Tp;p`1-BAm z?YP!BZ=TMR&b)^&m>l0 z-Xg+(zQ~INONg*@BoTVYN&0jm{GTuRw-Mp@0U|ylcuvxPAeQ0z86xa|K?IMl1-~Ui z-x+4~B1EK9h_K&D@<$M1e-g1Z`U??u@&%WRypmXg{XG%>P80cAg69!Y{&FJpu9fs1 zMEH9^@*kJ{mx=KEF0rLjUrPF~#1-g2MEGffwS|0=1yhL7?@EMTrlfO-@H1NS4ICL-*t6Ff!aXA_rWJQLyX29a+Uyq$>h4-=vHq@-UV!rwcR|FPtMLxkVI6Px0G z#R!vbNreA4f~k_9L0pEh|2horA3 z7C34<5%wP>g2$tRPZ6R2DiL~bNqQF%_IFEuvyn){ehRS>?zc!fi?|fmjYQZVPlWx+ zg42o6Uqpo7;gViSg#BvCKZXeV#|xs$`g6hNf^7v;1#vr0%X_)s!sUCt^f&&C+5U)nR5nL#Es34j`%h9DYmI@vrc(mYgf+q`N zYp(UT30@_5qo97C5q@_veFg513BD%yrr-yHp9p>-__g3a1b-CdZyeBGf*^lWkLhlL zy#%ua`JH)wJ~u;fp5Q`3{hTD^OC?<_SSq+$@Mytxf+q`Z5!@ztt>BG<{7yYTpW7+; zlAwOB68Y~)`UAmTf?o)JC-@IR{BV`F7bn<3u(M!>U@t-a9Ogy1Z^JZjmf$?WLj?KV ze#(~%mIzh}t`=M?xK5D28OL&41g{jlR`6cp1xh_A_=Mmyg1ZF25d0s(zY6{+=)@U2 z{LMDnYbw}Au!CS%!3@EXf@1|I3mzbN81Y zyIIor2tFYAxZu-*?+Jb+_$R?X3-UM5_<3DZ!B&E81v?9N6YM3JB{)=&zg0my;{_)R zE*4xOSR}Yo@MIz;y;B9x7Cc{Yi{LiFYXxrsFf-ejHLGWEc z{d_U(|G+dp*HZ}wBZB%lW8}A#bQ{4m!F0hsg8c=D2#ye(EjVBBP(l4%GVCA4^wHQi z3Z5jmQE-#sd4iV+ZWX*<@OOfD2;MFDyr6#08GhcB^t*z8C$2#p1Y@yBV>%+3B-m20 zqhOj~reGhzfr9$^Y1o+|>Dht{1rHTmMXW&_1Wyn=Nl-s`4f!TXUo3c;;MIcH3*I7l zhu}`Z=LKIAd{gjSVx`i*B}3HDX9HssO@5*ve@lk)c7h!Ry9;It_7fZ^I8|_l;5@;F zf|W#U23H9lD|mw72Eo$>_4D4)zgW_j3tlaFlc0VM9C}YmdZ*w^g0BhgCYC7mt>8Ze ze->=i#K;o`Qv}-yb`k6@*juol;6%Zxg0lqY2`(cRE2W}- zc#Yr9eKZzkI2(@7wH7cA% zMM@QqsJOBRiWDhQ#Wr$4aiz!X$|^@uV;5ayQ9;2)O6`8%ecye#@6L>!IXr&3bHDlK z-aGftyqS4(zZ3bAe3nOh(L4u_@Hq+(6o-gKVzGF+c%?W_yg@7z%f&mzyTt|Kz2Y*m z9OsAPv!Z#P9_wFb821&;bM@dhh2IoE7XMq^Cw?g&*BRU2g8S=Yj+iU??E#rwsF#7D%X;*;Xj;wo{CxKVsrd`;XYejt7Go@@mleE(fnQj@v{}4FE)txiw}v9h)cy4;!1I~ z_=31id{b-@cZ&Z*UW4b(#IMC~#hl!9e6Dz!*h9RC9F6DA#1Z01af~=tyh*%OtQMz= zwPL;ah`3aIQhZumC9V-)6wU7%kgnGh-X`u4Tg1=Aed0m!u$X%)@;3_C^TZxvZ}A-Q zJaMR4Bwi|BF8*A+MywL2h&7`5y#)4qAHyT@{XkqQJ}#~oH;P-t*Ts*-zlfiUUx+~$ z_+N(pOzb3{BA!R$;?5xPLUEXw5=+F<;IsA^Ws`@y|`Iy7T*xx5h6FFT1{ z#BO3Qv9DMl4iGOAFBV6LBSrK39QaRGc&1n<&J}+lHi}K+BjQr=Nzwd{2fi;U{EE0m zd|mv6>=y)|iu=U_;{S<%6?rd<`X7n8VxHJT>@8j*ju1zQW5nylo5b72N^!baE8Zo} z6CV~I6V2~{kiHcPze48Y_=~TL=666?Z+-^^{+HJ87F)%A;+NuK@jLOf)6@Pv#52Wn z#DU@v(fn=*`zu!X3i0RSIPnH?nph*=Dc&tUM)nN?^ZOxig~BVv)#3}{M)75FtGHc! zTQt8fg5N=f4~xgd;EeQsJBXdcE@C&akC-p^7YB=1i{nJ|yCdwkOyP;*WO1fgC(aie z#QVjE#HYpQ#5LkN@huYfqs{M#kr`CSxrr3#N1 zr;)fOS0mmj-YqU7aqaqHahbSWL{!l3T|CD|B7j3_{Q8hg7m4!05NXP>h(!6ONQm*3 z!_=R#BjUryeF>z3qg`0qHd9G9_4T#v~m zCn5hNuB-JSrz8Jl4f0Rc1wj!x8~G>aAphh%-Os%T`Db_m@=rD*|K$D1Klvc?PcB0K zNo2Z-d=&X7mm>efwO}$$qt`j$i%_QpMR&l$yL)=C7#rB#z672?$^cdEP zcy!Bz8%VULMzKj;C@v$>&X$WS#FgSYvKY_zikrmE;&u}4a);O=?i5=|wAVf2UU9#8 zghV?&CI;=&Ve>oz*5@*eN|q;f7ki2YB-;G|u}~Z;rbzS$<~>ZHdF}u-&mDl{8IOLV zOe`0x#99)Sxn4ByYeIOw!c8Rlm4)JBaf!HsM1QkVTqUj%H<9RvHjB;TRB#$2d|iHjo%k8pS4Yp}361II~<_A+8kH zk?3qUh?~UC;&u|_(hjjj+$pw_&!GK_d&T|Y5fbCrF)=tH9d0k?lIY~~MDso{gnKGn zKw{h*AQp<|Jz-d%Vt6guzc@-9BaSCAPMYT}z;cDF#99*LXT3Ow#P~R0Y#?(`zM^^G z7{lXt|KviZ4ft+ebHZt&1636x450e zc(g-oAu;~!6nBvrZ+45VB*vFL;$9Nt$$s$wiSgr*c!b1waZC(QHXI+!^B|yk9t7h- z4%dUZXadkNzM>%q7wO^Th7tb2$ED9}?}^ zJRbv^=VREOxgIPe(SC=DMI_p3u{e|C9MbY0iFTP{zl`>{kwp8unEeXc-x?C_Z3yeF zZEt92`OF8}*T0cySA*z__Vgmz59j$ELA0M&Nwk|n?1Sy)SrYB!+>=1GkF_M)#js8w z+JU*xj{0xzbEE$M8fjv^Kj~y}6uy6xsOOzJgQ(x;J|*gPF4D~UyqH8i{&6md`rAaJ zzIHqnM17q{qMjayys>`XN1|SSN1{H??h2wF9wh66U`8H@diObr`c{pyU_IMMqJB;4 z2BKd5g+zTa?*+O)2;M&pVbq@qC^OcZJtXRjd0!3c$(N@ijQTO_3=s9=D-!jf9%ajV z@EwWce@{;k$Nl(TAda*7ev0G!HN!Z*)i?$`u1H?c?nC_kn#3_FQW!;Qj&GU5dej$lo{O+K&qck-VZB5+mqh&;pl~5sh<-}pu_Wq~IlqM7oL{0|tx&u< ze?S2?@3rW;RbN&Rq zIe$XEH0MVMoAV>o&w%X+;r3)H+N;6?NYqzzzJhpjzJhvd&PNb7=Od`U=6nNTbG}iI z@3Gq6oKH+d`6+D96Hu>n*j}N}B~iZzC|pRQo{v|!j6{7m<1qAQ97ergr+71dqW+t4 z5Am&BKL_oJ?H=JA678W-;h`kjMVZ3o1a^vh^3rawj4^rvVyraz>A z2k6m$On-*3>Ce!P#&bQwWhB~DgTjp@+SMwB*N|vmI~CqVE=NDCaL^H9v^Vp79sCLy zeg^f6MA$q}_Z-@#!gI(~sLu*7Bhen472ZmsUA8K`heZ1f2F;o~qrRdNtglORiv6p; zdQN>XsH&pAA{bOTYgRA_bJ-v;NHZ>Q!X|DtWY7>qRZky8y&D-`Yv#}jX*r2g)XJ$d zBUf`$r;xmDzNk=?GjCKVEC6KaKG z%+yb2PN(Ro$+ff09Au$bGwoP)-K?oK5p`u^Xfn6Z_TB_Zk@1`;DHLJnI}1gG=9UX7 zxM{^iQ^pgjD&~g0nJ901s7RAG%?})~Hc@m5db6K}b~GzuDyWbsGhIu1I+uy)PW;x9 zkz`M17O%^m)GS^Xn%pd2nwerPBw>;J^LT|snJlzTi59PkncpUU19zsIcvX7Nn^3%+ zJ1rt2Vp^PdRmJT3nhB=EoKRmqqc%NbVfbKXO#v2ibEnA*MY5#bsnj9`cB-@Rp1HY= z%}j(A>EX`27AeS@>Mf+GtInRLE<&Jr|C~wgLL#%P^cazD?b*@c{xB;(JvwKt3iVat*x6N6Yt-R~BHhs_Ix;@A!#pe(6-`jZ{O(=LAv&$;|{=7cM2r8+lc80R{E()|%7Ys zD>gH-gx6-y%ED3Ub2)FlMxvN8CR&^|Q)hPhu8O4$CwyQ zB^nbGTRNOtG7x(YSNf(V#|P2l}2yF zDNAEw@UEGdnDgVxjZ>M%Y!h2LoZ2*Io7ft{sZL|Ii7g#YeHyb(Yz^U5sL|VSO4PWR zxcqR6)R=8z+YhHqjoAiMjK;;prXaRfaZ1$~x1!h-V2ah~Z8+6xOiXOKaq88WZDPxf zQ?bTu6I*Vanl)yd*!sq)T4T0}t%;nv)qFpxs;- zL^oJb$8R3GvXkB>yk`2;nHa3nvAAv+44POoV@CDNde>-DUBwKDMqGFGpo;qXx~Y}3 z>tUOG!6p9ym+k{x&Na(W(SmVY`r^aCahcpKak_qp#ii1Js2czc{m#dS3;l3ABC{}# zA6$~pO5YfSaoIn!;BvWHuEhViB^9Jh2-mImrJvdR8^XBM&CB*CT@@gGZGM~Zca$G4 z)o1xNI)1q1obkI0f4hEL5l-P_7n?pF6E}Tp96zqN>EnGI*RMSSCDu$j2AOWxZ>Qte zNje^fXYq0UMj?>GI=k5P;nI1Q-!aDzx9T$Kdj)^HeoZmyd&%?5|KGObf!kCWzjr-9 zK1Y?pI=k5P{U=tq`5oi<;Z|VA?`!<+rjPfZqRQ_}&#&I`>+1NO2s77@_o+r9-YzzM zoQKa%-*U$fx7{-7JInK12EVb^OgaX8dwyFTKirbc`2EcDATqT+wb_{7G}n; z-193$gOBnn^ZfGmw;f;hDJ&P(Kfa#_|1#}uPK+Pl=i`=NvEzqZq#3`bJili6r4Vly zdpw@-{Hh$k-VodL{mJuVM9P{;$KWfT-$KW)uXN1s$DUsbez;ATS#0_~@ccG7erG{# z)AzmSw*(O-8Mm~K!K0qvZpZIz$FDc)2c((fu?v1>G|kIw@|mEU5|Z>8fm*zsHM`ITZ|O4-Co$KYDeZ-?VIL^>Xiw>`fl@QW(H zw>-Z?j^722-`AcWpPMN`yj^Vhed+o2LKR*8wmA=l7yA_4E9uJAQbqAd|il&yV+=qtci1{FXR=!yUg#p5Gz(r4VlyTYi z7SC@JRz~%IeE!t+8|wI7?)dS!Q@6h4V56wx%jZ;GzcR;fq~n)|f^_}(ewh^F?P8Bd zF8*-+8XdnYA*PP`9p?G*eKRSnw~O_=(DPg4_+16D^(*uIT4Mahdwx3|ztN6gqvw}< zQgr$nJilX(-_?#EpCijEzZkz&o?rffw)%3dZY{9nWu!2ZkCSuecbcg8RN(Kgk8V9gKfw6R>$vU&o3`0 z`gm;g{E8hveiyUl_m1Z`KF05D&#%hyo8b6;=lLy<@jLAKEp+@U96!F_&8;tdKh7w` z+r`!wz7NhVzYUJxM2KyEuk`#1PLB4w-1FP*_*FZ8Ri0lh{8Bb?(lJ=>`L)Lvs{*X& zcs>~)o4$KJzjg2{LA+gTeiwLt1027p5L>@zJ-DXT_ zhK|JWZi(2a_fbOK_X%~UA`?mS!S@9w(eb&*B)X{yb$q{I62E5? z>Y5YkK1!(jYeHQwG$Kg1B-D*esH;qW(GU^~HHyl5)Nxp>AeE-J*oLwF!0a zB-9;FsOyUJvn1tmZbDs2LS0!x-2(}AzfGvykx;iUp)LpKXGzNMyo9>Z33Zba>K;g_ z<9i>I-TMi3d|zae{qnt$Np$_8u`zE{%K@%@HTx(S|c zH*{!PnZ^3e^>lncBC?iQtnN`ycL+MH$}Cp*TTj<6HwaG6sM2X?@C{Gb6}m1Fx=%da z+0aF$@2{TjeCY5mv)J_g80qHUwwy16C@Ot}J>B)t`S&?#ewC-21|9Dk*~RX6qNi(s zuA3EsR`&}}$M--+>3;3$_&&%e-S0fzmYDRt<>}soj`yqVV$=7jr~5Kyzkm01?NP{4 z={p_UyT{`U=&&lY*!^DM>G=N1sN;6EryCAYUdFAhoF{v_YoY5Jplv2JIAQ}{@&9)3>}Ipvsk~kJ>7~J-RGX}1?Zyc>G4?amh&43M;+f@o{sO+#7`qL zi%s88J>3z6dH>KZRyWSmbwwkO@|))A20|BAe)oF1%b|e1B(D`ucjhFA$E(?{H7o5tTWroNw@S ze9vdUi1gKXx~rh;8KL9*OWl0%y`NFXjqf#eb@QN$s`syYx(8$S`<|!!SLn`(NZ&zE z$M=Lr^#`4>-c4UC!uXe27{}#oPxlSNQSInbPj?b_8nxe>J>5?riYn(>p6+7kqV~JU z(~W~Jsz2a+R^9ya{iIQTe9x+@Yk)4Q{(a!-o`~@~?CI9W=(=LPEpwJT-*ehDoPVVk z8+QuU<11_C+S~MRkl%vz_0BJ_-d+#u?fH!xi+XA=GC^nkhIqQkr9rT|S9+iP-|7Z> z`)%xjxoV-~b=Cv;*!`wFzb2< z(V6a^ona-cZ%Iu_JD2X$Z=d@)Gr#@%Q&@z*p^~;ls@F6V2>u?^MOJdgj+^xHkAr&+^rqLtsq zl{Pf{7yVV?p`Ki5#p6i#w(#5ukK+BKOFVw>kKqrxzp1+m%{bL+A9Q^zG)I~Xy2F}I zrF(PTooR%vYNpSYDrR-@ zCar!He0AqZ*ShViJ4eu;Gwqe#EhE~JW9M<_bIAw3!9mls5^utFQRBMM{@5FmMd#q| zdajfb&$RS`+91>8-Zh0XRn8^8^`M!$AR`` z8g6#f3olxD)zqG=%CDqdN^Oy8^Di|XlXRE7y0m#69@n2z3zA&M_4;GU7N5F^e3{7x z@oc`X|2Fy296#5LCimSNnEx8d%9mQl>6e_!d9%3&8y?oIquti7gUu;*q4E9WciK7C zm!Dk7zs{mBUe(~Mp-DbCQA^U=t2wferM-=wY*j{%wF*0zJ_b*JtmuI)=kt&h{<6CC z#jkbNw!06t#yV~Ikkjf#sn4{Id9;H7KbBf^DSo^V-Dg5Oi5>(Tr@}*|z)zd!%c+?T zHIXHHi6e`eBS+!~+F(dZ-|DDWrQ-JEv%9soOGB!-FUuP&j~Lh7>M4eKykIwE6Vn*i z&h$T_N@q>`O0&9Rlii1lWD6d%JzgYEO+JC77cFucrQujU2MO^Txw1EMC^9r83|~G- zHj|7q-_>|{ia$s(+cD(7O+2^bN^t*B+G{xmdVWXehr&Rnv!}>12;b^AanJdcByW*5 zaq8!AAgn)#{-GitG>?>FqMy4$`jce1uYC=)!#CmYQMbvZ(tJF`d(E9|9(G^|UE{yd z9i-~EH`ZEa3q0YB=*u}g8EW=K(VXiGtvuB8!)Rq_K4YK`$FU{ukkgHH*J$8R(s;+1 z^Of_y)=cAi5rt*MoH*353<1yQgs-hyGI zYkT5+$nQ6KQa)pT;zjrR z7qoeINodE@&kdkk>ExUe5+mufn zgeUTm?fco&PT><3E_s9dgq+f9hLv~^$KijuR+9Iu#?~d7zR(Ti!M~RWe_G(Y8n!OF zj;y4fke$@X%F3s|hGX#YM`_z>JpwwbmA2{2PVOi76mux9hZNo+mv((X6#kXTCXWSG*UyF*-s}f?f+19eC z*GyJEgWnzPcBDPL6))gliqbYVdHX~WDbs!Q)v9nit8aVCmF{Hx+o?4T&Zf2c@)|qJ z$Z|Bz^MO#|Z+#?PVAF25N2_$rcUxDD=Xnk8DD%$8X^qJ;QTlj!B*E8o9Zilog=&R@ zM+--gDhscXz`2x_@jqF^c8$(wVv9#QuxsmPUKO2FFq!2PnpWW6#q>YbbE^@CwR`fV zo_(P?R7Kbg)<8{0W%zGd&Q`47nrJsQ%Ih=w(rNBEd?|iVT~Vi4uM7<+v%$nk=UQ`x z>t1`jOt{${@rt!m^dcLyp57>;_FnocT_MHua4YiVm3VwecCWs7BFyx$Z`~L|i$1n@eC;Y_ycD?xRUx?{mWKt=Kf^b-A6w#O z>S!KnR6fUIPEOV19y(5*ZvLUvQ`7T}xZ;64481dCcq$yLl_$7)&vZTXn_8WoulHha z61i(tPrlbJk+(nWvYm@$9d< z>75JnJ$>bjn>w0NDrIJ+uOg#B?~yZT&V?1el~nO7?BS98WL2-wg^VnWPP}zgK8-8S z8GjG5hij2R-Mh_AbgMFj+s`xu8DQo3e%|g9Eyy8PIYjk=UDMxmoo>^m_Rjf1)F0kB zEus|ON4uquX}!0Fp1TIvuUV?cKzpA=AH5An9*gXK-PMu70anLq*%uboS8r-ZTDGt1 zq(sG46IniXsOkXznMJTCG|zj)mYJsf#PcKir)}DXj-AMw@s>mi;xbwPwhp>g`zz=M zQ7h59e2isj-p@DQIA@7UAS~;XQoGqt8@?2Wq21Mg$~m|rPN$4BkK|C`I`x>~A<`-D zV$t?}KszR8IESII{>bgXdDNuhk}5M~B1inE{(fkn+7oRXV{#!spe{si z=#<5Ku+3wQoN~hTXwv%wY+)iCW`|E37_h!P8kM?ib;(xTzg3orRu#L%mJiXvqMHWS zQkN>1RE`JhBdepg(uRlF;ntKRNb}Gps%AV4`vMCYf??zi(jzainmM6vO3pD}?bmh- zH8^^ez1p`ayyt0K;fWBwiCE1)miFQ0&>k~9~>gx}%{|M(Z_^WBK!Se}|MJFMfD zU*#yjj=FJ@t#rRQf1{czA-b>8`Rx1A$2#6`ijh67ozGmz%JMtk2yc1kfv$6&aXrsy za6OZE9cq+UKvbFUR5#iaa!a%~t@}XZ?{++WsnL9K;9he7GKP_LG{1Y~E$NDIVrawPiBlqS+IF*?Oh_UXJ}=5lY-?>wa=8Vz&rcK zB1Mw?Y)>=L8+1B-k70B?y0MEy5iC$>Tg$$l&FSao&9%VVzD5-*1+zWskSctqp5Ws; z`)ga9NKF3Ueth2ArbQ-odq=pV_&d-VW6701lYcWs{$rgX=Z|HrbQ*c@{yL5wcAzuN z14%u-ZOHR?syd=PHillHqpS@*Fxqop*?LLWS$|9Zfs74W(6@{l?C7;+e0+h-yHIju z%i77t@IY9f&$JGXV=|ukcO{OmO?rH-Gm3j`li%-=p4-hpRm$V6f@nuU$Gi*2&7j!7 z0*>Tg&;tBnj;q8`j&-|SZ&%1D<&6XBRN~LBr0Q>($rQ*3EX$-~c_{58OS+Kf`BKOG icx-4ydN*R(^F)4^%zdg+M&+Y41+RLjJCF1fo%k<=0g|x* literal 0 HcmV?d00001 -- Gitee