这篇教程C++ ERL_INT_VALUE函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中ERL_INT_VALUE函数的典型用法代码示例。如果您正苦于以下问题:C++ ERL_INT_VALUE函数的具体用法?C++ ERL_INT_VALUE怎么用?C++ ERL_INT_VALUE使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了ERL_INT_VALUE函数的22个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: erl_elementETERM *body_set_collision_circle(ETERM *fromp, ETERM *argp) { // get the args ETERM *space_refp = erl_element(1, argp); ETERM *idp = erl_element(2, argp); ETERM *radiusp = erl_element(3, argp); ETERM *collision_typep = erl_element(4, argp); erlmunk_space *s; int space_id = ERL_REF_NUMBER(space_refp); HASH_FIND_INT(erlmunk_spaces, &space_id, s); int body_id = ERL_INT_VALUE(idp); erlmunk_body *b; HASH_FIND_INT(s->bodies, &body_id, b); if (b == NULL) return NULL; cpShape *shape = cpSpaceAddShape(s->space, cpCircleShapeNew(b->body, ERL_FLOAT_VALUE(radiusp), cpvzero)); cpShapeSetCollisionType(shape, ERL_INT_VALUE(collision_typep)); // DEBUGF(("body_set_collision_circle has succeeded")); return NULL;}
开发者ID:lrascao,项目名称:erlmunk,代码行数:26,
示例2: hello_getattrstatic int hello_getattr(const char *path, struct stat *stbuf){ ETERM * response = erl_rpc(FERL_DATA->erlang_fd,"gen_server","call",erl_format("[nefs,{get_attr,~s}]",path)); ETERM * pattern = erl_format("{directory,Mode,Nlink}"); ETERM * pattern2 = erl_format("{file,Mode,Nlink,Size}"); int res = 0; memset(stbuf, 0, sizeof(struct stat)); if(erl_match(pattern, response)) { //directory ETERM * Mode = erl_var_content(pattern, "Mode"); ETERM * Nlink = erl_var_content(pattern, "Nlink"); if(ERL_IS_INTEGER(Nlink) && ERL_IS_INTEGER(Mode)){ stbuf->st_mode = S_IFDIR | ERL_INT_VALUE(Mode); //permissions stbuf->st_nlink = ERL_INT_VALUE(Nlink); // directories have the number of files in them }else{ res = -ENOENT; } }else if(erl_match(pattern2, response)){ //file ETERM * Mode = erl_var_content(pattern2, "Mode"); ETERM * Nlink = erl_var_content(pattern2, "Nlink"); ETERM * Size = erl_var_content(pattern2, "Size"); if(ERL_IS_INTEGER(Nlink) && ERL_IS_INTEGER(Mode) && ERL_IS_INTEGER(Size)){ stbuf->st_mode = S_IFREG | ERL_INT_VALUE(Mode); //permissions stbuf->st_nlink = ERL_INT_VALUE(Nlink); //files only have 1 stbuf->st_size = ERL_INT_VALUE(Size); // length of the file }else{ res = -ENOENT; } }else{ res = -ENOENT; } return res;}
开发者ID:DBarney,项目名称:efs,代码行数:35,
示例3: mainint main() { ETERM *tuplep, *intp; ETERM *fnp, *argp; int res; byte buf[100]; long allocated, freed; erl_init(NULL, 0); while (read_cmd(buf) > 0) { tuplep = erl_decode(buf); fnp = erl_element(1, tuplep); argp = erl_element(2, tuplep); if (strncmp(ERL_ATOM_PTR(fnp), "foo", 3) == 0) { res = foo(ERL_INT_VALUE(argp)); } else if (strncmp(ERL_ATOM_PTR(fnp), "bar", 17) == 0) { res = bar(ERL_INT_VALUE(argp)); } intp = erl_mk_int(res); erl_encode(intp, buf); write_cmd(buf, erl_term_len(intp)); erl_free_compound(tuplep); erl_free_term(fnp); erl_free_term(argp); erl_free_term(intp); }}
开发者ID:dmichael,项目名称:signalers,代码行数:30,
示例4: is_printable_liststatic int is_printable_list(const ETERM* term){ while (ERL_TYPE(term) == ERL_LIST) { ETERM* head = HEAD(term); if (!ERL_IS_BYTE(head)) { return 0; } if (ERL_INT_VALUE(head) < ' ') { switch (ERL_INT_VALUE(head)) { case '/n': case '/r': case '/t': case '/v': case '/b': case '/f': break; default: return 0; } } term = TAIL(term); } return ERL_IS_EMPTY_LIST(term);}
开发者ID:billysvensson,项目名称:otp,代码行数:26,
示例5: new_image_blankETERM * new_image_blank(ETERM *arg, int c_node) { int stride, cbufsize, status, key_length; ETERM *width, *height; cairo_context *ctx = NULL; width = erl_element(1, arg); height = erl_element(2, arg); stride = ERL_INT_VALUE(width) * 4; cbufsize = ERL_INT_VALUE(height) * stride; ctx = malloc(sizeof(cairo_context)); if (ctx) { ctx->cbuf = (byte *)malloc(cbufsize); if (ctx->cbuf) { memset(ctx->cbuf, 0, cbufsize); ctx->sf = cairo_image_surface_create_for_data(ctx->cbuf, CAIRO_FORMAT_ARGB32, ERL_INT_VALUE(width), ERL_INT_VALUE(height), stride); ctx->cr = cairo_create(ctx->sf); return erl_format("{c_node, ~i, {ok, ~i}}", c_node, ctx); } else { free(ctx); return erl_format("{c_node, ~i, {error, '~s'}}", c_node, ERR_CONTEXT); } } else { return erl_format("{c_node, ~i, {error, '~s'}}", c_node, ERR_CONTEXT); } erl_free_term(width); erl_free_term(height);}
开发者ID:chinnurtb,项目名称:erlycairo,代码行数:28,
示例6: mainint main(int argc, char **argv) { int fd; /* fd to Erlang node */ int loop = 1; /* Loop flag */ int got; /* Result of receive */ unsigned char buf[BUFSIZE]; /* Buffer for incoming message */ ErlMessage emsg; /* Incoming message */ ETERM *fromp, *tuplep, *fnp, *argp, *resp; int res; erl_init(NULL, 0); if (erl_connect_init(1, "secretcookie", 0) == -1) erl_err_quit("erl_connect_init"); if ((fd = erl_connect("[email C++ ERR函数代码示例 C++ ERL_COUNT函数代码示例
|