#include "lx.h" #include "proto.h" #include "internal.h" void lx_SetScreenSaver(LX_CONN *xc, const LX_SCREENSAVER *ss) { unsigned char req[12]; int b; int e; if ( (xc->flags & XCF_FAIL) || (ss->timeout < -32768) || (ss->timeout > 32767) || (ss->interval < -32768) || (ss->interval > 32767) ) { lx__bad_call(xc,"lx_SetScreenSaver"); return; } b = lx__ssblanking_to_proto(ss->prefer_blanking); e = lx__ssexposures_to_proto(ss->allow_exposures); if ((b < 0) || (e < 0)) { lx__bad_call(xc,"lx_SetScreenSaver"); return; } req[0] = XP_REQ_SetScreenSaver; req[1] = 0; w_card16(&req[2],3); w_int16(&req[4],ss->timeout); w_int16(&req[6],ss->interval); req[8] = b; req[9] = e; lx__send_req(xc,&req[0],-1); }