Lines Matching refs:me

111 static bool mei_init(struct mei *me, const uuid_le *guid,
118 me->verbose = verbose;
120 me->fd = open("/dev/mei0", O_RDWR);
121 if (me->fd == -1) {
122 mei_err(me, "Cannot establish a handle to the Intel MEI driver\n");
125 memcpy(&me->guid, guid, sizeof(*guid));
127 me->initialized = true;
129 memcpy(&data.in_client_uuid, &me->guid, sizeof(me->guid));
130 result = ioctl(me->fd, IOCTL_MEI_CONNECT_CLIENT, &data);
132 mei_err(me, "IOCTL_MEI_CONNECT_CLIENT receive message. err=%d\n", result);
136 mei_msg(me, "max_message_length %d\n", cl->max_msg_length);
137 mei_msg(me, "protocol_version %d\n", cl->protocol_version);
141 mei_err(me, "Intel MEI protocol version not supported\n");
145 me->buf_size = cl->max_msg_length;
146 me->prot_ver = cl->protocol_version;
150 mei_deinit(me);
154 static ssize_t mei_recv_msg(struct mei *me, unsigned char *buffer,
164 mei_msg(me, "call read length = %zd\n", len);
167 FD_SET(me->fd, &set);
168 rc = select(me->fd + 1, &set, NULL, NULL, &tv);
169 if (rc > 0 && FD_ISSET(me->fd, &set)) {
170 mei_msg(me, "have reply\n");
173 mei_err(me, "read failed on timeout\n");
177 mei_err(me, "read failed on select with status %zd %s\n",
182 rc = read(me->fd, buffer, len);
184 mei_err(me, "read failed with status %zd %s\n",
189 mei_msg(me, "read succeeded with result %zd\n", rc);
193 mei_deinit(me);
198 static ssize_t mei_send_msg(struct mei *me, const unsigned char *buffer,
204 mei_msg(me, "call write length = %zd\n", len);
206 written = write(me->fd, buffer, len);
209 mei_err(me, "write failed with status %zd %s\n",
213 mei_msg(me, "write success\n");
218 mei_deinit(me);