February 2010 Archives

工作环境整理

| No Comments

过完年回来,昨天突然发现有些东西居然2个星期就忘记了,现在也顺便随便记录一下:
1.台式机目前主要处理outlook和rtx相关的东西,而且使用windows的远程终端一直访问台式机进行工作。
2.笔记本上使用了PC的ssh功能进行代理上网,LAN网卡是只开放了少数几个端口的,基本上所有的网络程序都是通过PC代理上网的。
3.在会议室的时候,通过securecrt登录dev环境可以知道PC的IP,然后远程登录PC进行工作;由于LAN网卡的端口限制,笔记本在会议室也是无法直接上网的。
4.今天我在测试Outlook发现也可以通过代理上网了,后续可以考虑直接使用笔记本处理工作了。
5.3G网卡只对少数几个应用程序开放使用:Fterm等。

 

--EOF--

新年的一些工作和学习计划

| No Comments

新年的一些工作和学习计划

用好OutLook:
1.学会对邮件进行标记,每天针对标记的邮件进行跟进处理,防止事情遗漏忘记跟进
2.在草稿箱做好相关准备,列出要处理的事项,方便跟踪处理
3.恢复使用任务记录杂事

其它:
1.开始使用TAPD来分配工作任务和记录整理相关工作列表
2.仍然坚持使用纸质笔记本记录每天的工作时间的所做的事情和待办事项,定期反馈到Outlook中进行记录


1.每周准备一个学习笔记更新到Blog
2.看看QQMail能否更好的帮助改进工作沟通
3.相关事项具体分配到某位同事去跟进处理


 

--EOF--

回家3G见闻

| No Comments

  大年初一从深圳坐火车回武汉,因为担心路上玩机把电用光,到武汉之前都没怎么玩手机。在武汉回老家的路上开始进行了一些试用,发现联通的3G网络铺的真的很不错,我们那个市基本都有3G信号了,而且一路回家路边都有联通刷的标语广告,这个可是那里最流行的广告牌! 我们那个镇算最穷的一个镇,也是有很好的3G信号的,我用手机连电脑上网速度也非常快。 从几个同事了解,他们有从深圳拼车会江西,一路高速路上联调的3G信号也都是很好的。 如果说联通的3G流量资费能更便宜一些,估计用的人会多很多很多。

  反观移动的网络,我老家那个镇在过年的时候,经常电话是无法接通的,网络太繁忙了,从外地回家的人非常多,而用移动号的人又占绝大多数。我用联通的号打电话和上网,因为只有300M流量,用到250多M的时候我就换用移动的卡上网了,结果发现居然连EDGE的网络都没有,这样我上网就杯具了,真的是龟速,只能上上TERM版的BBS解解网瘾。

  初六回到武汉,有了TD信号,我用ET128,上网速度改善不少,最高速度1600kbps,而且稳定了10分钟左右的下载。 但是姐夫一个多普达的S700就没那么幸运了,据他反馈是经常无法接通电话,我姐老是打不通他的电话。我给刷了最新的系统后用S700上网发现,经常在2G和3G间切换,而且速度很慢,本来我还想用M8换这个S700的,后来发现上网太慢,不敢要了。 当然为了他最基本的打电话的需求,我帮他设置了只使用2G网络,估计以后打电话应该不会再经常掉线了?

  总的来说,移动的网络现在覆盖面太窄了,而且优化的空间还很大很大,而且不能GPRS/EDGE/HSDPA自由切换,但从资费来说,我高价买的无限卡非常爽了,但就是不知道是否能一直无限下去。 而联通的网络很不错,上网也很快,终端也非常多非常好,就是资费偏贵,我是用不起的。家里的宽带这个月没怎么用都有30多G的流量,如果用联调的3G上网,得花多少钱? 但是今天得到一个好消息就是联调的WIFI版的iPhone3月份可能就要推出来了,到时候希望能有一些活动,争取去弄一个回来玩玩。

 

--EOF--

http://www.hkex.com.hk/expartlst/sehk/inbroker_c.htm

 交易及結算所參與者  
交易所參與者及聯交所交易權持有人名錄
聯交所參與者及聯交所交易權持有人名錄

更新日期: 2010年2月9日

經紀代號索引


經紀代號

開業交易所參與者

0014/9

昌利證券有限公司

0020, 0025/6, 0027/9

建銀國際證券有限公司

0039

三菱日聯證券(香港)有限公司

0040, 0049

富業證券投資有限公司

0050, 0059

通陸證券有限公司

0060, 0069

鼎成證券有限公司

0079 英高證券有限公司

0080, 0089

豐年証券投資有限公司

0090, 0099

泰山證券有限公司

0100/9

京華山一證券(香港)有限公司

0110, 0114/9

京華山一證券(香港)有限公司

0120/1, 0127, 0129

美建證券有限公司

0130/1, 0138/9

結好證券有限公司

0144/9

大福證券有限公司

0150/9

大福證券有限公司

0160/1, 0164/9

大福證券有限公司

0170/1, 0176/9

派杰亞洲証券有限公司

0180/1, 0188/9

興業證券有限公司

0210/1, 0217, 0219

大正證券有限公司

0229

Morgan Stanley Hong Kong Securities Ltd.

0230, 0238/9

佳明金融集團有限公司

0240, 0248/9

日發證券有限公司

0250, 0258/9 Rabo Brokerage HK Ltd.

0260, 0268/9

怡發證券有限公司

0270/1, 0278/9

志昇證券有限公司

0290, 0297/9

世博證券有限公司

0310/1, 0315/9

交銀國際證券有限公司

0320, 0329

詠明證券有限公司

0330/1, 0335/9

大和資本市場香港有限公司

0344/9

大和資本市場香港有限公司

0350, 0354/9

昌利證券有限公司

0360/1, 0368/9 高銀(證券)有限公司

0380, 0387/9

新際金融香港有限公司

0390/2, 0396/7, 0399

景福證券有限公司

0429

大和資本市場香港有限公司

0440/1, 0448/9

高陞證券有限公司

0460/1, 0468/9

步基證券有限公司

0470, 0479

海生證券有限公司

0490/1, 0498/9

豐樂證券有限公司

0500, 0509

Execution (Hong Kong) Ltd.

0517/9 Eclipse Options (HK) Ltd.
0520/1, 0524, 0528/9

常證券有限公司

0534/5

大福證券有限公司

0549

大福證券有限公司

0558/9

天行聯合證券有限公司

0567/9 瑞穗證券亞洲有限公司

0570, 0579

東美證券有限公司

0588/9 台灣工銀證亞洲(香港)有限公司

0600, 0604/9

天行聯合證券有限公司

0610/2, 0614/9

天行聯合證券有限公司

0630, 0637/9 永好證券有限公司
0649 MainFirst Securities Hong Kong Ltd.

0660/1, 0668/9

永發證券有限公司

0670, 0679

金旭證券有限公司

0690/1, 0697/9

一通投資者有限公司

0700, 0709

厚德證券有限公司.

0710, 0719

T & F Equities Ltd.

0726/9 Tibra Trading Hong Kong Ltd.

0730

陳岳明證券有限公司

0765/9 IMC Asia Pacific Ltd.

0770, 0777/9

華信證券有限公司

0800, 0808

平安證券有限公司

0810, 0816/9 未來資產證券(香港)有限公司

0820, 0829

恆利證券(香港)有限公司

0830/2, 0838/9

廣發行証券有限公司

0860, 0869

昌萬年有限公司

0890/3, 0894/9

上銀證券有限公司

0900/1, 0908/9

福財證券及期貨有限公司

0920, 0929

中發証券有限公司

0940, 0946/9

達証券(香港)有限公司

0950, 0959 三甲亞洲證券有限公司

0989

江陸證券有限公司

0990/1, 0996/9

上銀證券有限公司

1000, 1008/9

滿好證券有限公司

1010/1, 1018/9

首華證券有限公司

1020, 1029

新利偉投資有限公司

1031, 1038/9

邁高達證券有限公司

1045/9 IMC Asia Pacific Ltd.

1050, 1059

哥連頓證券投資有限公司

1070, 1079

萬達基證券有限公司

1089

工商東亞證券有限公司

1092/3, 1095/7, 1099

工商東亞證券有限公司

1100, 1108/9

東海東京證券(亞洲)有限公司

1129

富澤證券有限公司

1130, 1138/9

興利証券有限公司

1150, 1159

才仕證券有限公司

1160, 1164/9

農銀証券有限公司

1177/9 華泰金融控股(香港)有限公司

1190, 1194/5, 1197/9 

Credit Suisse Securities (Hong Kong) Ltd.

1200, 1207/9 國元証券經紀(香港)有限公司

1210, 1219

亞洲太平証券有限公司

1254/9 建銀國際證券有限公司
1270, 1279 廣發證券(香港)經紀有限公司
1290, 1296, 1298/9 招銀國際金融有限公司

1319

威達利證券有限公司

1320/1, 1324/9

益高證券有限公司

1330, 1339

利星行證券有限公司

1340/1, 1348/9

聯興證券有限公司

1360, 1368/9 灝天環球投資有限公司
1370, 1375/9

交銀國際證券有限公司

1380/2, 1387/9

新鴻基投資服務有限公司

1390/1, 1398/9

興偉聯合證券有限公司

1410, 1419

永得証券有限公司

1420/9

常證券有限公司

1439 Susquehanna Hong Kong Ltd.
1468/9 華晉證券有限公司
1478/9 Optiver Trading Hong Kong Ltd.
1480, 1489 中國信託綜合證券(香港)有限公司
1495/7 Optiver Trading Hong Kong Ltd.
1509 利貫交易網亞洲有限公司

1520, 1529

金山投資(香港)有限公司

1531, 1538/9

中潤證券有限公司

1568/9 電訊數碼證券有限公司
1579 澧盈資本亞洲有限公司
1580, 1588/9 Natixis Asia Ltd.

1608/9

亞證券(亞洲)有限公司

1610/1, 1618/9

富欣證券有限公司

1636, 1638/9

百裕證券有限公司

1650, 1659

威發證券有限公司

1680/3, 1686/7, 1689

華富嘉洛證券有限公司

1709 康宏証券投資服務有限公司
1714/9

耀才證券國際(香港)有限公司

1720, 1729

華生證券有限公司

1730

高勤証券有限公司

1747/9

耀才證券國際(香港)有限公司

1750, 1759

基裕證券有限公司

1760, 1769

偉民証券有限公司

1770, 1779

大眾証券有限公司

1780/1, 1788/9

華南永昌證券(香港)有限公司

1790, 1794, 1796/9

耀才證券國際(香港)有限公司

1810

浙江第一證券有限公司

1820, 1829

日亞證券有限公司

1830, 1836/ 9

極訊亞太有限公司

1850/2, 1856/9

聯發證券有限公司

1871, 1878/9

東泰證券有限公司

1880, 1889

宏興證券有限公司

1890, 1899

金鼎綜合證券(香港)有限公司

1900, 1908/9

富泰證券有限公司

1910, 1919 標準證券亞洲有限公司 

1920/1, 1928/9

聯昌國際證券(香港)有限公司

1940, 1949

大寧證券有限公司

1950, 1959

同信證券有限公司

1960, 1969

3V Capital Ltd.

1979 寶華世紀証券有限公司
1987/9

東亞證券有限公司

2000/3, 2005, 2007/9 曉豐證券有限公司

2010/9

東亞證券有限公司

2020/1, 2024/9

東亞證券有限公司

2030, 2039

金華證券有限公司

2045/9

巴克萊亞洲有限公司

2055/9 建銀國際證券有限公司
2077/9

巴克萊亞洲有限公司

2080/1, 2084/9

巴克萊亞洲有限公司

2090, 2099

復耀證券有限公司

2107/9 皇朝證券有限公司

2110, 2119

寶盛金融服務有限公司

2120, 2129

佳富達證券有限公司

2150, 2159

金江股票有限公司

2160/2, 2167/9

太平基業證券有限公司

2170, 2179

世灝證券有限公司

2180, 2189

葉阮惠有限公司

2190, 2199

美聯證券有限公司

2210/1, 2218/9

恆泰証券有限公司

2220/2, 2228/9, 4268

星晨證券有限公司

2250, 2259

凱敏證券有限公司

2264/9

恒生證券有限公司

2274/9

恒生證券有限公司

2280, 2289

博大證券有限公司

2290/2, 2294/9

一中證券有限公司

2300, 2309

李氏證券有限公司

2310/9

恒生證券有限公司

2320/1, 2328/9

周生生證券有限公司

2330/2, 2336, 2338/9

周生生證券有限公司

2350/1, 2357/9

軟庫金金融服務有限公司

2364/9

恒生證券有限公司

2370

順靈發展有限公司

2380/1, 2388/9

名匯證券有限公司

2390, 2398/9

凱基財富管理有限公司

2430, 2432, 2434/9

信誠證券有限公司

2446/9

信誠證券有限公司

2488/9 All Options Hong Kong Ltd.

2500/1, 2508/9

中亞證券有限公司

2520, 2528/9

齊榮證券有限公司

2550/1, 2558

好盈證券有限公司

2588/9 天順證券投資有限公司

2590, 2599

高氏兄弟証券有限公司

2600/2, 2607/9

御泰證券有限公司

2610, 2619 明富環球香港有限公司

2620/1, 2628/9

加皇投資理財有限公司

2630, 2639

永高證券有限公司

2650, 2658/9 Liquid Capital Markets Hong Kong Ltd.

2660/1, 2668/9

萬興證券有限公司

2680, 2689

華誠證券有限公司

2699 宏遠證券(香港)有限公司

2700, 2709

大輝證券有限公司

2710, 2718/9

澤證券有限公司

2720/2, 2727/9

秦志遠證券有限公司

2750, 2759

漢華證券有限公司

2770, 2778/9

太平行證券有限公司

2800/2, 2804/5, 2807/9

恆豐證券有限公司

2810/1, 2818/9

桂洪証券有限公司

2830, 2839

路華證券有限公司

2840/2, 2846/9

麥格理資本證券股份有限公司

2857

麥格理資本證券股份有限公司

2860, 2868/9

東信證券有限公司

2880/2, 2887/9

緻寶投資有限公司

2900, 2909

