GPS-Magellan
view release on metacpan or search on metacpan
Magellan.xs view on Meta::CPAN
croak("magellan_findmessage(): need PREFIX.\n");
XSRETURN_UNDEF;
}
rc = MagFindMessage(Prefix, (char *)&msg, MAXLEN);
if(rc){
XSRETURN_UNDEF;
}
RETVAL = newSVpv(msg, 0);
OUTPUT:
RETVAL
int
OpenPort(port)
char * port
int
ReadMessage(Message, MaxLen)
char * Message
int MaxLen
int
MagWriteMessageSum(Message)
char * Message
int
MagWriteMessageNoAck(Message)
char * Message
int
WriteMessage(Message)
char * Message
int
magellan_del_waypoint(wptname)
char * wptname
MWpt *
magellan_dl_waypoints(cmd)
char * cmd
void
magellan_handoff()
void
magellan_handon()
int
magellan_init()
void
magellan_ul_waypoints(FName)
char * FName
void
magellan_get_linked_list(List)
MWpt *List
PREINIT:
MWpt *Cur;
SV *sv_coord;
PPCODE:
if(List == NULL){
croak("magellan_get_linked_list(): got NULL.\n");
XSRETURN_UNDEF;
}
Cur = List->Next;
while (Cur != NULL) {
sv_coord = sv_newmortal();
sv_setref_pv(sv_coord, "MWptPtr", (void *) Cur);
XPUSHs(sv_coord);
Cur = Cur->Next;
}
MODULE = GPS::Magellan PACKAGE = MWpt
MWpt *
_to_ptr(THIS)
MWpt THIS = NO_INIT
PROTOTYPE: $
CODE:
if (sv_derived_from(ST(0), "MWpt")) {
STRLEN len;
char *s = SvPV((SV*)SvRV(ST(0)), len);
if (len != sizeof(THIS))
croak("Size %d of packed data != expected %d",
len, sizeof(THIS));
RETVAL = (MWpt *)s;
}
else
croak("THIS is not of type MWpt");
OUTPUT:
RETVAL
MWpt
new(CLASS)
char *CLASS = NO_INIT
PROTOTYPE: $
CODE:
Zero((void*)&RETVAL, sizeof(RETVAL), char);
OUTPUT:
RETVAL
MODULE = GPS::Magellan PACKAGE = MWptPtr
double
Latitude(THIS, __value = NO_INIT)
MWpt * THIS
double __value
PROTOTYPE: $;$
CODE:
if (items > 1)
THIS->Latitude = __value;
RETVAL = THIS->Latitude;
OUTPUT:
RETVAL
char
( run in 0.900 second using v1.01-cache-2.11-cpan-5511b514fd6 )