Сообщения spiro
Volg@Linux - международная конференция
2. Volg@Linux проходит в Самарской области. В этом году на турбазе "Полиграфист" расположенной в пос. Волжский, на берегу Волги.
3. Оргвзносы состявляют 350 рублей с человека. В них входит прожвание на турбазе в течении 2-х суток и 3-х разовое питание.
4. На территории РФ проходит всего навсего одно крупномаштабное мероприятие - LinuxFest.
На данный момент, в связи с развитием Linux сообщества, необходимо конференция посвящённая именно распространению открытого программного обеспечения.
Во-первых Volg@Linux - это конференция, направленная на пользователей, а точнее на развитие сообществ пользователей так называемых Linux User Group (LUG). Во-вторых Volg@Linux - способ обменяться опытом по "популяризации" открытого программного обеспечения.
5. Volg@Linux проходит в последние выходные августа. В этом году конференция будет проходить с 29-го по 31-е августа.
У кого-нибудь есть описание aic7xxx(aic79xx) драйвера ?
предложение всем: Linux.Org.Ru-FAQ
Кто-нибудь знает команды ioctl для e1000 ?
Как узнать сколько байт пришло на /dev/ttyS0 ?
int serial;
struct termios oldtio, newtio;
if ((serial = open(argv[1], O_RDWR | O_NOCTTY)) < 0)
error(1, errno, "Ошибка вызова open\n");
if ((result = tcgetattr(serial, &oldtio)) < 0)
error(1, errno, "Ошибка вызова tcgetattr\n");
bzero(&newtio, sizeof(newtio));
newtio.c_cflag = B9600 | CS8 | CLOCAL | CREAD;
newtio.c_iflag = IGNPAR | ICRNL;
newtio.c_oflag = 0;
newtio.c_lflag = 0;
newtio.c_cc[VTIME] = 0;
newtio.c_cc[VMIN] = 5;
tcflush(serial, TCIFLUSH);
if ((result = tcsetattr(serial, TCSANOW, &newtio)) < 0)
error(1, errno, "Ошибка вызова tcsetattr\n");
p.s.: Система как-нибудь сообщает о приходе данных на порт ?
Не то зомби, не то - нет ... ???
Исходники:
"tcp_serv.c" :
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<stdarg.h>
#include<string.h>
#include<errno.h>
#include<netdb.h>
#include<fcntl.h>
#include<sys/time.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include "lib/skel.h"
main(int argc, char* argv[])
{
struct sockaddr_in peer;
int peerlen = sizeof(peer);
SOCKET s;
SOCKET ns;
int pid;
s = tcp_server(NULL, argv[1]);
while(1) {
ns = accept(s, (struct sockaddr *)&peer, &peerlen);
if (!isvalidsock(ns))
error(1, errno, "Ошибка вызова accept\n");
if ((pid=fork()) == -1)
error(1, errno, "Ошибка вызова fork\n");
if (pid==0) {
/* Дочерняя часть */
if (close(s))
error(1, errno, "Ошибка вызова close\n");
send(ns, "Hello world!\n", 13, 0);
if (close(ns))
error(1, errno, "Ошибка вызова close\n");
exit(0);
}
/* Родительская часть */
if (close(ns))
error(1, errno, "Ошибка вызова close\n");
}
exit(0);
}
"skel.h" :
#in#ifndef __SKEL_H__
#define __SKEL_H__ 1
#define FALSE 0
#define TRUE 1
#define NLISTEN 5
typedef int SOCKET;
#define set_errno(e) errno = (e)
#define isvalidsock(s) ( (s) >= 0 )
void error(int status, int err, char* format, ...);
static void set_address(char* hname, char* sname, struct sockaddr_in *sap, char* protocol);
SOCKET tcp_server(char* hname, char *sname);
void error(int status, int err, char* format, ...)
{
va_list ap;
va_start(ap, format);
vfprintf(stderr, format, ap);
va_end(ap);
if (err)
fprintf(stderr, "%s (%d)\n", strerror(err), err);
if (status)
exit(status);
}
static void set_address(char* hname, char* sname, struct sockaddr_in *sap, char* protocol)
{
struct servent* sp;
struct hostent* hp;
char* endptr;
short port;
bzero(sap, sizeof(*sap));
sap -> sin_family = AF_INET;
if (hname != NULL) {
if (!inet_aton(hname, &sap -> sin_addr)) {
hp = gethostbyname(hname);
if (hp == NULL)
error(1,0,"Неизвестный хост: %s\n", hname);
sap -> sin_addr = *(struct in_addr *)hp -> h_addr;
}
}
else
sap -> sin_addr.s_addr = htonl(INADDR_ANY);
port = strtol(sname, &endptr, 0);
if (*endptr == '\0')
sap -> sin_port = htons(port);
else {
sp = getservbyname(sname, protocol);
if (sp == NULL)
error(1,0,"Неизвестный сервис %s\n", sname);
sap -> sin_port = sp -> s_port;
}
}
SOCKET tcp_server(char* hname, char *sname)
{
struct sockaddr_in local;
SOCKET s;
const int on = 1;
set_address(hname, sname, &local, "tcp");
s = socket (AF_INET, SOCK_STREAM, 0);
if (!isvalidsock(s))
error(1, errno, "Ошибка вызова socket ");
if (setsockopt(s, SOL_SOCKET, SO_REUSEADDR, (char *)&on, sizeof(on)))
error(1, errno, "Ошибка вызова setsockopt ");
if (bind(s, (struct sockaddr *)&local, sizeof(local)))
error(1, errno, "Ошибка вызова bind ");
if (listen(s, NLISTEN))
error(1, errno, "Ошибка вызова listen ");
return(s);
}
#endif /* __SKEL_H__ */
Немного о forced umount
2) Есть пользователь, который с помощью команды "umount -F /mnt2" размонтирует этор раздел.
3) Как я понял, в результате этого действия программе, а точнее процессу, отправляется сигнал SIGSEGV.
Вопрос: почему при размонтировании не срабатывает установленный обработчик сигнала (он отзывается только на "kill -SIGSEGV [pid]"), и что происходит с открытыми файлами(через функцию open).
Вот что я делаю:
static void sig_hndlr(int signo)
{
...
}
main()
{
struct sigaction act;
act.sa_handler=sig_hndlr;
sigfillset(&act.sa_mask);
act.sa_flags=0;
if (sigaction(SIGSEGV, &act, NULL) < 0)
exit(0);
...
}
Red Hat 6.2 на винт 40Gb
Помогите с курсачом
Вопрос по BlackBox
помогите настроить модем+сетевуха
/etc/resolv.conf #МТУ nameserver 195.34.32.11 nameserver 195.34.32.10 search
/etc/ppp/ppp-start #!/bin/bash
if [ -r /var/run/ppp0.pid ]; then kill -INT 'cat /var/run/ppp0.pid' sleep 5 /sbin/route delete default fi /usr/sbin/pppd call mtu-intel
/etc/ppp/ppp-kill #!/bin/bash
if [ -r /var/run/pppO.pid ]; then kill -2 'cat /var/run/pppO.pid' route delete default fi
/etc/ppp/options -detach lock modem crtscts noauth debug persist pap-timeout 10 192.168.0.10:0.0.0.0 noipdefault defaultroute netmask 255.255.255.0 /dev/modem 57600
/etc/ppp/script-mtu TIMEOUT 5 ""ATZ OK ATM1L1 OK ATDP9W8,7213311 ABORT BUSY ABORT "NO ANSWER" ABORT "NO DIALTONE" ABORT ERROR TIMEOUT 90 CONNECT "" TIMEOUT 15 "ogin:" guest "word:" mtu PPP
/etc/ppp/peers/mtu-intel -detach lock crtscts noauth debug persist pap-timeout 10 192.168.0.10:0.0.0.0 noipdefault defaultroute netmask 255.255.255.0 connect '/usr/sbin/chat -v -f /etc/ppp/script-mtu' /dev/modem 57600
А вот логи: /var/log/messages May 28 11:10:50 server pppd[1478]: pppd 2.4.1 started by spiro, uid 500 May 28 11:10:51 server chat[1479]: timeout set to 5 seconds May 28 11:10:51 server chat[1479]: send (AT&F^M) May 28 11:10:51 server chat[1479]: expect (OK) May 28 11:10:51 server chat[1479]: AT&F^M^M May 28 11:10:51 server chat[1479]: OK May 28 11:10:51 server chat[1479]: -- got it May 28 11:10:51 server chat[1479]: send (ATM1L1^M) May 28 11:10:52 server chat[1479]: expect (OK) May 28 11:10:52 server chat[1479]: ^M May 28 11:10:52 server chat[1479]: ATM1L1^M^M May 28 11:10:52 server chat[1479]: OK May 28 11:10:52 server chat[1479]: -- got it May 28 11:10:52 server chat[1479]: send (ATDP9W8,9955555^M) May 28 11:10:52 server chat[1479]: abort on (BUSY) May 28 11:10:52 server chat[1479]: abort on (NO ANSWER) May 28 11:10:52 server chat[1479]: abort on (NO DIALTONE) May 28 11:10:52 server chat[1479]: abort on (ERROR) May 28 11:10:52 server chat[1479]: timeout set to 90 seconds May 28 11:10:52 server chat[1479]: expect (CONNECT) May 28 11:10:52 server chat[1479]: ^M May 28 11:11:50 server chat[1479]: ATDP9W8,9955555^M^M May 28 11:11:50 server chat[1479]: CONNECT May 28 11:11:50 server chat[1479]: -- got it May 28 11:11:50 server chat[1479]: send (^M) May 28 11:11:51 server chat[1479]: timeout set to 15 seconds May 28 11:11:51 server chat[1479]: expect (ogin:) May 28 11:11:51 server chat[1479]: 115200/V.34 21600/V42b^M May 28 11:11:51 server chat[1479]: ^M May 28 11:11:51 server chat[1479]: Welcome to MTU-Online phones:^M May 28 11:11:51 server chat[1479]: 995-5555(K56flex,V.90),995-5556(x2,V.90)^M May 28 11:11:51 server chat[1479]: Login as "guest" with password "mtu" for beginning^M May 28 11:11:51 server chat[1479]: and go to http://dialup.mtu.ru for registration^M May 28 11:11:51 server chat[1479]: Use proxy.mtu.ru with port 3128, DNS 195.34.32.11(10)^M May 28 11:11:51 server chat[1479]: ^M May 28 11:11:51 server chat[1479]: APAS10 line 67 ^M May 28 11:11:51 server chat[1479]: ^M May 28 11:11:51 server chat[1479]: ^M May 28 11:11:51 server chat[1479]: User Access Verification^M May 28 11:11:51 server chat[1479]: ^M May 28 11:11:51 server chat[1479]: login: May 28 11:11:51 server chat[1479]: -- got it May 28 11:11:51 server chat[1479]: send (guest^M) May 28 11:11:51 server chat[1479]: expect (word:) May 28 11:11:51 server chat[1479]: ^M May 28 11:11:51 server chat[1479]: login:guest^M May 28 11:11:51 server chat[1479]: Password: May 28 11:11:51 server chat[1479]: -- got it May 28 11:11:51 server chat[1479]: send (mtu^M) May 28 11:11:51 server chat[1479]: expect (PPP) May 28 11:11:51 server chat[1479]: ^M May 28 11:11:52 server chat[1479]: Entering PPP May 28 11:11:52 server chat[1479]: -- got it May 28 11:11:52 server pppd[1478]: Serial connection established. May 28 11:11:52 server pppd[1478]: Using interface ppp0 May 28 11:11:52 server pppd[1478]: Connect: ppp0 <--> /dev/modem May 28 11:11:54 server pppd[1478]: not replacing existing default route to eth0 [192.168.0.254] May 28 11:11:54 server pppd[1478]: local IP address 192.168.0.10 May 28 11:11:54 server pppd[1478]: remote IP address 212.30.161.10
| ← назад |