xref: /openbmc/obmc-console/util.c (revision a72711af868568481db9767db902bbbacc2d62d9)
1*9326d779SJeremy Kerr /**
2*9326d779SJeremy Kerr  * Copyright © 2016 IBM Corporation
3*9326d779SJeremy Kerr  *
4*9326d779SJeremy Kerr  * Licensed under the Apache License, Version 2.0 (the "License");
5*9326d779SJeremy Kerr  * you may not use this file except in compliance with the License.
6*9326d779SJeremy Kerr  * You may obtain a copy of the License at
7*9326d779SJeremy Kerr  *
8*9326d779SJeremy Kerr  *     http://www.apache.org/licenses/LICENSE-2.0
9*9326d779SJeremy Kerr  *
10*9326d779SJeremy Kerr  * Unless required by applicable law or agreed to in writing, software
11*9326d779SJeremy Kerr  * distributed under the License is distributed on an "AS IS" BASIS,
12*9326d779SJeremy Kerr  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*9326d779SJeremy Kerr  * See the License for the specific language governing permissions and
14*9326d779SJeremy Kerr  * limitations under the License.
15*9326d779SJeremy Kerr  */
161a0e03b4SJeremy Kerr 
171a0e03b4SJeremy Kerr #include <err.h>
181a0e03b4SJeremy Kerr #include <unistd.h>
191a0e03b4SJeremy Kerr 
201a0e03b4SJeremy Kerr #include "console-server.h"
211a0e03b4SJeremy Kerr 
write_buf_to_fd(int fd,const uint8_t * buf,size_t len)221a0e03b4SJeremy Kerr int write_buf_to_fd(int fd, const uint8_t *buf, size_t len)
231a0e03b4SJeremy Kerr {
241a0e03b4SJeremy Kerr 	size_t pos;
251a0e03b4SJeremy Kerr 	ssize_t rc;
261a0e03b4SJeremy Kerr 
271a0e03b4SJeremy Kerr 	for (pos = 0; pos < len; pos += rc) {
281a0e03b4SJeremy Kerr 		rc = write(fd, buf + pos, len - pos);
291a0e03b4SJeremy Kerr 		if (rc <= 0) {
301a0e03b4SJeremy Kerr 			warn("Write error");
311a0e03b4SJeremy Kerr 			return -1;
321a0e03b4SJeremy Kerr 		}
331a0e03b4SJeremy Kerr 	}
341a0e03b4SJeremy Kerr 
351a0e03b4SJeremy Kerr 	return 0;
361a0e03b4SJeremy Kerr }
37