偉民股票買賣有限公司

2918/9 東方富證券有限公司

2920, 2929

權富證券有限公司

2934/9 翔健証券有限公司
2959 All Options Hong Kong Ltd.
2965/9

益高證券有限公司

2974/9

星展唯高達香港有限公司

2980, 2989

亞華證券有限公司

2990, 2999 海通證券(香港)經紀有限公司

3000/1, 3007/8

詠誼證券投資有限公司

3020, 3029

建豐証券有限公司

3039 匯金(證券)有限公司

3050, 3058/9

高富金融有限公司

3060, 3069

先鋒證券有限公司

3077/8

Morgan Stanley Hong Kong Securities Ltd.

3080, 3088/9

嘉裕證券有限公司

3104/9

交銀國際證券有限公司

3110, 3119

飛達證券有限公司

3124/9

交銀國際證券有限公司

3131, 3138/9

國中證券有限公司

3140, 3149

俊山金融服務有限公司

3160, 3169

黎寶鴻證券有限公司

3170, 3174/5, 3177

Citigroup Global Markets Asia Ltd.

3186/7

Citigroup Global Markets Asia Ltd.

3190, 3199

利達時證券有限公司

3200, 3209 華僑證券(香港)有限公司

3220, 3229

發利證券有限公司

3230, 3235/9

勝利證券有限公司

3250/2, 3257/9

大眾金融証券有限公司

3265/9

美林遠東有限公司

3274/9

美林遠東有限公司

3284/9

美林遠東有限公司

3290/2, 3297/9

業證券有限公司

3310/3, 3316/9

盈證券有限公司

3320, 3329

義發證券有限公司

3345/9

美林遠東有限公司

3350, 3359

聯安證券有限公司

3360, 3369

富強證券有限公司

3370, 3378/9

岡三國際(亞洲)有限公司

3390/2, 3398/9

朗盈證券有限公司

3410/3, 3414/9

太平証券(香港)有限公司

3450/2, 3454/9

高盛(亞洲)證券有限公司

3470, 3479

展兆投資有限公司

3489 怡安證券有限公司

3500/1, 3508/9

萬勝證券(遠東)有限公司

3526/9 工銀國際證券有限公司
3555/9 工銀國際證券有限公司
3560, 3565/9 工銀國際證券有限公司
3577/9 匯心金融有限公司

3580, 3589

莊氏投資有限公司

3599 南洋證券有限公司

3600/1, 3605/9

東方財證券有限公司

3610, 3619

惠興証券有限公司

3620, 3629 富國投資(亞洲)有限公司
3639 Chi Capital Securities Ltd.

3660, 3669

金鴻証券有限公司

3678/9 元大證券(香港)有限公司

3680, 3689

萬利企業(投資)有限公司

3690, 3699 昆侖國際證券(香港)有限公司

3700, 3709

寶通證券亞洲有限公司

3719

金利豐證券有限公司

3730, 3739

東洋證券亞洲有限公司

3757/9 國富達投資有限公司

3760/2, 3764/9

金利豐證券有限公司

3779

金興証券有限公司

3780, 3788/9

美高證券有限公司

3790, 3799

金茂証券有限公司

3801, 3808/9

堅固證券有限公司

3840/1, 3848/9

大德證券(亞洲)有限公司

3860, 3869

文漢揚証券有限公司

3870, 3879

東英亞洲證券有限公司

3880/1, 3888/9

大一投資有限公司

3901, 3908/9

時代證券有限公司

3910, 3916/9 集美證券有限公司

3920, 3929

達証券有限公司

3931, 3938/9

和豐證券有限公司

3959

泓福證券有限公司

3960/2, 3967/9

美輝證券有限公司

3990/1, 3998/9

達利證券有限公司

4011, 4018/9

億創證券(香港)有限公司

4024/9

法國巴黎證券(亞洲)有限公司

4030/1, 4038/9

大盛証券投資有限公司

4054/9

法國巴黎證券(亞洲)有限公司

4060, 4064/9

法國巴黎證券(亞洲)有限公司

4070/9

法國巴黎證券(亞洲)有限公司

4080/1, 4085/8

Credit Suisse Securities (Hong Kong) Ltd.

4120/1, 4127/9

鴻昇證券有限公司

4130, 4139

恒昇證券有限公司

4140, 4149

英華證券有限公司

4159 百達利證券有限公司

4160/1, 4164/9

麥格理資本證券股份有限公司

4180, 4189

嘉信証券有限公司

4199 國票證券(香港)股份有限公司
4268

一中證券有限公司

4280, 4289

億寶證券有限公司

4310, 4319

樂基證券有限公司

4330/1, 4338/9

敦沛證券有限公司

4350/1, 4358/9

裕安證券有限公司

4380, 4389

香港宏僑投資有限公司

4390, 4399 德裕金號證券有限公司

4400, 4407, 4409

大新證券有限公司

4410, 4418/9

盈泰證券有限公司

4460/1, 4468

興盛香港證券有限公司

4470

萬光證券有限公司

4500, 4509

祺昌證券有限公司

4520, 4529

新安達證券有限公司

4550/1, 4558/9

偉富證券有限公司

4560, 4569

華泰證券有限公司

4589 致富證券有限公司

4590/1, 4595, 4597

富通證券股份有限公司

4624/9 致富證券有限公司
4634/9 致富證券有限公司
4654/9 致富證券有限公司

4660/2, 4664/9

致富證券有限公司

4670, 4678/9

金源證券投資有限公司

4684/9

致富證券有限公司

4690, 4699

巴西證券有限公司

4708/9

百利達證券有限公司

4720, 4728/9

利興股票有限公司

4780, 4789

德盛證券有限公司

4830, 4838/9

訊數碼証券有限公司

4860, 4869

佳隆證券有限公司

4876/9

J.P. Morgan Broking (Hong Kong) Ltd.

4880/1, 4885/9

渣打證券(香港)有限公司

4899

大亞證券有限公司

4900/1, 4908/9

日盛嘉富證券國際有限公司

4914/9

J.P. Morgan Broking (Hong Kong) Ltd.

4920/2, 4927/9

鷹達證券有限公司

4950, 4959

國興証券有限公司

4970/2, 4976/9

法國興業證券(香港)有限公司

4984/9

J.P. Morgan Broking (Hong Kong) Ltd.

4990, 4999 萬潤證券有限公司

5000, 5009

東證券有限公司

5010/1, 5018/9

大豐證券有限公司

5030, 5039

市民證券有限公司

5058/9 國都證券(香港)有限公司

5080/2, 5087, 5089

F.R. Zimmern Ltd.

5090/1, 5098/9

浩豐證券投資有限公司

5110, 5119

劉氏証券有限公司

5120, 5129 阿仕特朗資本管理有限公司
5130/1, 5135/9 富昌證券有限公司

5140/1, 5147/9

高信證券有限公司

5160/1, 5168/9

佐雄證券有限公司

5170, 5179

第一證券(香港)有限公司

5185/9

國泰君安證券(香港)有限公司

5194/8

國泰君安證券(香港)有限公司

5200, 5209

鴻業證券有限公司

5219

申銀萬國證券(香港)有限公司

5220/2, 5227/8

申銀萬國證券(香港)有限公司

5245/9

金輝証券有限公司

5260/2, 5267/9

永安祥證券有限公司

5280, 5289

蘇佩瓚證券有限公司

5290, 5298/9

Cantor Fitzgerald (Hong Kong) Capital Markets Ltd.

5310, 5319

海富證券有限公司

5324/9

J.P. Morgan Broking (Hong Kong) Ltd.

5330/1, 5333/4, 5336/9

J.P. Morgan Broking (Hong Kong) Ltd.

5340/1, 5344/9

J.P. Morgan Broking (Hong Kong) Ltd.

5354/9

星展唯高達香港有限公司

5360/2, 5364/9

星展唯高達香港有限公司

5374, 5376/9

星展唯高達香港有限公司

5388/9

群益證券(香港)有限公司

5390/1, 5399

大華證券(香港)有限公司

5400/1, 5408/9

駿溢証券有限公司

5414/9

星展唯高達香港有限公司

5430/1, 5437, 5439

均益證券(國際)有限公司

5440, 5449

康州證券有限公司

5457/9

星展唯高達香港有限公司

5465/9 Morgan Stanley Hong Kong Securities Ltd.

5470/1, 5474/9

金輝証券有限公司

5490/1, 5499

富盛證券有限公司

5510/3, 5516/9

新鴻基投資服務有限公司

5520/4, 5526/9

新鴻基投資服務有限公司

5530/1, 5538/9

新鴻基投資服務有限公司

5550, 5559

金力証券有限公司

5560/2, 5567/9

安信國際金融控股有限公司

5580, 5589

金運通證券有限公司

5590, 5599

嘉利證券投資有限公司

5610, 5619

兆安證券投資有限公司

5630/1, 5637/8

岡地投資(香港)有限公司

5660/2, 5666/9

永亨證券有限公司

5670/2, 5674/5, 5677/9

Nomura Securities (Hong Kong) Ltd.

5680, 5689

永威證券有限公司

5700/1, 5708/9

林達證券有限公司

5710, 5719

致力證券有限公司

5724/9

Nomura Securities (Hong Kong) Ltd.

5740, 5747/9

比聯証券香港有限公司

5760, 5769

威敏證券有限公司

5770, 5779

東航國際金融有限公司

5790, 5799

新基立證券有限公司

5804/9

Nomura Securities (Hong Kong) Ltd.

5810, 5819 中國平安証券(香港)有限公司

5820, 5829

致富證券投資有限公司

5850, 5859

立生證券有限公司

5880/1, 5887/9

信達國際證券有限公司

5904/9

恒生證券有限公司

5910, 5919

申新證券有限公司

5924/9

恒生證券有限公司

5930, 5932, 5937/8

第一金和昇證券有限公司

5940, 5949

騰記證券有限公司

5958/9

恒生證券有限公司

5960, 5969

通用股票有限公司

5980/1, 5985, 5987/9

僑豐證券有限公司

6000/1, 6008/9

昌盛證券有限公司

6010, 6019

康和証券(香港)有限公司

6069 中金證券有限公司

6080/6, 6088/9

凱基證券(香港)有限公司

6090, 6099

崑泰證券(金銀)有限公司

6100/2, 6104/9

國泰君安證券(香港)有限公司

6110, 6119

明漢證券有限公司

6120/3, 6125/9

金英証券香港有限公司

6160, 6169

元富證券(香港)有限公司

6180, 6189 三星證券(亞洲)有限公司

6190, 6199

信亨証券有限公司

6200, 6209

陽光資本證券有限公司

6210, 6219

新邦証券有限公司

6220/1, 6223, 6226/9

興旺證券有限公司

6250, 6257/9

永豐金證券(亞洲)有限公司

6270/1, 6278/9

好利發證券有限公司

6280, 6289

眾利股票有限公司

6299 永鋒證券有限公司

6310, 6319

第一上海證券有限公司

6330, 6338

大業證券有限公司

6360/1, 6368/9

羅沙證券有限公司

6370/1, 6377/9

恆亞証券有限公司

6384, 6388/9

Morgan Stanley Hong Kong Securities Ltd.

6410, 6419

世紀建業證券有限公司

6424/6

中信証券經紀(香港)有限公司

6430/2, 6434/9

中信証券經紀(香港)有限公司

6449

中信証券經紀(香港)有限公司

6450/1, 6458/9

統一證券(香港)有限公司

6470/1, 6474/9

群益證券(香港)有限公司

6480, 6488/9

永豐證券有限公司

6490/3

美國雷曼兄弟證券亞洲有限公司

6520/1, 6528/9

萬利豐證券有限公司

6550, 6559

利銘證券有限公司

6560, 6568/9

長雄證券有限公司

6580, 6589

協興股票有限公司

6600/1, 6608/9

華輝證券有限公司

6610/2, 6617/9

宏高證券有限公司

6690, 6699

添華證券香港有限公司

6700/2, 6707/9

廣利証券有限公司

6750, 6759

新寶城證券有限公司

6770/9

宏旺證券有限公司

6780

宏旺證券有限公司

6790, 6799

永聯証券投資有限公司

6800, 6809

平和證券有限公司

6820/3, 6825/9

輝立証券(香港)有限公司

6830/2, 6835, 6837/9

輝立証券(香港)有限公司

6840, 6849

加福證券有限公司

6861/2, 6867/9

新同得有限公司

6880, 6889

益群證券有限公司

6898/9 BTIG Hong Kong Ltd.
6900, 6904/9

寶來證券(香港)有限公司

6910, 6919

嘉詠證券有限公司

6930, 6939

億康證券有限公司

6940, 6949

聯勝網上證券有限公司

6950, 6958

恒富證券有限公司

6960/1, 6965/9

United World Online Ltd.

6984/9

富金融服務有限公司

7000, 7009

惠成投資有限公司

7016/9

寶來證券(香港)有限公司

7020/9

寶來證券(香港)有限公司

7040/2, 7046/9

結好證券有限公司

7070/2, 7077/9

永富證券有限公司

7080/1, 7085/9

榮通證券有限公司

7100, 7109

英明證券有限公司

7117/9

大華繼顯(香港)有限公司

7120, 7125/7

大華繼顯(香港)有限公司

7130/9

大華繼顯(香港)有限公司

7140/3, 7146/9

時富證券有限公司

7150/3, 7155, 7159

時富證券有限公司

7160, 7167/9

時富證券有限公司

7170/1, 7174/9

富金融服務有限公司

7183, 7184/9

德意志證券亞洲有限公司

7190, 7196/9

德意志證券亞洲有限公司

7200, 7209

金豐證券有限公司

7215/7

德意志證券亞洲有限公司

7219

德意志證券亞洲有限公司

7221, 7228/9

晉安証券有限公司

7230/1, 7238/9

祖達股票行有限公司

7260/2, 7264, 7267/9

投資科技集團香港有限公司

7280/1, 7288/9

永盛証券投資有限公司

7310, 7319

永勝證券有限公司

7330/1

萬金來證券有限公司

7350/1, 7354/9

美林遠東有限公司

7362/3, 7364/9

美林遠東有限公司

7370, 7379

金證券有限公司

7380/5, 7388/9

