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 + -
显示快捷键?