Пример #1
0
void initVariables()
{
    variablesLength = 0;
    
#define ADD_VAR(varName, desc) \
    variables[variablesLength].name = #varName; \
    variables[variablesLength].addr = &varName; \
    variables[variablesLength].description = desc; \
    ++variablesLength;
    
    ADD_VAR(detailedOutput, "(bool) provide additional information while running the algorithm");
    ADD_VAR(keepZXCV, "(bool) keep keys Z, X, C, and V in place");
    ADD_VAR(keepQWERTY, "(bool) try to keep keys in their QWERTY positions");
    ADD_VAR(keepNumbers, "(bool) keep numbers in place");
    ADD_VAR(keepBrackets, "(bool) keep brackets symmetrical");
    ADD_VAR(keepShiftPairs, "(bool) shifted/unshifted pairs of non-alphabetic characters stay together");
    ADD_VAR(keepTab, "(bool) keep Tab in place");
    ADD_VAR(keepNumbersShifted, "(bool) numbers do not move between shifted and unshifted");
    ADD_VAR(numThreads, "number of threads to create\n");
    ADD_VAR(distance, NULL);
    ADD_VAR(inRoll, NULL);
    ADD_VAR(outRoll, NULL);
    ADD_VAR(sameHand, NULL);
    ADD_VAR(sameFingerP, NULL);
    ADD_VAR(sameFingerR, NULL);
    ADD_VAR(sameFingerM, NULL);
    ADD_VAR(sameFingerI, NULL);
    ADD_VAR(rowChangeUp, NULL);
    ADD_VAR(rowChangeDown, NULL);
    ADD_VAR(handWarp, NULL);
    ADD_VAR(handSmooth, NULL);
    ADD_VAR(homeJump, NULL);
    ADD_VAR(homeJumpIndex, NULL);
    ADD_VAR(doubleJump, NULL);
    ADD_VAR(toCenter, NULL);
    ADD_VAR(toOutside, NULL);
    
#undef ADD_VAR
}
Пример #2
0
static KGL_RESULT WINAPI  GetServerVariable (
	kgl_filter_context * pfc,
	LPSTR                         name,
	LPVOID                        buffer,
	LPDWORD                       size
	)
{
	KHttpRequest *rq = (KHttpRequest *)pfc->ServerContext;
	if (strcasecmp(name, "SERVER_PROTOCOL")==0) {
/////////[242]
		return ADD_VAR(buffer,size,"HTTP/1.1");
	}
	if (strcasecmp(name, "SERVER_NAME") == 0) {
		return add_api_var(buffer, size, rq->url->host);
	}
	if (strcasecmp(name, "REQUEST_METHOD") == 0) {
		return add_api_var(buffer, size, rq->getMethod());
	}
	if (strcasecmp(name, "REQUEST_URI") == 0) {
		if (rq->raw_url.param == NULL) {
			return add_api_var(buffer, size, rq->raw_url.path);
		} 
		return var_printf(buffer,size,"%s?%s",rq->raw_url.path,rq->raw_url.param);
	}
	if (strcasecmp(name, "SCRIPT_NAME") == 0) {
		return add_api_var(buffer, size, rq->url->path);
	}
	if (strcasecmp(name, "QUERY_STRING") == 0) {
		if (rq->url->param==NULL || !*rq->url->param) {
			*size = 0;
			return KGL_ENO_DATA;
		}
		if (!TEST(rq->url->flags,KGL_URL_VARIED)) {
			return add_api_var(buffer, size, rq->url->param);
		}
		char *orig_param = rq->url->getVariedOrigParam();
		KGL_RESULT ret = KGL_ENO_DATA;
		if (*orig_param) {
			ret = add_api_var(buffer, size, orig_param);
		}
		free(orig_param);
		return ret;			
	}
	if (strcasecmp(name, "SERVER_ADDR") == 0) {
		sockaddr_i self_addr;
		rq->c->socket->get_self_addr(&self_addr);
		char ips[MAXIPLEN];
		KSocket::make_ip(&self_addr,ips,sizeof(ips));
		return add_api_var(buffer, size, ips);
	}
	if (strcasecmp(name, "SERVER_PORT") == 0) {
		return var_printf(buffer,size,"%d",rq->raw_url.port);
	}
	if (strcasecmp(name, "REMOTE_ADDR") == 0) {
		return add_api_var(buffer, size, rq->getClientIp());
	}	
	if (strcasecmp(name, "REMOTE_PORT") == 0) {
		return var_printf(buffer,size,"%d",rq->c->socket->get_remote_port());
	}
	if (strcasecmp(name, "PEER_ADDR") == 0) {
		char ips[MAXIPLEN];
		rq->c->socket->get_remote_ip(ips, MAXIPLEN);
		return add_api_var(buffer, size,ips);
	}
	if (strcasecmp(name, "DOCUMENT_ROOT") == 0) {
		if (!rq->svh) {
			return KGL_ENO_DATA;
		}
		return add_api_var(buffer, size, rq->svh->doc_root);
	}
	if (strcasecmp(name, "CONTENT_LENGTH") == 0) {
		return var_printf(buffer,size,INT64_FORMAT,rq->content_length);
	}
	if (strcasecmp(name, "CONTENT_TYPE") == 0) {
		return add_header_var(buffer,size,rq->parser.headers,"Content-Type");
	}
	if (strcasecmp(name, "HTTPS") == 0) {
		if (TEST(rq->workModel, WORK_MODEL_SSL)) {
			return ADD_VAR(buffer, size, "ON");
		} else {
			return ADD_VAR(buffer, size, "OFF");
		}
	}
	if (strncasecmp(name,"HTTP_",5) == 0) {
		return add_header_var(buffer,size,rq->parser.headers,name+5);
	}
#ifdef KSOCKET_SSL
	if (TEST(rq->workModel, WORK_MODEL_SSL)) {
		KSSLSocket *sslSocket = static_cast<KSSLSocket *>(rq->c->getSocket());
		char *result = ssl_var_lookup_ssl(sslSocket->getSSL(),name);
		if (result) {
			KGL_RESULT ret = add_api_var(buffer, size, result);
			OPENSSL_free(result);
			return ret;
		}
	}
#endif
	return KGL_EUNKNOW;
}
Пример #3
0
void ZModInit_CGsp()
{
	ZTvarp zv = ZAlloc(ZTvar,450);

	ADD_CLASS(ZBox,"Box");
	ADD_CLASS(ZCapsule,"Capsule");
	ADD_CLASS(ZChamferCyl,"ChamferCyl");
	ADD_CLASS(ZCone,"Cone");
	ADD_CLASS(ZCylinder,"Cylinder");
	ADD_CLASS(ZLathe,"Lathe");
	ADD_CLASS(ZPlane,"Plane");
	ADD_CLASS(ZPyramid,"Pyramid");
	ADD_CLASS(ZSphere,"Sphere");
	ADD_CLASS(ZSpindle,"Spindle");
	ADD_CLASS(ZSpring,"Spring");
	ADD_CLASS(ZTorus,"Torus");
	ADD_CLASS(ZTube,"Tube");

	ADD_CLASS(ZBevel,"Bevel");
	ADD_CLASS(ZExtrude,"Extrude");
	ADD_CLASS(ZOutline,"Outline");

	ADD_CLASS(ZBend,"Bend");
	ADD_CLASS(ZBulge,"Bulge");
	ADD_CLASS(ZCylindrical_Wave,"Cylindrical_Wave");
	ADD_CLASS(ZLinear_Wave,"Linear_Wave");
	//ADD_CLASS(ZMorph,"Morph");
	//ADD_CLASS(ZNoise,"Noise");
	ADD_CLASS(ZSkew,"Skew");
	ADD_CLASS(ZSmooth,"Smooth");
	ADD_CLASS(ZSpherify,"Spherify");
	ADD_CLASS(ZSqueeze,"Squeeze");
	ADD_CLASS(ZStretch,"Stretch");
	ADD_CLASS(ZTaper,"Taper");
	ADD_CLASS(ZTriangulate,"Triangulate");
	ADD_CLASS(ZTwist,"Twist");

	ADD_CLASS(ZRigidBodySimulation,"PhysicsSimulation");
	ADD_CLASS(ZKeyFrame,"KeyFrameAnimation");

	ZTvarS zvs;
	ZTOInstance zin;

	
	ADD_CLASS(ZAxis  ,"__ZAxis");
	ADD_VAR( ZAxis (X_ax) , _ZC("XAxis") );
	ADD_VAR( ZAxis (Y_ax) , _ZC("YAxis") );
	ADD_VAR( ZAxis (Z_ax) , _ZC("ZAxis") );
	
	ADD_CLASS(ZMath ,"__Math");
	ADD_CLASS(ZMatrix ,"__Matrix");
	ADD_VAR( ZMath () , _ZC("ZMath") );
	ADD_VAR( ZMatrix () , _ZC("ZMatrix") );

	ADD_VAR( ZBulgeType (BRadial) , _ZC("BRadial") );
	ADD_VAR( ZBulgeType (BLinear) , _ZC("BLinear") );

	ADD_CLASS(ZBulgeType,"ZBulgeType");
	ADD_CLASS(ZPoint ,"ZPoint");
	
	ADD_CLASS(ZFile ,"File");
	
	

}