Citigroup Global Markets Asia Ltd.

7400, 7402, 7408/9

富通證券股份有限公司

7410/1, 7418/9

聯成證券有限公司

7460/1, 7469

蘇佩玿有限公司

7470/1, 7477/9

訊匯證券有限公司

7500, 7509

恒億證券有限公司

7510, 7519

金鑾證券有限公司

7540/2, 7547/9

中方證券有限公司

7567/9

英皇證券(香港)有限公司

7570/2, 7574/8

英皇證券(香港)有限公司

7584/9

英皇證券(香港)有限公司

7600, 7609

寶威證券有限公司

7670, 7676/9

力寶證券有限公司

7707/9

大唐投資(證券)有限公司

7730, 7739

萬誠證券有限公司

7750/1, 7758/9

長盈證券有限公司

7771/2, 7777/9

中華太平洋證券有限公司

7800/1, 7805/8

恒明珠證券有限公司

7830, 7839

包大証券投資有限公司

7850, 7859

致德證券有限公司

7860, 7869

中南証券有限公司

7880/1, 7884, 7886/9

亨達証券有限公司

7890/1, 7899

榮興證券有限公司

7910/1, 7914/7, 7919

工銀亞洲証券有限公司

7920, 7929

永安證券有限公司

7930/1, 7938/9

德豐證券投資有限公司

7960/1, 7967/9 兆豐證券(香港)有限公司

7970, 7979

炎昌証券投資有限公司

7990/3, 7995/9

協聯證券有限公司

8009

協聯證券有限公司

8010, 8019

皇冠亨達國際證券有限公司

8020/3

里昂證券有限公司

8026/9

里昂證券有限公司

8030, 8034,8036/9

里昂證券有限公司

8044/7, 8049

里昂證券有限公司

8070/3, 8075/9

同德證券(香港)有限公司

8080/1, 8088/9

粵海證券有限公司

8109

工銀亞洲証券有限公司

8114/9

工銀亞洲証券有限公司

8120, 8124/9

中銀國際證券有限公司

8130, 8134/9

中銀國際證券有限公司

8140/1, 8144/9

中銀國際證券有限公司

8154/9

中銀國際證券有限公司

8164, 8167/9

中銀國際證券有限公司

8176/9

中銀國際證券有限公司

8184/6, 8188/9

中銀國際證券有限公司

8194/9

中銀國際證券有限公司

8200/2, 8207/9

溢利證券有限公司

8220, 8229

凱思證券有限公司

8230, 8239

進證券有限公司

8250, 8259

環球證券有限公司

8260, 8269

穎翔證券有限公司

8270, 8272/3, 8276/9

南華證券投資有限公司

8290, 8299

越秀証券有限公司

8314/9

豐金融證券(香港)有限公司

8320, 8328/9

凱證券有限公司

8330/2, 8336/9

新富證券有限公司

8364/9

豐金融證券(香港)有限公司

8374/7, 8379

豐金融證券(香港)有限公司

8380, 8389

卓越證券有限公司

8390/9

豐金融證券(香港)有限公司

8400, 8404/9

豐金融證券(香港)有限公司

8419

Salisbury Securities Ltd.

8424, 8428

豐金融證券(香港)有限公司

8450, 8459

恆滿證券有限公司

8460

巴黎巴亞洲証券有限公司 (Trading as Paribas)

8490, 8499

建行證券有限公司

8506/9

富通結算香港有限公司

8510/1, 8514/6, 8519

富通結算香港有限公司

8577/9

豐證券經紀(亞洲)有限公司

8580/1, 8589

凱基證券(香港)有限公司

8590, 8592/5, 8599

凱基證券(香港)有限公司

8640/2, 8644/9

蘇皇證券亞洲有限公司

8664/7

蘇皇證券亞洲有限公司

8674/9

天行聯合證券有限公司

8680, 8684/9

天行聯合證券有限公司

8694/9

法國巴黎證券(亞洲)有限公司

8701, 8708/9

百德能經紀有限公司

8714/9

豐金融證券(香港)有限公司

8729

寶來資本(亞洲)有限公司

8730/9

豐證券經紀(亞洲)有限公司

8744/9

豐證券經紀(亞洲)有限公司

8750, 8759

宏昌証券有限公司

8760/2, 8767/9

富銀證券(香港)有限公司

8790/2, 8797/9

天發證券有限公司

8830/3, 8836/9

國浩資本有限公司

8840, 8849

國浩資本有限公司

8870, 8879

大中華證券有限公司

8880/3, 8884/7, 8889, 8899

中國光大證券(香港)有限公司

8904/9

中銀國際證券有限公司

8914, 8919

中銀國際證券有限公司

8924

中銀國際證券有限公司

8930/2, 8935, 8938/9

創興證券有限公司

8944/9

中銀國際證券有限公司

8960/1, 8964, 8966/9

中國國際金融香港證券有限公司

9004/9

富昌證券有限公司

9014/9

富昌證券有限公司

9028/9

UBS Securities Hong Kong Ltd.

9030/2, 9034/9

招商證券(香港)有限公司

9040/3, 9046/9

永隆證券有限公司

9050/9

UBS Securities Hong Kong Ltd.

9063/9

UBS Securities Hong Kong Ltd.

9070/9

富昌證券有限公司

9080/3, 9084/9

富昌證券有限公司

9094/9

富昌證券有限公司

9100, 9104/9

雄愉證券有限公司

9114/9

招商證券(香港)有限公司

9124/9

富昌證券有限公司

9130, 9137/9

實德證券有限公司

9150/1, 9157, 9159

中衛投資有限公司

9400/2

豐金融證券(香港)有限公司

9409

豐金融證券(香港)有限公司

9410

豐金融證券(香港)有限公司

9411/2

中信証券經紀(香港)有限公司

9413/8

豐金融證券(香港)有限公司

9419

恒生證券有限公司

9420/2

恒生證券有限公司

9423

大福證券有限公司

9424/7

United World Online Ltd.

9428/9

豐金融證券(香港)有限公司

9430

豐金融證券(香港)有限公司

9431/4

恒生證券有限公司

9501 標準證券亞洲有限公司
9503

豐證券經紀(亞洲)有限公司

9505

里昂證券有限公司

9507

麥格理資本證券股份有限公司

9509

法國興業證券(香港)有限公司

9511

J.P. Morgan Broking (Hong Kong) Ltd.

9513

德意志證券亞洲有限公司

9519

凱證券有限公司

9521

法國巴黎證券(亞洲)有限公司

9523

比聯証券香港有限公司

9527 美林遠東有限公司
9529

德意志證券亞洲有限公司

9531

麥格理資本證券股份有限公司

9533

德意志證券亞洲有限公司

9535 J.P. Morgan Broking (Hong Kong) Ltd.

9537

Morgan Stanley Hong Kong Securities Ltd.

9539

星展唯高達香港有限公司

9543

中銀國際證券有限公司

9545

德意志證券亞洲有限公司

9547

德意志證券亞洲有限公司

9551

法國巴黎證券(亞洲)有限公司

9553

法國巴黎證券(亞洲)有限公司

9555

德意志證券亞洲有限公司

9557

麥格理資本證券股份有限公司

9559

法國興業證券(香港)有限公司

9563 UBS Securities Hong Kong Ltd.
9565 Nomura Securities (HK) Ltd.
9567 巴克萊亞洲有限公司

9569

比聯証券香港有限公司

9571

凱證券有限公司

9575 Credit Suisse Securities (Hong Kong) Ltd.
9577

比聯証券香港有限公司

9579 Credit Suisse Securities (Hong Kong) Ltd.
9587

法國巴黎證券(亞洲)有限公司

9589

麥格理資本證券股份有限公司

9591

法國巴黎證券(亞洲)有限公司

9593

法國巴黎證券(亞洲)有限公司

9595

比聯証券香港有限公司

9599

麥格理資本證券股份有限公司

9601

凱證券有限公司

9603

蘇皇證券亞洲有限公司

9607

法國巴黎證券(亞洲)有限公司

9609

豐證券經紀(亞洲)有限公司

9611 豐證券經紀(亞洲)有限公司
9613

法國巴黎證券(亞洲)有限公司

9615 豐證券經紀(亞洲)有限公司

9619

UBS Securities Hong Kong Ltd.

9621

蘇皇證券亞洲有限公司

9623

蘇皇證券亞洲有限公司

9625

高盛(亞洲)證券有限公司

9627

高盛(亞洲)證券有限公司

9629

法國興業證券(香港)有限公司

9633

大福證券有限公司

9635

UBS Securities Hong Kong Ltd.

9637

蘇皇證券亞洲有限公司

9639

蘇皇證券亞洲有限公司

9641

蘇皇證券亞洲有限公司

9643

蘇皇證券亞洲有限公司

9645 Citigroup Global Markets Asia Ltd.
9647 Citigroup Global Markets Asia Ltd.
9649

高盛(亞洲)證券有限公司

9651 Citigroup Global Markets Asia Ltd.
9653

UBS Securities Hong Kong Ltd.

9655

UBS Securities Hong Kong Ltd.

9657

美林遠東有限公司

 

--EOF--

http://www.hkex.com.hk/infra/tradmech/tradmech_c.htm

 市場及交易運作  

證券市場

交易機制


更新日期: 2009年12月22日

交易所的交易機制

交易所的交易系統是一個買賣盤帶動的系統。

在開市前時段,系統只接受輸入競價盤及競價限價盤。

在持續交易時段,系統只以限價盤、增強限價盤及特別限價盤進行買賣。買賣盤可選擇附加『全數執行或立刻取消』指示,那麼,要是不能同時全數完成有關買賣盤,便會取消整個買賣盤,不會保留在系統內。

證券買賣是通過交易大堂內的終端機或在交易所參與者辦公室內的離場交易設施進行。

自動對盤及成交系統

交易時段

開市前時段

自動配對股份的每個買賣盤的數量不得超過3,000手。自2007年1月29日起,不設每一個經紀代號的未執行買賣盤上限,而每一價格的輪候隊伍的買賣盤數目上限增加至20,000個。買賣盤會累積一段時間及在預先設定的對盤時段中進行對盤。買賣盤會以買賣盤類別、價格及時間等優先次序(競價盤享有優先的對盤次序)按最終參考平衡價格順序對盤。開市前時段於2002年3月推行。請按此處獲取更多詳情

持續交易時段

自動配對股份的每個買賣盤的數量不得超過3,000手。自2007年1月29日起,不設每一個經紀代號的未執行買賣盤上限,而每一價格的輪候隊伍的買賣盤數目上限增加至20,000個 。現時自動對盤系統以嚴格的價格及時間優先次序持續進行配對。較早時間輸入系統的買賣盤必須要完全執行,才可處理同等價格但較遲輸入的買賣盤。

買賣盤種類

自動對盤系統可支援下列買賣盤指示

開市前時段

AMS/3系統在開市前時段只接受輸入競價盤及競價限價盤,而輸入AMS/3系統的買賣盤價格不可偏離上日收市價或按盤價(如有,並視情況而定)9倍或以上。 

  • 競價盤

競價盤是沒有指定價格的買賣盤,在輸入AMS/3系統後按最終參考平衡價格進行對盤。競價盤享有較競價限價盤優先的對盤次序及根據時間先後次序按最終參考平衡價格順序對盤。

在開市前時段結束後,任何未完成的競價盤會於持續交易時段開始前自動取消。 

  • 競價限價盤

競價限價盤是有指定價格的買賣盤。指定價格等同最終參考平衡價格或較最終參考平衡價格更具競爭力的競價限價盤(即指定價格等同或高於最終參考平衡價格的買盤,或指定價格等同或低於最終參考平衡價格的賣盤)或可按最終參考平衡價格進行對盤視乎另一方是否有足夠可配對的買賣盤。競價限價盤會根據價格及時間先後次序按最終參考平衡價格順序對盤。競價限價盤不會以差於最終參考平衡價格的價格對盤。

在開市前時段結束後,任何未完成而輸入價不偏離按盤價九倍或以上的競價限價盤,將自動轉至持續交易時段,並一概視為限價盤存於所輸入價格的輪候隊伍中。

持續交易時段

AMS/3系統在持續交易時段內只接受輸入限價盤、增強限價盤及特別限價盤(可選擇附加「全數執行或立刻取消」指示,即買賣盤如不能即時全數完成,便會取消整個買賣盤而不會保留在系統內),而輸入AMS/3系統的買賣盤價格(i)不可偏離按盤價9倍或以上(如有)及(ii)遵守報價規則,獲豁免除外。

  • 限價盤

限價盤只可以指定價格配對,沽盤的輸入價格不可低於最佳買入價(如有),而買盤的輸入價格不可高於最佳沽出價(如有)。

任何未完成的限價盤,將存於所輸入價格的輪候隊伍中。 

  • 增強限價盤

增強限價盤最多可同時與五條輪候隊伍進行配對(即最佳價格隊伍至距離4個價位的第5條輪候隊伍),只要成交的價格不差於輸入價格。沽盤的輸入價格不可低於最佳買入價5個價位(或以外),而買盤的輸入價格不可高於最佳沽出價5個價位(或以外)。         

任何未完成的增強限價盤,將一概視為限價盤,存於所輸入價格的輪候隊伍中。

  • 特別限價盤

特別限價盤最多可同時與五條輪候隊伍進行配對(即最佳價格隊伍至距離4個價位的第5條輪候隊伍),只要成交的價格不差於輸入價格。特別限價盤是沒有輸入價格的限制,只要沽盤的價格是等於或低於最佳買入價,又或者買盤的價格是等於或高於最佳沽出價。

任何未完成的特別限價盤將會被取消而不會保留在AMS/3系統內。

交易種類

自動對盤系統可支援下列交易種類:

  • 自動對盤交易

自動對盤交易是指當交易所參與者輸入買盤及沽盤價相吻合時,由自動對盤系統自動達成買賣的交易。

  • 兩邊客交易

兩邊客交易是指交易所參與者,以當事人或代理人的身份同時作為買方與賣方所進行的交易。

  • 非兩邊客交易

非兩邊客交易是指兩位交易所參與者達成的交易,一方是買方而另一方是賣方。

  • 人手交易

