msg.xs
来自「source of perl for linux application,」· XS 代码 · 共 52 行
XS
52 行
#include <eikenv.h>#include <e32std.h>#include "etelbgsm.h" // From Symbian 6.1 SDK (the Communicator SDK)#ifdef __cplusplusextern "C" {#endif#include "PerlBase.h"#include "EXTERN.h"#include "perl.h"#include "XSUB.h"#ifdef __cplusplus}#endif_LIT(KTsyName, "phonetsy.tsy");#define XS_SYMBIAN_OR_EMPTY(e, c) errno = (e) = (c); if ((e) != KErrNone) XSRETURN_EMPTYMODULE = Moped::Msg PACKAGE = Moped::MsgPROTOTYPES: ENABLEextern "C" voidget_gsm_network_info() PREINIT: TInt error; TInt enumphone; RTelServer server; RBasicGsmPhone phone; RTelServer::TPhoneInfo info; MBasicGsmPhoneNetwork::TCurrentNetworkInfo networkinfo; PPCODE: if (GIMME != G_ARRAY) XSRETURN_UNDEF; XS_SYMBIAN_OR_EMPTY(error, server.Connect()); XS_SYMBIAN_OR_EMPTY(error, server.LoadPhoneModule(KTsyName)); XS_SYMBIAN_OR_EMPTY(error, server.EnumeratePhones(enumphone)); if (enumphone < 1) XSRETURN_EMPTY; XS_SYMBIAN_OR_EMPTY(error, server.GetPhoneInfo(0, info)); XS_SYMBIAN_OR_EMPTY(error, phone.Open(server, info.iName)); XS_SYMBIAN_OR_EMPTY(error, phone.GetCurrentNetworkInfo(networkinfo)); EXTEND(SP, 4); PUSHs(sv_2mortal(newSViv(networkinfo.iNetworkInfo.iId.iMCC))); PUSHs(sv_2mortal(newSViv(networkinfo.iNetworkInfo.iId.iMNC))); PUSHs(sv_2mortal(newSViv(networkinfo.iLocationAreaCode))); PUSHs(sv_2mortal(newSViv(networkinfo.iCellId)));
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?