QNX. " QNX/Neutrino 2". , (400 .) |
QNX , .
QNX. , , , . QNX, .
QNX, QNX
:
:
. - , , .. - , .
, . , , . , .
QNX . : , .
QNX - . , . QNX , . - , .
QNX , :
QNX , . , , , "" - .
QNX .
- "" . , , , !
QNX - . -, , QNX . -, :
, . .
, , , QNX . QNX :
- - , .
QNX . QNX, , !
, . , , , - .
, . ?
, ( QNX ) , . , , . , .
. ! , QNX .
- , .
, QNX . , QNX , .
, :
, , , .
(Interprocess communication, IPC) , .
QNX , IPC, , .
QNX , IPC. , QNX.
QNX - , . - , .
, . , , " ", , . , , ().
, .. . QNX .
. QNX .
. , , - . , , , !
, , ( , ). , . QNX IPC .
QNX . QNX , -. , . , QNX , .. .
/, , , , , . QNX "", , QNX (, ), , .
QNX . , , .
QNX . , . |
QNX , . , QNX .
QNX, . , IPC , . " ", - , - !
QNX, , , . , , QNX, , , .
QNX.
:
QNX :
QNX.
QNX : , .
QNX - , . QNX . .
:
: | : |
---|---|
Send() | |
Receive() | |
Reply() | , |
, .. , , .. .
, , Send(), Receive() Reply() . QNX - , (, , , - pipe), .
A B, ,
, , , A B, Send(), Receive() Reply() :
, B Receive() , , RECEIVE- . - REPLY-.
, .
. A Send(), , . , B A , A . , B Receive(), , .
QNX " " . |
, .. , - .
:
: | : |
---|---|
Send(), - | SEND- |
Send(), -, | REPLY- |
Receive(), | RECEIVE- |
.
" ". |
Send(), Receive() Reply(). A B.
, . Send():
Send( pid, smsg, rmsg, smsg_len, rmsg_len );
Send() :
, smsg_len rmsg_len - , .
Receive(), B , A:
pid = Receive( 0, msg, msg_len )
Receive() :
smsg_len Send() msg_len Receive() , , , .
A, B A, Reply():
Reply( pid, reply, reply_len );
Reply() :
reply_len Reply() rmsg_len Send() , .
, , - , , , RECEIVE- - . send- : - , , .
, , , : reply- , Reply(). -"" , , . , "", . , . - , , .
, , :
, Send() , . Send() , . . - , , Reply(), , , .
A B ( ). C, D, E .
QNX :
, , Receive() . , .
, , , RECEIVE- . , , , . Creceive(), , .
Creceive(), .. . |
, .
, / , . ( 0 64 ). / , Readmsg() . , Readmsg() . , Writemsg() , , , , / .
. . , , . , , . / QNX, Dev Fsys, .
:
qqq0 mx . .
QNX 16- , . , , . QNX :
: | : |
---|---|
0x0000 - 0x00FF | |
0x0100 - 0x01FF | / ( /) |
0x0200 - 0x02FF | |
0x0300 - 0x03FF | |
0x0400 - 0x04FF | |
0x0500 - 0x0FFF | QNX |
- , , . , . , .
, , .
:
qnx_proxy_attach(). , , Trigger() , . Trigger() .
"" - . 65535 .
- 3 , 3 "" .
, .
QNX , POSIX, , , UNIX-, , QNX.
, , . .
: | : |
---|---|
: kill slay | |
: kill() raise() |
, , :
, , , , . . , . , .
: | : |
---|---|
SIGABRT | , abort(). |
SIGALRM | -, alarm(). |
SIGBUS | ( QNX ). , . |
SIGCHLD | . - . |
SIGCONT | HELD, . - , HELD. |
SIGDEV | , . |
SIGFPE | ( ), , , . , . |
SIGHUP | , , . |
SIGILL | . , . |
SIGINT | "" (Break) |
SIGKILL | - . "" . qnx_pflags(). . |
SIGPIPE | , . |
SIGPWR | Ctrl-Alt-Shift-Del shutdown. |
SIGQUIT | . |
SIGSEGV | . , . |
SIGSTOP | (HOLD) . - . qnx_pflags(). . |
SIGTERM | . |
SIGTSTP | QNX. |
SIGTTIN | QNX. |
SIGTTOU | QNX. |
SIGUSR1 | 1. |
SIGUSR2 | 2. |
SIGWINCH | . |
, signal() ANSI sigaction() POSIX.
sigaction() .
. , , .
, .
. . , , ( ).
, siglongjmp() longjmp() , , siglongjmp() . longjmp() .
, . QNX , . ; .
, QNX . , . - . , .
UNIX , , . UNIX signal() , . . -, , , signal(), . -, signal() , . QNX , , . signal() . (long jump), siglongjmp(). |
. SEND- RECEIVE- , , :
SEND- , , . RECEIVE-, , , , , Send().
, (.. ), , , - , REPLY-. SIGNAL- . , . :
, SIGNAL-, Send(), (-).
QNX , . , .
( virtual circuit, VC). VC - , , . VC QNX- :
- VC , . - qnx_vc_attach(). VC, , VID. , VID , . VID.
, PID 1 PID 2. 20 - PID 1 - VID PID 2. 40 - PID 2 - VID PID 1. PID 1 PID 2 VID , , , , , .. , , PID 1 VID , VID VID, PID 1 . VID PID 2.
. PID 1 VID 2, , VID 1 PID 2.
VID , :
, VC. , , / , VC open() . VC. , qnx_name_locate(), VC . VC PID .
, , .
, , .
qnx_proxy_rem_attach(), (nid_t) (pid_t).
, .
, qnx_proxy_rem_attach().
VC :
VC. , , . , .
VC . :
, VC, netpoll.
. "" (sem_post()) "" (sem_wait()) , . , .
, , . , - . - , .
, " " . , , .
:
QNX . , READY, . ( READY - , ). .
(A-F), READY. (G-Z) . A. A, B C , .
, , 0 () 31 (). ; , , 10.
: | : |
---|---|
getprio() | |
setprio() |
, QNX :
, . , .
, , READY (.. ). READY, .
READY. , B.
A , B .
, , .
: | : |
---|---|
getscheduler() | |
setscheduler() |
FIFO , :
FIFO . , .
, , FIFO (.. ) . . , , , , - (, ).
, , :
. , ; , READY ( B).
- , . , , , READY . 50 .
, FIFO-. |
:
. ; 1. READY ( B).
, , , . , .
, , .
QNX /. , , , . , , .
, . , , . , , , .
, , , . , .. .
, . , , , , , .
, , . , , . , - . , , , . , "" , . , , .
- , ( ).
- , qnx_pflags() :
qnx_pflags(~0, _PPF_PRIORITY_FLOAT | _PPF_PRIORITY_REC, 0, 0);
, . , . , , . .
QNX .
- . QNX , , , . , . - QNX .
, . , .
.
(Til) - , , . , QNX .
(Tqqq1ilqqq0) :
(Til): | : |
---|---|
3.3 | 166 Pentium |
4.4 | 100 Pentium |
5.6 | 100 486DX4 |
22.5 | 33 386EX |
. "" . - , - .
- -. , , , . QNX , .
.
, . . , "" , , . , " " (Dev) , , , .
(Tsl) :
(Tsl): | : |
---|---|
4.7 | 166 Pentium |
6.7 | 100 Pentium |
11.1 | 100 486DX4 |
74.2 | 33 386EX |
, .
QNX. - - , . . , .. QNX .
A. IRQx Intx, IRQy Inty. Inty , B, Intx , C.
:
, , . , , , . , , .
, . . , , , , . , .. , , .
QNX :
fork() exec() POSIX, spawn() QNX.
fork() , . , , .
exec() . exec() , .. . POSIX- - - fork(), exec() .
spawn() . fork() exec(), . fork() exec(), , , spawn() .
, . :
fork() | exec() | spawn() | |
---|---|---|---|
* | |||
UID, GID | |||
UID, GID | |||
* : - .
:
. , ID . .
, , ; . , . , .
:
:
wait() waitpid(), "" , wait() . ( , , _SPAWN_NOZOMBIE qnx_spawn() qnx_spawn_options(), SIG_IGN SIGCHLD signal(). , .)
, . - , .
dumper , . .
:
"". |
QNX.
:
(Shell), ps sin ( qnx_psinfo()).
(Shell), sin ( qnx_osinfo()).
ps POSIX; . sin, , QNX; , QNX, , ps.
QNX , . , , .
. , . , , , . , . - - , ?
QNX . , . , .
, , , . QNX , . , , . (/). :
qnx/fsys | |
company/xyz | |
/company/xyz |
, . |
, , ( nameloc). .
. . , , , .
, qnx_name_attach(). , qnx_name_locate().
QNX , . (UTC) 0 , 0 , 0 , 1 1970 . , TZ ( ).
, . sleep; sleep(). delay(), .
, , . POSIX Std 1003.4/Draft 9.
. . , ( Proc ). timer_create().
:
, . , , 9 . , 5 .
. :
: | : |
---|---|
timer_settime() |
, timer_delete().
ticksize qnx_timerperiod(). 500 50 .
, , timer_gettime().
- .
QNX (, ), , .
:
( ). , . , , .
: | : |
---|---|
qnx_hint_attach() | |
qnx_hint_detach() |
, . , ticksize.
, 50 , tick size. POSIX 1003.4 .
:
/ (I/O, Input/Output) QNX . / . QNX , ( ) , .
QNX . , - /, , , (.. ). , QNX.
, , open() /. , (Dev) /dev. open() /dev/xxx, /dev open() Dev ( ).
. . , , :
/ | (Fsys) |
/dev | (Dev) |
/dev/hd0 | (Fsys) |
, QNX (.. /) - , (.. /dev/hd0). . .
: | : | : |
---|---|---|
/dev/con1 | /dev | Dev |
/dev/hd0 | /dev/hd0 | Fsys |
/usr/dtdodge/test | / | Fsys |
, , :
prefix=pid,unit:prefix=pid,unit:prefix=pid,unit
pid - ID I/O, unit - , , . , Fsys 3 Dev 5, :
/dev/hd0=3,a:/dev=5,a:/=3,e
: | : |
---|---|
prefix | |
qnx_prefix_query() |
QNX , . , . , . , QNX :
/dev/ser1 | |
//10/dev/ser1 | 10 |
//0/dev/ser1 | |
//20/usr/dtdodge/test | 20 |
, //0
, , . , :
//5 ls /
ls 5, , :
ls /
. "/" , 5. , , , "/" 5, : !
, , , , ("/"). , , . , //9, :
/usr/home/luc
, :
//9/usr/home/luc
, " /usr/home/luc, 9- ".
, . , , 9, , 9 ( ). :
ls /
//9, :
ls //9/
, :
//5 ls /
ls 5, - //9, ls //9/. .
: | : |
---|---|
qnx_prefix_getroot() | |
qnx_prefix_setroot() | |
on |
, , . , - , .
, (, ), , . , ( ///), .
, I/O. , . :
prefix=-
, , ( , "/"). , (, 10), "/". :
/=//10/
, (/) //10/. , /usr/dtdodge/test :
//10/usr/dtdodge/test
; 10 , .. //10. 10, , , open(). .
, . :
/dev=5,a:/=//10/
, /dev, , , .
. , 20, :
/dev/printer=//20/dev/spool
/dev/printer . , , 20 :
/dev/fd0=//20/dev/fd0
, :
//20/dev/spool //20/dev/fd0
. . QNX . .
, , , .
( ), . , , .
, :
cd //18/
() 18, , . cd dev, //18/dev.
, :
cd /
, . , //9, , cd dev, //9/dev. , .
, . (///) , , , ( ). , , (.. ) .
UNIX cd ( ) , . , - pwd, , cd.
QNX, , cd - "..". :
cd /usr/home/luc/test/../doc
/usr/home/luc/doc, .
, fullpath. |
I/O, open() , (FD), , I/O . ( Sendfd().)
, , . PID FD, , open(). (OCB open control block) I/O.
, I/O OCB PID FD.
PID FD OCB /.
OCB . , . open() OCB. , , lseek(), FD, FD.
, .
, , . FD.
A /tmp/file . B .
OCB. :
FD OCB, OCB , , OCB.
, lseek() , , , .
, , dup(), . , .
, FD dup(). .
spawn() exec(), fcntl() FD_CLOEXEC.
:
(Fsys) . Fsys , , .
QNX - , , , . QNX ; Fsys:
. - - - .
Fsys . :
, inode ( ) . inode " (inodes)". , ID . :
ID ID , . , , setuid ( ID ) setgid ( ID ).
QNX . .
- , . . - , . ( " (inodes)" " ").
, /usr/bill/file2.
QNX /usr/bill/file2.
, , . , link().
, POSIX, . :
QNX - , "" , open() read(). - .
QNX . - .
, , . , , ( - / ). 60 .
, , QNX .
, , . , .
" ". , /.bitmap ( " QNX"). . .
, , . , inode ( ).
(.. ), inode . , inode /.inodes, inode.
, , .
"more" "less".
, /.inodes:
: | : |
---|---|
ln | |
link() |
, , . ; . , , , . , .
: | : |
---|---|
rm | |
remove() unlink() |
. :
"" ; " " , .
, " " "/" - "/", - .
- , . / - , open(), - "". . , .
//1/usr/fred //2/usr/barney , , ( ). :
//1/usr/fred --> //2/usr/barney
, . . , :
//1/usr/eric/src/test.c --> //1/usr/src/game.c
: | : |
---|---|
ln ( -s) | |
* | rm |
, | ls |
* , ,
. . unlink() ( ), lstat() readlink().
, , , . , ; SYMLOOP_MAX <limits.h>.
- , / - , . . PIPE_BUF <limits.h>. .
, , . , .
. (Shell). :
ls | more
ls more.
: | : |
---|---|
("|") | |
pipe() popen() |
(Pipe) , . () / , . |
FIFO - , , , FIFO , .
: | : |
---|---|
FIFO | mkfifo |
FIFO | mkfifo() |
FIFO | rm |
FIFO | remove() unlink() |
, :
. / , , .
, / , .
- - . - . , Fsys.
. , , . , ( Reply()), , . - , , .
. , , , , . .
, , , / . , :
QNX , .. , . - .
, 8 . , .
, / .
QNX . .
- , . , (inodes), , (.. ).
. , , , . , , (, ), . , , . , chkfsys.
, :
, "" . (/.inodes), , , , chkfsys .
chkfsys.
- . .
QNX - . - , QNX 512 , . , ( 1).
- , POSIX , open(), read(), write() close(). - , , QNX - , .
QNX . . , .
QNX -, . , . .
"", , . :
: | |
---|---|
1 | DOS (12- FAT) |
4 | DOS (16- FAT; <32M) |
5 | DOS |
6 | DOS 4.0 (16- FAT; >=32M) |
7 | OS/2 HPFS |
7 | QNX 2 ( 1988) |
8 | QNX 1.x 2.x ("qny") |
9 | QNX 1.x 2.x ("qnz") |
11 | DOS 32- FAT; 2047G |
12 | , 11, LBA Int 13h |
14 | , 6, LBA Int 13h |
15 | , 5, LBA Int 13h |
77 | QNX POSIX |
78 | QNX POSIX () |
79 | QNX POSIX () |
99 | UNIX |
QNX 4.x , 77 QNX , 78 QNX , 79 . QNX , 78 79 . , fdisk.
, QNX ( fdisk) , .
fdisk , .
QNX - , :
. DOS, QNX UNIX . DOS QNX .
- , - ( " /"). , , - , . mount , - .
, , Western Digital, . DOS, QNX UNIX. DOS QNX.
- /dev/hd0 /dev/hd1 , .
mount, - . :
mount -p /dev/hd0 -p /dev/hd1
- :
: | - : |
---|---|
DOS hd0 | /dev/hd0t4 |
QNX hd0 | /dev/hd0t77 |
UNIX hd0 | /dev/hd0t99 |
DOS hd1 | /dev/hd1t4 |
QNX hd1 | /dev/hd1t77 |
, tn , . , DOS t4, UNIX - t99 ..
QNX - . mount - , . :
mount /dev/hd0t77 /
/ , - hd0t77.
, - QNX 4.x ( /dev/hd0t77), - , (, /dev/hd0). - , "corrupt filesystem" ( ). |
, umount. , , QNX:
umount /dev/hd0t77
, , .
QNX :
dinit.
QNX .
. , BIOS . (, ), .
, . :
/.boot /.altboot , QNX.
QNX , /.boot. /.altboot , , /.altboot.
, QNX , /.bitmap. , , . . 1, .
, :
QNX / , -. DOS (Dosfsys). Dosfsys /dos DOS QNX "" .
Dosfsys DOS, DOS QNX. DOS - . /, open(), close(), read() write() DOS , QNX. , QNX DOS, :
cp /usr/luc/file.dat /dos/c/file.dat
, /dos/c - DOS C. cp - , DOS. (, cd, ls mkdir).
DOS QNX, mkfifo() link(), Dosfsys (.. errno).
Dosfsys , . . , , Dosfsys QNX DOS.
CD-ROM, Iso9660fsys, CD-ROM, CD-ROM, POSIX. CD-ROM .
Iso9660fsys ISO 9660, Rock Ridge. - DOS Windows. , Iso9660fsys .
Efsys.* , , -. , ( PC-Card), , .
Efsys.* . Efsys.* , Efsys.* . :
. , ROM .
- . . , . SRAM .
Efsys.* , ( - / ) , , , . , , , ( ).
, ( " "). Efsys.* , . . mkffs .
Efsys.* , , . .
, mkffs, bpe. , .
POSIX, root, rwx. chgrp, chmod chown .
.
Efsys.*, /dev. Efsys.* /dev/skt1 /dev/skt2. , .
, , ( "" ). Efsys.* /dev/sktXimgY, X - (socket), Y - .
Sun Microsystems, NFS (Network File System - ) TCP/IP , DOS UNIX . QNX , NFS.
QNX . NFS -QNX NFS , NFS- QNX. |
NFS - - . , (ls, cp mv) , .
QNX 4 NFS Socket, TCP/IP. , "" , Socklet, , NFS. |
SMBfsys SMB (Server Message Block) , , Windows NT, Windows 95, Windows for Workgroups, LAN Manager, Samba. SMBfsys QNX- .
SMBfsys , NetBIOS TCP/IP, NetBEUI. , , TCP/IP , QNX-, . , SMBfsys , .
:
QNX (Dev) . / , /dev. , QNX :
/dev/con1
QNX , open(), close(), read() write(). QNX () , .
. Dev ( termios), . / stty; tcgetattr() tcsetattr().
termios , :
, . .
: | : |
---|---|
dev_read() read() tcsetattr() | |
dev_arm() | |
tcdrain() | |
Break | tcsendbreak() |
tcdropline() | |
dev_insert_chars() | |
open() fcntl() (O_NONBLOCK mode) |
ICANON termios. , . , "" - , (CR), - . - edited. canonical () cooked ().
. (Shell).
, Dev , termios.
Dev : | : |
---|---|
LEFT | |
RIGHT | |
HOME | |
END | |
ERASE | |
DEL | |
KILL | |
UP | |
DOWN | |
INS |
. QNX .
QNX , , . stty. , VT100 (/dev/ser1), terminfo /dev/ser1:
stty term=vt100 </dev/ser1
, QNX qtalk, :
stty term=qnx </dev/ser1
ICANON , , ("", raw) . , QNX-.
, .
, . , , termios: MIN TIME. dev_read(). , TIMEOUT, . , read() TIMEOUT 0.
n , , :
MIN | TIME | TIMEOUT | : |
---|---|---|---|
0 | 0 | 0 | , ( n ) |
M | 0 | 0 | n , , , M |
0 | T | 0 | n , T x .1 . |
M | T | 0 | n , M , T x .1 . |
0 | 0 | t | . |
M | 0 | t | n , M t x .1 . |
0 | T | t | . |
M | T | t | n , M , t x .1 , T x .1 . |
QNX.
(Dev) . . Dev, , .
, Dev , . |
. " - ". .
, Dev , . Dev - .
Dev ; , . Dev , , "" ( , ). Dev (write-behind) . , Dev .
Dev . .
; , 64K. , "" , , .
. Dev , , "" ..
, Dev . Dev , . , QNX, .
, QNX, .
ioctl . ioctl Dev. ioctl QNX qnx_ioctl().
Dev.con. , - .
QNX . Dev.con / Dev, /dev/con1, /dev/con2 .. , "" .
, , . "" , .
QNX ( ), , . console_open(). , :
: | : |
---|---|
console_read() | |
console_write() | |
(, , , ..) | console_arm() |
console_size() | |
console_active() |
QNX QNX. . Dev.con , .
Dev.ser. ; /dev/ser1, /dev/ser2 ..
Dev.ser , , - - . , ls:
ls /dev/ser*
Dev.ser /. (""). . , Dev "" . .
Dev.par. Dev.par , , . , , ls:
ls /dev/par*
Dev.par , . Dev.par. , .
Dev.par /, . RECEIVE-, "" Dev. , Dev.par - ( ), , . - , , .
, , . :
- QNX - .
:
(Net) QNX . , IPC , . , :
QNX . . , "" Send(), Receive() Reply().
. , .
. , . , - . .
QNX . , QNX .
, , , , .
. , . (, Send(), Reply(), (VC), ..).
, , . VC , .
, .
Send() Reply() .
Send() Reply() , :
VC, , , . , .
Send() Reply().
, , . :
, , Send(). .
, - . . . . / - , / Ethernet , , / Ethernet / Arcnet.
. , . , .
, , , . QNX .
:
ID . , ID , . Ethernet Token Ring - , . , Ethernet Token Ring 48- ID IEEE 802. Arcnet, , 8- ID.
ID : ( Arcnet), .
, ID , QNX ID . QNX ID . ID , QNX.
ID . , , , ID 1 .
ID . , , ID .
ID , 1. , , Ethernet, ID 2, ID 00:00:c0:46:93:30.
ID QNX-, .
ID . - , . , Ethernet .
7 , 1 2. 8 9 , 1, 2 3.
, ID .
ID . . " " . |
.
, , , . , 7 8, 1, 2.
. , , .
, Pentium, 10BASE-T Ethernet, 1.1 , , . Ethernet , . .
, . , 7 8 1 8 7, 2 .
, . , , . - . , .
-"", , (, ), . , , , .
QNX, IEEE 802.
QNX
IEEE 802 , Ethernet, Token
Ring FDDI. Arcnet . |
, 17 18, - 18 19:
IEEE 802 QNX .
17 18 , . 18 19. 17 19?
IEEE 802, 18 , 17 18 . , 17 19, , .
QNX QNX . -QNX , QNX , TCP/IP.
, , - IP (Internet Protocol) - . , IP , IP "-" .
IP , (, (login)) (, ). World Wide Web (" "), IP, , .
TCP/IP QNX Berkley BSD 4.3, TCP/IP .
BSD API QNX 4. API API TCP/IP Unix. Windows, Winsock API BSD API. .
, :
accept()
bind()
bindresvport()
connect()
dn_comp()
dn_expand()
endprotoent()
endservent()
gethostbyaddr()
gethostbyname()
getpeername()
getprotobyname()
getprotobynumber()
getprotoent()
getservbyname()
getservent()
getsockname()
getsockopt()
herror()
hstrerror()
htonl()
htons()
h_errlist()
h_errno()
h_nerr()
inet_addr()
inet_aton()
inet_lnaof()
inet_makeaddr()
inet_netof()
inet_network()
inet_ntoa()
ioctl()
listen()
ntohl()
ntohs()
recv()
recvfrom()
res_init()
res_mkquery()
res_query()
res_querydomain()
res_search()
res_send()
select()
send()
sendto()
setprotoent()
setservent()
setsockopt()
shutdown()
socket()
. .
TCP/IP QNX . RFC, . TCP/IP , RFC 1122. ARP, IP, ICMP, UDP TCP.
Network File System (NFS) TCP/IP, DOS Unix . NFS - - . QNX.
QNX 4 NFS Socket. , "" , Socklet, , NFS. |
Server Message Block (SMB), , Windows NT, Windows 95, Windows for Workgroups, LAN Manager Samba. SMBfsys QNX .
:
. , . , .
Photon microGUI , QNX POSIX .
IPC ( IPC ). QNX IPC , GUI "", , IPC.
/, X Window System, Photon , ( ), GUI .
Photon ( 45K), , . , Photon "" . Photon "" - .
GUI, Photon 3- " " .
, / , , . GUI, , .
"" Photon , . QNX IPC Photon, . Photon "" , , , , Photon "" .
" " " " . " " . ; .
, , . , Photon (), .
Photon , . . / .
"" ( ). . , ().
, , , ( ), , , .
Photon. , , "" . .
, 3- . , , . :
, - . , . , ( 1), - , . .
. , . "" , .
. :
: | : |
---|---|
, . | , , . - . |
, . | , ; . , , . |
, . | ; , . , , . |
, . | ; . , . , - , , . , , , . |
, , , :
, Photon (, , ..), ( ) . , , Photon. :
, , .
, , , " " - , .
, "" , .
, . , , .
, , , , , , . "" (tiles).
, , , , "" . , , , .
, , "".
, , . "" , , ( ) .
, . , . , . , "", "".
API Photon , , , , , . , " ", , . , .
, "" . , "" . , .
QNX IPC , , , , . , , .
, Photon, , , , , .
, . Photon QNX , Photon , , , Photon . , .
Photon. , , , "" , .
. , - , , .
, . , , .
24- RGB ( 8 , ), 16,777,216 . , 24- , , , .
- , , , . "" , , .
, Photon . (16 ) .
Photon , , *.pfr (Portable Font Resource, ), . , PFR PostScript .
(Core Latin) Photon (latin1.pfr), Unicode, Basic Latin (U+0000 - U+007F) Latin-1 Supplement (U+0080 - U+00FF), :
(Extended Latin) (latinx.pfr) Unicode Latin Extended-A (U+0100 - U+017F) Latin Extended-B (U+0180 - U+0217) :
(latin1.pfr), , :
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
.
(latinx.pfr) :
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
.
Photon :
Photon . Unicode (ISO/IEC 10646), Photon , .
Unicode ASCII, 16- . escape- . , Unicode - , , - .
UTF-2, UTF-8 ( "8- ") Unicode 8- UNIX.
UTF-8:
isInitialByte = ((byte & 0xC0) != 0x80);
:
: | : |
---|---|
mblen() | |
mbtowc() | |
mbstowcs() | |
wctomb() | |
wcstombs() |
, Photon, PxTranslate, / UTF-8.
Photon - " " (PtDBContainer), .
PtDBContainer , .
Photon , :
Photon / , .
Photon (GUI). . , , .
. , "" . , .
Photon , ,- , , , . , , C- callback- . Photon Application Builder (PhAB), Photon, .
Photon :
. PtLabel , (, , , , , , ..), .
. , , . , callback-.
Photon :
- . Photon . - .
Photon . , . , , .
. (, PtList, PtScrollArea) .
, . .
, , . .
. - callback-, . , , .
Photon , . Photon - PtButton, , PtLabel, .
- (, ), , , , , . .
. Photon , , 3 . (PtAskQuestion()), .
PtNumericInteger . PtNumericFloat .
PtUpDown ( /) .
. ( , ..) . Photon (PWM) - .
Photon Desktop Manager PWM.
-, . , . , .
- , . , . (, ) , . , .
"" . , , . , , .
( , ).
, . .
Photon . PtMenuBar . PtMenu , -- (), , . PtMenuButton .
. , , . PtDivider.
PtText ( ) PtList. , . . , .
- . , . , , ; . .
Photon, , : - ( ), PhAB ( ), vsin ( ) .
. .
- "cut-and-paste" .
. PtDivider, . , . , , . , PtDivider PtList, .
. , , .
. RtTrend .
RtMeter , 1/3, 1/2 2/3 . . ; ("drag") .
. (, ..) (anti-alias).
PtFileSel , . .
PtPrintSel . .
HTML. HTML- . , , .
Photon , ! Photon . , , .
Photon "" , , . Photon :
Last-modified: Wed, 06 Mar 2002 08:50:13 GMT