人手交易是指交易所參與者並非經由自動對盤系統所達成的交易。賣方需負責經由自動對盤系統輸入申報有關的交易細節。

  • 碎股交易

碎股交易是指證券數量少於一個買賣單位的交易。

  • 競價對盤交易

競價對盤交易是指在開市前時段的對盤時段經自動買賣盤配對的競價盤交易。一般競價盤的自動買賣盤配對必須按規則第517(1)(a)條進行,期間不得在自動對盤系統輸入、更改或取消任何買賣盤。根據規則第517(1)(a)條所訂的方法在對盤時段達成的所有交易將被視為在對盤時段開始時達成的交易。

  • 開市前交易

開市前交易是指在開市前時段前已達成的交易,其中包括在上個交易日達成而未及輸入自動對盤系統的交易。


有關股份的掛盤及交易資料會通過市場資料傳送線路、交易所網址及其它資訊系統向市場及投資者發放。另設有一套新聞系統以中、英文發佈監察科、交易所訊息以及上市公司消息,用以加強向交易所參與者及公眾人士的資料發佈。

報價規則

每個交易日首個輸入交易系統的買盤或沽盤,是受一套開市報價規則所監管。按此規則,首個掛盤若為買盤,其價格必須高於或相等於上日收市價之下24個價位的價格;而首個掛盤若為沽盤,其價格則必須低於或相等於上日收市價之上24個價位的價格。首個掛盤﹝無論是買盤或賣盤﹞,在任何情況下不得偏離上日收市價九倍或以上。至於非開市買賣盤的報價,則受另一套報價規則和價位表所規限,其中包括買盤或沽盤的價格不得偏離按盤價九倍或以上。然而,報價規則一般並不適用於競價限價盤,但競價限價買盤或競價限價沽盤的價格亦不得偏離按盤價九倍或以上。

價位表詳見於交易所規則附表二。

第三代自動對盤及成交系統

第三代自動對盤及成交系統是包含四個主要組合 ─ (1) 交易終端機、(2) 多工作站系統、(3) 經紀自設系統 及 (4) 買賣盤傳遞系統。

交易所參與者可選擇交易終端機、多工作站系統或經紀自設系統作為交易設施。視乎投資者選用的交易所參與者採用那一種交易設施,他們可透過不同渠道發出買賣盤指示。由交易所開發的買賣盤傳遞系統可讓投資者透過電子渠道 (例如使用參與AMS/3的網絡經營商的流動電話)落盤‧祗有採用多工作站系統或經紀自設系統作為交易設施的交易所參與者才可經該買賣盤傳遞系統接收買賣盤。

有關第三代自動對盤及成交系統詳情,可查閱本網站的交易系統 - AMS/3

 

自动对盘及成交系统
http://www.hkex.com.hk/infra/ams3train/Handout_c.doc

 

--EOF--

香港市场 公開交易種類

| No Comments

http://www.hkex.com.hk/tradinfo/tradtype/tradtype_c.htm

 

 交易資料
證券市場
公開交易種類

更新日期: 2009年7月24日

下列之公開交易種類於交易設施之股份頁上顯示,以供參考:

公開交易種類

內容

D

碎股成交

M

非自動對盤或特別買賣單位的非兩邊客成交

P

開市前成交(指交易在開市前已達成,其中包括在上個交易日收市前達成而未及輸入系統的成交)

U

競價成交

X

非自動對盤或特別買賣單位的兩邊客成交

Y

自動對盤的兩邊客成交

" "

自動對盤的非兩邊客成交

*

成交已遭反駁/取消

--EOF--

现在使用的非正常渠道获取的QuoteTracker有个时区的问题一直没搞定,但我使用QT网站提供的最新版本的时候是没有问题的。

现在的一个希望就是获得了免费的QT的注册版之后希望这个时区的问题能解决,有20天的backfill,当然必须还能使用IB!

 

--EOF--

AMTD的入金计划

| No Comments

11月的时候注册了AMTD的帐号,上周收到AMTD的回复,收到寄过去的资料了,现在就等入金了。

想来想去,之前注册的AMTD帐号一直还可以免费使用直接获取详情,加上使用的QT的版本也很好用,因此入金的想法还是少了不少。

现在CMBHK里面所剩的不足2000$,得从IB先withdraw,再wire到AMTD,手续费就花不少,想来想去,先暂时将CMBHK里面的通过pps直接转款到一通了,后续等GTJA里面的出掉部分700后再考虑入金到AMTD吧,省得多花不少手续费,从AMTD回来可是需要25$的,太贵拉,够我的无限卡使用一年了。

 

 

--EOF--

IB 可以卖空的港股列表

| No Comments

http://www.interactivebrokers.com.hk/en/trading/ViewShortableStocks.php?cntry=hongkong&tag=Hong%20Kong&ib_entity=cn&ln=

 

Last updated:Wed, 10.Feb.10 00:38HKT
Symbol Currency Long Name  
1 HKD Cheung Kong Holdings Ltd Check Availability
101 HKD Hang Lung Properties Ltd Check Availability
1088 HKD China Shenhua Energy Co Ltd Check Availability
11 HKD Hang Seng Bank Ltd Check Availability
1199 HKD COSCO Pacific Ltd Check Availability
12 HKD Henderson Land Development Co Ltd Check Availability
13 HKD Hutchison Whampoa Ltd Check Availability
1398 HKD Industrial & Commercial Bank of China Check Availability
144 HKD China Merchants Holdings International Co Ltd Check Availability
16 HKD Sun Hung Kai Properties Ltd Check Availability
17 HKD New World Development Ltd Check Availability
19 HKD Swire Pacific Ltd Check Availability
2 HKD CLP Holdings Ltd Check Availability
2038 HKD Foxconn International Holdings Ltd Check Availability
23 HKD Bank of East Asia Ltd Check Availability
2318 HKD Ping An Insurance Group Co of China Ltd Check Availability
2388 HKD BOC Hong Kong Holdings Ltd Check Availability
2600 HKD Aluminum Corp of China Ltd Check Availability
2628 HKD China Life Insurance Co Ltd Check Availability
267 HKD Citic Pacific Ltd Check Availability
291 HKD China Resources Enterprise Check Availability
293 HKD Cathay Pacific Airways Ltd Check Availability
3 HKD Hong Kong & China Gas Co Ltd Check Availability
330 HKD Esprit Holdings Ltd Check Availability
3328 HKD Bank of Communications Co Ltd Check Availability
386 HKD China Petroleum & Chemical Corp Check Availability
388 HKD Hong Kong Exchanges and Clearing Ltd Check Availability
3988 HKD Bank of China Ltd Check Availability
4 HKD Wharf Holdings Ltd Check Availability
494 HKD Li & Fung Ltd Check Availability
6 HKD HongKong Electric Holdings Check Availability
66 HKD MTR Corp Check Availability
762 HKD China Unicom Hong Kong Ltd Check Availability
83 HKD Sino Land Co Check Availability
836 HKD China Resources Power Holdings Co Ltd Check Availability
857 HKD PetroChina Co Ltd Check Availability
883 HKD CNOOC Ltd Check Availability
939 HKD China Construction Bank Corp Check Availability
941 HKD China Mobile Ltd Check Availability

--EOF--

可進行賣空的指定證券名單

http://www.hkex.com.hk/tradinfo/secshortsell/stkcdorder_c.htm

 

