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 )