本文整理汇总了C++中pr_msg函数的典型用法代码示例。如果您正苦于以下问题:C++ pr_msg函数的具体用法?C++ pr_msg怎么用?C++ pr_msg使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了pr_msg函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: check_prctl
static int check_prctl(void)
{
unsigned long user_auxv = 0;
unsigned int *tid_addr;
int ret;
ret = sys_prctl(PR_GET_TID_ADDRESS, (unsigned long)&tid_addr, 0, 0, 0);
if (ret) {
pr_msg("prctl: PR_GET_TID_ADDRESS is not supported\n");
return -1;
}
ret = sys_prctl(PR_SET_MM, PR_SET_MM_BRK, sys_brk(0), 0, 0);
if (ret) {
if (ret == -EPERM)
pr_msg("prctl: One needs CAP_SYS_RESOURCE capability to perform testing\n");
else
pr_msg("prctl: PR_SET_MM is not supported\n");
return -1;
}
ret = sys_prctl(PR_SET_MM, PR_SET_MM_EXE_FILE, -1, 0, 0);
if (ret != -EBADF) {
pr_msg("prctl: PR_SET_MM_EXE_FILE is not supported (%d)\n", ret);
return -1;
}
ret = sys_prctl(PR_SET_MM, PR_SET_MM_AUXV, (long)&user_auxv, sizeof(user_auxv), 0);
if (ret) {
pr_msg("prctl: PR_SET_MM_AUXV is not supported\n");
return -1;
}
return 0;
}
开发者ID:bugrax,项目名称:criu,代码行数:35,代码来源:cr-check.c
示例2: log_init
int log_init(const char *output)
{
int new_logfd, sfd, dfd;
dfd = get_service_fd(LOG_DIR_FD_OFF);
if (dfd < 0) {
pr_msg("Can't obtain logfd");
goto err;
}
if (logdir < 0) {
int tmp;
tmp = open(".", O_RDONLY);
if (tmp == -1) {
pr_perror("Can't open a current directory");
return -1;
}
if (reopen_fd_as(dfd, tmp) < 0)
return -1;
logdir = dfd;
}
sfd = get_service_fd(LOG_FD_OFF);
if (sfd < 0) {
pr_msg("Can't obtain logfd");
goto err;
}
if (output) {
new_logfd = openat(logdir, output,
O_CREAT | O_TRUNC | O_WRONLY | O_APPEND, 0600);
if (new_logfd < 0) {
pr_perror("Can't create log file %s", output);
return -1;
}
if (sfd == current_logfd)
close(sfd);
if (reopen_fd_as(sfd, new_logfd) < 0)
goto err;
} else {
new_logfd = dup2(DEFAULT_LOGFD, sfd);
if (new_logfd < 0) {
pr_perror("Dup %d -> %d failed", DEFAULT_LOGFD, sfd);
goto err;
}
}
current_logfd = sfd;
return 0;
err:
pr_perror("Log engine failure, can't duplicate descriptor");
return -1;
}
开发者ID:OSLL,项目名称:pmover,代码行数:59,代码来源:log.c
示例3: pb_msg_int64x_r
static int pb_msg_int64x_r(pb_pr_field_t *field)
{
long val = *(long *)field->data;
if (val)
pr_msg("%#016lx", val);
else
pr_msg("0");
return 0;
}
开发者ID:avagin,项目名称:crtools,代码行数:9,代码来源:protobuf.c
示例4: show_tcp_stream
void show_tcp_stream(int fd, void *obj)
{
TcpStreamEntry *e = obj;
if (opts.show_pages_content) {
pr_msg("In-queue:");
print_image_data(fd, e->inq_len, 1);
pr_msg("Out-queue:");
print_image_data(fd, e->outq_len, 1);
}
}
开发者ID:blindFS,项目名称:criu,代码行数:10,代码来源:sk-tcp.c
示例5: show_bool
static int show_bool(pb_pr_field_t *field)
{
protobuf_c_boolean val = *(protobuf_c_boolean *)field->data;
if (val)
pr_msg("True");
else
pr_msg("False");
return 0;
}
开发者ID:avagin,项目名称:crtools,代码行数:10,代码来源:protobuf.c
示例6: check_sock_diag
static int check_sock_diag(void)
{
int ret;
ret = collect_sockets(0);
if (!ret)
return 0;
pr_msg("The sock diag infrastructure is incomplete.\n");
pr_msg("Make sure you have:\n");
pr_msg(" 1. *_DIAG kernel config options turned on;\n");
pr_msg(" 2. *_diag.ko modules loaded (if compiled as modules).\n");
return -1;
}
开发者ID:bugrax,项目名称:criu,代码行数:14,代码来源:cr-check.c
示例7: od_match
static int
od_match(const char *map, const char *key, char **od_line, int *od_len)
{
int ret;
char *pattern;
struct match_cbdata cbdata;
if (trace > 1) {
trace_prt(1, "od_match called\n");
trace_prt(1, "od_match: key =[ %s ] map = %s\n", key, map);
}
/* Construct the string value to search for. */
if (asprintf(&pattern, "%s,automountMapName=%s", key, map) == -1) {
pr_msg("od_match: malloc failed");
ret = __NSW_UNAVAIL;
goto done;
}
if (trace > 1)
trace_prt(1, " od_match: Searching for %s\n", pattern);
cbdata.map = map;
cbdata.key = key;
cbdata.od_line = od_line;
cbdata.od_len = od_len;
ret = od_search(kODAttributeTypeRecordName, pattern, match_callback,
(void *) &cbdata);
free(pattern);
if (trace > 1) {
if (ret == __NSW_NOTFOUND)
trace_prt(1, " od_match: no entries found\n");
else if (ret != __NSW_UNAVAIL)
trace_prt(1,
" od_match: od_search FAILED: %d\n", ret);
else
trace_prt(1, " od_match: od_search OK\n");
}
if (verbose) {
if (ret == __NSW_NOTFOUND)
pr_msg("od_search for %s in %s failed", key, map);
}
done:
return (ret);
}
开发者ID:RomiPierre,项目名称:osx,代码行数:48,代码来源:ns_od.c
示例8: do_pb_show_plain
void do_pb_show_plain(int fd, int type, int single_entry,
void (*payload_hadler)(int fd, void *obj),
const char *pretty_fmt)
{
pb_pr_ctl_t ctl = {NULL, single_entry, pretty_fmt};
void (*handle_payload)(int fd, void *obj);
if (!cr_pb_descs[type].pb_desc) {
pr_err("Wrong object requested %d\n", type);
return;
}
handle_payload = (payload_hadler) ? : pb_no_payload;
while (1) {
void *obj;
if (pb_read_one_eof(fd, &obj, type) <= 0)
break;
ctl.arg = (void *)cr_pb_descs[type].pb_desc;
pb_show_msg(obj, &ctl);
handle_payload(fd, obj);
cr_pb_descs[type].free(obj, NULL);
if (single_entry)
break;
pr_msg("\n");
}
}
开发者ID:avagin,项目名称:crtools,代码行数:29,代码来源:protobuf.c
示例9: parse_ns_string
static int parse_ns_string(const char *ptr)
{
const char *end = ptr + strlen(ptr);
do {
if (ptr[3] != ',' && ptr[3] != '\0')
goto bad_ns;
if (!strncmp(ptr, "uts", 3))
opts.rst_namespaces_flags |= CLONE_NEWUTS;
else if (!strncmp(ptr, "ipc", 3))
opts.rst_namespaces_flags |= CLONE_NEWIPC;
else if (!strncmp(ptr, "mnt", 3))
opts.rst_namespaces_flags |= CLONE_NEWNS;
else if (!strncmp(ptr, "pid", 3))
opts.rst_namespaces_flags |= CLONE_NEWPID;
else if (!strncmp(ptr, "net", 3))
opts.rst_namespaces_flags |= CLONE_NEWNET;
else
goto bad_ns;
ptr += 4;
} while (ptr < end);
return 0;
bad_ns:
pr_msg("Error: unknown namespace: %s\n", ptr);
return -1;
}
开发者ID:equivalence1,项目名称:criu,代码行数:27,代码来源:crtools.c
示例10: main
int
main(int argc, char **argv)
{
int ret;
char *pattern;
if (argc < 2 || argc > 3) {
fprintf(stderr, "Usage: dumammap <map name> [ <key> ]\n");
return 1;
}
if (argc == 2) {
/*
* Dump the entire map.
*/
ret = od_search(kODAttributeTypeMetaAutomountMap, argv[1]);
} else {
/*
* Dump an entry in the map.
* First, construct the string value to search for.
*/
if (asprintf(&pattern, "%s,automountMapName=%s", argv[2],
argv[1]) == -1) {
pr_msg("malloc failed");
return 2;
}
/*
* Now search for that entry.
*/
ret = od_search(kODAttributeTypeRecordName, pattern);
free(pattern);
}
return ret ? 0 : 2;
}
开发者ID:RomiPierre,项目名称:osx,代码行数:34,代码来源:dumpammap.c
示例11: pb_show_field
static void pb_show_field(const ProtobufCFieldDescriptor *fd,
int nr_fields, pb_pr_ctl_t *ctl)
{
pb_pr_show_t show;
print_tabs(ctl);
pr_msg("%s: ", fd->name);
show = get_show_function(fd, ctl);
pb_show_repeated(ctl, nr_fields, show, pb_show_prepare_field_context(fd, ctl));
if (ctl->single_entry)
pr_msg("\n");
else
pr_msg(" ");
}
开发者ID:avagin,项目名称:crtools,代码行数:17,代码来源:protobuf.c
示例12: od_search
/*
* Fetch all the map records in Open Directory that have a certain attribute
* that matches a certain value and pass those records to a callback function.
*/
static int
od_search(CFStringRef attr_to_match, char *value_to_match, callback_fn callback,
void *udata)
{
int ret;
CFErrorRef error;
char *errstring;
ODNodeRef node_ref;
CFArrayRef attrs;
CFStringRef value_to_match_cfstr;
ODQueryRef query_ref;
CFArrayRef results;
CFIndex num_results;
CFIndex i;
ODRecordRef record;
callback_ret_t callback_ret;
/*
* Create the search node.
*/
error = NULL;
node_ref = ODNodeCreateWithNodeType(kCFAllocatorDefault, kODSessionDefault,
kODNodeTypeAuthentication, &error);
if (node_ref == NULL) {
errstring = od_get_error_string(error);
pr_msg("od_search: can't create search node for /Search: %s",
errstring);
free(errstring);
return (__NSW_UNAVAIL);
}
/*
* Create the query.
*/
value_to_match_cfstr = CFStringCreateWithCString(kCFAllocatorDefault,
value_to_match, kCFStringEncodingUTF8);
if (value_to_match_cfstr == NULL) {
CFRelease(node_ref);
pr_msg("od_search: can't make CFString from %s",
value_to_match);
return (__NSW_UNAVAIL);
}
attrs = CFArrayCreate(kCFAllocatorDefault,
(const void *[2]){kODAttributeTypeRecordName,
kODAttributeTypeAutomountInformation}, 2,
开发者ID:RomiPierre,项目名称:osx,代码行数:49,代码来源:ns_od.c
示例13: check_tty
static int check_tty(void)
{
int master = -1, slave = -1;
const int lock = 1;
struct termios t;
char *slavename;
int ret = -1;
if (ARRAY_SIZE(t.c_cc) < TERMIOS_NCC) {
pr_msg("struct termios has %d @c_cc while "
"at least %d expected.\n",
(int)ARRAY_SIZE(t.c_cc),
TERMIOS_NCC);
goto out;
}
master = open("/dev/ptmx", O_RDWR);
if (master < 0) {
pr_msg("Can't open master pty.\n");
goto out;
}
if (ioctl(master, TIOCSPTLCK, &lock)) {
pr_msg("Unable to lock pty device.\n");
goto out;
}
slavename = ptsname(master);
slave = open(slavename, O_RDWR);
if (slave < 0) {
if (errno != EIO) {
pr_msg("Unexpected error code on locked pty.\n");
goto out;
}
} else {
pr_msg("Managed to open locked pty.\n");
goto out;
}
ret = 0;
out:
close_safe(&master);
close_safe(&slave);
return ret;
}
开发者ID:bugrax,项目名称:criu,代码行数:45,代码来源:cr-check.c
示例14: show_bytes
static int show_bytes(pb_pr_field_t *field)
{
ProtobufCBinaryData *bytes = (ProtobufCBinaryData *)field->data;
int i = 0;
while (i < bytes->len)
pr_msg("%02x ", bytes->data[i++]);
return 0;
}
开发者ID:avagin,项目名称:crtools,代码行数:9,代码来源:protobuf.c
示例15: ipc_msg_handler
void ipc_msg_handler(struct cr_img *img, void *obj)
{
IpcMsgEntry *e = obj;
int msg_nr = 0;
pr_msg("\n");
while (msg_nr++ < e->qnum)
pb_show_plain_payload(img, PB_IPCNS_MSG, ipc_msg_data_handler);
}
开发者ID:krafczyk,项目名称:criu,代码行数:10,代码来源:ipc_ns.c
示例16: print_tabs
static inline void print_tabs(pb_pr_ctl_t *ctl)
{
int counter = ctl->cur.depth;
if (!ctl->single_entry)
return;
while (counter--)
pr_msg("\t");
}
开发者ID:avagin,项目名称:crtools,代码行数:10,代码来源:protobuf.c
示例17: check_kcmp
static int check_kcmp(void)
{
int ret = sys_kcmp(getpid(), -1, -1, -1, -1);
if (ret != -ENOSYS)
return 0;
pr_msg("System call kcmp is not supported\n");
return -1;
}
开发者ID:bugrax,项目名称:criu,代码行数:10,代码来源:cr-check.c
示例18: show_inventory
static void show_inventory(int fd, struct cr_options *o)
{
InventoryEntry *he;
if (pb_read_one(fd, &he, PB_INVENTORY) < 0)
return;
pr_msg("Version: %u\n", he->img_version);
inventory_entry__free_unpacked(he, NULL);
}
开发者ID:OSLL,项目名称:pmover,代码行数:10,代码来源:image.c
示例19: check_posix_timers
static int check_posix_timers(void)
{
int ret;
ret = access("/proc/self/timers", R_OK);
if (!ret)
return 0;
pr_msg("/proc/<pid>/timers file is missing.\n");
return -1;
}
开发者ID:Open-Party,项目名称:criu,代码行数:11,代码来源:cr-check.c
示例20: show_enum
static int show_enum(pb_pr_field_t *field)
{
pb_pr_ctl_t *ctl = container_of(field, pb_pr_ctl_t, cur);
ProtobufCEnumDescriptor *d = ctl->arg;
const char *val_name = NULL;
int val, i;
val = *(int *)field->data;
for (i = 0; i < d->n_values; i++)
if (d->values[i].value == val) {
val_name = d->values[i].name;
break;
}
if (val_name != NULL)
pr_msg("%s", val_name);
else
pr_msg("%d", val);
return 0;
}
开发者ID:avagin,项目名称:crtools,代码行数:20,代码来源:protobuf.c
注:本文中的pr_msg函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论