數目 股份代號 股份簡稱
1 1 長江實業
2 2 中電控股
3 3 香港中華煤氣
4 4 九龍倉集團
5 5 匯豐控股
6 6 香港電燈
7 8 電訊盈科
8 10 恆隆集團
9 11 恆生銀行
10 12 恆基地產
11 13 和記黃埔
12 14 希慎興業
13 16 新鴻基地產
14 17 新世界發展
15 19 太古股份公司A
16 20 會德豐
17 23 東亞銀行
18 24 寶威控股
19 27 銀河娛樂
20 28 天安
21 31 航天控股
22 32 港通控股
23 34 九龍建業
24 35 FE CONSORT INTL
25 38 第一拖拉機股份
26 41 鷹君
27 44 香港飛機工程
28 45 大酒店
29 49 會德豐地產
30 50 香港小輪(集團)
31 53 國浩集團
32 54 合和實業
33 55 中星集團控股
34 56 聯合地產(香港)
35 62 載通
36 64 結好控股
37 66 港鐵公司
38 67 旭光
39 69 香格里拉(亞洲)
40 71 美麗華酒店
41 74 長城科技股份
42 78 REGAL INT'L
43 82 第一視頻
44 83 信和置業
45 86 新鴻基公司
46 88 TAI CHEUNG HOLD
47 92 CHAMPION TECH
48 97 恆基發展
49 101 恆隆地產
50 103 首長寶佳
51 105 凱聯國際酒店
52 107 四川成渝高速公路
53 111 信達國際控股
54 113 迪生創建
55 119 保利香港
56 123 越秀地產
57 127 華人置業
58 133 招商局中國基金
59 135 CNPC(HONG KONG)
60 137 金輝集團
61 142 第一太平
62 144 招商局國際
63 147 超越集團
64 148 KINGBOARD CHEM
65 151 中國旺旺
66 152 深圳國際
67 154 北京發展(香港)
68 155 華基光電
69 159 華南投資
70 163 英皇國際
71 165 中國光大控股
72 166 新時代能源
73 168 青島啤酒股份
74 171 銀建國際
75 173 嘉華國際
76 175 吉利汽車
77 177 江蘇寧滬高速公路
78 178 莎莎國際
79 179 德昌電機控股
80 182 中國風電
81 190 香港建設(控股)
82 193 冠中地產
83 196 宏華集團
84 197 亨泰
85 200 新濠國際發展
86 203 駿威汽車
87 206 TSC海洋集團
88 210 達芙妮國際
89 215 和記電訊香港
90 217 中國誠通發展集團
91 218 申銀萬國
92 220 統一企業中國
93 222 閩信集團
94 226 力寶
95 227 第一上海
96 230 五礦建設
97 232 中國航空工業國際
98 233 銘源醫療
99 242 信德集團
100 246 瑞金礦業
101 247 TST PROPERTIES
102 256 中國海澱
103 257 中國光大國際
104 258 湯臣集團
105 261 中建科技國際
106 267 中信泰富
107 268 金蝶國際
108 269 中國木業
109 270 粵海投資
110 272 瑞安房地產
111 282 壹傳媒
112 283 高銀地產
113 285 比亞迪電子
114 289 WING ON CO
115 291 華潤創業
116 293 國泰航空
117 296 英皇娛樂酒店
118 297 中化化肥
119 299 中訊軟件
120 302 永亨銀行
121 303 VTECH HOLDINGS 
122 308 香港中旅
123 313 裕田中國
124 316 東方海外國際
125 317 廣州廣船國際股份
126 321 德永佳集團
127 322 康師傅控股
128 323 馬鞍山鋼鐵股份
129 330 思捷環球
130 331 春天百貨
131 336 華寶國際
132 337 盛高置地
133 338 上海石油化工股份
134 340 中國礦業
135 341 大家樂集團
136 345 VITASOY INT'L
137 346 中聯能源
138 347 鞍鋼股份
139 349 工銀亞洲
140 351 亞洲能源物流
141 355 世紀城市國際
142 358 江西銅業股份
143 362 中國天化工
144 363 上海實業控股
145 368 中外運航運
146 369 USI (U SUCCESS)
147 373 聯合集團
148 381 僑雄能源
149 384 中國燃氣
150 386 中國石油化工股份
151 388 香港交易所
152 389 通天酒業
153 390 中國中鐵
154 392 北京控股
155 399 聯合基因集團
156 405 越秀房產信託基金 
157 408 葉氏化工集團
158 410 SOHO中國
159 419 華億傳媒
160 425 敏實集團
161 435 陽光房地產基金
162 440 大新金融
163 467 聯合能源集團
164 480 香港興業國際
165 488 麗新發展
166 489 東風集團股份 
167 493 國美電器
168 494 利豐
169 497 資本策略地產
170 498 保華集團
171 506 中國食品
172 511 電視廣播
173 517 中遠國際控股
174 522 ASM PACIFIC
175 525 廣深鐵路股份
176 538 味千(中國)
177 539 冠華國際控股
178 546 阜豐集團
179 548 深圳高速公路股份
180 551 裕元集團
181 552 中國通信服務
182 555 御泰中彩控股
183 569 中國自動化
184 573 稻香控股
185 576 浙江滬杭甬
186 581 中國東方集團
187 588 北京北辰實業股份
188 589 寶姿
189 596 浪潮國際
190 598 中國外運
191 604 深圳控股
192 606 中國糧油控股
193 623 中視金橋
194 626 大眾金融控股
195 633 中國全通
196 636 富邦銀行(香港)
197 639 福山能源
198 656 復星國際 
199 658 中國高速傳動
200 659 新創建集團
201 661 中國大冶有色金屬
202 662 亞洲金融
203 669 創科實業
204 670 中國東方航空股份
205 672 眾安房產
206 682 超大現代
207 683 嘉里建設
208 688 中國海外發展
209 689 長盈集團(控股)
210 691 山水水泥
211 694 北京首都機場股份
212 696 中國民航信息網絡
213 697 SHOUGANG INT'L
214 700 騰訊控股
215 704 和嘉資源
216 709 佐丹奴國際
217 712 卡姆丹克太陽能
218 723 晉盈控股
219 724 泰豐國際
220 728 中國電信
221 732 信利國際
222 735 中國電力新能源
223 737 合和公路基建
224 739 浙江玻璃
225 743 亞洲水泥(中國)
226 750 興業太陽能
227 751 創維數碼
228 753 中國國航
229 754 合生創展集團
230 755 上海証大
231 757 陽光能源
232 762 中國聯通
233 763 中興通訊
234 769 中國稀土
235 773 中國金屬再生資源
236 789 雅天妮
237 800 A8電媒音樂
238 801 金衛醫療
239 803 昌興國際
240 808 泓富產業信託
241 809 大成生化科技
242 811 新華文軒
243 813 世茂房地產
244 814 北京京客隆
245 817 方興地產
246 818 高陽科技
247 819 天能動力
248 820 匯豐中國翔龍基金 
249 823 領匯房產基金
250 825 新世界百貨中國
251 832 建業地產
252 836 華潤電力
253 837 譚木匠
254 848 茂業國際
255 850 中亞能源
256 857 中國石油股份
257 858 精優藥業
258 866 中國秦發
259 868 信義玻璃
260 874 廣州藥業股份
261 882 天津發展
262 883 中國海洋石油
263 886 銀基集團
264 893 中國鐵鈦
265 902 華能國際電力股份
266 903 冠捷科技
267 904 中國綠色食品
268 906 中糧包裝
269 910 中國林大
270 914 安徽海螺水泥股份
271 916 龍源電力
272 917 新世界中國
273 931 宏通集團
274 939 建設銀行
275 941 中國移動
276 966 中國太平
277 968 小肥羊
278 980 聯華超市
279 981 中芯國際
280 983 瑞安建業
281 990 榮暉國際
282 991 大唐發電
283 992 聯想集團
284 995 安徽皖通高速公路
285 996 東方銀座
286 998 中信銀行
287 999 I.T
288 1006 中國玉米油
289 1031 黃金集團
290 1033 儀征化纖股份
291 1038 長江基建集團
292 1043 光宇國際集團科技
293 1044 恆安國際
294 1052 越秀交通
295 1053 重慶鋼鐵股份
296 1055 中國南方航空股份
297 1068 雨潤食品
298 1071 華電國際電力股份
299 1072 東方電氣
300 1083 港華燃氣
301 1088 中國神華
302 1093 CHINA PHARMA
303 1094 中國公共採購
304 1098 ROAD KING INFRA
305 1099 國藥控股
306 1104 亞太資源
307 1109 華潤置地
308 1111 創興銀行
309 1114 BRILLIANCE CHI
310 1122 慶鈴汽車股份
311 1128 永利澳門
312 1133 哈爾濱動力股份
313 1138 中海發展股份
314 1155 星辰通信
315 1168 百仕達控股
316 1169 海爾電器
317 1171 兗州煤業股份
318 1174 太平洋恩利
319 1176 南方國際
320 1177 中國生物製藥
321 1182 中青基業
322 1185 中國航天萬源
323 1186 中國鐵建                
324 1192 泰山石化
325 1199 中遠太平洋
326 1200 美聯集團
327 1205 中信資源 
328 1207 上置集團
329 1208 五礦資源
330 1211 比亞迪股份
331 1212 利福國際
332 1224 中渝置地
333 1234 中國利郎
334 1313 華潤水泥控股
335 1318 格菱控股
336 1333 中國忠旺
337 1338 霸王集團
338 1361 361度
339 1368 特步國際
340 1382 互太紡織
341 1387 人和商業
342 1393 恒鼎實業
343 1398 工商銀行 
344 1618 中國中冶
345 1668 華南城
346 1688 阿里巴巴
347 1717 澳優
348 1766 中國南車
349 1777 花樣年控股
350 1800 中國交通建設
351 1812 晨鳴紙業
352 1813 合景泰富
353 1818 招金礦業
354 1828 大昌行集團
355 1832 時代零售
356 1833 銀泰百貨
357 1836 九興控股
358 1838 CHINAPROPERTIES
359 1880 百麗國際
360 1881 富豪產業信託 
361 1882 海天國際
362 1883 中信1616集團
363 1886 匯源果汁
364 1888 建滔積層板
365 1889 武夷藥業
366 1893 中材股份
367 1898 中煤能源
368 1899 興達國際
369 1919 中國遠洋
370 1928 金沙中國有限公司
371 1968 匹克體育
372 1988 民生銀行
373 2000 晨訊科技
374 2005 利君國際
375 2006 錦江酒店
376 2007 碧桂園
377 2008 鳳凰衛視
378 2018 瑞聲聲學
379 2020 安踏體育
380 2038 富士康國際
381 2088 西王糖業
382 2168 盈德氣體
383 2288 承達國際
384 2313 申洲國際
385 2314 理文造紙
386 2318 中國平安
387 2319 蒙牛乳業
388 2328 中國財險
389 2331 李寧
390 2332 和記電訊國際
391 2333 長城汽車
392 2337 上海復地
393 2338 濰柴動力
394 2342 京信通信
395 2343 太平洋航運
396 2345 上海集優
397 2349 水務地產集團
398 2355 寶業集團
399 2356 大新銀行集團
400 2357 中航科工
401 2368 鷹美
402 2380 中國電力
403 2388 中銀香港
404 2600 中國鋁業
405 2626 湖南有色金屬公司
406 2628 中國人壽
407 2688 新奧燃氣
408 2689 玖龍紙業
409 2698 魏橋紡織
410 2722 重慶機電
411 2727 上海電氣
412 2777 富力地產 
413 2778 冠君產業信託
414 2800 盈富基金*
415 2801 安碩中國ETF*
416 2802 安碩亞洲新興*
417 2803 領先RAFI美國*
418 2806 領先RAFI歐洲*
419 2809 領先商品ETF*
420 2810 領先印度ETF*
421 2812 領先環球ETF*
422 2813 領先韓國ETF*
423 2814 領先日本ETF*
424 2815 領先亞太區ETF*
425 2819 ABF港債指數*  
426 2820 領先新興市場*
427 2821 沛富基金*
428 2823 安碩A50中國*
429 2825 標智香港100*
430 2826 領先納指ETF*
431 2827 標智滬深300*
432 2828 恒生H股ETF*         
433 2829 安碩A股金融*
434 2831 領先俄羅斯ETF*
435 2833 恒生指數ETF*         
436 2836 安碩印度ETF*
437 2837 領先台灣ETF*
438 2838 恒生新華富時25*
439 2840 SPDR金ETF*
440 2846 安碩滬深300*
441 2848 DBX韓國ETF*
442 2866 中海集運
443 2868 首創置業
444 2877 神威藥業
445 2878 SOLOMON SYSTECH
446 2880 大連港
447 2882 香港資源控股
448 2883 中海油田服務
449 2888 渣打集團
450 2899 紫金礦業
451 3002 寶來台灣卓越50*
452 3004 安碩亞洲小型股*
453 3006 安碩A股基建*
454 3007 DBX富時25* 
455 3010 安碩亞洲50*
456 3011 DBX美貨幣市場*
457 3015 DBX標普印度*
458 3020 DBX美國ETF*
459 3024 標智上證50*
460 3032 安碩亞洲中型股*
461 3036 DBX台灣ETF*
462 3039 安碩A股原材料*
463 3046 價值中國ETF*
464 3050 安碩A股能源*
465 3051 中金深證100*
466 3087 DBX富時越南*
467 3308 金鷹商貿集團
468 3311 中國建築國際
469 3323 中國建材
470 3328 交通銀行
471 3331 維達國際
472 3333 恒大地產
473 3336 巨騰國際
474 3337 安東油田服務
475 3339 中國龍工
476 3366 華僑城(亞洲)
477 3368 百盛集團
478 3377 遠洋地產
479 3378 廈門港務
480 3382 天津港發展
481 3383 雅居樂地產
482 3389 亨得利
483 3393 威勝集團
484 3808 中國重汽
485 3813 寶勝國際
486 3818 中國動向
487 3833 新疆新鑫礦業
488 3838 中國澱粉
489 3883 中國奧園
490 3888 金山軟件
491 3898 南車時代電氣
492 3899 中集安瑞科
493 3933 聯邦制藥
494 3968 招商銀行
495 3983 中海石油化學
496 3988 中國銀行
497 3993 洛陽鉬業
498 3998 波司登
499 4331 戴爾-T
500 4332 AMGEN-T
501 4333 思科-T
502 4335 英特爾-T
503 4336 應用材料-T
504 4337 星巴克-T
505 4338 微軟-T
506 4362 IS南韓基金TR*
507 4363 IS台灣基金TR*
508 8035 濱海投資
509 8136 田生集團
510 8156 眾彩股份
511 8199 威高股份
512 8203 凱順能源
  

*  豁免賣空價規例股份

附註:不包括已除牌證券

--EOF--

下面的活动参加了充值50送10的,活动结束后还应该送5元话费;

139.com的活动在1月我有登录2次,2月也已经有登录2次,那我应该有2个5元赠送话费的;

参加了充值100送30的活动,已经成功登记:


号码: 10086
内容:
尊敬的客户:您已成功登记参与"充100元送30元"优惠活动,我司完成数据核对后将为您赠送30元话费,获赠的话费从次月起分3个月平均返回,感谢您的参与。彩铃客户还可获赠9元彩铃包优惠,活动详情请回复208,中国移动
时间: 2010-02-06 01:32:57

 

http://www.gd.chinamobile.com/10086/help/payment/01,13276.shtml

10、神州行成功充值后,是否会增加相应的有效期?
答:会的。
  成功充值10元,会增加15天的有效期
  成功充值30元,会增加90天的有效期;
  成功充值50元,会增加90天的有效期;
  成功充值100元,会增加180天的有效期;
  成功充值300元,会增加360天的有效期;
  成功充值500元,会增加360天的有效期。
  神州行充值金额上限是5000元,话费最长有效期是2年,即有效期达到2年时,如继续充值将不再延长话费有效期
 

在充值页面的优惠提示:

2008年3月1日至2010年12月31日,通过本网站充值以下金额将可获得话费赠送: 充值50元送1元、充值100元送3元、充值300元送10元。如需办理各类预存、充值营销案,请登陆"优惠活动办理"。

另外:

31日前全品牌客户一次性充50元送10元,获赠话费立即到帐,不限参与次数。2月28日前动感、神州行客户在本界面一次性充100元,并发送CZ到10086登记可获赠30元,获赠话费从次月起分3个月返回,每月返回10元,每客户限参加一次。如办理动感、神州行充300送150积分,请登陆"优惠活动办理"。

这2个是可以叠加的!

 

http://www.gd.chinamobile.com/shanwei/discount/brand/01,19669.shtml
e100网上充值,送话费越充越值
2010年02月02日 09:22
一、活动时间:
     2010年2月3日-3月31日
 二、适用人群:
     汕尾移动全品牌客户
 三、活动内容:
     活动期间通过网上服务厅进行充值,一次性充50元送10元,赠送话费立即到帐并进入赠送账户,不限参与次数(仅限状态为正使用的客户参与,欠费或停机的号码须先缴清欠费,才可参与此优惠)。
     凡成功参与充值优惠的客户,在活动期间登陆网上服务厅查询或办理任何业务即可额外再获赠5元话费(每号码仅限一次),于活动结束后十五天内到帐。


http://www.gd.chinamobile.com/shanwei/discount/brand/01,19533.shtml
五虎呈祥闹新春,百万话费大抽奖 2010年01月21日 15:11
一、活动时间:
     2010年1月20日-2月28日
二、适用人群:
     活动期间新入网客户、139说客活跃客户
三、活动内容:
 1、新入网,百万话费大抽奖
     活动期间,新入网客户发送短信"CJ"到1008600988参加活动,系统将按客户上行信息的顺序进行编号,并自动下发序列号,序列号为30倍数的客户可获得100元话费大奖,序列号为300倍数的客户可获得1000元话费大奖。每位客户仅可参与一次活动,话费奖励以高的额度为准,客户获赠的话费将在2010年3月份起分十个月等额返还。
 2、登139说客,百万话费大抽奖
     活动期间,汕尾地区所有移动客户通过电脑或手机登陆网站www.139.com,注册成为139说客客户(已注册客户可直接登陆使用),并在当月登陆使用两次以上,成为139说客活跃客户,即可于次月获赠5元话费。且活动设置幸运大抽奖,活动期间139说客活跃客户均可获得一次幸运抽奖机会。抽奖将在活动结束后在公证处的监督下统一进行,中奖客户获赠的话费将在2010年3月份起分十个月等额返还。
     活动奖项(全市奖项):设置1000元话费大奖100名,100元话费大奖1000名。

 

--EOF--

TD AMERITRADE 的邮件~ 等了2个月

| No Comments

11月20多号寄出平邮信件,里面有相关资料信息,现在多过去2个半月了没有任何回音,本来都不抱希望,认为信件肯定给寄丢了。

