xref: /openbmc/obmc-console/util.c (revision a72711af868568481db9767db902bbbacc2d62d9)
1 /**
2  * Copyright © 2016 IBM Corporation
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #include <err.h>
18 #include <unistd.h>
19 
20 #include "console-server.h"
21 
write_buf_to_fd(int fd,const uint8_t * buf,size_t len)22 int write_buf_to_fd(int fd, const uint8_t *buf, size_t len)
23 {
24 	size_t pos;
25 	ssize_t rc;
26 
27 	for (pos = 0; pos < len; pos += rc) {
28 		rc = write(fd, buf + pos, len - pos);
29 		if (rc <= 0) {
30 			warn("Write error");
31 			return -1;
32 		}
33 	}
34 
35 	return 0;
36 }
37