今天居然收到TD Ameritrade的Mail,看来信件他们是收到了~ 我还准备找邮政代办的人仔细问问呢,他告诉我三周就可以寄到美国的:(

下一步,难道要从IB转款过去么?

要是在一个多月前,我还真的有这个兴趣呢,最近太慢,倒是对这个没兴趣了。

 

Your account ending in 7079   Log on   

--------------------------------------------------------------------------------
 
We just received the changes you requested to your account. Please take a moment to make sure the changes are correct.
 
 

--EOF--

中国特色的电子公告服务

| No Comments

除了水木,最近几年上的最多的WEB论坛也就是专门网了。

其它的如摄影无忌爱卡等等都是泡过一阵之后荒废了,没能坚持下去,只有水木和51nb是一直有上的。

最初的买T23也是在上面找的信息,后来直接找HOPE给T23买无线网卡,还有后来从某版购入的几乎全新的PIII 1.3CPU,再到后来的R50p和2根黑金刚内存条,再到后来购入的T43p,全新的2877底座,今年有开始玩的无限卡,3g网卡等等。从这里学到了很多东西,在繁忙的工作中也给自己一个消遣解压的机会。

希望51nb早点恢复~~

 

尊敬的各位专门网网友,

专门网自2001年11月28日开通以来,努力维护和促进笔记本电脑技术交流,得到了广大网友的大力支持。专门网一直严格遵守国家法规,根据国务院令第 292号《互联网信息服务管理办法》于2005年申请通过了广东省通信管理局颁发的"增值电信业务经营许可证"(粤B2-20050246),日前正根据该法第9条和信息产业部3号令《互联网电子公告服务管理规定》申请办理"电子公告服务"专项备案。在此期间,专门网论坛将临时关闭,请大家访问专门网主站www.51nb.com和专门网商城 www.thinkpad.com.cn,不便之处,请谅解。

感谢大家的理解和支持。

专门网
2010年2月

--EOF--

堂堂移动的每晚例行维护公告

| No Comments

原文:

尊敬的客户,因系统数据处理,网站充值缴费功能每日22:30-次日00:30暂停,请您凌晨00:30后再使用,造成不便,敬请谅解!

 

真的不可理解。

--EOF--

http://dev.kcn.cn/

0. 序
  0.0 声明
  0.1 本文说明
1. 版面及文章
  1.1 文章的存储
  1.2 版面文章索引,fileheader 结构
  1.3 id, groupid, reid 三个字段
  1.4 附件结构
  1.5 .BOARDS 文件,boardheader 结构
2. 用户
  2.1 什么样的 ID 在 kbs 系统中是合法的
  2.2 用户相关的文件系统结构
  2.3 userec 结构
  2.4 userdata 结构
  2.5 密码
  2.6 用户 home 目录下面其它一些文件的说明
    2.6.1 .boardrc.gz 已读记录
    2.6.2 favboard 收藏版面
    2.6.3 friends 好友列表
    2.6.4 plans 个人说明档
    2.6.5 signatures 签名档
3. 用户站内信件
  3.1 信件目录及数据结构
  3.2 自定义信箱
  3.3 信箱属性
4. 共享内存结构
  4.1 publicshm 共享内存结构 public_data
  4.2 uidshm 用户信息共享内存结构 UCACHE
    4.2.1 UCACHE 内 hash 表结构
  4.3 utmpshm 登录状态信息 UTMPFILE
  4.4 utmphead 登录表共享内存结构 UTMPHEAD
  4.5 wwwguest_shm:wwwguest 在线用户表结构 WWW_GUEST_TABLE
  4.6 bcache,brdshm:版面状态共享内存结构 BCACHE
5. 代码结构


$Id: kbsIntro.txt 10425 2008-10-24 15:45:35Z fancy $

发信人: atppp
标  题: [kbsIntro] kbs 系统入门
发信站: http://dev.kcn.cn/

0. 序  [ 回目录 ]

0.0 声明  [ 回目录 ]

尽管 kbs 系统基础数据结构一般很少变化,但是本文档只针对 kbs SVN 主分支目前的代码,不保证对其它时间或其它分支代码的正确性,也不对可能造成的任何后果负责。本文可以在网络上自由转载,但请保留全文的完整性。

0.1 本文说明  [ 回目录 ]

文中有一些对数据结构的说明。大多数结构定义在 src/struct.h 中,char[] 的字段若非特别说明都是以 '\0' 结束的字符串。对本文或相关问题的疑问,欢迎到水木社区 (newsmth.net) BBSMan_Dev 版讨论。

 

1. 版面及文章  [ 回目录 ]

1.1 文章的存储  [ 回目录 ]

每个版面都是一个目录。比如 SYSOP 版的目录是 $BBSHOME/boards/SYSOP/。在这个目录下面有这个版面的文章及索引,每一篇文章都是一个文件,文件名大致是这样子:

M.1085385291.w0
             ^^ 用于区分同一个时间点的多个帖子
  ^^^^^^^^^^ 10 位数的 timestamp,帖子发表时间
^ M 是文件名前缀,不同性质的文件,前缀就不一样

下面是各版面索引文件和相应文件名的前缀:(通常情况下)
版面文章   .DIR        M
置顶文章   .DINGDIR    Z (硬连接到相应 M 前缀文件)
文摘区     .DIGEST     G (硬连接到相应 M 前缀文件)
回收站     .DELETED    D
废纸篓     .JUNK       J

同主题模式依赖于版面目录下面的一个 .ORIGIN 文件。这个文件就是 .DIR 文件里面所有原作(id==groupid,参考 1.3 节)的 fileheaders。

另外,在 $BBSHOME/vote/ 下面每个版面也会有一个目录,主要用于储存投票等数据,按照 KCN 的精神,今后最好不要再在 vote 目录下储存版面信息。


1.2 版面文章索引,fileheader 结构  [ 回目录 ]

每个索引文件就是多个 fileheader 结构。这个 fileheader 定义在 src/default.h 或者 src/site.h 里面,具体解释如下:

typedef struct fileheader {
    char filename[FILENAME_LEN];
        帖子的文件名,比方 1.1 节那个例子,这个字段就是 M.1085385291.w0。
        kbs 也可以采用版面目录下 52 个子目录分散储存帖子的方法(参考
        feeling.h 内 GET_POSTFILENAME 宏定义),这种情况下,本字段的形式
        就是 A/M.1085385291.w0。
    unsigned int id, groupid, reid;
        这三个 id 字段非常重要,下面一节具体说明。
    int o_bid;
    unsigned int o_id;
    unsigned int o_groupid;
    unsigned int o_reid;
        以上四个字段用于需审核的文章和推荐文章,o_bid 是原文的版面 bid。
        后面三个是原文在原版面 .DIR 中相应的三个 id 字段值。
    char innflag[2];
        帖子是否转信。"LL" 表示本地发表,"SS" 表示转信,"\0M" 表示外面
        转进来的文章。
    char owner[OWNER_LEN];
        发文作者。
    unsigned int eff_size;
        帖子的有效字节数。
    time_t posttime;
        帖子发表时间的 timestamp。在使用 52 个子目录分散储存帖子的情况下该
        字段尤其重要。
    long attachment;
        附件位置偏移量,参考下面的附件格式。
    char title[ARTICLE_TITLE_LEN];
        帖子的标题。注意超长标题需要截短。
    unsigned short replycount;
        主题帖的回复数,在 .DIR 和 .ORIGIN 中同步更新,对于其他模式和非主题
        贴,该字段无用。
    char unused[114];
        没有用到,为了将来需要升级该结构体时省却转换索引的麻烦,所以留点地方。
    unsigned char accessed[4];
        一些帖子的属性,前两个元素是 bitwise-OR 的属性,包括:
        accessed[0]: FILE_SIGN     (0x01) 版主设置的 # 标记
                     FILE_TOTAL    (0x02) 已被制作合集
                     FILE_PERCENT  (0x04) 版主设置的 % 标记
                     FILE_MARKED   (0x08) 被 m 的帖子
                     FILE_DIGEST   (0x10) 文摘区贴子(被 g 的帖子)
                     FILE_IMPORTED (0x80) 已被收录精华
        accessed[1]: FILE_READ     (0x01) 不可 re
                     FILE_DEL      (0x02) 版主标记删除 X
                     FILE_MAILBACK (0x04) 回帖抄送信箱
                     FILE_COMMEND  (0x08) 已被推荐文章
                     FILE_CENSOR   (0x20) FILTER 版面需审核文章
                     FILE_TEX      (0x80) tex 方式发表帖子
        accessed[3]: 回收站的 .DIR 中这个字段为:
                     删除时间 timestamp / (3600 * 24) % 100
                     主要用于定时删除老的删帖。
} fileheader;


1.3 id, groupid, reid 三个字段  [ 回目录 ]

这三个字段是帖子的索引 ID 和同主题信息。.DIR 里面 fileheader 结构的 id 字段依次递增。注意一定是递增,否则 web 下浏览会不正常!另外两个字段的作用举例如下:

有人新发表了帖子 A,这个帖子系统自动给了 id = 10
然后有人回复帖子 A,我们叫它帖子 B;
再有人回复了帖子 B,我们叫它帖子 C;
最后有人回复帖子 A,称为帖子 D。这四个帖子的三个字段会是这样:

帖子    id      groupid     reid
================================
 A      10      10          10
 B      11      10          10
 C      12      10          11
 D      13      10          10

其中,groupid 就是用来判断帖子同主题的,注意,帖子同主题和帖子标题无关。reid 用来产生回复树结构。


1.4 附件结构  [ 回目录 ]

附件的内容就添加在它所属帖子的那个文件的末尾。有附件的帖子文件其组成是:帖子正文(最后是一个回车符),附件一,附件二,...其中每个附件段是由四个部分组成的:
*) 第一部分:八个 '\0' 字节。
*) 第二部分:附件的原始文件名字符串,可以含有中文字符,长度不应该超过 40 个字
   符。文件名的后缀将决定附件类型。本部分长度不定,所以千万不要忘记最后的 '\0'
   字符串结束符。
*) 第三部分:四个字节,unsigned int 二进制格式整数,表示本附件的长度;
   注意这个整数是网络字节序(big-endian)存储,也即 MSB 在先。
*) 第四部分:二进制格式储存的这个附件,本部分长度由第三部分决定。
另外,这个帖子在 .DIR 里面相应的那个 fileheader 结构的 attachment 字段应该设置为第一个附件段的起始偏移量(ftell)。参考:
libBBS/article.c upload_post_append() 和 get_mimetype() 函数


1.5 .BOARDS 文件,boardheader 结构  [ 回目录 ]

$BBSHOME/.BOARDS 文件是所有版面的信息,实际上是 MAXBOARD 个 boardheader 结构。在 kbs 系统内部每个版面都有一个版面号 bid,这个 bid 就是该版面在 .BOARDS 里面的位置,注意版面号是 1-based 的。

struct boardheader {
    char filename[STRLEN];
            版面的英文名称,STRLEN 是 80
    char BM[BM_LEN];
            版主列表,BM_LEN 是 60。多个版主用空格隔开
    char title[STRLEN];
            版面的说明,格式是 a[bbbb]ccccccdddd...
                a: 讨论区分区
                bbbb: 讨论区分类
                cccccc: 转信标签,一般设置为六个空格
                dddd....: 讨论区说明,也即通常所说的版面中文名称
            比方:
                0[站务]      测试用版
    unsigned level;
            版面存取权限。
    unsigned int idseq;
            当前已经使用到的 id 值,参考 boardstatus 结构 nowid 字段。
    unsigned int clubnum;
            俱乐部序号。0 表示这个版面不是俱乐部。
    unsigned int flag;
            版面的一些属性比方是否参与转信。
    union {
    unsigned int adv_club;
    unsigned int group_total;
    } board_data;
    time_t createtime;
            版面创建时间,"新开启的讨论区"会用到。
    int unused;
    char ann_path[128];
            精华区路径。实际精华区绝对路径是:
            $BBSHOME/0Announce/groups/<ann_path>
    int group;
            所属目录。
    char title_level;
            设定用户需要什么身份可见这个版面。0 表示没有限制。
    char des[195];
            版面描述,用于 www 的版面说明和版面超级搜索。
#ifdef FLOWBANNER
    int bannercount;
    char banners[MAXBANNER][BANNERSIZE];
#endif
};

 

2. 用户  [ 回目录 ]

2.1 什么样的 ID 在 kbs 系统中是合法的  [ 回目录 ]

kbs 系统合法 ID 的规则是:至少 2 个字符,至多 12 个字符。第一个字符必须是字母,后面的字符必须是字母或者数字。


2.2 用户相关的文件系统结构  [ 回目录 ]

$BBSHOME/.PASSWDS 是用户帐号基本信息,实质上是 MAXUSERS 个 userec 结构,结构说明后面详细写。另外,每个用户还有一个 home 目录和一个信件目录,比方 atppp 用户这两个目录分别是 $BBSHOME/home/A/atppp/ 和 $BBSHOME/mail/A/atppp/。用户 home 目录下有一些杂七杂八的文件,其中有一个文件叫做 .userdata,这个是用户帐号的补充信息,实际上就是一个 userdata 结构,结构说明后面详细写。信件目录到后面一大章节再说。


2.3 userec 结构  [ 回目录 ]

struct userec {
    char userid[IDLEN + 2];
        用户名。IDLEN 是 12,不要轻易修改。
    char flags;
        一些标志,戒网,版面排序之类的。转换用户建议设置成 0x81,也就是
            PAGER_FLAG | CURSOR_FLAG
        参考源代码 contrib/fb2k2smth/README 相关说明。
            #define PAGER_FLAG   0x1        /* true if pager was OFF last session */
            #define CLOAK_FLAG   0x2        /* true if cloak was ON last session */
            #define BRDSORT_FLAG 0x20       /* true if the boards sorted alphabetical */
            #define CURSOR_FLAG  0x80       /* true if the cursor mode open */
            #define GIVEUP_FLAG  0x4        /* true if the user is giving up  by bad 2002.7.6 */
            #define PCORP_FLAG   0x40       /* true if have personalcorp */
    unsigned char title;
        用户身份
    time_t firstlogin;
        注册时间或者第一次登录的时间戳。
    char lasthost[16];
        最后登录的 IP。
    unsigned int numlogins;
        登录次数。
    unsigned int numposts;
        发帖数。
#ifdef CONV_PASS
    char passwd[OLDPASSLEN];
    char unused_padding[2];
#endif
    char username[NAMELEN];
        用户昵称。
    unsigned int club_read_rights[MAXCLUB>>5];
    unsigned int club_write_rights[MAXCLUB>>5];
        这两个是俱乐部读写权限。如果该用户的
            club_read_rights[(clubnum-1)>>5]&(1<<((clubnum-1)&0x1f))
        为真,则这个用户可以读取俱乐部号为 clubnum 的版面。参考函数
            check_read_perm() haspostperm()
        注:这里的数据结构决定了 MAXCLUB 必须定义为 32 的倍数。
    unsigned char md5passwd[MD5PASSLEN];
        md5 消化过的密码。密码问题后面会一并详细说明。
        此字符串定长 16,最后不以 '\0' 结束!
    unsigned userlevel;
        用户权限。
    time_t lastlogin;
        上次登录的时间戳。
    time_t stay;
        总上线时间。单位是秒。
    int signature;
        当前使用的签名档号码。
    unsigned int userdefine[2];
        用户自定义参数。新注册用户是 0xffffffff,但是 wForum 的标准应该是默认
        关闭公布详细信息,userdefine[0] 的实际初始值是
            0xFFFFFFFF & (~DEF_SHOWREALUSERDATA)
        也就是 0xBFFFFFFF。
    time_t notedate;
    int noteline;
        上面两个都和查看留言板相关。
    int unused_atppp;
    time_t exittime;
        上次退出登录的时间戳。
    unsigned int usedspace;
        用户信件使用的磁盘空间。
    int unused[7];
};

2.4 userdata 结构  [ 回目录 ]

userdata 是用户 home 目录下 .userdata 文件的结构。另外用户 home 目录下还有一个文件是 usermemo(用来 mmap 的),这个文件的内容要和 .userdata 严格一致,如果 usermemo 文件不存在系统会自动从 .userdata 建立,所以如果 usermemo 存在且和 .userdata 不一致的话系统就会出错。

userdata 结构:

struct userdata
{
    char userid[IDLEN + 2];
        用户名。
    char __reserved[2];
    char realemail[STRLEN - 16];
        真实 email。
    char realname[NAMELEN];
        真实姓名。
    char address[STRLEN];
        通讯地址。
    char email[STRLEN];
        email。
#ifdef HAVE_BIRTHDAY
    char            gender;
        性别,写 'M' 或者 'F'。如果不是这两个字符可能出错。
    unsigned char   birthyear;
        出生年的后两位。
    unsigned char   birthmonth;
        出生月。
    unsigned char   birthday;
        出生日。上面三个字段注意类型是 unsigned char。
#endif
    char reg_email[STRLEN];
        注册使用的 email。
/*#ifdef SMS_SUPPORT*/
    bool mobileregistered;
    char mobilenumber[MOBILE_NUMBER_LEN];
/*#endif*/
/* add by roy 2003.07.23 for wForum */
    char OICQ[STRLEN];
    char ICQ[STRLEN];
    char MSN[STRLEN];
    char homepage[STRLEN];
    int userface_img;
        设置成 0。如果有自定义头像,设置成 -1。
    char userface_url[STRLEN];
        这个是自定义头像的完整 URL 地址。
    unsigned char userface_width;
    unsigned char userface_height;
        上面两个字段是自定义头像的长和宽。必须是 0~120 之间的整数。
    unsigned int group;
    char country[STRLEN];
    char province[STRLEN];
    char city[STRLEN];
    unsigned char shengxiao;
    unsigned char bloodtype;
    unsigned char religion;
    unsigned char profession;
    unsigned char married;
    unsigned char education;
    char graduateschool[STRLEN];
    unsigned char character;
    char photo_url[STRLEN];
        个人相片的完整 URL 地址。
    char telephone[STRLEN];
    char smsprefix[41];
    char smsend[41];
    unsigned int smsdef;
        上面这堆 "add by roy" 的东西目前只在 wForum 里面用到。
    int signum;
        签名档个数。
    int this_field_is_reserved_by_atppp;
    time_t lastinvite;
};

2.5 密码  [ 回目录 ]

kbs 的用户密码使用 md5 加密储存于 userec 结构的 md5passwd 字段内,但是 kbs 系统并不是对用户密码直接 md5 加密处理,md5passwd 字段是下面这四个字符串顺序连接起来的字符串的 md5:
    passmagic 密码 passmagic 用户名
其中 passmagic 是(不包括前后两个引号):
    "wwj&kcn4SMTHBBS MD5 p9w2d gen2rat8, //grin~~, 2001/5/7"
相关代码请看 libBBS/pass.c igenpass() 函数。注意 md5passwd 字段的类型是 unsigned char md5passwd[16],也就是所谓的 raw-binary format,而不是有些 md5 程序返回的 32 个字符的字符串。注:由于这个 md5passwd 消化了用户名,所以用户名更改大小写之后必须重新给该用户设置密码。


2.6 用户 home 目录下面其它一些文件的说明  [ 回目录 ]

2.6.1 .boardrc.gz 已读记录  [ 回目录 ]

用户 home 目录下面的 .boardrc.gz 存储用户的已读记录,它是一个使用 gzip 压缩的文件,解压后的长度是
    BRC_FILESIZE = MAXBOARD * BRC_MAXNUM * sizeof(unsigned int)。
BRC_MAXNUM 默认是 50,这个文件分为 MAXBOARD 段,第 i 段就是 bid = i 的那个版面的已读记录;每个版面的已读记录就是 BRC_MAXNUM 个非负整数:
    n1 n2 n3 ... np 0 ... 0
其中 n1 > n2 > n3 > ... > np > 0。这组已读记录的意义是,该版面 id > n1 的文章都是未读的,id < np 的文章都是已读的;而 np <= id <= n1 的文章中,只有
    id = n1,n2,n3,...,np
的文章才是已读的,其余全部未读。已读记录用这个方法来存储是有利有弊的,最大的好处就是比较有效的记录了用户最需要的那部分已读记录,

2.6.2 favboard 收藏版面  [ 回目录 ]

用户自定义了收藏版面之后会在用户 home 目录下创建文件 favboard。该文件的格式可以参考 libBBS/boards.c load_myboard1() save_favboard1() 函数。favboard 文件有多种允许的格式,而且 kbs 支持复杂的多目录层次收藏夹结构。下面只说明其中一种格式。favboard 文件可以是这样一个数据结构:

struct {
    int magic_version_number;
        写 0x8081
    int favbrd_list_t;
        收藏目录个数,写 1
    struct favbrd_struct fav_boards;
        具体的收藏版面
};

favbrd_struct 具体的数据结构如下:

struct favbrd_struct {
    int bnum;
        本目录中收藏版面的个数,决定下一个数组字段中多少个元素是有效的
    int bid[MAXBOARDPERDIR];
    /* bid >= 0: 版面
       bid < 0: 目录, 表示子目录是 favbrd_list[-bid]
       */
       在不涉及多层目录结构的情况下,bid[i] 表示本目录下第 i 个收藏版面,
       这里千万注意,bid[i] 是相应版面的 bid - 1,而不是 bid!也就是说,
       这里 bid[i] 是有可能为 0 的。
    char title[61];
    char ename[20];
    int father;
        根目录这个字段写 -1。
    int level;
};

另外,$BBSHOME/etc/initial_favboard 是新注册用户默认的收藏版面,格式是每行一个版名。如果该文件不存在,默认的收藏版面是 .BOARDS 文件里面的第一个版面。

2.6.3 friends 好友列表  [ 回目录 ]

这是 n 个 friends 结构的文件,每个结构都是一个好友:

struct friends {
    char id[13];
        好友 id
    char exp[LEN_FRIEND_EXP];
        好友说明,可以留空。
};

2.6.4 plans 个人说明档  [ 回目录 ]

这个没什么好说的,就是个人说明档。查询用户的时候会显示出来。

2.6.5 signatures 签名档  [ 回目录 ]

这个文件是用户签名档,每六行是一个单位,支持 ansi 控制符,wForum 额外支持少量 ubb。userdata 结构的 signum 字段存储用户签名档个数,如果出现错误可以用recalc_signum 程序来纠正。

 

3. 用户站内信件  [ 回目录 ]

用户信件,包括信件索引和具体信件内容,全部位于用户信件目录下(参考 2.2 节)。

3.1 信件目录及数据结构  [ 回目录 ]

用户信件的总体构架基本类似于讨论区文章。每封信件都是一个文件,文件名的规则和讨论区普通文章的文件名相同。索引文件除了 .DIR 还有两个,如下:

    .DIR        收件箱
    .SENT       发件箱
    .DELETED    垃圾箱

这三个索引文件的结构和讨论区文章索引 .DIR 的结构很类似,也是 n 个 fileheader 结构,少数几个字段的意义略有不同,具体解释如下:

typedef struct fileheader {
    char filename[FILENAME_LEN];
        帖子的文件名,注意第 3 个字节到第 12 个字节是帖子的发表时间戳。
    unsigned int id, groupid, reid;
    int o_bid;
    unsigned int o_id;
    unsigned int o_groupid;
    unsigned int o_reid;
    char innflag[2];
        以上八个字段没用。
    char owner[OWNER_LEN];
        对方 ID。.DIR 中表示发件人 ID,.SENT 中表示收件人 ID,.DELETED 里面
        既有可能是发件人也可能是收件人 :(
    unsigned int eff_size;
        信件大小。
    time_t posttime;
        信件发送时间的 timestamp,好像没用,除非信件也用 52 个子目录存储...
    long attachment;
        附件偏移量。
    char title[ARTICLE_TITLE_LEN];
        帖子的标题。注意超长标题需要截短。
    unsigned char accessed[4];
        一些属性,bitwise-ORs flags:
        accessed[0]: FILE_READ      (0x01) 已读
                     FILE_REPLIED   (0x20) 已回复
                     FILE_MARKED    (0x08) 被 m 的信件
                     FILE_FORWARDED (0x40) 已转发
} fileheader;

信件在索引文件中的排序没有特定的规则(并不按照时间排序)。

3.2 自定义信箱  [ 回目录 ]

kbs 系统除了上面提到的三个预定义信箱外,还支持用户自定义信箱。载入自定义信箱的代码可以参考 libBBS/record.c load_mail_list() 函数。具体来说,在用户 home 目录下有一个 maildir 文件是自定义信箱的记录,文件结构是:
struct {
    int mail_list_t;
        自定义信箱的个数
    char mail_list[MAILBOARDNUM][40];
        每个自定义信箱的具体配置,每个配置是一个 40 个字节的字符串。
        0~29 字节是信箱名称。30~39 字节是该信箱索引文件的后半段名称。
        比如,这个字符串前半段是"KCN 情书",30~39 字节是"MAILBOX1",
        那么这个自定义信箱的显示名称就是"KCN 情书",而索引文件的名称
        就是 .MAILBOX1,注意文件名第一个字符是附加上去的点。
};

3.3 信箱属性  [ 回目录 ]

在用户 home 目录下有一个文件 .mailbox.prop 是用户信箱的选项配置。该文件就是一个 int 变量,bitwise-ORs 以下属性:

#define MBP_SAVESENTMAIL      0x00000001 //发信时保存信件到发件箱
#define MBP_FORCEDELETEMAIL   0x00000002 //删除信件时不保存到垃圾箱
#define MBP_MAILBOXSHORTCUT   0x00000004
        //版面按 'v' 时进入: 收件箱(OFF) / 信箱主界面(ON)

如果用户 home 目录下 .mailbox.prop 文件不存在,系统自动使用 MBP_DEFAULT 作为信箱选项配置。

 


4. 共享内存结构  [ 回目录 ]

共享内存在 kbs 系统中主要用于进程间通信。比方,在 web 注册了之后,马上就能在 telnet 下登录了,这是因为 web 注册的那个代码修改了相应的共享内存数据,当在 telnet 试图登录的时候,代码就能在共享内存中找到这个信息。当然,这些工作完全可以用文件系统来做,但是用共享内存来做进程间通信效率就会高很多。BBS 的很多重要数据都在共享内存里面,比如两个重要的系统文件:

$BBSHOME/.PASSWDS 这个是用户的帐号信息,包括密码。
$BBSHOME/.BOARDS  所有版面的信息。

当系统正常启动之后,这两个文件的信息在共享内存里面,系统会定时写磁盘同步数据。当系统正常运行的时候,直接打开这两个文件修改是不对的!BBS 程序如有基础结构变动的更新,一般必须要停掉 BBS 服务,清除掉共享内存数据。kbs 系统使用的主要共享内存列举如下,其中标识是可以在 sysconf.ini 定义的共享内存 key,如无定义则使用默认。

程序变量          说明         要处理代码文件   标识及默认
======================================================================
bcache        .BOARDS 的 mmap     bcache.c      只是一个 mmap
brdshm        版面状态            bcache.c      BCACHE_SHMKEY   0xe6d
uidshm        用户信息            ucache.c      UCACHE_SHMKEY   0xe70
utmpshm       登录用户状态信息    utmp.c        UTMP_SHMKEY     0xe73
utmphead      登录表              utmp.c        UTMPHEAD_SHMKEY 0xe72
wwwguest_shm  wwwguest 登录信息   bbslib.c      WWWGUEST_SHMKEY 0x1194
publicshm     全局信息            stuff.c       0xe74 (*)

(*) 援引 bbs.h 注释:
#define PUBLIC_SHMKEY   3700
/*这个是唯一一个定义死的SHMKEY,因为sysconf_eval需要
public shm,而attach shm又需要sysconf_eval,ft*/


4.1 publicshm 共享内存结构 public_data  [ 回目录 ]

struct public_data {
    time_t nowtime;
        当前时间。BBS 系统有大量取当前时间的调用,全部从这里取可以提高效率。
        这个时间由 miscd 中的 timed 进程负责和系统时钟同步。从这里可以知道
        如果 timed 进程不正常的话,bbs 的时间就会停止,比方 web 登录就可能
        会提示登录过于频繁。
    int sysconfimg_version;
        当前最新 sysconf 版本号,新登录用户会读入 sysconf.img.版本号
        映像文件作为菜单。站务在主菜单按 shift+~ 会将这个字段加 1,并从
        sysconf.ini 和 menu.ini 生成新的 sysconf.img.版本号 映像文件。
        注意 web 不会自动读取新的 sysconf,如果有涉及 web 的参数修改(比方
        BLOG MYSQL 密码),必须重新启动 web。
    int www_guest_count;
        当前登录的 wwwguest 数目
    unsigned int max_user;
        系统曾经到过的最高登录人数(包括 wwwguest)
    unsigned int max_wwwguest;
        系统到最高登录人数时,wwwguest 登录的数量。
        注意这不是系统曾经到过的最高 wwwguest 登录人数。

    /* etnlegend, 2006.03.06, userscore twice sampling for high score users ... */
    unsigned int us_sample_high[8];

    unsigned int logincount;
    unsigned int logoutcount;
    uint64_t staytime;
    unsigned int wwwlogincount;
    unsigned int wwwlogoutcount;
    unsigned int wwwguestlogincount;
    unsigned int wwwguestlogoutcount;
    uint64_t wwwstaytime;
    uint64_t wwwgueststaytime;

    /* etnlegend, 2006.03.06, userscore sampling ... */
    unsigned int us_sample[32];

    /* etnlegend, 2006.05.28, 阅读十大 ... */
    unsigned int top_version;
    struct top_header{
        int bid;
        unsigned int gid;
    } top[10];

    char unused[712];
   
#ifdef FLOWBANNER
    int bannercount;
    char banners[MAXBANNER][BANNERSIZE];
#endif
   
#ifdef FB2KENDLINE
    time_t nextfreshdatetime;
    char date[60];
#endif
};

4.2 uidshm 用户信息共享内存结构 UCACHE  [ 回目录 ]

uidshm 的结构 UCACHE 定义在 ucache.c 内,相关 hash 表常量在 uhashgen.h。

struct UCACHE {
    ucache_hashtable hashtable;
    ucache_hashtable hashusage;
    int hashhead[UCACHE_HASHSIZE + 1];
    int next[MAXUSERS];
        前面四个字段和用户 hash 表相关,后面一节具体说明
    time_t uptime;
        这个好像没用
    int number;
        有效用户容量,一般应该等于 MAXUSERS
    char user_title[255][USER_TITLE_LEN]; //定义用户的身份字符串。
        用户身份,user_title[0] 是 title 为 1 的用户的身份
        信息和 $BBSHOME/etc/title 文件同步
    struct userec passwd[MAXUSERS];
        这是 .PASSWDS 文件的内容,定时和磁盘文件同步。
        一个特定用户的用户号(uid)就是该用户在 .PASSWDS 文件中的位置,
        注意 uid 是 1-based。
};

4.2.1 UCACHE 内 hash 表结构  [ 回目录 ]

参考 doc/userid 文档。每个用户的用户名都有一个 hash 值(1 ~ UCACHE_HASHSIZE 之间),后面简称用户 hash 值。hashhead 数组是 hash 表头,存放的是该 hash 值的第一个用户的 uid。如果多个用户的 hash 值相同则用 next 字段的数据构成一条链,链中下一个用户的用户号是 next[uid - 1],如果该值为 0 表示已经到链尾。例如,系统中 hash 值都是 h 的用户一共有三个,uid 分别为 uid_1 uid_2 uid_3,那么 hash 表里可能会有这样的结构:
uidshm->hashhead[h] = uid_1
uidshm->next[uid_1 - 1] = uid_2
uidshm->next[uid_2 - 1] = uid_3
uidshm->next[uid_3 - 1] = 0

另外,hashhead[0] 存储第一个空用户的 uid,便于下次分配新用户,所有的空用户 hash 值都是 0,所以也类似的通过 next 字段组成一条链。

hashtable 和 hashusage 字段和 hash 函数相关,系统初始化时从 uhashgen.dat 读入。


4.3 utmpshm 登录状态信息 UTMPFILE  [ 回目录 ]

utmpshm 的类型是 UTMPFILE 结构,用来存储登录的状态信息。注意 wwwguest 和这个结构完全没有关系。

#define USHM_SIZE       (MAXACTIVE + 10)
struct UTMPFILE {
    struct user_info uinfo[USHM_SIZE];
        登录状态信息。每个登录都有一个登录号(utmpnum),他就是该登录在
        uinfo 数组中的位置,注意 utmpnum 是 1-based。
};

uinfo 数组的每一个元素都可以用来存储一个登录的状态信息,其结构 user_info 定义:

struct user_info {              /* Structure used in UTMP file */
    int active;                 /* When allocated this field is true */
        本结构当前是否代表一个登录用户。
    int uid;                    /* Used to find user name in passwd file */
        登录用户的 uid。
    int pid;                    /* kill() to notify user of talk request */
        telnet 登录表示其进程号。www 登录设置为 1。
    int invisible;              /* Used by cloaking function in Xyz menu */
        是否隐身。
    int sockactive;             /* Used to coordinate talk requests */
    int sockaddr;               /* ... */
    int destuid;                /* talk uses this to identify who called */
    int mode;                   /* UL/DL, Talk Mode, Chat Mode, ... */
        状态,应该赋值为 modes.h 里面的常数。
    int pager;                  /* pager toggle, true, or false */
        呼叫器状态,bitwise-OR 以下属性
            ALL_PAGER       0x1
            FRIEND_PAGER    0x2
            ALLMSG_PAGER    0x4
            FRIENDMSG_PAGER 0x8
    int in_chat;                /* for in_chat commands   */
    char chatid[16];            /* chat id, if in chat mode */
    char from[IPLEN + 4];       /* machine name the user called in from */
        登录 IP。
    time_t logintime;
        登录时间戳。
    int lastpost;
        上次发文的时间戳。
    char unused[32];
    time_t freshtime;
        上次活动的时间戳,用来计算发呆时间。
    int utmpkey;
        登录 key,用于 www cookie 验证保持用户身份。
    unsigned int mailbox_prop;  /* properties of getCurrentUser()'s mailbox */
        用户信箱选项,登录时从用户 .mailbox.prop 文件读取,参考 3.3 节
    char userid[20];
        用户名
    char realname[20];
        真实姓名,登录时从用户 userdata 结构读取
    char username[40];
        用户昵称,登录时从 uidshm 共享内存去读取,修改临时昵称就是修改这个字段
    int friendsnum;
        好友数量
    int friends_uid[MAXFRIENDS];
        每个好友的 uid,前 friendsnum 个有效。
#ifdef FRIEND_MULTI_GROUP
    unsigned int friends_p[MAXFRIENDS];
#endif
    int currentboard;
        当前所在版面的 bid 号
    unsigned int mailcheck;     /* if have new mail or new msg, stiger */
        当前登录是否有新信或新消息
};


4.4 utmphead 登录表共享内存结构 UTMPHEAD  [ 回目录 ]

utmphead 的结构是 UTMPHEAD,该结构定义在 var.h 中。注意 wwwguest 和这个结构完全没有关系。

#define UTMP_HASHSIZE  (USHM_SIZE*4)
struct UTMPHEAD {
    int next[USHM_SIZE];
    int hashhead[UTMP_HASHSIZE + 1];
    int number;
        当前登录数,注意这个数字不包括 wwwguest 数量。
    int listhead;
    int list_prev[USHM_SIZE];   /* sorted list prev ptr */
    int list_next[USHM_SIZE];   /* sorted list next ptr */
    time_t uptime;
        一个标记时间,登录 telnet 新用户时如果当前时间和这个标记时间相差
        120 秒以上,就遍历所有登录踢掉发呆时间过长的登录,同时将 uptime
        设置成当前时间。
};

utmphead 里面也有一个 hash 表,结构类似于 uidshm 里面的 hash 表。这里 hash 值是从该登录用户的 hash 值计算(参见 utmp_hash() 函数),我们把它称为 utmphash 值(1 ~ UTMP_HASHSIZE 之间)。hashhead[h] 存储的就是第一个 utmphash 值为 h 的那个登录的 utmpnum。如果多个登录有相同的 utmphash 值则用 next 字段组成一条链(utmphash 链),具体来说,如果 utmpnum 是一个 active 登录,next[utmpnum - 1] 存储该登录在这条 utmphash 链中下一个登录的 utmpnum,链尾的 next[utmpnum - 1] == 0。

所有没有登录(即 utmpshm->uinfo[utmpnum - 1].active = 0)的 utmphash 值都是 0,其中第一个 utmpnum 储存在 hashhead[0] 中,其余的通过 next 字段类似的组成一条链便于分配新登录。系统启动时没有用户登录,所以初始化为:
hashhead[0] = 1
next[0] = 2
next[1] = 3
... ...
next[USHM_SIZE - 1] = 0

utmphead 内除了 hash 表外还有一个头尾相接的环状双向链表,链表是所有 active 的登录按照登录用户名从小到大排列(case-insensitive)。listhead 是用户名最小的那个登录 utmpnum,list_prev[utmpnum - 1] 和 list_next[utmpnum - 1] 分别存储该链表中登录号为 utmpnum 的元素的前一个和后一个登录的 utmpnum。

4.5 wwwguest_shm:wwwguest 在线用户表结构 WWW_GUEST_TABLE  [ 回目录 ]

kbs 系统中的 wwwguest 登录处理是几乎完全独立的一部分,数据存储在 wwwguest_shm 共享内存区,结构为 WWW_GUEST_TABLE

#define MAX_WWW_MAP_ITEM (MAX_WWW_GUEST/32)

struct WWW_GUEST_TABLE {
    int hashtab[16][256][256];
    int use_map[MAX_WWW_MAP_ITEM + 1];
        use_map[i] 的从低到高第 j 个 bit 表示当前 guest_entry[i * 32 + j] 是否被使用
    time_t uptime;
        一个标记时间,wwwguest 新登录时如果当前时间和这个标记时间相差
        240 秒以上,就遍历所有 wwwguest 登录踢掉发呆时间过长的登录,同时将
        uptime 设置成当前时间。
    struct WWW_GUEST_S guest_entry[MAX_WWW_GUEST];
        每个 wwwguest 登录的具体信息,结构定义如下
};

struct WWW_GUEST_S {
    int key;
    time_t freshtime;
        上次活动的时间戳,用来计算发呆时间。
    time_t logintime;
    int currentboard;
        当前所在版面的 bid
    struct in_addr fromip;
        来源 IP
};


4.6 bcache,brdshm:版面状态共享内存结构 BCACHE  [ 回目录 ]

全局变量 bcache 指向 .BOARDS 文件的 mmap 数据。bcache[bid - 1] 是版面号为 bid 的那个版面的 boardheader

如此之外,每个版面还有一些状态信息,即全局变量 brdshm 指向的共享内存(标识 BCACHE_SHMKEY),其结构 BCACHE 为:

struct BCACHE {
    int numboards;
        所有版面版面号中最大的那个 bid。主要是遍历等工作可以只循环到 numboards
        为止而无须到 MAXBOARD,以提高效率。
    struct BoardStatus bstatus[MAXBOARD];
        具体版面状态数据
};

其中 BoardStatus 的定义是:

struct BoardStatus {            /* use this to speed up board list */
    int total;
        总文章数。如果版面文章数显示和实际不符就是因为这个字段没同步。
    int lastpost;
        本版最后一篇文章的 id 号,用户看到版面是否有新文章就是从这个字段计算。
    bool updatemark;
        是否被 m 的文章有变动,决定下次用户看被 m 文章列表是否需要重新产生索引
    bool updatetitle;
        是否置底文章有变动,决定下次使用 .DINGDIR 时是否需要重新产生
    bool updateorigin;
        是否原作文章有变动,决定下次使用 .ORIGIN 时是否需要重新产生
    int currentusers;
        当前该版面在线用户数,包括 wwwguest。
    int nowid;
        该版面文章当前已经使用到的 id 号,注意这个字段不一定等于 lastpost,比如
        有人发表了两片文章 id=79,80,然后删掉 id=80 的文章,这时候 lastpost=79,
        但是 nowid=80。在刷新 .BOARDS 时,该字段写回 .BOARDS 文件相应版面的
        idseq 字段以便下次启动时读入。发表帖子的时候系统会自动根据 nowid 分配下
        一个 id 值。如果这个字段出错,web 下浏览会不正常。
    int toptitle;
        本版面置顶文章个数
    struct fileheader topfh[MAX_DING];
        .DINGDIR 的内容,注意 MAX_DING 默认是 10,所以 .DINGDIR 内超过 10 条的
        置顶只会被读入 10 条,更多的显示不出来。
#ifdef HAVE_WFORUM
    int todaynum;
        这个字段没用,呵呵
#endif
};


5. 代码结构  [ 回目录 ]

kbs 系统的核心代码按照目录解释如下:
libsystem/  系统最底层的函数库,以下所有程序都基于它
libBBS/     一些核心函数组成的库 libBBS.so
src/        telnet 服务器程序,静态连接 libBBS.so
sshbbsd/    ssh 服务器程序,其实就是 src/ 下的程序套了一个 ssh 的壳
daemon/     系统守护进程,应该启动服务时最先启动,静态连接 libBBS.so
php/        输出供 PHP 页面使用的函数,动态连接 libBBS.so
local_utl/  各类小实用程序,动态连接 libBBS.so

--EOF--

ET128 TD经常断的问题

| No Comments

这2天白天一直在用ET128上TD,昨天和前天都好好的,基本没掉线过,一共下载有3G的流量左右。

今天同样的使用,却发现TD连接频繁被断开,无比郁闷中。

 

--EOF--

广东移动网站的一些体验

| No Comments

1.网上充值居然每天10:30到0:30无法使用  --  这是做互联网服务的么?

2.网站比起江苏移动的网站我还是喜欢更多一些,毕竟这个网站后台现在跑的代码说不定还有我当初写的?哈哈

 

--EOF--

最近的生活小插曲

| No Comments

2010.02.01 昨天记录在QQMail记事本中的,都不好意思发泄到这里:

1.香港招行的卡给弄丢了:( 补卡居然要50$,很郁闷
2.SuperSIM 16In1 的第一张的大卡也找不到了,点点不爽,为啥最近啥都丢三落四
3.民润倒闭了,这是为啥呢?05年那会东西还是很不错的呢,包括那时候的东北春

 

今天早起去开车出门办事,发现左后轮胎瘪了,一点气没了,很郁闷。昨晚和LP开车回家的时候依稀记得有一点点异常?

在停车倒车的时候轮胎碰到后面的车位栏的时候有过二次很响的撞击声,当时就下车很诧异的看了一下的,但没注意到是轮胎的问题。

昨晚LP 9点多开车到公司一起回的,当时急急忙忙走,没注意。根据那2声响动来推断,昨晚回家的路上轮胎已经瘪了,居然还跑北环80飙回来:(

开始准备自己干,停车场不平整,尝试千斤顶失败,只好开车到平整的地方进行。

看过别人换过2次胎,自己还没整过,千斤顶不是很会用,好不容易撑起来,总觉得很危险呢。

后来拧螺丝下来的时候怎么也没发拧下来,力气太小啊:( 最后没办法,还是硬着头皮开到平时洗车的地方,先帮忙充气。但还是很担心轮胎有问题,把之前换下的有点划伤的备胎给换上了。洗车的小伙仔细帮忙检查了轮胎,没发现被扎的地方呢。

我就问为啥突然没气了呢?小伙提示就说可能小孩调皮啊。啥的。LP突然记起昨天在别人不让停车的一个地方停车了,可能被那些无良保安给放气了!

而且就是昨天开车回家之前应该已经发生了的事情。

另外学会的:拧螺丝得暴力一些,在没用千斤顶之前,借助人力用脚站在上面拧!

 

BTW:今天在一个银行存折里面发现我"丢"掉的招行香港一卡通。居然不小心被夹在里面了,害我找了2个星期啊。

中午去公司后,没有像昨天翻箱倒柜,在桌上的2个盒子中间也找回了俺的一卡多号的大卡,哈哈

 

 

--EOF--

Pages

May 2016

Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

About this Archive

This page is an archive of entries from February 2010 listed from newest to oldest.

January 2010 is the previous archive.

March 2010 is the next archive.

Find recent content on the main index or look in the archives to find all content.